summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2018-06-20 17:59:26 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2018-12-24 01:27:33 +0100
commitd3e1ba9dded487667d0bdf5e53b1b1bbf1895499 (patch)
treeb9ac9602f99267d98b937cc90eefadbdf0b311d5
parent435acf6b1f0aec9c5543b6baa8d4c260c03243ae (diff)
dts: imx: colibri eval/iris: change pins to capacitive touch adapter
The Capacitive Touch Adapter is an interface board designed to easily connect the Capacitive Touch Display 7" Parallel to the Colibri Carrier boards which do not have PCAP connector yet available on board. Change the pins for interrupt and reset to those defined in the Capacitive Touch Adapter's datasheet. While at it remove the '#ifdef PCAP' in favour of disabled nodes. That way one can fixup the device tree in U-Boot to disable the pwm nodes and enable the connected touch controller. e.g. for a Colibri iMX6S/DL: Colibri iMX6 # setenv fdt_fixup 'fdt addr ${fdt_addr_r} && fdt resize && fdt set /soc/aips-bus@02100000/i2c@021a8000/atmel_mxt_ts@4a status okay; fdt set /soc/aips-bus@02000000/pwm@02080000 status disabled; fdt set /soc/aips-bus@02000000/pwm@0208c000 status disabled' Colibri iMX6 # saveenv Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
-rw-r--r--arch/arm/boot/dts/imx6dl-colibri-cam-eval-v3.dts50
-rw-r--r--arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts52
-rw-r--r--arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi11
-rw-r--r--arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi11
4 files changed, 61 insertions, 63 deletions
diff --git a/arch/arm/boot/dts/imx6dl-colibri-cam-eval-v3.dts b/arch/arm/boot/dts/imx6dl-colibri-cam-eval-v3.dts
index c1e125e1f443..4a35bcbb430b 100644
--- a/arch/arm/boot/dts/imx6dl-colibri-cam-eval-v3.dts
+++ b/arch/arm/boot/dts/imx6dl-colibri-cam-eval-v3.dts
@@ -18,10 +18,6 @@
#include "imx6dl.dtsi"
#include "imx6qdl-colibri.dtsi"
-/* Add the following define if you connect a Fusion display with a capacitive
- touch controller */
-/* #define PCAP */
-
/ {
model = "Toradex Colibri iMX6DL/S on Colibri Evaluation Board V3";
compatible = "toradex,colibri_imx6dl-eval", "toradex,colibri_imx6dl", "fsl,imx6dl";
@@ -137,26 +133,21 @@
&i2c3 {
status = "okay";
+/* the PCAPs use SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm1, pwm4.
+ so if you enable one of the PCAP controllers disable the pwms */
/* Atmel maxtouch controller */
atmel_mxt_ts: atmel_mxt_ts@4a {
compatible = "atmel,maxtouch";
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_mxt_ts>;
+ pinctrl-0 = <&pinctrl_pcap_1>;
reg = <0x4a>;
- interrupt-parent = <&gpio2>;
- interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
- reset-gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>; /* SODIMM 106 */
- /*
- * Note: When the status is set to okay, to avoid pinmux
- * conflict, one should remove the pinctrl_weim_cs1 and
- * pinctrl_weim_cs2 pingroup from the weim pinctrl-0
- * property or disable weim node.
- */
+ interrupt-parent = <&gpio1>;
+ interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 */
+ reset-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>; /* SODIMM 30 */
status = "disabled";
};
-#ifdef PCAP /* not standard pinout, disable PWM<B>, PWM<C> */
- pcap@10 {
+ pcap: pcap@10 {
/* TouchRevolution Fusion 7 and 10 multi-touch controller */
compatible = "touchrevolution,fusion-f0710a";
reg = <0x10>;
@@ -165,8 +156,9 @@
gpios = <&gpio1 9 0 /* SODIMM 28, Pen down interrupt */
&gpio2 10 0 /* SODIMM 30, Reset */
>;
+ status = "disabled";
};
-#endif
+
/* M41T0M6 real time clock on carrier board */
rtc_i2c: rtc@68 {
compatible = "st,m41t0";
@@ -232,18 +224,20 @@
* so they are ready for export to user space
*/
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_weim_gpio_1 &pinctrl_weim_gpio_2
- &pinctrl_weim_gpio_3 &pinctrl_weim_gpio_4
- &pinctrl_weim_gpio_5 &pinctrl_weim_gpio_6
- &pinctrl_gpio_1
- &pinctrl_gpio_2
- &pinctrl_usbh_oc_1 &pinctrl_usbc_id_1>;
+ pinctrl-0 = <
+ &pinctrl_weim_gpio_1 &pinctrl_weim_gpio_2
+ &pinctrl_weim_gpio_3 &pinctrl_weim_gpio_4
+ &pinctrl_weim_gpio_5 &pinctrl_weim_gpio_6
+ &pinctrl_gpio_1
+ &pinctrl_gpio_2
+ &pinctrl_usbh_oc_1 &pinctrl_usbc_id_1
+ >;
gpio {
pinctrl_pcap_1: pcap-1 {
fsl,pins = <
- MX6QDL_PAD_GPIO_9__GPIO1_IO09 PAD_CTRL_HYS_PD /* SODIMM 28 */
- MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 PAD_CTRL_HYS_PD /* SODIMM 30 */
+ MX6QDL_PAD_GPIO_9__GPIO1_IO09 PAD_CTRL_HYS_PU /* SODIMM 28 */
+ MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 PAD_CTRL_HYS_PU /* SODIMM 30 */
>;
};
@@ -268,17 +262,15 @@
status = "okay";
};
-#ifndef PCAP
+/* the PCAPs use SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm1, pwm4.
+ so if you enable one of the PCAP controllers disable the pwms */
&pwm1 {
status = "okay";
};
-#endif
-#ifndef PCAP
&pwm4 {
status = "okay";
};
-#endif
&uart1 {
status = "okay";
diff --git a/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts b/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts
index 17e5d819c496..85f88dc28434 100644
--- a/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts
+++ b/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts
@@ -18,10 +18,6 @@
#include "imx6dl.dtsi"
#include "imx6qdl-colibri.dtsi"
-/* Add the following define if you connect a Fusion display with a capacitive
- touch controller */
-/* #define PCAP */
-
/ {
model = "Toradex Colibri iMX6DL/S on Colibri Evaluation Board V3";
compatible = "toradex,colibri_imx6dl-eval", "toradex,colibri_imx6dl", "fsl,imx6dl";
@@ -129,26 +125,21 @@
&i2c3 {
status = "okay";
+/* the PCAPs use SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm1, pwm4.
+ so if you enable one of the PCAP controllers disable the pwms */
/* Atmel maxtouch controller */
atmel_mxt_ts: atmel_mxt_ts@4a {
compatible = "atmel,maxtouch";
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_mxt_ts>;
+ pinctrl-0 = <&pinctrl_pcap_1>;
reg = <0x4a>;
- interrupt-parent = <&gpio2>;
- interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
- reset-gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>; /* SODIMM 106 */
- /*
- * Note: When the status is set to okay, to avoid pinmux
- * conflict, one should remove the pinctrl_weim_cs1 and
- * pinctrl_weim_cs2 pingroup from the weim pinctrl-0
- * property or disable weim node.
- */
+ interrupt-parent = <&gpio1>;
+ interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 */
+ reset-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>; /* SODIMM 30 */
status = "disabled";
};
-#ifdef PCAP /* not standard pinout, disable PWM<B>, PWM<C> */
- pcap@10 {
+ pcap: pcap@10 {
/* TouchRevolution Fusion 7 and 10 multi-touch controller */
compatible = "touchrevolution,fusion-f0710a";
reg = <0x10>;
@@ -157,8 +148,9 @@
gpios = <&gpio1 9 0 /* SODIMM 28, Pen down interrupt */
&gpio2 10 0 /* SODIMM 30, Reset */
>;
+ status = "disabled";
};
-#endif
+
/* M41T0M6 real time clock on carrier board */
rtc_i2c: rtc@68 {
compatible = "st,m41t0";
@@ -172,19 +164,21 @@
* so they are ready for export to user space
*/
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_weim_gpio_1 &pinctrl_weim_gpio_2
- &pinctrl_weim_gpio_3 &pinctrl_weim_gpio_4
- &pinctrl_weim_gpio_5 &pinctrl_weim_gpio_6
- &pinctrl_csi_gpio_1
- &pinctrl_gpio_1
- &pinctrl_gpio_2
- &pinctrl_usbh_oc_1 &pinctrl_usbc_id_1>;
+ pinctrl-0 = <
+ &pinctrl_weim_gpio_1 &pinctrl_weim_gpio_2
+ &pinctrl_weim_gpio_3 &pinctrl_weim_gpio_4
+ &pinctrl_weim_gpio_5 &pinctrl_weim_gpio_6
+ &pinctrl_csi_gpio_1
+ &pinctrl_gpio_1
+ &pinctrl_gpio_2
+ &pinctrl_usbh_oc_1 &pinctrl_usbc_id_1
+ >;
gpio {
pinctrl_pcap_1: pcap-1 {
fsl,pins = <
- MX6QDL_PAD_GPIO_9__GPIO1_IO09 PAD_CTRL_HYS_PD /* SODIMM 28 */
- MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 PAD_CTRL_HYS_PD /* SODIMM 30 */
+ MX6QDL_PAD_GPIO_9__GPIO1_IO09 PAD_CTRL_HYS_PU /* SODIMM 28 */
+ MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 PAD_CTRL_HYS_PU /* SODIMM 30 */
>;
};
@@ -209,11 +203,11 @@
status = "okay";
};
-#ifndef PCAP
+/* the PCAPs use SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm1, pwm4.
+ so if you enable one of the PCAP controllers disable the pwms */
&pwm1 {
status = "okay";
};
-#endif
&pwm2 {
status = "okay";
@@ -223,11 +217,9 @@
status = "okay";
};
-#ifndef PCAP
&pwm4 {
status = "okay";
};
-#endif
&uart1 {
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 771adef73e46..75ba99148f99 100644
--- a/arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi
+++ b/arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi
@@ -118,12 +118,17 @@
scl-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
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 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>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <16 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 */
+ reset-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* SODIMM 30 */
status = "disabled";
};
@@ -265,6 +270,8 @@
};
};
+/* 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 <A> */
&pwm4 {
status = "okay";
diff --git a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
index c1b444cd8aa6..aa2b028e144a 100644
--- a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
+++ b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
@@ -155,12 +155,17 @@
&i2c4 {
status = "okay";
+/* the PCAPs use SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3.
+ so if you enable one of the PCAP controllers disable the pwms */
/* Atmel maxtouch controller */
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>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 */
+ reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; /* SODIMM 30 */
status = "disabled";
};
@@ -306,6 +311,8 @@
status = "okay";
};
+/* the PCAPs use SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3.
+ so if you enable one of the PCAP controllers disable the pwms */
&pwm2 {
status = "okay";
};