]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ARM: dts: apalis/colibri-imx6: Add support for v1.2
authorErnest Van Hoecke <ernest.vanhoecke@toradex.com>
Fri, 7 Mar 2025 10:17:49 +0000 (11:17 +0100)
committerShawn Guo <shawnguo@kernel.org>
Tue, 11 Mar 2025 03:40:10 +0000 (11:40 +0800)
Apalis/Colibri iMX6 V1.2 replaced the STMPE811 ADC/touch controller,
which is EOL, with the TLA2024 ADC and AD7879 touch controller.

Accurately describe the new hardware.

v1.1 of these SoMs is still described by the following DTSI files:
imx6qdl-apalis.dtsi
imx6qdl-colibri.dtsi

v1.2 is now supported by a DTSI that modifies v1.1:
imx6qdl-apalis-v1.2.dtsi
imx6qdl-colibri-v1.2.dtsi

For each carrier board using these modules, a new DTS file was added
that includes the v1.1 DTS and modifies it with this v1.2 DTSI.

The original DTS can be used for modules up to and including v1.1.

Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 files changed:
arch/arm/boot/dts/nxp/imx/Makefile
arch/arm/boot/dts/nxp/imx/imx6dl-colibri-v1.2-aster.dts [new file with mode: 0644]
arch/arm/boot/dts/nxp/imx/imx6dl-colibri-v1.2-eval-v3.dts [new file with mode: 0644]
arch/arm/boot/dts/nxp/imx/imx6dl-colibri-v1.2-iris-v2.dts [new file with mode: 0644]
arch/arm/boot/dts/nxp/imx/imx6dl-colibri-v1.2-iris.dts [new file with mode: 0644]
arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-eval-v1.2.dts [new file with mode: 0644]
arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-eval.dts [new file with mode: 0644]
arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-ixora-v1.1.dts [new file with mode: 0644]
arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-ixora-v1.2.dts [new file with mode: 0644]
arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-ixora.dts [new file with mode: 0644]
arch/arm/boot/dts/nxp/imx/imx6qdl-apalis-v1.2.dtsi [new file with mode: 0644]
arch/arm/boot/dts/nxp/imx/imx6qdl-colibri-v1.2.dtsi [new file with mode: 0644]

index 94c9bc94cc8e2daa1fb3b5686b0b58db1f6678b6..8b3abe817e1201f01ee209b376c10721ffb6d93c 100644 (file)
@@ -69,6 +69,10 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
        imx6dl-colibri-eval-v3.dtb \
        imx6dl-colibri-iris.dtb \
        imx6dl-colibri-iris-v2.dtb \
+       imx6dl-colibri-v1.2-aster.dtb \
+       imx6dl-colibri-v1.2-eval-v3.dtb \
+       imx6dl-colibri-v1.2-iris.dtb \
+       imx6dl-colibri-v1.2-iris-v2.dtb \
        imx6dl-cubox-i.dtb \
        imx6dl-cubox-i-emmc-som-v15.dtb \
        imx6dl-cubox-i-som-v15.dtb \
@@ -158,6 +162,11 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
        imx6q-apalis-ixora.dtb \
        imx6q-apalis-ixora-v1.1.dtb \
        imx6q-apalis-ixora-v1.2.dtb \
+       imx6q-apalis-v1.2-eval.dtb \
+       imx6q-apalis-v1.2-eval-v1.2.dtb \
+       imx6q-apalis-v1.2-ixora.dtb \
+       imx6q-apalis-v1.2-ixora-v1.1.dtb \
+       imx6q-apalis-v1.2-ixora-v1.2.dtb \
        imx6q-apf6dev.dtb \
        imx6q-arm2.dtb \
        imx6q-b450v3.dtb \
