summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Drozdov <denys.drozdov@toradex.com>2021-02-20 12:47:46 +0200
committerDenys Drozdov <denys.drozdov@toradex.com>2021-04-01 12:13:50 +0300
commit59d5bd61f7e9f5f16f3413cb361b880f6d64fee6 (patch)
treeba0840d5d6467190c599db30a060ea43e1f8f168
parentccd223d87ae20e16f6260be8bdfdab9e6a2ba21c (diff)
ARM: dts: colibri-imx6ull: add touchscreen device nodes
Move all atmel and fusion touchscreen nodes from board-level to the main module DT. Prepare the DTs for use with atmel mxt overlays, adding required pinmux groups. The common scheme of pin groups for TS overlays: - pinctrl_atmel_conn - SODIMM 106/107 pins for INT/RST (default) - pinctrl_atmel_adap - SODIMM 28/30 pins for INT/RST signals. Related-to: ELB-3868 Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
-rw-r--r--arch/arm/boot/dts/imx6ull-colibri-aster.dtsi15
-rw-r--r--arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi41
-rw-r--r--arch/arm/boot/dts/imx6ull-colibri-iris-v2.dtsi33
-rw-r--r--arch/arm/boot/dts/imx6ull-colibri-iris.dtsi36
-rw-r--r--arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi4
-rw-r--r--arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi4
-rw-r--r--arch/arm/boot/dts/imx6ull-colibri.dtsi51
7 files changed, 82 insertions, 102 deletions
diff --git a/arch/arm/boot/dts/imx6ull-colibri-aster.dtsi b/arch/arm/boot/dts/imx6ull-colibri-aster.dtsi
index e41e3f31ce5c..93367e89466e 100644
--- a/arch/arm/boot/dts/imx6ull-colibri-aster.dtsi
+++ b/arch/arm/boot/dts/imx6ull-colibri-aster.dtsi
@@ -100,16 +100,6 @@
scl-gpios = <&gpio1 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay";
- /* Atmel maxtouch controller */
- atmel_mxt_ts: atmel_mxt_ts@4a {
- compatible = "atmel,maxtouch";
- reg = <0x4a>;
- interrupt-parent = <&gpio5>;
- interrupts = <4 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 107 */
- reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; /* SODIMM 106 */
- status = "okay";
- };
-
/* M41T0M6 real time clock on carrier board */
rtc: m41t0m6@68 {
compatible = "st,m41t0";
@@ -117,6 +107,11 @@
};
};
+/* ATMEL TS connector */
+&atmel_mxt_ts {
+ status = "okay";
+};
+
/* PWM <A> */
&pwm4 {
status = "okay";
diff --git a/arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi b/arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi
index 19972a2ed59a..99f9b1fb15c5 100644
--- a/arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi
+++ b/arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi
@@ -112,34 +112,6 @@
&i2c1 {
status = "okay";
- /*
- * the PCAPs use SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm5,
- * pwm6. so if you enable one of the PCAP controllers disable the pwms
- */
- atmel_mxt_ts: atmel_mxt_ts@4a {
- compatible = "atmel,maxtouch";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_gpiotouch>;
- reg = <0x4a>;
- interrupt-parent = <&gpio4>;
- interrupts = <16 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 */
- reset-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* SODIMM 30 */
- status = "okay";
- };
-
- touch: touchrevf0710a@10 {
- compatible = "touchrevolution,fusion-f0710a";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_gpiotouch>;
- reg = <0x10>;
- /* SODIMM 28, Pen down interrupt */
- gpios = <&gpio4 16 GPIO_ACTIVE_HIGH
- /* SODIMM 30, Reset interrupt */
- &gpio2 5 GPIO_ACTIVE_LOW
- >;
- status = "disabled";
- };
-
/* M41T0M6 real time clock on carrier board */
m41t0m6: rtc@68 {
compatible = "st,m41t0";
@@ -148,11 +120,24 @@
};
+&atmel_mxt_ts {
+ pinctrl-0 = <&pinctrl_atmel_adap>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
+ reset-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
+ status = "disabled";
+};
+
/* PWM <A> */
&pwm4 {
status = "okay";
};
+/*
+ * the PCAPs use SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm5,
+ * pwm6. so if you enable one of the PCAP controllers disable the pwms
+ */
+
/* PWM <B> */
&pwm5 {
status = "okay";
diff --git a/arch/arm/boot/dts/imx6ull-colibri-iris-v2.dtsi b/arch/arm/boot/dts/imx6ull-colibri-iris-v2.dtsi
index 1f776b96e383..f91793344d0f 100644
--- a/arch/arm/boot/dts/imx6ull-colibri-iris-v2.dtsi
+++ b/arch/arm/boot/dts/imx6ull-colibri-iris-v2.dtsi
@@ -86,18 +86,6 @@
scl-gpios = <&gpio1 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay";
- /* Atmel maxtouch controller */
- atmel_mxt_ts: atmel_mxt_ts@4a {
- compatible = "atmel,maxtouch";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_gpiotouch>;
- reg = <0x4a>;
- interrupt-parent = <&gpio5>;
- interrupts = <4 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 107 */
- reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; /* SODIMM 106 */
- status = "okay";
- };
-
/* M41T0M6 real time clock on carrier board */
rtc: m41t0m6@68 {
compatible = "st,m41t0";
@@ -112,14 +100,12 @@
/* PWM <B> */
&pwm5 {
- /* Pin already used by atmel_mxt_ts touchscreen */
- status = "disabled";
+ status = "okay";
};
/* PWM <C> */
&pwm6 {
- /* Pin already used by atmel_mxt_ts touchscreen */
- status = "disabled";
+ status = "okay";
};
/* PWM <D> */
@@ -127,6 +113,11 @@
status = "okay";
};
+/* Atmel TS connector */
+&atmel_mxt_ts {
+ status = "okay";
+};
+
/* Colibri UART_A */
&uart1 {
status = "okay";
@@ -215,13 +206,3 @@
};
};
-&iomuxc {
- imx6ull-colibri {
- pinctrl_gpiotouch: touchgpios {
- fsl,pins = <
- MX6UL_PAD_NAND_DQS__GPIO4_IO16 0x74
- MX6UL_PAD_ENET1_TX_EN__GPIO2_IO05 0x14
- >;
- };
- };
-};
diff --git a/arch/arm/boot/dts/imx6ull-colibri-iris.dtsi b/arch/arm/boot/dts/imx6ull-colibri-iris.dtsi
index 92bbcbc0bf0c..6a80c16f06e4 100644
--- a/arch/arm/boot/dts/imx6ull-colibri-iris.dtsi
+++ b/arch/arm/boot/dts/imx6ull-colibri-iris.dtsi
@@ -76,18 +76,6 @@
scl-gpios = <&gpio1 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay";
- /* Atmel maxtouch controller */
- atmel_mxt_ts: atmel_mxt_ts@4a {
- compatible = "atmel,maxtouch";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_gpiotouch>;
- reg = <0x4a>;
- interrupt-parent = <&gpio5>;
- interrupts = <4 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 107 */
- reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; /* SODIMM 106 */
- status = "okay";
- };
-
/* M41T0M6 real time clock on carrier board */
rtc: m41t0m6@68 {
compatible = "st,m41t0";
@@ -95,11 +83,25 @@
};
};
+/* Atmel TS adapter */
+&atmel_mxt_ts {
+ pinctrl-0 = <&pinctrl_atmel_adap>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
+ reset-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
+ status = "disabled";
+};
+
/* PWM <A> */
&pwm4 {
status = "okay";
};
+/*
+ * the PCAPs use SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm5,
+ * pwm6. so if you enable one of the PCAP controllers disable the pwms
+ */
+
/* PWM <B> */
&pwm5 {
status = "okay";
@@ -196,13 +198,3 @@
};
};
-&iomuxc {
- imx6ull-colibri {
- pinctrl_gpiotouch: touchgpios {
- fsl,pins = <
- MX6UL_PAD_NAND_DQS__GPIO4_IO16 0x74
- MX6UL_PAD_ENET1_TX_EN__GPIO2_IO05 0x14
- >;
- };
- };
-};
diff --git a/arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi b/arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi
index 0af6f0d0b1b5..60f169227ad9 100644
--- a/arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi
+++ b/arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi
@@ -152,10 +152,10 @@
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio1 &pinctrl_gpio2 &pinctrl_gpio3
- &pinctrl_gpio4 &pinctrl_gpio5 &pinctrl_gpio6 &pinctrl_gpio7>;
+ &pinctrl_gpio4 &pinctrl_gpio6 &pinctrl_gpio7>;
};
&iomuxc_snvs {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_snvs_gpio1 &pinctrl_snvs_gpio2 &pinctrl_snvs_gpio3>;
+ pinctrl-0 = <&pinctrl_snvs_gpio1 &pinctrl_snvs_gpio3>;
};
diff --git a/arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi b/arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi
index ea27dca26204..b045a59818cd 100644
--- a/arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi
+++ b/arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi
@@ -158,13 +158,13 @@
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio1 &pinctrl_gpio2 &pinctrl_gpio3
- &pinctrl_gpio4 &pinctrl_gpio5 &pinctrl_gpio7>;
+ &pinctrl_gpio4 &pinctrl_gpio7>;
};
&iomuxc_snvs {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_snvs_gpio1 &pinctrl_snvs_gpio2>;
+ pinctrl-0 = <&pinctrl_snvs_gpio1>;
};
&usdhc2 {
diff --git a/arch/arm/boot/dts/imx6ull-colibri.dtsi b/arch/arm/boot/dts/imx6ull-colibri.dtsi
index 032ba6764b7d..25a70b802611 100644
--- a/arch/arm/boot/dts/imx6ull-colibri.dtsi
+++ b/arch/arm/boot/dts/imx6ull-colibri.dtsi
@@ -167,6 +167,30 @@
pinctrl-1 = <&pinctrl_i2c1_gpio>;
sda-gpios = <&gpio1 29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
scl-gpios = <&gpio1 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ status = "okay";
+
+ /* Atmel maxtouch controller */
+ atmel_mxt_ts: touchscreen@4a {
+ compatible = "atmel,maxtouch";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_atmel_conn>;
+ reg = <0x4a>;
+ interrupt-parent = <&gpio5>;
+ interrupts = <4 IRQ_TYPE_EDGE_FALLING>; /* SODIMM_107, INT */
+ reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; /* SODIMM_106, RST */
+ status = "disabled";
+ };
+
+ /* TouchRevolution Fusion 7 and 10 multi-touch controller */
+ fusion_f0710a: touchscreen@10 {
+ compatible = "touchrevolution,fusion-f0710a";
+ reg = <0x10>;
+ pinctrl-0 = <&pinctrl_atmel_adap>;
+ pinctrl-names = "default";
+ gpios = <&gpio4 16 GPIO_ACTIVE_HIGH /* SODIMM_28, INT */
+ &gpio2 5 GPIO_ACTIVE_LOW>; /* SODIMM_30, RST */
+ status = "disabled";
+ };
};
&i2c2 {
@@ -408,6 +432,20 @@
>;
};
+ pinctrl_atmel_adap: atmel_adap_group {
+ fsl,pins = <
+ MX6UL_PAD_NAND_DQS__GPIO4_IO16 0xb0a0 /* SODIMM 28 */
+ MX6UL_PAD_ENET1_TX_EN__GPIO2_IO05 0xb0a0 /* SODIMM 30 */
+ >;
+ };
+
+ pinctrl_atmel_conn: atmel_conn_group {
+ fsl,pins = <
+ MX6UL_PAD_JTAG_MOD__GPIO1_IO10 0xb0a0 /* SODIMM 106 */
+ MX6ULL_PAD_SNVS_TAMPER4__GPIO5_IO04 0xb0a0 /* SODIMM 107 */
+ >;
+ };
+
pinctrl_can_int: canint-grp {
fsl,pins = <
MX6UL_PAD_ENET1_TX_DATA1__GPIO2_IO04 0x13010 /* SODIMM 73 */
@@ -514,12 +552,6 @@
>;
};
- pinctrl_gpio5: gpio5-grp { /* ATMEL MXT TOUCH */
- fsl,pins = <
- MX6UL_PAD_JTAG_MOD__GPIO1_IO10 0xb0a0 /* SODIMM 106 */
- >;
- };
-
pinctrl_gpio6: gpio6-grp { /* Wifi pins */
fsl,pins = <
MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x10b0 /* SODIMM 89 */
@@ -732,6 +764,7 @@
MX6UL_PAD_LCD_RESET__WDOG1_WDOG_ANY 0x30b0
>;
};
+
}; /* imx6ull { */
};
@@ -746,12 +779,6 @@
>;
};
- pinctrl_snvs_gpio2: snvs-gpio2-grp { /* ATMEL MXT TOUCH */
- fsl,pins = <
- MX6ULL_PAD_SNVS_TAMPER4__GPIO5_IO04 0xb0a0 /* SODIMM 107 */
- >;
- };
-
pinctrl_snvs_gpio3: snvs-gpio3-grp { /* Wifi pins */
fsl,pins = <
MX6ULL_PAD_BOOT_MODE1__GPIO5_IO11 0x130a0 /* SODIMM 127 */