From b2dc9feecfcf72a953111eb403fa465f8a3a01f6 Mon Sep 17 00:00:00 2001 From: Denys Drozdov Date: Mon, 15 Feb 2021 15:48:57 +0200 Subject: ARM: dts: colibri-imx7: add touchscreen device nodes Use Atmel and Fusion nodes for touchscreen controller Add pinctl iomux for and adapter(SODIMM_28,SODIMM_30) and a connector (SODIMM_106,SODIMM_107). Related-to: ELB-3547 Signed-off-by: Denys Drozdov --- arch/arm/boot/dts/imx7-colibri-aster.dtsi | 9 ----- arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi | 24 ------------- arch/arm/boot/dts/imx7-colibri-iris-v2.dtsi | 17 --------- arch/arm/boot/dts/imx7-colibri-iris.dtsi | 19 ----------- arch/arm/boot/dts/imx7-colibri.dtsi | 53 +++++++++++++++++++++++------ 5 files changed, 43 insertions(+), 79 deletions(-) diff --git a/arch/arm/boot/dts/imx7-colibri-aster.dtsi b/arch/arm/boot/dts/imx7-colibri-aster.dtsi index 79b41b62eed6..0aa282ca4a29 100644 --- a/arch/arm/boot/dts/imx7-colibri-aster.dtsi +++ b/arch/arm/boot/dts/imx7-colibri-aster.dtsi @@ -94,15 +94,6 @@ &i2c4 { status = "okay"; - /* Atmel maxtouch controller */ - atmel_mxt_ts: atmel_mxt_ts@4a { - compatible = "atmel,maxtouch"; - reg = <0x4a>; - interrupt-parent = <&gpio2>; - interrupts = <15 IRQ_TYPE_EDGE_FALLING>; - status = "disabled"; - }; - /* M41T0M6 real time clock on carrier board */ rtc: m41t0m6@68 { compatible = "st,m41t0"; diff --git a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi index ed98f0f19e38..afeb66a70ab4 100644 --- a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi +++ b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi @@ -113,22 +113,6 @@ &i2c4 { status = "okay"; -/* the PCAPs use SODIMM 28/30, also used for PWM, PWM, aka pwm2, pwm3. - so if you enable one of the PCAP controllers disable the pwms */ - - touch: touchrevf0710a@10 { - compatible = "touchrevolution,fusion-f0710a"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_gpiotouch>; - reg = <0x10>; - /* SODIMM 28, Pen down interrupt */ - gpios = <&gpio1 9 GPIO_ACTIVE_HIGH - /* SODIMM 30, Reset interrupt */ - &gpio1 10 GPIO_ACTIVE_LOW - >; - status = "disabled"; - }; - /* M41T0M6 real time clock on carrier board */ rtc: m41t0m6@68 { compatible = "st,m41t0"; @@ -199,11 +183,3 @@ status = "okay"; }; -&iomuxc { - pinctrl_gpiotouch: touchgpios { - fsl,pins = < - MX7D_PAD_GPIO1_IO09__GPIO1_IO9 0x74 - MX7D_PAD_GPIO1_IO10__GPIO1_IO10 0x14 - >; - }; -}; diff --git a/arch/arm/boot/dts/imx7-colibri-iris-v2.dtsi b/arch/arm/boot/dts/imx7-colibri-iris-v2.dtsi index f6f2ba54da18..4904edbcf39a 100644 --- a/arch/arm/boot/dts/imx7-colibri-iris-v2.dtsi +++ b/arch/arm/boot/dts/imx7-colibri-iris-v2.dtsi @@ -80,17 +80,6 @@ &i2c4 { status = "okay"; - atmel_mxt_ts: atmel_mxt_ts@4a { - compatible = "atmel,maxtouch"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_gpiotouch>; - reg = <0x4a>; - interrupt-parent = <&gpio2>; - interrupts = <15 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 107 */ - reset-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* SODIMM 106 */ - status = "okay"; - }; - /* M41T0M6 real time clock on carrier board */ rtc: m41t0m6@68 { compatible = "st,m41t0"; @@ -218,11 +207,5 @@ >; }; - pinctrl_gpiotouch: touchgpios { - fsl,pins = < - MX7D_PAD_GPIO1_IO09__GPIO1_IO9 0x74 - MX7D_PAD_GPIO1_IO10__GPIO1_IO10 0x14 - >; - }; }; diff --git a/arch/arm/boot/dts/imx7-colibri-iris.dtsi b/arch/arm/boot/dts/imx7-colibri-iris.dtsi index d26d6de4eff6..e881c43dd33d 100644 --- a/arch/arm/boot/dts/imx7-colibri-iris.dtsi +++ b/arch/arm/boot/dts/imx7-colibri-iris.dtsi @@ -77,17 +77,6 @@ &i2c4 { status = "okay"; - atmel_mxt_ts: atmel_mxt_ts@4a { - compatible = "atmel,maxtouch"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_gpiotouch>; - reg = <0x4a>; - interrupt-parent = <&gpio2>; - interrupts = <15 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 107 */ - reset-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* SODIMM 106 */ - status = "disabled"; - }; - /* M41T0M6 real time clock on carrier board */ rtc: m41t0m6@68 { compatible = "st,m41t0"; @@ -185,12 +174,4 @@ status = "okay"; }; -&iomuxc { - pinctrl_gpiotouch: touchgpios { - fsl,pins = < - MX7D_PAD_GPIO1_IO09__GPIO1_IO9 0x74 - MX7D_PAD_GPIO1_IO10__GPIO1_IO10 0x14 - >; - }; -}; diff --git a/arch/arm/boot/dts/imx7-colibri.dtsi b/arch/arm/boot/dts/imx7-colibri.dtsi index fff0d30e322f..2567ba391bf6 100644 --- a/arch/arm/boot/dts/imx7-colibri.dtsi +++ b/arch/arm/boot/dts/imx7-colibri.dtsi @@ -429,6 +429,34 @@ pinctrl-1 = <&pinctrl_i2c4_recovery>; scl-gpios = <&gpio7 8 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; sda-gpios = <&gpio7 9 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + status = "disabled"; + + /* Atmel maxtouch controller */ + atmel_mxt_ts: touchscreen@4a { + compatible = "atmel,maxtouch"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_atmel_connector>; + reg = <0x4a>; + interrupt-parent = <&gpio2>; + interrupts = <15 IRQ_TYPE_EDGE_FALLING>; /* SODIMM_107, INT */ + reset-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* SODIMM_106, RST */ + status = "disabled"; + }; + + + /* the PCAPs use SODIMM 28/30, also used for PWM, PWM, aka pwm2, pwm3. + so if you enable one of the PCAP controllers disable the pwms */ + fusion_f0710a: touchscreen@10 { + /* TouchRevolution Fusion 7 and 10 multi-touch controller */ + compatible = "touchrevolution,fusion-f0710a"; + reg = <0x10>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_atmel_adapter>; + gpios = <&gpio1 9 GPIO_ACTIVE_HIGH /* SODIMM_28, INT */ + &gpio1 10 GPIO_ACTIVE_LOW /* SODIMM_30, RST */ + >; + status = "disabled"; + }; }; &lcdif { @@ -628,7 +656,21 @@ &iomuxc { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpio1 &pinctrl_gpio2 &pinctrl_gpio3 &pinctrl_gpio4 - &pinctrl_gpio5 &pinctrl_gpio6 &pinctrl_gpio7>; + &pinctrl_gpio5 &pinctrl_gpio7>; + + pinctrl_atmel_adapter: atmeladaptergrp { /* ATMEL MXT TOUCH ADAPTER */ + fsl,pins = < + MX7D_PAD_GPIO1_IO09__GPIO1_IO9 0x74 /* SODIMM_28, INT */ + MX7D_PAD_GPIO1_IO10__GPIO1_IO10 0x14 /* SODIMM_30, RST */ + >; + }; + + pinctrl_atmel_connector: atmelconnectorgrp { /* ATMEL MXT TOUCH CONNECTOR */ + fsl,pins = < + MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74 /* SODIMM_107, INT */ + MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x14 /* SODIMM_106, RST */ + >; + }; pinctrl_gpio1: gpio1-grp { fsl,pins = < @@ -639,7 +681,6 @@ MX7D_PAD_EPDC_DATA13__GPIO2_IO13 0x14 /* SODIMM 95 */ MX7D_PAD_ENET1_RGMII_TXC__GPIO7_IO11 0x14 /* SODIMM 99 */ MX7D_PAD_EPDC_DATA10__GPIO2_IO10 0x74 /* SODIMM 105 */ - MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74 /* SODIMM 107 */ MX7D_PAD_EPDC_DATA00__GPIO2_IO0 0x14 /* SODIMM 111 */ MX7D_PAD_EPDC_DATA01__GPIO2_IO1 0x14 /* SODIMM 113 */ MX7D_PAD_EPDC_DATA02__GPIO2_IO2 0x14 /* SODIMM 115 */ @@ -656,7 +697,6 @@ MX7D_PAD_SD2_DATA2__GPIO5_IO16 0x14 /* SODIMM 100 */ MX7D_PAD_SD2_DATA3__GPIO5_IO17 0x14 /* SODIMM 102 */ MX7D_PAD_EPDC_GDSP__GPIO2_IO27 0x14 /* SODIMM 104 */ - MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x74 /* SODIMM 106 */ MX7D_PAD_EPDC_BDR1__GPIO2_IO29 0x14 /* SODIMM 110 */ MX7D_PAD_EPDC_PWR_COM__GPIO2_IO30 0x14 /* SODIMM 112 */ MX7D_PAD_EPDC_SDCLK__GPIO2_IO16 0x14 /* SODIMM 114 */ @@ -718,13 +758,6 @@ >; }; - pinctrl_gpio6: gpio6-grp { /* ATMEL MXT TOUCH */ - fsl,pins = < - MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74 /* SODIMM 107 */ - MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x74 /* SODIMM 106 */ - >; - }; - pinctrl_gpio7: gpio7-grp { /* Alternatively CAN1 */ fsl,pins = < MX7D_PAD_ENET1_RGMII_RD3__GPIO7_IO3 0x14 /* SODIMM 55 */ -- cgit v1.2.3