diff options
author | Denys Drozdov <denys.drozdov@toradex.com> | 2021-02-20 12:47:46 +0200 |
---|---|---|
committer | Denys Drozdov <denys.drozdov@toradex.com> | 2021-04-01 12:13:50 +0300 |
commit | 59d5bd61f7e9f5f16f3413cb361b880f6d64fee6 (patch) | |
tree | ba0840d5d6467190c599db30a060ea43e1f8f168 | |
parent | ccd223d87ae20e16f6260be8bdfdab9e6a2ba21c (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.dtsi | 15 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi | 41 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6ull-colibri-iris-v2.dtsi | 33 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6ull-colibri-iris.dtsi | 36 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6ull-colibri.dtsi | 51 |
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 */ |