ARM: dts: imx6ull-colibri: add support for toradex iris carrier boards
authorDenys Drozdov <denys.drozdov@toradex.com>
Fri, 6 May 2022 13:24:11 +0000 (15:24 +0200)
committerShawn Guo <shawnguo@kernel.org>
Sat, 7 May 2022 01:53:25 +0000 (09:53 +0800)
Add support for Toradex Iris, small form-factor Pico-ITX Colibri Arm
Computer Module family carrier boards.

Iris Device Trees:
- imx6ull-colibri-iris.dtb
- imx6ull-colibri-emmc-iris.dtb
- imx6ull-colibri-wifi-iris.dtb

Iris-V2 Device Trees:
- imx6ull-colibri-iris-v2.dtb
- imx6ull-colibri-emmc-iris-v2.dtb
- imx6ull-colibri-wifi-iris-v2.dtb

Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
16 files changed:
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/imx6ull-colibri-emmc-iris-v2.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ull-colibri-emmc-iris.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ull-colibri-emmc-nonwifi.dtsi
arch/arm/boot/dts/imx6ull-colibri-eval-v3.dts
arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi
arch/arm/boot/dts/imx6ull-colibri-iris-v2.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ull-colibri-iris-v2.dtsi [new file with mode: 0644]
arch/arm/boot/dts/imx6ull-colibri-iris.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ull-colibri-iris.dtsi [new file with mode: 0644]
arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi
arch/arm/boot/dts/imx6ull-colibri-wifi-eval-v3.dts
arch/arm/boot/dts/imx6ull-colibri-wifi-iris-v2.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ull-colibri-wifi-iris.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi
arch/arm/boot/dts/imx6ull-colibri.dtsi

index b711d4423b42c0db954069b336615249fa27571c..d18b5a7cc4e830f55e2a21d43046eacbb558945e 100644 (file)
@@ -708,8 +708,14 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
        imx6ul-tx6ul-mainboard.dtb \
        imx6ull-14x14-evk.dtb \
        imx6ull-colibri-emmc-eval-v3.dtb \
+       imx6ull-colibri-emmc-iris.dtb \
+       imx6ull-colibri-emmc-iris-v2.dtb \
        imx6ull-colibri-eval-v3.dtb \
+       imx6ull-colibri-iris.dtb \
+       imx6ull-colibri-iris-v2.dtb \
        imx6ull-colibri-wifi-eval-v3.dtb \
+       imx6ull-colibri-wifi-iris.dtb \
+       imx6ull-colibri-wifi-iris-v2.dtb \
        imx6ull-jozacp.dtb \
        imx6ull-myir-mys-6ulx-eval.dtb \
        imx6ull-opos6uldev.dtb \
diff --git a/arch/arm/boot/dts/imx6ull-colibri-emmc-iris-v2.dts b/arch/arm/boot/dts/imx6ull-colibri-emmc-iris-v2.dts
new file mode 100644 (file)
index 0000000..b9060c2
--- /dev/null
@@ -0,0 +1,17 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2022 Toradex
+ */
+
+/dts-v1/;
+
+#include "imx6ull-colibri-emmc-nonwifi.dtsi"
+#include "imx6ull-colibri-iris-v2.dtsi"
+
+/ {
+       model = "Toradex Colibri iMX6ULL 1G (eMMC) on Colibri Iris V2";
+       compatible = "toradex,colibri-imx6ull-iris-v2",
+                    "toradex,colibri-imx6ull-emmc",
+                    "toradex,colibri-imx6ull",
+                    "fsl,imx6ull";
+};
diff --git a/arch/arm/boot/dts/imx6ull-colibri-emmc-iris.dts b/arch/arm/boot/dts/imx6ull-colibri-emmc-iris.dts
new file mode 100644 (file)
index 0000000..0ab71f2
--- /dev/null
@@ -0,0 +1,17 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2022 Toradex
+ */
+
+/dts-v1/;
+
+#include "imx6ull-colibri-emmc-nonwifi.dtsi"
+#include "imx6ull-colibri-iris.dtsi"
+
+/ {
+       model = "Toradex Colibri iMX6ULL 1GB (eMMC) on Colibri Iris";
+       compatible = "toradex,colibri-imx6ull-emmc-iris",
+                    "toradex,colibri-imx6ull-emmc",
+                    "toradex,colibri-imx6ull",
+                    "fsl,imx6ull";
+};
index a099abfdfa27c664043fcdf2bc4573598b427cb5..1d75bc671f7541eb7d238ee63280eba6bc3a6dcd 100644 (file)
@@ -1,6 +1,6 @@
-// SPDX-License-Identifier: GPL-2.0+ OR MIT
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /*
- * Copyright 2021 Toradex
+ * Copyright 2022 Toradex
  */
 
 #include "imx6ull-colibri.dtsi"