diff --git a/arch/arm/boot/dts/nxp/imx/imx6dl-colibri-v1.2-aster.dts b/arch/arm/boot/dts/nxp/imx/imx6dl-colibri-v1.2-aster.dts
new file mode 100644 (file)
index 0000000..44c78c0
--- /dev/null
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/* Copyright (c) 2025 Toradex */
+
+/dts-v1/;
+
+#include "imx6dl-colibri-aster.dts"
+#include "imx6qdl-colibri-v1.2.dtsi"
+
+/ {
+       model = "Toradex Colibri iMX6DL/S V1.2+ on Colibri Aster Board";
+};
diff --git a/arch/arm/boot/dts/nxp/imx/imx6dl-colibri-v1.2-eval-v3.dts b/arch/arm/boot/dts/nxp/imx/imx6dl-colibri-v1.2-eval-v3.dts
new file mode 100644 (file)
index 0000000..93fd0af
--- /dev/null
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/* Copyright (c) 2025 Toradex */
+
+/dts-v1/;
+
+#include "imx6dl-colibri-eval-v3.dts"
+#include "imx6qdl-colibri-v1.2.dtsi"
+
+/ {
+       model = "Toradex Colibri iMX6DL/S V1.2+ on Colibri Evaluation Board V3";
+};
diff --git a/arch/arm/boot/dts/nxp/imx/imx6dl-colibri-v1.2-iris-v2.dts b/arch/arm/boot/dts/nxp/imx/imx6dl-colibri-v1.2-iris-v2.dts
new file mode 100644 (file)
index 0000000..92d41fc
--- /dev/null
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/* Copyright (c) 2025 Toradex */
+
+/dts-v1/;
+
+#include "imx6dl-colibri-iris-v2.dts"
+#include "imx6qdl-colibri-v1.2.dtsi"
+
+/ {
+       model = "Toradex Colibri iMX6DL/S V1.2+ on Colibri Iris V2 Board";
+};
diff --git a/arch/arm/boot/dts/nxp/imx/imx6dl-colibri-v1.2-iris.dts b/arch/arm/boot/dts/nxp/imx/imx6dl-colibri-v1.2-iris.dts
new file mode 100644 (file)
index 0000000..c895794
--- /dev/null
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/* Copyright (c) 2025 Toradex */
+
+/dts-v1/;
+
+#include "imx6dl-colibri-iris.dts"
+#include "imx6qdl-colibri-v1.2.dtsi"
+
+/ {
+       model = "Toradex Colibri iMX6DL/S V1.2+ on Colibri Iris Board";
+};
diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-eval-v1.2.dts b/arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-eval-v1.2.dts
new file mode 100644 (file)
index 0000000..908dab5
--- /dev/null
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/* Copyright (c) 2025 Toradex */
+
+/dts-v1/;
+
+#include "imx6q-apalis-eval-v1.2.dts"
+#include "imx6qdl-apalis-v1.2.dtsi"
+
+/ {
+       model = "Toradex Apalis iMX6Q/D Module V1.2+ on Apalis Evaluation Board v1.2";
+};
diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-eval.dts b/arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-eval.dts
new file mode 100644 (file)
index 0000000..5463d41
--- /dev/null
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/* Copyright (c) 2025 Toradex */
+
+/dts-v1/;
+
+#include "imx6q-apalis-eval.dts"
+#include "imx6qdl-apalis-v1.2.dtsi"
+
+/ {
+       model = "Toradex Apalis iMX6Q/D Module V1.2+ on Apalis Evaluation Board";
+};
diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-ixora-v1.1.dts b/arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-ixora-v1.1.dts
new file mode 100644 (file)
index 0000000..84eabf8
--- /dev/null
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/* Copyright (c) 2025 Toradex */
+
+/dts-v1/;
+
+#include "imx6q-apalis-ixora-v1.1.dts"
+#include "imx6qdl-apalis-v1.2.dtsi"
+
+/ {
+       model = "Toradex Apalis iMX6Q/D Module V1.2+ on Ixora Carrier Board V1.1";
+};
diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-ixora-v1.2.dts b/arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-ixora-v1.2.dts
new file mode 100644 (file)
index 0000000..d7cfab4
--- /dev/null
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/* Copyright (c) 2025 Toradex */
+
+/dts-v1/;
+
+#include "imx6q-apalis-ixora-v1.2.dts"
+#include "imx6qdl-apalis-v1.2.dtsi"
+
+/ {
+       model = "Toradex Apalis iMX6Q/D Module V1.2+ on Ixora Carrier Board V1.2";
+};
diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-ixora.dts b/arch/arm/boot/dts/nxp/imx/imx6q-apalis-v1.2-ixora.dts
new file mode 100644 (file)
index 0000000..189b074
--- /dev/null
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/* Copyright (c) 2025 Toradex */
+
+/dts-v1/;
+
+#include "imx6q-apalis-ixora.dts"
+#include "imx6qdl-apalis-v1.2.dtsi"
+
+/ {
+       model = "Toradex Apalis iMX6Q/D Module V1.2+ on Ixora Carrier Board";
+};
diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-apalis-v1.2.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-apalis-v1.2.dtsi
new file mode 100644 (file)
index 0000000..83fa04f
--- /dev/null
@@ -0,0 +1,57 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/* Copyright (c) 2025 Toradex */
+
+&i2c2 {
+       /delete-node/ stmpe811@41;
+
+       ad7879_ts: touchscreen@2c {
+               compatible = "adi,ad7879-1";
+               reg = <0x2c>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_touch_int>;
+               interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-parent = <&gpio4>;
+               touchscreen-max-pressure = <4096>;
+               adi,resistance-plate-x = <120>;
+               adi,first-conversion-delay = /bits/ 8 <3>;
+               adi,acquisition-time = /bits/ 8 <1>;
+               adi,median-filter-size = /bits/ 8 <2>;
+               adi,averaging = /bits/ 8 <1>;
+               adi,conversion-interval = /bits/ 8 <255>;
+       };
+
+       tla2024_adc: adc@49 {
+               compatible = "ti,tla2024";
+               reg = <0x49>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               /* Apalis AN1_ADC0 */
+               channel@4 {
+                       reg = <4>;
+                       ti,datarate = <4>;
+                       ti,gain = <1>;
+               };
+
+               /* Apalis AN1_ADC1 */
+               channel@5 {
+                       reg = <5>;
+                       ti,datarate = <4>;
+                       ti,gain = <1>;
+               };
+
+               /* Apalis AN1_ADC2 */
+               channel@6 {
+                       reg = <6>;
+                       ti,datarate = <4>;
+                       ti,gain = <1>;
+               };
+
+               /* Apalis AN1_TSWIP_ADC3 */
+               channel@7 {
+                       reg = <7>;
+                       ti,datarate = <4>;
+                       ti,gain = <1>;
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-colibri-v1.2.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-colibri-v1.2.dtsi
new file mode 100644 (file)
index 0000000..d11bf91
--- /dev/null
@@ -0,0 +1,57 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/* Copyright (c) 2025 Toradex */
+
+&i2c2 {
+       /delete-node/ stmpe811@41;
+
+       ad7879_ts: touchscreen@2c {
+               compatible = "adi,ad7879-1";
+               reg = <0x2c>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_touch_int>;
+               interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-parent = <&gpio6>;
+               touchscreen-max-pressure = <4096>;
+               adi,resistance-plate-x = <120>;
+               adi,first-conversion-delay = /bits/ 8 <3>;
+               adi,acquisition-time = /bits/ 8 <1>;
+               adi,median-filter-size = /bits/ 8 <2>;
+               adi,averaging = /bits/ 8 <1>;
+               adi,conversion-interval = /bits/ 8 <255>;
+       };
+
+       tla2024_adc: adc@49 {
+               compatible = "ti,tla2024";
+               reg = <0x49>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               /* Colibri AIN0 */
+               channel@4 {
+                       reg = <4>;
+                       ti,datarate = <4>;
+                       ti,gain = <1>;
+               };
+
+               /* Colibri AIN1 */
+               channel@5 {
+                       reg = <5>;
+                       ti,datarate = <4>;
+                       ti,gain = <1>;
+               };
+
+               /* Colibri AIN2 */
+               channel@6 {
+                       reg = <6>;
+                       ti,datarate = <4>;
+                       ti,gain = <1>;
+               };
+
+               /* Colibri AIN3 */
+               channel@7 {
+                       reg = <7>;
+                       ti,datarate = <4>;
+                       ti,gain = <1>;
+               };
+       };
+};