summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorSanchayan Maity <maitysanchayan@gmail.com>2014-12-02 19:49:12 +0530
committerStefan Agner <stefan.agner@toradex.com>2014-12-03 17:22:25 +0100
commitacfb6b5d24f263503566d26e7c07638c248ea6e7 (patch)
treeb3de1b9e6fc4c8fe371ba1acfa32575a71081e0d /arch
parent6ec2a8ccc178294e34c0befb433541fcf6d6e800 (diff)
ARM: dts: vf-colibri: Add device tree node for touchscreen support
Add device tree node for touchscreen support on Colibri VF50. The touchscreen functionality on VF50 uses the ADC channels of Vybrid and some GPIOs. Also add pinctrl nodes for proper pinmux. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> [updated mux settings, moved touchscreen node to vf500-colibri.dtsi] Signed-off-by: Stefan Agner <stefan@agner.ch>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/vf-colibri.dtsi41
-rw-r--r--arch/arm/boot/dts/vf500-colibri-eval-v3.dts4
-rw-r--r--arch/arm/boot/dts/vf500-colibri.dtsi46
3 files changed, 91 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/vf-colibri.dtsi b/arch/arm/boot/dts/vf-colibri.dtsi
index 1e43996b26fa..231553fb86dc 100644
--- a/arch/arm/boot/dts/vf-colibri.dtsi
+++ b/arch/arm/boot/dts/vf-colibri.dtsi
@@ -13,6 +13,22 @@
pwms = <&pwm0 0 5000000 0>;
status = "disabled";
};
+
+ toradex,vf50_touchctrl {
+ compatible = "toradex,vf50-touchctrl";
+ io-channels = <&adc1 0>,<&adc0 0>,
+ <&adc0 1>, <&adc1 2>;
+ vf,gpio-xp = <13>;
+ vf,gpio-xm = <93>;
+ vf,gpio-yp = <12>;
+ vf,gpio-ym = <4>;
+ vf,gpio-pen-detect = <8>;
+ vf,gpio-pen-pullup = <9>;
+ pinctrl-names = "idle","default","gpios";
+ pinctrl-0 = <&pinctrl_touchctrl_idle>;
+ pinctrl-1 = <&pinctrl_touchctrl_default>;
+ pinctrl-2 = <&pinctrl_touchctrl_gpios>;
+ };
};
&adc0 {
@@ -240,6 +256,31 @@
>;
};
+ pinctrl_touchctrl_idle: touchctrl_idle {
+ fsl,pins = <
+ VF610_PAD_PTA18__GPIO_8 0x206d
+ VF610_PAD_PTA19__GPIO_9 0x206d
+ >;
+ };
+
+ pinctrl_touchctrl_default: touchctrl_default {
+ fsl,pins = <
+ VF610_PAD_PTA18__ADC0_SE0 0x2060
+ VF610_PAD_PTA19__ADC0_SE1 0x2060
+ VF610_PAD_PTA16__ADC1_SE0 0x2060
+ VF610_PAD_PTB2__ADC1_SE2 0x2060
+ >;
+ };
+
+ pinctrl_touchctrl_gpios: touchctrl_gpios {
+ fsl,pins = <
+ VF610_PAD_PTA23__GPIO_13 0x22ed
+ VF610_PAD_PTB23__GPIO_93 0x22ed
+ VF610_PAD_PTA22__GPIO_12 0x22ed
+ VF610_PAD_PTA11__GPIO_4 0x22ed
+ >;
+ };
+
pinctrl_usbh1_reg: gpio_usb_vbus {
fsl,pins = <
VF610_PAD_PTD4__GPIO_83 0x22ed
diff --git a/arch/arm/boot/dts/vf500-colibri-eval-v3.dts b/arch/arm/boot/dts/vf500-colibri-eval-v3.dts
index 7fc782c4fc52..c5efb576570c 100644
--- a/arch/arm/boot/dts/vf500-colibri-eval-v3.dts
+++ b/arch/arm/boot/dts/vf500-colibri-eval-v3.dts
@@ -15,3 +15,7 @@
model = "Toradex Colibri VF50 on Colibri Evaluation Board";
compatible = "toradex,vf500-colibri_vf50-on-eval", "toradex,vf500-colibri_vf50", "fsl,vf500";
};
+
+&touchctrl {
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/vf500-colibri.dtsi b/arch/arm/boot/dts/vf500-colibri.dtsi
index cee34a32f25b..87e478afa40c 100644
--- a/arch/arm/boot/dts/vf500-colibri.dtsi
+++ b/arch/arm/boot/dts/vf500-colibri.dtsi
@@ -17,4 +17,50 @@
memory {
reg = <0x80000000 0x8000000>;
};
+
+ touchctrl: vf50_touchctrl {
+ compatible = "toradex,vf50-touchctrl";
+ io-channels = <&adc1 0>,<&adc0 0>,
+ <&adc0 1>, <&adc1 2>;
+ vf,gpio-xp = <13>;
+ vf,gpio-xm = <93>;
+ vf,gpio-yp = <12>;
+ vf,gpio-ym = <4>;
+ vf,gpio-pen-detect = <8>;
+ vf,gpio-pen-pullup = <9>;
+ pinctrl-names = "idle","default","gpios";
+ pinctrl-0 = <&pinctrl_touchctrl_idle>;
+ pinctrl-1 = <&pinctrl_touchctrl_default>;
+ pinctrl-2 = <&pinctrl_touchctrl_gpios>;
+ status = "disabled";
+ };
+};
+
+&iomuxc {
+ vf610-colibri {
+ pinctrl_touchctrl_idle: touchctrl_idle {
+ fsl,pins = <
+ VF610_PAD_PTA18__GPIO_8 0x206d
+ VF610_PAD_PTA19__GPIO_9 0x206d
+ >;
+ };
+
+ pinctrl_touchctrl_default: touchctrl_default {
+ fsl,pins = <
+ VF610_PAD_PTA18__ADC0_SE0 0x2060
+ VF610_PAD_PTA19__ADC0_SE1 0x2060
+ VF610_PAD_PTA16__ADC1_SE0 0x2060
+ VF610_PAD_PTB2__ADC1_SE2 0x2060
+ >;
+ };
+
+ pinctrl_touchctrl_gpios: touchctrl_gpios {
+ fsl,pins = <
+ VF610_PAD_PTA23__GPIO_13 0x22ed
+ VF610_PAD_PTB23__GPIO_93 0x22ed
+ VF610_PAD_PTA22__GPIO_12 0x22ed
+ VF610_PAD_PTA11__GPIO_4 0x22ed
+ >;
+ };
+ };
};