From patchwork Tue Feb 13 01:00:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Reichel X-Patchwork-Id: 20284 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:bc8a:b0:106:860b:bbdd with SMTP id dn10csp272752dyb; Mon, 12 Feb 2024 17:40:54 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVqMMdcWUoBt5e80gO2aYmm6Z/ZYwprEw1UX7rgG9kBm85GY2Gr57O+bamKOguh1pMe7hPUZ4XXFEfxANTWVGBkyamlhQ== X-Google-Smtp-Source: AGHT+IEkJETtzjzWeJxmwcmzmgNyCQ+GPL+3AErucl4sQcobAKcBEgY/z7i2TA3UpRGfjCmf6swC X-Received: by 2002:a17:906:af94:b0:a2d:a6a7:b3bc with SMTP id mj20-20020a170906af9400b00a2da6a7b3bcmr6125757ejb.4.1707788453893; Mon, 12 Feb 2024 17:40:53 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707788453; cv=pass; d=google.com; s=arc-20160816; b=Ugp5bvaE6iAbKnEWx6oNiQBQPljLQvjeI/6HQMYJO+w2P+CMLIlVnxyfg6fPxgAVDv VRNK4tinajzni/TZlS/KkKHxFfkCLO1XpmGjWqrPwYfAKZvaA0/ormrNxHlh4gyP8emt 3hCRR69CWxQunMiBRgOc3K9/sPy6EjlZ/qI1Z1jxkFlCobiFyuFND9+5QEJi2rrZZHis BbJ0mpBvc1rDNmtAj1+A5t2SvErI25fXlsJLL+WHo1IfeqtVDJQL/o+9qnU6PdDJHdKY W/mh9DojSlKywk3qkNcEvk5MzXgDfrqn0wAS5HpZdYvrIEHTs1L19WZnkYpRYPlxeHgR /fPQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=V3unOc+IcI6+iLa6jMZK8I4p2Wtka9Yv4yE5+U1G9d4=; fh=9LGegAzj4s5xtTdqn0sBscKSspoDDph0i7x3xhJeELk=; b=YkkE4rzGf+2yaZPhqRMpcE4GLDDgRG5QP4qVdX+x1aVR2ksY1vhJL5/t7yCuLcAFuZ in+y+PPxIb8cXD7SpqR6dyzTsqM/Q3IHNvtmDY0yg/3b4JMuJZOsTQFcQMB7MG2RiUMu kkIyTT1tKXqw7qWoftw+SE2oaHKWs2/p98x3CBoiu4YNL/Um9CiUEdsnKBV22sFvXq9M 0U4+NMnt12usHl/av7AKaKH3eVgDHW4UyUdXO2ajw/dSHKQH3Olrc4f9bGSJXpokTIGT +wNdHOmWYwgO/Lwqy68iEYqpTzPih3tg0QgsALCfPwIw/TkPP9Y4KpNUrMlOVV2fuSOn 1HRg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=OwMWMPYu; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-62837-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-62837-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org X-Forwarded-Encrypted: i=2; AJvYcCUDmlmdrtHlUXLVCG0id5nnk1kqFK54eh/G8Nf5DxgqEMln3bY/rwM06jbcMbvDZoMBMA8pslWdB1jxA586u12tyNe3vQ== Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id gs11-20020a170906f18b00b00a35bc1443f2si721235ejb.42.2024.02.12.17.40.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Feb 2024 17:40:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-62837-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=OwMWMPYu; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-62837-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-62837-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 558851F25611 for ; Tue, 13 Feb 2024 01:40:53 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 27B7A69D3A; Tue, 13 Feb 2024 01:03:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="OwMWMPYu" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56F1E64CF2; Tue, 13 Feb 2024 01:03:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707786233; cv=none; b=c4zas62Ues91bt+RxV5tmJ9w6eIxJIFJQlp9VGwnZ7NCSJGlyxuJLf9SOmEGFTmUm31sU28aoxpIJkc/WSkt24n8JFRipQiD4/Rfok8EHm3mU28WfXcz2E/HBxvDQGh3QVe+4I+WqomFEnDuQ8ghkzG3bFDNfpQEPFAo/RwXtVw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707786233; c=relaxed/simple; bh=XeVXq18LR/iG+eeqYxy0WBcMERz1xei6XUnXUC95ztI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=eB4qalIh82rTr8O6gBM05QcqLzzFY8ODe2Zmx+aO7TNrDkitBTTH0sZVGSB429szMOQTYIO2GqKFc1GjRhP8f1JQNKsrnHAkIxJdWb2+u/Wyzin4UbdxL+I5+S44u2HmWiv3swsCEcmkHzG1UfK231TEsPx7EetHOydzKGndTjk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=OwMWMPYu; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id BDF69C433A6; Tue, 13 Feb 2024 01:03:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1707786233; bh=XeVXq18LR/iG+eeqYxy0WBcMERz1xei6XUnXUC95ztI=; h=From:To:Cc:Subject:Date:From; b=OwMWMPYuHYa5CItbt87iFfLTz7QSd+nvcqwWSXBNkLJUGVcG7ZG69iW+xcbQcLm7d FOXWyqjmlobQMq6QYj80t3VYY7mNooRZd6RrgohoiDY/WZvoPCbktBi9GykmgyvkeJ w4dVMerx8qrt5cal5q6kfpoxY+gXc+uMXE+m5Lf9XKy5XKW+6QrGnc2JZXXkFMCri0 hm6UPRTJkcdgQIt/BYXUQLKmA0j9iPqMqNUByPG49DoWvw/Nh7UVGTSflICl7hKxK6 EH9/JPVztbm72A1HwBL0OP2ajHrpP/Ke37wwciwlBqDutlGu6/Hm/S2uGapzNFXxTU XU5RIl8IPncWA== Received: by mercury (Postfix, from userid 1000) id 1F72F106A041; Tue, 13 Feb 2024 02:03:49 +0100 (CET) From: Sebastian Reichel To: Sebastian Reichel , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Fabio Estevam , Pengutronix Kernel Team , NXP Linux Team Cc: Dong Aisheng , Linus Walleij , Dmitry Torokhov , Mark Brown , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 00/17] UNI-T UTi260B support Date: Tue, 13 Feb 2024 02:00:49 +0100 Message-ID: <20240213010347.1075251-1-sre@kernel.org> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1790745985763038010 X-GMAIL-MSGID: 1790745985763038010 Hi, This adds adds support for the UNI-T UTi260B thermal camera, which is based on i.MX6ULL. Patches 1-14 clean up all warnings reported by CHECK_DTBS for i.MX6ULL (i.e. for an empty board). They are not specific to the UTi260B and in fact that machine has most of the IP handled by these patches marked as disabled. Then patches 15+16 introduce the vendor and board compatible DT bindings. Finally the last patches adds support for the thermal camera itself. The DT is based on reverse engineered information. More information about the device can be found in this presentation from Embedded Recipes 2023: * https://embedded-recipes.org/2023/wp-content/uploads/2023/10/Running-FOSS-on-a-Thermal-Camera-Sebastian-Reichel-compressed.pdf * https://www.youtube.com/watch?v=uvObsCG-Cqo I also prepared a branch with these patches (and a minimal kernel config) and published it here: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-misc.git/log/?h=uti260b-v2 Changes since PATCHv1: * https://lore.kernel.org/all/20240210012114.489102-1-sre@kernel.org/ - uni-t,imx6ull-uti260b -> uni-t,uti260b - add Acked-by for uni-t vendor prefix - add Acked-by for HDMI audio index fix - add Acked-by for LCDIF power-domain requirement drop - anatop DT binding: Fixed indentation in example - anatop DT binding: Described IRQs - touchscreen DT binding: change tsc@ to touchscreen@ in example - touchscreen DT binding: change xnur-gpio to xnur-gpios - weim DT binding: drop acme,whatever example - weim DT binding: use flash@ instead of nor@ - weim DT binding: update weim.txt reference in arcx,anybus-controller.txt - weim DT binding: switch to memory-controller binding - fsl,imx-asrc DT binding: fix ASoC patch subject prefix - fsl,imx-asrc DT binding: add constraints - add new patch fixing xnur-gpio(s) in all i.MX6UL board DT files - add new patch fixing touchscreen nodename in i.MX6UL SoC DT file - add new patch fixing weim nodename in all i.MX SoC DT files - device DTS: use color/functions for the led - device DTS: increase SPI speed - device DTS: add comment for SD / eMMC node Unadressed feedback from PATCHv1: - anatop phandle vs parent: technically it makes sense to just use the parent, but this driver is only used by i.MX6. The current code makes use of the phandle, so we cannot drop it because of backwards compatibility. So I don't see a point in deprecating this property. - touchscreen binding: I kept measure-delay-time and pre-charge-time values in hex, since that is being used everywhere and the unit is unknown. The values are directly written into HW registers and the i.MX6UL TRM does not provide any hints about the unit. I do not have an i.MX6UL device with a touchsreen, so I cannot test either. - regulator name in DT: I did not rename the regulators to just "regulator", since the nodename must be unique. Greetings, -- Sebastian Sebastian Reichel (17): dt-bindings: pinctrl: fsl,imx6ul-pinctrl: convert to YAML dt-bindings: bus: imx-weim: convert to YAML ASoC: dt-bindings: fsl,imx-asrc: convert to YAML dt-bindings: input: touchscreen: fsl,imx6ul-tsc convert to YAML dt-bindings: soc: imx: fsl,imx-anatop: add binding dt-bindings: soc: imx: fsl,imx-iomuxc-gpr: add imx6 dt-bindings: lcdif: Do not require power-domains for i.MX6ULL dt-bindings: fsl-imx-sdma: fix HDMI audio index ARM: dts: imx6ull: fix pinctrl node name ARM: dts: imx6ul: Remove fsl,anatop from usbotg1 ARM: dts: imx6ul: add missing #thermal-sensor-cells ARM: dts: nxp: imx6ul: xnur-gpio -> xnur-gpios ARM: dts: nxp: imx6ul: fix touchscreen node name ARM: dts: nxp: imx: fix weim node name dt-bindings: vendor-prefixes: add UNI-T dt-bindings: arm: add UNI-T UTi260b ARM: dts: imx6ull-uti260b: Add board .../devicetree/bindings/arm/fsl.yaml | 1 + .../devicetree/bindings/bus/imx-weim.txt | 117 ---- .../bindings/display/fsl,lcdif.yaml | 8 +- .../devicetree/bindings/dma/fsl,imx-sdma.yaml | 3 +- .../input/touchscreen/fsl,imx6ul-tsc.yaml | 97 +++ .../bindings/input/touchscreen/imx6ul_tsc.txt | 38 -- .../fsl/fsl,imx-weim-peripherals.yaml | 36 ++ .../memory-controllers/fsl/fsl,imx-weim.yaml | 201 ++++++ .../mc-peripheral-props.yaml | 1 + .../bindings/pinctrl/fsl,imx6ul-pinctrl.txt | 37 -- .../bindings/pinctrl/fsl,imx6ul-pinctrl.yaml | 116 ++++ .../bindings/soc/imx/fsl,imx-anatop.yaml | 128 ++++ .../bindings/soc/imx/fsl,imx-iomuxc-gpr.yaml | 18 +- .../devicetree/bindings/sound/fsl,asrc.txt | 80 --- .../bindings/sound/fsl,imx-asrc.yaml | 162 +++++ .../devicetree/bindings/vendor-prefixes.yaml | 2 + arch/arm/boot/dts/nxp/imx/Makefile | 1 + arch/arm/boot/dts/nxp/imx/imx1.dtsi | 2 +- arch/arm/boot/dts/nxp/imx/imx27.dtsi | 2 +- arch/arm/boot/dts/nxp/imx/imx31.dtsi | 2 +- arch/arm/boot/dts/nxp/imx/imx35.dtsi | 2 +- arch/arm/boot/dts/nxp/imx/imx51.dtsi | 2 +- arch/arm/boot/dts/nxp/imx/imx6qdl.dtsi | 2 +- arch/arm/boot/dts/nxp/imx/imx6sl.dtsi | 2 +- arch/arm/boot/dts/nxp/imx/imx6sx.dtsi | 2 +- .../boot/dts/nxp/imx/imx6ul-14x14-evk.dtsi | 2 +- arch/arm/boot/dts/nxp/imx/imx6ul-geam.dts | 2 +- .../nxp/imx/imx6ul-imx6ull-opos6uldev.dtsi | 2 +- arch/arm/boot/dts/nxp/imx/imx6ul.dtsi | 6 +- .../boot/dts/nxp/imx/imx6ull-dhcom-som.dtsi | 2 +- arch/arm/boot/dts/nxp/imx/imx6ull-uti260b.dts | 572 ++++++++++++++++++ arch/arm/boot/dts/nxp/imx/imx6ull.dtsi | 2 +- .../fieldbus/arcx,anybus-controller.txt | 2 +- 33 files changed, 1360 insertions(+), 292 deletions(-) delete mode 100644 Documentation/devicetree/bindings/bus/imx-weim.txt create mode 100644 Documentation/devicetree/bindings/input/touchscreen/fsl,imx6ul-tsc.yaml delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/imx6ul_tsc.txt create mode 100644 Documentation/devicetree/bindings/memory-controllers/fsl/fsl,imx-weim-peripherals.yaml create mode 100644 Documentation/devicetree/bindings/memory-controllers/fsl/fsl,imx-weim.yaml delete mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,imx6ul-pinctrl.txt create mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,imx6ul-pinctrl.yaml create mode 100644 Documentation/devicetree/bindings/soc/imx/fsl,imx-anatop.yaml delete mode 100644 Documentation/devicetree/bindings/sound/fsl,asrc.txt create mode 100644 Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml create mode 100644 arch/arm/boot/dts/nxp/imx/imx6ull-uti260b.dts