index 08669a18349e20608b64d6c4e16a743df1cda2fb..9bf7111d7b0089b98a14296391ec7737784bc121 100644 (file)
@@ -1,6 +1,6 @@
-// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /*
- * Copyright 2018 Toradex AG
+ * Copyright 2018-2022 Toradex
  */
 
 /dts-v1/;
@@ -9,6 +9,6 @@
 #include "imx6ull-colibri-eval-v3.dtsi"
 
 / {
-       model = "Toradex Colibri iMX6ULL 256MB on Colibri Evaluation Board V3";
+       model = "Toradex Colibri iMX6ULL 256/512MB on Colibri Evaluation Board V3";
        compatible = "toradex,colibri-imx6ull-eval", "fsl,imx6ull";
 };
index 3c07b4273e80b4a3758f57dee6480a3bb676b08f..08197c66af12f78950988fc524718b637c41670c 100644 (file)
@@ -1,6 +1,6 @@
-// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /*
- * Copyright 2017 Toradex AG
+ * Copyright 2017-2022 Toradex
  */
 
 / {
 };
 
 &usbotg1 {
+       vbus-supply = <&reg_usbh_vbus>;
        status = "okay";
 };
 
diff --git a/arch/arm/boot/dts/imx6ull-colibri-iris-v2.dts b/arch/arm/boot/dts/imx6ull-colibri-iris-v2.dts
new file mode 100644 (file)
index 0000000..afc1e01
--- /dev/null
@@ -0,0 +1,65 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2018-2022 Toradex
+ */
+
+/dts-v1/;
+
+#include "imx6ull-colibri-nonwifi.dtsi"
+#include "imx6ull-colibri-iris-v2.dtsi"
+
+/ {
+       model = "Toradex Colibri iMX6ULL 256M/512B on Colibri Iris V2";
+       compatible = "toradex,colibri-imx6ull-iris-v2",
+                    "toradex,colibri-imx6ull",
+                    "fsl,imx6ull";
+};
+
+&atmel_mxt_ts {
+       status = "okay";
+};
+
+&gpio1 {
+       /* This turns the LVDS transceiver on */
+       lvds-power-on {
+               gpio-hog;
+               gpios = <14 GPIO_ACTIVE_HIGH>; /* SODIMM 99 */
+               line-name = "LVDS_POWER_ON";
+               output-high;
+       };
+};
+
+&gpio2 {
+       /*
+        * This switches the LVDS transceiver to the single-channel
+        * output mode.
+        */
+       lvds-ch-mode {
+               gpio-hog;
+               gpios = <0 GPIO_ACTIVE_HIGH>; /* SODIMM 55 */
+               line-name = "LVDS_CH_MODE";
+               output-high;
+       };
+
+       /*
+        * This switches the LVDS transceiver to the 24-bit RGB mode.
+        */
+       lvds-rgb-mode {
+               gpio-hog;
+               gpios = <1 GPIO_ACTIVE_HIGH>; /* SODIMM 63 */
+               line-name = "LVDS_RGB_MODE";
+               output-low;
+       };
+};
+
+&gpio5 {
+       /*
+        * This switches the LVDS transceiver to VESA color mapping mode.
+        */
+       lvds-color-map {
+               gpio-hog;
+               gpios = <3 GPIO_ACTIVE_HIGH>; /* SODIMM 95 */
+               line-name = "LVDS_COLOR_MAP";
+               output-low;
+       };
+};
diff --git a/arch/arm/boot/dts/imx6ull-colibri-iris-v2.dtsi b/arch/arm/boot/dts/imx6ull-colibri-iris-v2.dtsi
new file mode 100644 (file)
index 0000000..93649ca
--- /dev/null
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2018-2022 Toradex
+ */
+
+#include "imx6ull-colibri-iris.dtsi"
+
+/ {
+       reg_3v3_vmmc: regulator-3v3-vmmc {
+               compatible = "regulator-fixed";
+               regulator-name = "3v3_vmmc";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio1 26 GPIO_ACTIVE_HIGH>;
+               startup-delay-us = <100>;
+               enable-active-high;
+       };
+};
+
+
+&usdhc1 {
+       cap-power-off-card;
+       vmmc-supply = <&reg_3v3_vmmc>;
+       /delete-property/ keep-power-in-suspend;
+       /delete-property/ no-1-8-v;
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6ull-colibri-iris.dts b/arch/arm/boot/dts/imx6ull-colibri-iris.dts
new file mode 100644 (file)
index 0000000..4fb97b0
--- /dev/null
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2018-2022 Toradex
+ */
+
+/dts-v1/;
+
+#include "imx6ull-colibri-nonwifi.dtsi"
+#include "imx6ull-colibri-iris.dtsi"
+
+/ {
+       model = "Toradex Colibri iMX6ULL 256/512MB on Colibri Iris";
+       compatible = "toradex,colibri-imx6ull-iris",
+                    "toradex,colibri-imx6ull",
+                    "fsl,imx6ull";
+};
+
+&atmel_mxt_ts {
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6ull-colibri-iris.dtsi b/arch/arm/boot/dts/imx6ull-colibri-iris.dtsi
new file mode 100644 (file)
index 0000000..7f3b37b
--- /dev/null
@@ -0,0 +1,132 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2018-2022 Toradex
+ */
+
+/ {
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_snvs_gpiokeys>;
+
+               power {
+                       label = "Wake-Up";
+                       gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
+                       linux,code = <KEY_WAKEUP>;
+                       debounce-interval = <10>;
+                       wakeup-source;
+               };
+       };
+
+       reg_3v3: regulator-3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "3.3V";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       reg_5v0: regulator-5v0 {
+               compatible = "regulator-fixed";
+               regulator-name = "5V";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+       };
+
+       reg_usbh_vbus: regulator-usbh-vbus {
+               compatible = "regulator-fixed";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_usbh_reg>;
+               regulator-name = "VCC_USB[1-4]";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&gpio1 2 GPIO_ACTIVE_LOW>;
+               vin-supply = <&reg_5v0>;
+       };
+};
+
+&adc1 {
+       status = "okay";
+};
+
+&gpio1 {
+       /*
+        * uart25_tx_on turns the UART transceiver on. If one wants to turn the
+        * transceiver off, that property has to be deleted and the gpio handled
+        * in userspace.
+        * The same applies to uart1_tx_on.
+        */
+       uart25_tx_on {
+               gpio-hog;
+               gpios = <15 0>;
+               output-high;
+       };
+};
+
+&gpio2 {
+       uart1_tx_on {
+               gpio-hog;
+               gpios = <7 0>;
+               output-high;
+       };
+};
+
+&i2c1 {
+       status = "okay";
+
+       /* M41T0M6 real time clock on carrier board */
+       m41t0m6: rtc@68 {
+               compatible = "st,m41t0";
+               reg = <0x68>;
+       };
+};
+
+/* PWM <A> */
+&pwm4 {
+       status = "okay";
+};
+
+/* PWM <B> */
+&pwm5 {
+       status = "okay";
+};
+
+/* PWM <C> */
+&pwm6 {
+       status = "okay";
+};
+
+/* PWM <D> */
+&pwm7 {
+       status = "okay";
+};
+
+&uart1 {
+       status = "okay";
+};
+
+&uart2 {
+       status = "okay";
+};
+
+&uart5 {
+       status = "okay";
+};
+
+&usbotg1 {
+       vbus-supply = <&reg_usbh_vbus>;
+       status = "okay";
+};
+
+&usbotg2 {
+       vbus-supply = <&reg_usbh_vbus>;
+       status = "okay";
+};
+
+&usdhc1 {
+       vmmc-supply = <&reg_3v3>;
+       status = "okay";
+};
index 60f169227ad93043bc7756444df7e8d5200d56e8..88901db255d6bc48e40d1ff2bc52c7358367fd0e 100644 (file)
@@ -1,6 +1,6 @@
-// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /*
- * Copyright 2018 Toradex AG
+ * Copyright 2018-2022 Toradex
  */
 
 #include "imx6ull-colibri.dtsi"
index df72ce1ae2cba22ba458b6a4285185b5b564b483..1d64d1a5d8a798bab15a8d0fa1c1cd4e2dc32420 100644 (file)
@@ -1,6 +1,6 @@
-// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /*
- * Copyright 2018 Toradex AG
+ * Copyright 2018-2022 Toradex
  */
 
 /dts-v1/;
diff --git a/arch/arm/boot/dts/imx6ull-colibri-wifi-iris-v2.dts b/arch/arm/boot/dts/imx6ull-colibri-wifi-iris-v2.dts
new file mode 100644 (file)
index 0000000..ce02f8a
--- /dev/null
@@ -0,0 +1,65 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2018-2022 Toradex
+ */
+
+/dts-v1/;
+
+#include "imx6ull-colibri-wifi.dtsi"
+#include "imx6ull-colibri-iris-v2.dtsi"
+
+/ {
+       model = "Toradex Colibri iMX6ULL 512MB on Colibri Iris V2";
+       compatible = "toradex,colibri-imx6ull-wifi-iris-v2",
+                    "toradex,colibri-imx6ull",
+                    "fsl,imx6ull";
+};
+
+&atmel_mxt_ts {
+       status = "okay";
+};
+
+&gpio1 {
+       /* This turns the LVDS transceiver on */
+       lvds-power-on {
+               gpio-hog;
+               gpios = <14 GPIO_ACTIVE_HIGH>; /* SODIMM 99 */
+               line-name = "LVDS_POWER_ON";
+               output-high;
+       };
+};
+
+&gpio2 {
+       /*
+        * This switches the LVDS transceiver to the single-channel
+        * output mode.
+        */
+       lvds-ch-mode {
+               gpio-hog;
+               gpios = <0 GPIO_ACTIVE_HIGH>; /* SODIMM 55 */
+               line-name = "LVDS_CH_MODE";
+               output-high;
+       };
+
+       /*
+        * This switches the LVDS transceiver to the 24-bit RGB mode.
+        */
+       lvds-rgb-mode {
+               gpio-hog;
+               gpios = <1 GPIO_ACTIVE_HIGH>; /* SODIMM 63 */
+               line-name = "LVDS_RGB_MODE";
+               output-low;
+       };
+};
+
+&gpio5 {
+       /*
+        * This switches the LVDS transceiver to VESA color mapping mode.
+        */
+       lvds-color-map {
+               gpio-hog;
+               gpios = <3 GPIO_ACTIVE_HIGH>; /* SODIMM 95 */
+               line-name = "LVDS_COLOR_MAP";
+               output-low;
+       };
+};
diff --git a/arch/arm/boot/dts/imx6ull-colibri-wifi-iris.dts b/arch/arm/boot/dts/imx6ull-colibri-wifi-iris.dts
new file mode 100644 (file)
index 0000000..5ac1aa2
--- /dev/null
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2018-2022 Toradex
+ */
+
+/dts-v1/;
+
+#include "imx6ull-colibri-wifi.dtsi"
+#include "imx6ull-colibri-iris.dtsi"
+
+/ {
+       model = "Toradex Colibri iMX6ULL 512MB on Colibri Iris";
+       compatible = "toradex,colibri-imx6ull-wifi-iris",
+                    "toradex,colibri-imx6ull",
+                    "fsl,imx6ull";
+};
+
+&atmel_mxt_ts {
+       status = "okay";
+};
index 3c47cfa7afa518431d70ea082a334e59ef0cd01e..db59ee6b1c860283e85d0b6afee67e345dc23955 100644 (file)
@@ -1,6 +1,6 @@
-// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /*
- * Copyright 2018 Toradex AG
+ * Copyright 2018-2022 Toradex
  */
 
 #include "imx6ull-colibri.dtsi"
index 28baffcef096fdaa70f7ad0e5eb167f33c4d0895..e74dd98fa66ae31f394215e2dde8b206a2b2105c 100644 (file)
@@ -1,6 +1,6 @@
-// SPDX-License-Identifier: GPL-2.0+ OR MIT
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /*
- * Copyright 2018-2021 Toradex
+ * Copyright 2018-2022 Toradex
  */
 
 #include "imx6ull.dtsi"