diff options
author | Lothar Waßmann <LW@KARO-electronics.de> | 2014-06-12 09:05:17 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@freescale.com> | 2014-07-18 04:49:35 -0400 |
commit | c8787bae4b6694a012e1f2c3c82eb095f4c1c160 (patch) | |
tree | 034b85f8321d0c9b7071f5829d0245324f318d54 | |
parent | 0ebda1d3f2769eb77df80e018341667cbb80768d (diff) |
ARM: dts: imx6: add support for Ka-Ro TX6 modules
This patch adds support for the Ka-Ro electronics GmbH TX6 modules.
There are five distinct module types with either i.MX6Q or i.MX6DL and
LVDS or LCD display interface and one DTS file for a complete system
with an i.MX6DL based TX6 module and a baseboard mounted on the back
of a display (imx6dl-tx6dl-comtft.dts).
Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
-rw-r--r-- | arch/arm/boot/dts/Makefile | 8 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6dl-tx6dl-comtft.dts | 103 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6dl-tx6u-801x.dts | 177 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6dl-tx6u-811x.dts | 150 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6q-tx6q-1010-comtft.dts | 103 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6q-tx6q-1010.dts | 177 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6q-tx6q-1020-comtft.dts | 136 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6q-tx6q-1020.dts | 210 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6q-tx6q-1110.dts | 154 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6qdl-tx6.dtsi | 696 |
10 files changed, 1914 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index aa2b35ecd938..5393b5d09844 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -199,6 +199,9 @@ dtb-$(CONFIG_ARCH_MXC) += \ | |||
199 | imx6dl-sabreauto.dtb \ | 199 | imx6dl-sabreauto.dtb \ |
200 | imx6dl-sabrelite.dtb \ | 200 | imx6dl-sabrelite.dtb \ |
201 | imx6dl-sabresd.dtb \ | 201 | imx6dl-sabresd.dtb \ |
202 | imx6dl-tx6dl-comtft.dtb \ | ||
203 | imx6dl-tx6u-801x.dtb \ | ||
204 | imx6dl-tx6u-811x.dtb \ | ||
202 | imx6dl-wandboard.dtb \ | 205 | imx6dl-wandboard.dtb \ |
203 | imx6q-arm2.dtb \ | 206 | imx6q-arm2.dtb \ |
204 | imx6q-cm-fx6.dtb \ | 207 | imx6q-cm-fx6.dtb \ |
@@ -219,6 +222,11 @@ dtb-$(CONFIG_ARCH_MXC) += \ | |||
219 | imx6q-sbc6x.dtb \ | 222 | imx6q-sbc6x.dtb \ |
220 | imx6q-udoo.dtb \ | 223 | imx6q-udoo.dtb \ |
221 | imx6q-wandboard.dtb \ | 224 | imx6q-wandboard.dtb \ |
225 | imx6q-tx6q-1010.dtb \ | ||
226 | imx6q-tx6q-1010-comtft.dtb \ | ||
227 | imx6q-tx6q-1020.dtb \ | ||
228 | imx6q-tx6q-1020-comtft.dtb \ | ||
229 | imx6q-tx6q-1110.dtb \ | ||
222 | imx6sl-evk.dtb \ | 230 | imx6sl-evk.dtb \ |
223 | imx6sx-sdb.dtb \ | 231 | imx6sx-sdb.dtb \ |
224 | vf610-colibri.dtb \ | 232 | vf610-colibri.dtb \ |
diff --git a/arch/arm/boot/dts/imx6dl-tx6dl-comtft.dts b/arch/arm/boot/dts/imx6dl-tx6dl-comtft.dts new file mode 100644 index 000000000000..913bb9a0466a --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-tx6dl-comtft.dts | |||
@@ -0,0 +1,103 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6dl.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6DL Module on CoMpact TFT"; | ||
18 | compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl"; | ||
19 | |||
20 | aliases { | ||
21 | display = &display; | ||
22 | }; | ||
23 | |||
24 | backlight: backlight { | ||
25 | compatible = "pwm-backlight"; | ||
26 | pwms = <&pwm2 0 500000 0>; | ||
27 | power-supply = <®_3v3>; | ||
28 | /* | ||
29 | * a poor man's way to create a 1:1 relationship between | ||
30 | * the PWM value and the actual duty cycle | ||
31 | */ | ||
32 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
33 | 10 11 12 13 14 15 16 17 18 19 | ||
34 | 20 21 22 23 24 25 26 27 28 29 | ||
35 | 30 31 32 33 34 35 36 37 38 39 | ||
36 | 40 41 42 43 44 45 46 47 48 49 | ||
37 | 50 51 52 53 54 55 56 57 58 59 | ||
38 | 60 61 62 63 64 65 66 67 68 69 | ||
39 | 70 71 72 73 74 75 76 77 78 79 | ||
40 | 80 81 82 83 84 85 86 87 88 89 | ||
41 | 90 91 92 93 94 95 96 97 98 99 | ||
42 | 100>; | ||
43 | default-brightness-level = <50>; | ||
44 | }; | ||
45 | |||
46 | display: display@di0 { | ||
47 | compatible = "fsl,imx-parallel-display"; | ||
48 | interface-pix-fmt = "rgb24"; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_disp0_1>; | ||
51 | status = "okay"; | ||
52 | |||
53 | port { | ||
54 | display0_in: endpoint { | ||
55 | remote-endpoint = <&ipu1_di0_disp0>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | display-timings { | ||
60 | native-mode = <&ET070001DM6>; | ||
61 | |||
62 | ET070001DM6: CoMTFT { /* same as ET0700 but with inverted pixel clock */ | ||
63 | clock-frequency = <33264000>; | ||
64 | hactive = <800>; | ||
65 | vactive = <480>; | ||
66 | hback-porch = <88>; | ||
67 | hsync-len = <128>; | ||
68 | hfront-porch = <40>; | ||
69 | vback-porch = <33>; | ||
70 | vsync-len = <2>; | ||
71 | vfront-porch = <10>; | ||
72 | hsync-active = <0>; | ||
73 | vsync-active = <0>; | ||
74 | de-active = <1>; | ||
75 | pixelclk-active = <1>; | ||
76 | }; | ||
77 | }; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | &can1 { | ||
82 | status = "disabled"; | ||
83 | }; | ||
84 | |||
85 | &can2 { | ||
86 | xceiver-supply = <®_3v3>; | ||
87 | }; | ||
88 | |||
89 | &ipu1_di0_disp0 { | ||
90 | remote-endpoint = <&display0_in>; | ||
91 | }; | ||
92 | |||
93 | &kpp { | ||
94 | status = "disabled"; | ||
95 | }; | ||
96 | |||
97 | ®_can_xcvr { | ||
98 | status = "disabled"; | ||
99 | }; | ||
100 | |||
101 | &touchscreen { | ||
102 | status = "disabled"; | ||
103 | }; | ||
diff --git a/arch/arm/boot/dts/imx6dl-tx6u-801x.dts b/arch/arm/boot/dts/imx6dl-tx6u-801x.dts new file mode 100644 index 000000000000..5fe465c2814e --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-tx6u-801x.dts | |||
@@ -0,0 +1,177 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6dl.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6U-801x Module"; | ||
18 | compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl"; | ||
19 | |||
20 | aliases { | ||
21 | display = &display; | ||
22 | }; | ||
23 | |||
24 | backlight: backlight { | ||
25 | compatible = "pwm-backlight"; | ||
26 | pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>; | ||
27 | power-supply = <®_3v3>; | ||
28 | /* | ||
29 | * a poor man's way to create a 1:1 relationship between | ||
30 | * the PWM value and the actual duty cycle | ||
31 | */ | ||
32 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
33 | 10 11 12 13 14 15 16 17 18 19 | ||
34 | 20 21 22 23 24 25 26 27 28 29 | ||
35 | 30 31 32 33 34 35 36 37 38 39 | ||
36 | 40 41 42 43 44 45 46 47 48 49 | ||
37 | 50 51 52 53 54 55 56 57 58 59 | ||
38 | 60 61 62 63 64 65 66 67 68 69 | ||
39 | 70 71 72 73 74 75 76 77 78 79 | ||
40 | 80 81 82 83 84 85 86 87 88 89 | ||
41 | 90 91 92 93 94 95 96 97 98 99 | ||
42 | 100>; | ||
43 | default-brightness-level = <50>; | ||
44 | }; | ||
45 | |||
46 | display: display@di0 { | ||
47 | compatible = "fsl,imx-parallel-display"; | ||
48 | interface-pix-fmt = "rgb24"; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_disp0_1>; | ||
51 | status = "okay"; | ||
52 | |||
53 | port { | ||
54 | display0_in: endpoint { | ||
55 | remote-endpoint = <&ipu1_di0_disp0>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | display-timings { | ||
60 | VGA { | ||
61 | clock-frequency = <25200000>; | ||
62 | hactive = <640>; | ||
63 | vactive = <480>; | ||
64 | hback-porch = <48>; | ||
65 | hsync-len = <96>; | ||
66 | hfront-porch = <16>; | ||
67 | vback-porch = <31>; | ||
68 | vsync-len = <2>; | ||
69 | vfront-porch = <12>; | ||
70 | hsync-active = <0>; | ||
71 | vsync-active = <0>; | ||
72 | de-active = <1>; | ||
73 | pixelclk-active = <0>; | ||
74 | }; | ||
75 | |||
76 | ETV570 { | ||
77 | clock-frequency = <25200000>; | ||
78 | hactive = <640>; | ||
79 | vactive = <480>; | ||
80 | hback-porch = <114>; | ||
81 | hsync-len = <30>; | ||
82 | hfront-porch = <16>; | ||
83 | vback-porch = <32>; | ||
84 | vsync-len = <3>; | ||
85 | vfront-porch = <10>; | ||
86 | hsync-active = <0>; | ||
87 | vsync-active = <0>; | ||
88 | de-active = <1>; | ||
89 | pixelclk-active = <0>; | ||
90 | }; | ||
91 | |||
92 | ET0350 { | ||
93 | clock-frequency = <6413760>; | ||
94 | hactive = <320>; | ||
95 | vactive = <240>; | ||
96 | hback-porch = <34>; | ||
97 | hsync-len = <34>; | ||
98 | hfront-porch = <20>; | ||
99 | vback-porch = <15>; | ||
100 | vsync-len = <3>; | ||
101 | vfront-porch = <4>; | ||
102 | hsync-active = <0>; | ||
103 | vsync-active = <0>; | ||
104 | de-active = <1>; | ||
105 | pixelclk-active = <0>; | ||
106 | }; | ||
107 | |||
108 | ET0430 { | ||
109 | clock-frequency = <9009000>; | ||
110 | hactive = <480>; | ||
111 | vactive = <272>; | ||
112 | hback-porch = <2>; | ||
113 | hsync-len = <41>; | ||
114 | hfront-porch = <2>; | ||
115 | vback-porch = <2>; | ||
116 | vsync-len = <10>; | ||
117 | vfront-porch = <2>; | ||
118 | hsync-active = <0>; | ||
119 | vsync-active = <0>; | ||
120 | de-active = <1>; | ||
121 | pixelclk-active = <1>; | ||
122 | }; | ||
123 | |||
124 | ET0500 { | ||
125 | clock-frequency = <33264000>; | ||
126 | hactive = <800>; | ||
127 | vactive = <480>; | ||
128 | hback-porch = <88>; | ||
129 | hsync-len = <128>; | ||
130 | hfront-porch = <40>; | ||
131 | vback-porch = <33>; | ||
132 | vsync-len = <2>; | ||
133 | vfront-porch = <10>; | ||
134 | hsync-active = <0>; | ||
135 | vsync-active = <0>; | ||
136 | de-active = <1>; | ||
137 | pixelclk-active = <0>; | ||
138 | }; | ||
139 | |||
140 | ET0700 { /* same as ET0500 */ | ||
141 | clock-frequency = <33264000>; | ||
142 | hactive = <800>; | ||
143 | vactive = <480>; | ||
144 | hback-porch = <88>; | ||
145 | hsync-len = <128>; | ||
146 | hfront-porch = <40>; | ||
147 | vback-porch = <33>; | ||
148 | vsync-len = <2>; | ||
149 | vfront-porch = <10>; | ||
150 | hsync-active = <0>; | ||
151 | vsync-active = <0>; | ||
152 | de-active = <1>; | ||
153 | pixelclk-active = <0>; | ||
154 | }; | ||
155 | |||
156 | ETQ570 { | ||
157 | clock-frequency = <6596040>; | ||
158 | hactive = <320>; | ||
159 | vactive = <240>; | ||
160 | hback-porch = <38>; | ||
161 | hsync-len = <30>; | ||
162 | hfront-porch = <30>; | ||
163 | vback-porch = <16>; | ||
164 | vsync-len = <3>; | ||
165 | vfront-porch = <4>; | ||
166 | hsync-active = <0>; | ||
167 | vsync-active = <0>; | ||
168 | de-active = <1>; | ||
169 | pixelclk-active = <0>; | ||
170 | }; | ||
171 | }; | ||
172 | }; | ||
173 | }; | ||
174 | |||
175 | &ipu1_di0_disp0 { | ||
176 | remote-endpoint = <&display0_in>; | ||
177 | }; | ||
diff --git a/arch/arm/boot/dts/imx6dl-tx6u-811x.dts b/arch/arm/boot/dts/imx6dl-tx6u-811x.dts new file mode 100644 index 000000000000..c275eecc9472 --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-tx6u-811x.dts | |||
@@ -0,0 +1,150 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6dl.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6U-811x Module"; | ||
18 | compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl"; | ||
19 | |||
20 | aliases { | ||
21 | display = &lvds0; | ||
22 | lvds0 = &lvds0; | ||
23 | lvds1 = &lvds1; | ||
24 | }; | ||
25 | |||
26 | backlight0: backlight0 { | ||
27 | compatible = "pwm-backlight"; | ||
28 | pwms = <&pwm2 0 500000 0>; | ||
29 | power-supply = <®_lcd0_pwr>; | ||
30 | /* | ||
31 | * a poor man's way to create a 1:1 relationship between | ||
32 | * the PWM value and the actual duty cycle | ||
33 | */ | ||
34 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
35 | 10 11 12 13 14 15 16 17 18 19 | ||
36 | 20 21 22 23 24 25 26 27 28 29 | ||
37 | 30 31 32 33 34 35 36 37 38 39 | ||
38 | 40 41 42 43 44 45 46 47 48 49 | ||
39 | 50 51 52 53 54 55 56 57 58 59 | ||
40 | 60 61 62 63 64 65 66 67 68 69 | ||
41 | 70 71 72 73 74 75 76 77 78 79 | ||
42 | 80 81 82 83 84 85 86 87 88 89 | ||
43 | 90 91 92 93 94 95 96 97 98 99 | ||
44 | 100>; | ||
45 | default-brightness-level = <50>; | ||
46 | }; | ||
47 | |||
48 | backlight1: backlight1 { | ||
49 | compatible = "pwm-backlight"; | ||
50 | pwms = <&pwm1 0 500000 0>; | ||
51 | power-supply = <®_lcd1_pwr>; | ||
52 | /* | ||
53 | * a poor man's way to create a 1:1 relationship between | ||
54 | * the PWM value and the actual duty cycle | ||
55 | */ | ||
56 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
57 | 10 11 12 13 14 15 16 17 18 19 | ||
58 | 20 21 22 23 24 25 26 27 28 29 | ||
59 | 30 31 32 33 34 35 36 37 38 39 | ||
60 | 40 41 42 43 44 45 46 47 48 49 | ||
61 | 50 51 52 53 54 55 56 57 58 59 | ||
62 | 60 61 62 63 64 65 66 67 68 69 | ||
63 | 70 71 72 73 74 75 76 77 78 79 | ||
64 | 80 81 82 83 84 85 86 87 88 89 | ||
65 | 90 91 92 93 94 95 96 97 98 99 | ||
66 | 100>; | ||
67 | default-brightness-level = <50>; | ||
68 | }; | ||
69 | }; | ||
70 | |||
71 | &i2c3 { | ||
72 | polytouch2: eeti@04 { | ||
73 | compatible = "eeti,egalax_ts"; | ||
74 | reg = <0x04>; | ||
75 | pinctrl-names = "default"; | ||
76 | pinctrl-0 = <&pinctrl_eeti>; | ||
77 | interrupt-parent = <&gpio3>; | ||
78 | interrupts = <22 0>; | ||
79 | wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>; | ||
80 | linux,wakeup; | ||
81 | }; | ||
82 | }; | ||
83 | |||
84 | &iomuxc { | ||
85 | imx6dl-tx6u-811x { | ||
86 | pinctrl_eeti: eetigrp { | ||
87 | fsl,pins = < | ||
88 | MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */ | ||
89 | >; | ||
90 | }; | ||
91 | }; | ||
92 | }; | ||
93 | |||
94 | &kpp { | ||
95 | status = "disabled"; /* pad conflict with backlight1 PWM */ | ||
96 | }; | ||
97 | |||
98 | &ldb { | ||
99 | status = "okay"; | ||
100 | |||
101 | lvds0: lvds-channel@0 { | ||
102 | fsl,data-mapping = "spwg"; | ||
103 | fsl,data-width = <18>; | ||
104 | status = "okay"; | ||
105 | |||
106 | display-timings { | ||
107 | native-mode = <&lvds_timing0>; | ||
108 | lvds_timing0: hsd100pxn1 { | ||
109 | clock-frequency = <65000000>; | ||
110 | hactive = <1024>; | ||
111 | vactive = <768>; | ||
112 | hback-porch = <220>; | ||
113 | hfront-porch = <40>; | ||
114 | vback-porch = <21>; | ||
115 | vfront-porch = <7>; | ||
116 | hsync-len = <60>; | ||
117 | vsync-len = <10>; | ||
118 | de-active = <1>; | ||
119 | pixelclk-active = <1>; | ||
120 | }; | ||
121 | }; | ||
122 | }; | ||
123 | |||
124 | lvds1: lvds-channel@1 { | ||
125 | fsl,data-mapping = "spwg"; | ||
126 | fsl,data-width = <18>; | ||
127 | status = "disabled"; | ||
128 | |||
129 | display-timings { | ||
130 | native-mode = <&lvds_timing1>; | ||
131 | lvds_timing1: hsd100pxn1 { | ||
132 | clock-frequency = <65000000>; | ||
133 | hactive = <1024>; | ||
134 | vactive = <768>; | ||
135 | hback-porch = <220>; | ||
136 | hfront-porch = <40>; | ||
137 | vback-porch = <21>; | ||
138 | vfront-porch = <7>; | ||
139 | hsync-len = <60>; | ||
140 | vsync-len = <10>; | ||
141 | de-active = <1>; | ||
142 | pixelclk-active = <1>; | ||
143 | }; | ||
144 | }; | ||
145 | }; | ||
146 | }; | ||
147 | |||
148 | &pwm1 { | ||
149 | status = "okay"; | ||
150 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1010-comtft.dts b/arch/arm/boot/dts/imx6q-tx6q-1010-comtft.dts new file mode 100644 index 000000000000..b18fae10b2e3 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-tx6q-1010-comtft.dts | |||
@@ -0,0 +1,103 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6q.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6Q-1010 Module on CoMpact TFT"; | ||
18 | compatible = "karo,imx6q-tx6q", "fsl,imx6q"; | ||
19 | |||
20 | aliases { | ||
21 | display = &display; | ||
22 | }; | ||
23 | |||
24 | backlight: backlight { | ||
25 | compatible = "pwm-backlight"; | ||
26 | pwms = <&pwm2 0 500000 0>; | ||
27 | power-supply = <®_3v3>; | ||
28 | /* | ||
29 | * a poor man's way to create a 1:1 relationship between | ||
30 | * the PWM value and the actual duty cycle | ||
31 | */ | ||
32 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
33 | 10 11 12 13 14 15 16 17 18 19 | ||
34 | 20 21 22 23 24 25 26 27 28 29 | ||
35 | 30 31 32 33 34 35 36 37 38 39 | ||
36 | 40 41 42 43 44 45 46 47 48 49 | ||
37 | 50 51 52 53 54 55 56 57 58 59 | ||
38 | 60 61 62 63 64 65 66 67 68 69 | ||
39 | 70 71 72 73 74 75 76 77 78 79 | ||
40 | 80 81 82 83 84 85 86 87 88 89 | ||
41 | 90 91 92 93 94 95 96 97 98 99 | ||
42 | 100>; | ||
43 | default-brightness-level = <50>; | ||
44 | }; | ||
45 | |||
46 | display: display@di0 { | ||
47 | compatible = "fsl,imx-parallel-display"; | ||
48 | interface-pix-fmt = "rgb24"; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_disp0_1>; | ||
51 | status = "okay"; | ||
52 | |||
53 | port { | ||
54 | display0_in: endpoint { | ||
55 | remote-endpoint = <&ipu1_di0_disp0>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | display-timings { | ||
60 | native-mode = <&ET070001DM6>; | ||
61 | |||
62 | ET070001DM6: CoMTFT { /* same as ET0700 but with inverted pixel clock */ | ||
63 | clock-frequency = <33264000>; | ||
64 | hactive = <800>; | ||
65 | vactive = <480>; | ||
66 | hback-porch = <88>; | ||
67 | hsync-len = <128>; | ||
68 | hfront-porch = <40>; | ||
69 | vback-porch = <33>; | ||
70 | vsync-len = <2>; | ||
71 | vfront-porch = <10>; | ||
72 | hsync-active = <0>; | ||
73 | vsync-active = <0>; | ||
74 | de-active = <1>; | ||
75 | pixelclk-active = <1>; | ||
76 | }; | ||
77 | }; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | &can1 { | ||
82 | status = "disabled"; | ||
83 | }; | ||
84 | |||
85 | &can2 { | ||
86 | xceiver-supply = <®_3v3>; | ||
87 | }; | ||
88 | |||
89 | &ipu1_di0_disp0 { | ||
90 | remote-endpoint = <&display0_in>; | ||
91 | }; | ||
92 | |||
93 | &kpp { | ||
94 | status = "disabled"; | ||
95 | }; | ||
96 | |||
97 | ®_can_xcvr { | ||
98 | status = "disabled"; | ||
99 | }; | ||
100 | |||
101 | &touchscreen { | ||
102 | status = "disabled"; | ||
103 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1010.dts b/arch/arm/boot/dts/imx6q-tx6q-1010.dts new file mode 100644 index 000000000000..b58ec9c966c8 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-tx6q-1010.dts | |||
@@ -0,0 +1,177 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6q.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6Q-1010 Module"; | ||
18 | compatible = "karo,imx6q-tx6q", "fsl,imx6q"; | ||
19 | |||
20 | aliases { | ||
21 | display = &display; | ||
22 | }; | ||
23 | |||
24 | backlight: backlight { | ||
25 | compatible = "pwm-backlight"; | ||
26 | pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>; | ||
27 | power-supply = <®_3v3>; | ||
28 | /* | ||
29 | * a poor man's way to create a 1:1 relationship between | ||
30 | * the PWM value and the actual duty cycle | ||
31 | */ | ||
32 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
33 | 10 11 12 13 14 15 16 17 18 19 | ||
34 | 20 21 22 23 24 25 26 27 28 29 | ||
35 | 30 31 32 33 34 35 36 37 38 39 | ||
36 | 40 41 42 43 44 45 46 47 48 49 | ||
37 | 50 51 52 53 54 55 56 57 58 59 | ||
38 | 60 61 62 63 64 65 66 67 68 69 | ||
39 | 70 71 72 73 74 75 76 77 78 79 | ||
40 | 80 81 82 83 84 85 86 87 88 89 | ||
41 | 90 91 92 93 94 95 96 97 98 99 | ||
42 | 100>; | ||
43 | default-brightness-level = <50>; | ||
44 | }; | ||
45 | |||
46 | display: display@di0 { | ||
47 | compatible = "fsl,imx-parallel-display"; | ||
48 | interface-pix-fmt = "rgb24"; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_disp0_1>; | ||
51 | status = "okay"; | ||
52 | |||
53 | port { | ||
54 | display0_in: endpoint { | ||
55 | remote-endpoint = <&ipu1_di0_disp0>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | display-timings { | ||
60 | VGA { | ||
61 | clock-frequency = <25200000>; | ||
62 | hactive = <640>; | ||
63 | vactive = <480>; | ||
64 | hback-porch = <48>; | ||
65 | hsync-len = <96>; | ||
66 | hfront-porch = <16>; | ||
67 | vback-porch = <31>; | ||
68 | vsync-len = <2>; | ||
69 | vfront-porch = <12>; | ||
70 | hsync-active = <0>; | ||
71 | vsync-active = <0>; | ||
72 | de-active = <1>; | ||
73 | pixelclk-active = <0>; | ||
74 | }; | ||
75 | |||
76 | ETV570 { | ||
77 | clock-frequency = <25200000>; | ||
78 | hactive = <640>; | ||
79 | vactive = <480>; | ||
80 | hback-porch = <114>; | ||
81 | hsync-len = <30>; | ||
82 | hfront-porch = <16>; | ||
83 | vback-porch = <32>; | ||
84 | vsync-len = <3>; | ||
85 | vfront-porch = <10>; | ||
86 | hsync-active = <0>; | ||
87 | vsync-active = <0>; | ||
88 | de-active = <1>; | ||
89 | pixelclk-active = <0>; | ||
90 | }; | ||
91 | |||
92 | ET0350 { | ||
93 | clock-frequency = <6413760>; | ||
94 | hactive = <320>; | ||
95 | vactive = <240>; | ||
96 | hback-porch = <34>; | ||
97 | hsync-len = <34>; | ||
98 | hfront-porch = <20>; | ||
99 | vback-porch = <15>; | ||
100 | vsync-len = <3>; | ||
101 | vfront-porch = <4>; | ||
102 | hsync-active = <0>; | ||
103 | vsync-active = <0>; | ||
104 | de-active = <1>; | ||
105 | pixelclk-active = <0>; | ||
106 | }; | ||
107 | |||
108 | ET0430 { | ||
109 | clock-frequency = <9009000>; | ||
110 | hactive = <480>; | ||
111 | vactive = <272>; | ||
112 | hback-porch = <2>; | ||
113 | hsync-len = <41>; | ||
114 | hfront-porch = <2>; | ||
115 | vback-porch = <2>; | ||
116 | vsync-len = <10>; | ||
117 | vfront-porch = <2>; | ||
118 | hsync-active = <0>; | ||
119 | vsync-active = <0>; | ||
120 | de-active = <1>; | ||
121 | pixelclk-active = <1>; | ||
122 | }; | ||
123 | |||
124 | ET0500 { | ||
125 | clock-frequency = <33264000>; | ||
126 | hactive = <800>; | ||
127 | vactive = <480>; | ||
128 | hback-porch = <88>; | ||
129 | hsync-len = <128>; | ||
130 | hfront-porch = <40>; | ||
131 | vback-porch = <33>; | ||
132 | vsync-len = <2>; | ||
133 | vfront-porch = <10>; | ||
134 | hsync-active = <0>; | ||
135 | vsync-active = <0>; | ||
136 | de-active = <1>; | ||
137 | pixelclk-active = <0>; | ||
138 | }; | ||
139 | |||
140 | ET0700 { /* same as ET0500 */ | ||
141 | clock-frequency = <33264000>; | ||
142 | hactive = <800>; | ||
143 | vactive = <480>; | ||
144 | hback-porch = <88>; | ||
145 | hsync-len = <128>; | ||
146 | hfront-porch = <40>; | ||
147 | vback-porch = <33>; | ||
148 | vsync-len = <2>; | ||
149 | vfront-porch = <10>; | ||
150 | hsync-active = <0>; | ||
151 | vsync-active = <0>; | ||
152 | de-active = <1>; | ||
153 | pixelclk-active = <0>; | ||
154 | }; | ||
155 | |||
156 | ETQ570 { | ||
157 | clock-frequency = <6596040>; | ||
158 | hactive = <320>; | ||
159 | vactive = <240>; | ||
160 | hback-porch = <38>; | ||
161 | hsync-len = <30>; | ||
162 | hfront-porch = <30>; | ||
163 | vback-porch = <16>; | ||
164 | vsync-len = <3>; | ||
165 | vfront-porch = <4>; | ||
166 | hsync-active = <0>; | ||
167 | vsync-active = <0>; | ||
168 | de-active = <1>; | ||
169 | pixelclk-active = <0>; | ||
170 | }; | ||
171 | }; | ||
172 | }; | ||
173 | }; | ||
174 | |||
175 | &ipu1_di0_disp0 { | ||
176 | remote-endpoint = <&display0_in>; | ||
177 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1020-comtft.dts b/arch/arm/boot/dts/imx6q-tx6q-1020-comtft.dts new file mode 100644 index 000000000000..0bb9a9de62a9 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-tx6q-1020-comtft.dts | |||
@@ -0,0 +1,136 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6q.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6Q-1020 Module on CoMpact TFT"; | ||
18 | compatible = "karo,imx6q-tx6q", "fsl,imx6q"; | ||
19 | |||
20 | aliases { | ||
21 | display = &display; | ||
22 | }; | ||
23 | |||
24 | backlight: backlight { | ||
25 | compatible = "pwm-backlight"; | ||
26 | pwms = <&pwm2 0 500000 0>; | ||
27 | power-supply = <®_3v3>; | ||
28 | /* | ||
29 | * a poor man's way to create a 1:1 relationship between | ||
30 | * the PWM value and the actual duty cycle | ||
31 | */ | ||
32 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
33 | 10 11 12 13 14 15 16 17 18 19 | ||
34 | 20 21 22 23 24 25 26 27 28 29 | ||
35 | 30 31 32 33 34 35 36 37 38 39 | ||
36 | 40 41 42 43 44 45 46 47 48 49 | ||
37 | 50 51 52 53 54 55 56 57 58 59 | ||
38 | 60 61 62 63 64 65 66 67 68 69 | ||
39 | 70 71 72 73 74 75 76 77 78 79 | ||
40 | 80 81 82 83 84 85 86 87 88 89 | ||
41 | 90 91 92 93 94 95 96 97 98 99 | ||
42 | 100>; | ||
43 | default-brightness-level = <50>; | ||
44 | }; | ||
45 | |||
46 | display: display@di0 { | ||
47 | compatible = "fsl,imx-parallel-display"; | ||
48 | interface-pix-fmt = "rgb24"; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_disp0_1>; | ||
51 | status = "okay"; | ||
52 | |||
53 | port { | ||
54 | display0_in: endpoint { | ||
55 | remote-endpoint = <&ipu1_di0_disp0>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | display-timings { | ||
60 | native-mode = <&ET070001DM6>; | ||
61 | |||
62 | ET070001DM6: CoMTFT { /* same as ET0700 but with inverted pixel clock */ | ||
63 | clock-frequency = <33264000>; | ||
64 | hactive = <800>; | ||
65 | vactive = <480>; | ||
66 | hback-porch = <88>; | ||
67 | hsync-len = <128>; | ||
68 | hfront-porch = <40>; | ||
69 | vback-porch = <33>; | ||
70 | vsync-len = <2>; | ||
71 | vfront-porch = <10>; | ||
72 | hsync-active = <0>; | ||
73 | vsync-active = <0>; | ||
74 | de-active = <1>; | ||
75 | pixelclk-active = <1>; | ||
76 | }; | ||
77 | }; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | &can1 { | ||
82 | status = "disabled"; | ||
83 | }; | ||
84 | |||
85 | &can2 { | ||
86 | xceiver-supply = <®_3v3>; | ||
87 | }; | ||
88 | |||
89 | &ds1339 { | ||
90 | status = "disabled"; | ||
91 | }; | ||
92 | |||
93 | &gpmi { | ||
94 | status = "disabled"; | ||
95 | }; | ||
96 | |||
97 | &iomuxc { | ||
98 | imx6qdl-tx6 { | ||
99 | pinctrl_usdhc4: usdhc4grp { | ||
100 | fsl,pins = < | ||
101 | MX6QDL_PAD_SD4_CMD__SD4_CMD 0x070b1 | ||
102 | MX6QDL_PAD_SD4_CLK__SD4_CLK 0x070b1 | ||
103 | MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x070b1 | ||
104 | MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x070b1 | ||
105 | MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x070b1 | ||
106 | MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x070b1 | ||
107 | MX6QDL_PAD_NANDF_ALE__SD4_RESET 0x0b0b1 | ||
108 | >; | ||
109 | }; | ||
110 | }; | ||
111 | }; | ||
112 | |||
113 | &ipu1_di0_disp0 { | ||
114 | remote-endpoint = <&display0_in>; | ||
115 | }; | ||
116 | |||
117 | &kpp { | ||
118 | status = "disabled"; | ||
119 | }; | ||
120 | |||
121 | ®_can_xcvr { | ||
122 | status = "disabled"; | ||
123 | }; | ||
124 | |||
125 | &touchscreen { | ||
126 | status = "disabled"; | ||
127 | }; | ||
128 | |||
129 | &usdhc4 { | ||
130 | pinctrl-names = "default"; | ||
131 | pinctrl-0 = <&pinctrl_usdhc4>; | ||
132 | bus-width = <4>; | ||
133 | no-1-8-v; | ||
134 | fsl,wp-controller; | ||
135 | status = "okay"; | ||
136 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1020.dts b/arch/arm/boot/dts/imx6q-tx6q-1020.dts new file mode 100644 index 000000000000..b96d80a35d39 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-tx6q-1020.dts | |||
@@ -0,0 +1,210 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6q.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6Q-1020 Module"; | ||
18 | compatible = "karo,imx6q-tx6q", "fsl,imx6q"; | ||
19 | |||
20 | aliases { | ||
21 | display = &display; | ||
22 | }; | ||
23 | |||
24 | backlight: backlight { | ||
25 | compatible = "pwm-backlight"; | ||
26 | pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>; | ||
27 | power-supply = <®_3v3>; | ||
28 | /* | ||
29 | * a poor man's way to create a 1:1 relationship between | ||
30 | * the PWM value and the actual duty cycle | ||
31 | */ | ||
32 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
33 | 10 11 12 13 14 15 16 17 18 19 | ||
34 | 20 21 22 23 24 25 26 27 28 29 | ||
35 | 30 31 32 33 34 35 36 37 38 39 | ||
36 | 40 41 42 43 44 45 46 47 48 49 | ||
37 | 50 51 52 53 54 55 56 57 58 59 | ||
38 | 60 61 62 63 64 65 66 67 68 69 | ||
39 | 70 71 72 73 74 75 76 77 78 79 | ||
40 | 80 81 82 83 84 85 86 87 88 89 | ||
41 | 90 91 92 93 94 95 96 97 98 99 | ||
42 | 100>; | ||
43 | default-brightness-level = <50>; | ||
44 | }; | ||
45 | |||
46 | display: display@di0 { | ||
47 | compatible = "fsl,imx-parallel-display"; | ||
48 | interface-pix-fmt = "rgb24"; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_disp0_1>; | ||
51 | status = "okay"; | ||
52 | |||
53 | port { | ||
54 | display0_in: endpoint { | ||
55 | remote-endpoint = <&ipu1_di0_disp0>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | display-timings { | ||
60 | VGA { | ||
61 | clock-frequency = <25200000>; | ||
62 | hactive = <640>; | ||
63 | vactive = <480>; | ||
64 | hback-porch = <48>; | ||
65 | hsync-len = <96>; | ||
66 | hfront-porch = <16>; | ||
67 | vback-porch = <31>; | ||
68 | vsync-len = <2>; | ||
69 | vfront-porch = <12>; | ||
70 | hsync-active = <0>; | ||
71 | vsync-active = <0>; | ||
72 | de-active = <1>; | ||
73 | pixelclk-active = <0>; | ||
74 | }; | ||
75 | |||
76 | ETV570 { | ||
77 | clock-frequency = <25200000>; | ||
78 | hactive = <640>; | ||
79 | vactive = <480>; | ||
80 | hback-porch = <114>; | ||
81 | hsync-len = <30>; | ||
82 | hfront-porch = <16>; | ||
83 | vback-porch = <32>; | ||
84 | vsync-len = <3>; | ||
85 | vfront-porch = <10>; | ||
86 | hsync-active = <0>; | ||
87 | vsync-active = <0>; | ||
88 | de-active = <1>; | ||
89 | pixelclk-active = <0>; | ||
90 | }; | ||
91 | |||
92 | ET0350 { | ||
93 | clock-frequency = <6413760>; | ||
94 | hactive = <320>; | ||
95 | vactive = <240>; | ||
96 | hback-porch = <34>; | ||
97 | hsync-len = <34>; | ||
98 | hfront-porch = <20>; | ||
99 | vback-porch = <15>; | ||
100 | vsync-len = <3>; | ||
101 | vfront-porch = <4>; | ||
102 | hsync-active = <0>; | ||
103 | vsync-active = <0>; | ||
104 | de-active = <1>; | ||
105 | pixelclk-active = <0>; | ||
106 | }; | ||
107 | |||
108 | ET0430 { | ||
109 | clock-frequency = <9009000>; | ||
110 | hactive = <480>; | ||
111 | vactive = <272>; | ||
112 | hback-porch = <2>; | ||
113 | hsync-len = <41>; | ||
114 | hfront-porch = <2>; | ||
115 | vback-porch = <2>; | ||
116 | vsync-len = <10>; | ||
117 | vfront-porch = <2>; | ||
118 | hsync-active = <0>; | ||
119 | vsync-active = <0>; | ||
120 | de-active = <1>; | ||
121 | pixelclk-active = <1>; | ||
122 | }; | ||
123 | |||
124 | ET0500 { | ||
125 | clock-frequency = <33264000>; | ||
126 | hactive = <800>; | ||
127 | vactive = <480>; | ||
128 | hback-porch = <88>; | ||
129 | hsync-len = <128>; | ||
130 | hfront-porch = <40>; | ||
131 | vback-porch = <33>; | ||
132 | vsync-len = <2>; | ||
133 | vfront-porch = <10>; | ||
134 | hsync-active = <0>; | ||
135 | vsync-active = <0>; | ||
136 | de-active = <1>; | ||
137 | pixelclk-active = <0>; | ||
138 | }; | ||
139 | |||
140 | ET0700 { /* same as ET0500 */ | ||
141 | clock-frequency = <33264000>; | ||
142 | hactive = <800>; | ||
143 | vactive = <480>; | ||
144 | hback-porch = <88>; | ||
145 | hsync-len = <128>; | ||
146 | hfront-porch = <40>; | ||
147 | vback-porch = <33>; | ||
148 | vsync-len = <2>; | ||
149 | vfront-porch = <10>; | ||
150 | hsync-active = <0>; | ||
151 | vsync-active = <0>; | ||
152 | de-active = <1>; | ||
153 | pixelclk-active = <0>; | ||
154 | }; | ||
155 | |||
156 | ETQ570 { | ||
157 | clock-frequency = <6596040>; | ||
158 | hactive = <320>; | ||
159 | vactive = <240>; | ||
160 | hback-porch = <38>; | ||
161 | hsync-len = <30>; | ||
162 | hfront-porch = <30>; | ||
163 | vback-porch = <16>; | ||
164 | vsync-len = <3>; | ||
165 | vfront-porch = <4>; | ||
166 | hsync-active = <0>; | ||
167 | vsync-active = <0>; | ||
168 | de-active = <1>; | ||
169 | pixelclk-active = <0>; | ||
170 | }; | ||
171 | }; | ||
172 | }; | ||
173 | }; | ||
174 | |||
175 | &ds1339 { | ||
176 | status = "disabled"; | ||
177 | }; | ||
178 | |||
179 | &gpmi { | ||
180 | status = "disabled"; | ||
181 | }; | ||
182 | |||
183 | &iomuxc { | ||
184 | imx6qdl-tx6 { | ||
185 | pinctrl_usdhc4: usdhc4grp { | ||
186 | fsl,pins = < | ||
187 | MX6QDL_PAD_SD4_CMD__SD4_CMD 0x070b1 | ||
188 | MX6QDL_PAD_SD4_CLK__SD4_CLK 0x070b1 | ||
189 | MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x070b1 | ||
190 | MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x070b1 | ||
191 | MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x070b1 | ||
192 | MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x070b1 | ||
193 | MX6QDL_PAD_NANDF_ALE__SD4_RESET 0x0b0b1 | ||
194 | >; | ||
195 | }; | ||
196 | }; | ||
197 | }; | ||
198 | |||
199 | &ipu1_di0_disp0 { | ||
200 | remote-endpoint = <&display0_in>; | ||
201 | }; | ||
202 | |||
203 | &usdhc4 { | ||
204 | pinctrl-names = "default"; | ||
205 | pinctrl-0 = <&pinctrl_usdhc4>; | ||
206 | bus-width = <4>; | ||
207 | no-1-8-v; | ||
208 | fsl,wp-controller; | ||
209 | status = "okay"; | ||
210 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1110.dts b/arch/arm/boot/dts/imx6q-tx6q-1110.dts new file mode 100644 index 000000000000..88aa1e4c792d --- /dev/null +++ b/arch/arm/boot/dts/imx6q-tx6q-1110.dts | |||
@@ -0,0 +1,154 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6q.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6Q-1110 Module"; | ||
18 | compatible = "karo,imx6q-tx6q", "fsl,imx6q"; | ||
19 | |||
20 | aliases { | ||
21 | display = &lvds0; | ||
22 | lvds0 = &lvds0; | ||
23 | lvds1 = &lvds1; | ||
24 | }; | ||
25 | |||
26 | backlight0: backlight0 { | ||
27 | compatible = "pwm-backlight"; | ||
28 | pwms = <&pwm2 0 500000 0>; | ||
29 | power-supply = <®_lcd0_pwr>; | ||
30 | /* | ||
31 | * a poor man's way to create a 1:1 relationship between | ||
32 | * the PWM value and the actual duty cycle | ||
33 | */ | ||
34 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
35 | 10 11 12 13 14 15 16 17 18 19 | ||
36 | 20 21 22 23 24 25 26 27 28 29 | ||
37 | 30 31 32 33 34 35 36 37 38 39 | ||
38 | 40 41 42 43 44 45 46 47 48 49 | ||
39 | 50 51 52 53 54 55 56 57 58 59 | ||
40 | 60 61 62 63 64 65 66 67 68 69 | ||
41 | 70 71 72 73 74 75 76 77 78 79 | ||
42 | 80 81 82 83 84 85 86 87 88 89 | ||
43 | 90 91 92 93 94 95 96 97 98 99 | ||
44 | 100>; | ||
45 | default-brightness-level = <50>; | ||
46 | }; | ||
47 | |||
48 | backlight1: backlight1 { | ||
49 | compatible = "pwm-backlight"; | ||
50 | pwms = <&pwm1 0 500000 0>; | ||
51 | power-supply = <®_lcd1_pwr>; | ||
52 | /* | ||
53 | * a poor man's way to create a 1:1 relationship between | ||
54 | * the PWM value and the actual duty cycle | ||
55 | */ | ||
56 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
57 | 10 11 12 13 14 15 16 17 18 19 | ||
58 | 20 21 22 23 24 25 26 27 28 29 | ||
59 | 30 31 32 33 34 35 36 37 38 39 | ||
60 | 40 41 42 43 44 45 46 47 48 49 | ||
61 | 50 51 52 53 54 55 56 57 58 59 | ||
62 | 60 61 62 63 64 65 66 67 68 69 | ||
63 | 70 71 72 73 74 75 76 77 78 79 | ||
64 | 80 81 82 83 84 85 86 87 88 89 | ||
65 | 90 91 92 93 94 95 96 97 98 99 | ||
66 | 100>; | ||
67 | default-brightness-level = <50>; | ||
68 | }; | ||
69 | }; | ||
70 | |||
71 | &i2c3 { | ||
72 | polytouch1: eeti@04 { | ||
73 | compatible = "eeti,egalax_ts"; | ||
74 | reg = <0x04>; | ||
75 | pinctrl-names = "default"; | ||
76 | pinctrl-0 = <&pinctrl_eeti>; | ||
77 | interrupt-parent = <&gpio3>; | ||
78 | interrupts = <22 0>; | ||
79 | wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>; | ||
80 | linux,wakeup; | ||
81 | }; | ||
82 | }; | ||
83 | |||
84 | &iomuxc { | ||
85 | imx6q-tx6q-1110 { | ||
86 | pinctrl_eeti: eetigrp { | ||
87 | fsl,pins = < | ||
88 | MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */ | ||
89 | >; | ||
90 | }; | ||
91 | }; | ||
92 | }; | ||
93 | |||
94 | &kpp { | ||
95 | status = "disabled"; /* pad conflict with backlight1 PWM */ | ||
96 | }; | ||
97 | |||
98 | &ldb { | ||
99 | status = "okay"; | ||
100 | |||
101 | lvds0: lvds-channel@0 { | ||
102 | fsl,data-mapping = "spwg"; | ||
103 | fsl,data-width = <18>; | ||
104 | status = "okay"; | ||
105 | |||
106 | display-timings { | ||
107 | native-mode = <&lvds_timing0>; | ||
108 | lvds_timing0: hsd100pxn1 { | ||
109 | clock-frequency = <65000000>; | ||
110 | hactive = <1024>; | ||
111 | vactive = <768>; | ||
112 | hback-porch = <220>; | ||
113 | hfront-porch = <40>; | ||
114 | vback-porch = <21>; | ||
115 | vfront-porch = <7>; | ||
116 | hsync-len = <60>; | ||
117 | vsync-len = <10>; | ||
118 | de-active = <1>; | ||
119 | pixelclk-active = <1>; | ||
120 | }; | ||
121 | }; | ||
122 | }; | ||
123 | |||
124 | lvds1: lvds-channel@1 { | ||
125 | fsl,data-mapping = "spwg"; | ||
126 | fsl,data-width = <18>; | ||
127 | status = "disabled"; | ||
128 | |||
129 | display-timings { | ||
130 | native-mode = <&lvds_timing1>; | ||
131 | lvds_timing1: hsd100pxn1 { | ||
132 | clock-frequency = <65000000>; | ||
133 | hactive = <1024>; | ||
134 | vactive = <768>; | ||
135 | hback-porch = <220>; | ||
136 | hfront-porch = <40>; | ||
137 | vback-porch = <21>; | ||
138 | vfront-porch = <7>; | ||
139 | hsync-len = <60>; | ||
140 | vsync-len = <10>; | ||
141 | de-active = <1>; | ||
142 | pixelclk-active = <1>; | ||
143 | }; | ||
144 | }; | ||
145 | }; | ||
146 | }; | ||
147 | |||
148 | &pwm1 { | ||
149 | status = "okay"; | ||
150 | }; | ||
151 | |||
152 | &sata { | ||
153 | status = "okay"; | ||
154 | }; | ||
diff --git a/arch/arm/boot/dts/imx6qdl-tx6.dtsi b/arch/arm/boot/dts/imx6qdl-tx6.dtsi new file mode 100644 index 000000000000..5c350a3c7a2f --- /dev/null +++ b/arch/arm/boot/dts/imx6qdl-tx6.dtsi | |||
@@ -0,0 +1,696 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | #include <dt-bindings/gpio/gpio.h> | ||
13 | #include <dt-bindings/input/input.h> | ||
14 | #include <dt-bindings/pwm/pwm.h> | ||
15 | |||
16 | / { | ||
17 | aliases { | ||
18 | can0 = &can2; | ||
19 | can1 = &can1; | ||
20 | ethernet0 = &fec; | ||
21 | lcdif_23bit_pins_a = &pinctrl_disp0_1; | ||
22 | lcdif_24bit_pins_a = &pinctrl_disp0_2; | ||
23 | pwm0 = &pwm1; | ||
24 | pwm1 = &pwm2; | ||
25 | reg_can_xcvr = ®_can_xcvr; | ||
26 | stk5led = &user_led; | ||
27 | usbotg = &usbotg; | ||
28 | sdhc0 = &usdhc1; | ||
29 | sdhc1 = &usdhc2; | ||
30 | }; | ||
31 | |||
32 | memory { | ||
33 | reg = <0 0>; /* will be filled by U-Boot */ | ||
34 | }; | ||
35 | |||
36 | clocks { | ||
37 | #address-cells = <1>; | ||
38 | #size-cells = <0>; | ||
39 | mclk: clock@0 { | ||
40 | compatible = "fixed-clock"; | ||
41 | reg = <0>; | ||
42 | #clock-cells = <0>; | ||
43 | clock-frequency = <27000000>; | ||
44 | }; | ||
45 | }; | ||
46 | |||
47 | gpio-keys { | ||
48 | compatible = "gpio-keys"; | ||
49 | |||
50 | power { | ||
51 | label = "Power Button"; | ||
52 | gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>; | ||
53 | linux,code = <KEY_POWER>; | ||
54 | gpio-key,wakeup; | ||
55 | }; | ||
56 | }; | ||
57 | |||
58 | leds { | ||
59 | compatible = "gpio-leds"; | ||
60 | |||
61 | user_led: user { | ||
62 | label = "Heartbeat"; | ||
63 | gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>; | ||
64 | linux,default-trigger = "heartbeat"; | ||
65 | }; | ||
66 | }; | ||
67 | |||
68 | regulators { | ||
69 | compatible = "simple-bus"; | ||
70 | #address-cells = <1>; | ||
71 | #size-cells = <0>; | ||
72 | |||
73 | reg_3v3_etn: regulator@0 { | ||
74 | compatible = "regulator-fixed"; | ||
75 | reg = <0>; | ||
76 | regulator-name = "3V3_ETN"; | ||
77 | regulator-min-microvolt = <3300000>; | ||
78 | regulator-max-microvolt = <3300000>; | ||
79 | pinctrl-names = "default"; | ||
80 | pinctrl-0 = <&pinctrl_etnphy_power>; | ||
81 | gpio = <&gpio3 20 GPIO_ACTIVE_HIGH>; | ||
82 | enable-active-high; | ||
83 | }; | ||
84 | |||
85 | reg_2v5: regulator@1 { | ||
86 | compatible = "regulator-fixed"; | ||
87 | reg = <1>; | ||
88 | regulator-name = "2V5"; | ||
89 | regulator-min-microvolt = <2500000>; | ||
90 | regulator-max-microvolt = <2500000>; | ||
91 | regulator-always-on; | ||
92 | }; | ||
93 | |||
94 | reg_3v3: regulator@2 { | ||
95 | compatible = "regulator-fixed"; | ||
96 | reg = <2>; | ||
97 | regulator-name = "3V3"; | ||
98 | regulator-min-microvolt = <3300000>; | ||
99 | regulator-max-microvolt = <3300000>; | ||
100 | regulator-always-on; | ||
101 | }; | ||
102 | |||
103 | reg_can_xcvr: regulator@3 { | ||
104 | compatible = "regulator-fixed"; | ||
105 | reg = <3>; | ||
106 | regulator-name = "CAN XCVR"; | ||
107 | regulator-min-microvolt = <3300000>; | ||
108 | regulator-max-microvolt = <3300000>; | ||
109 | pinctrl-names = "default"; | ||
110 | pinctrl-0 = <&pinctrl_flexcan_xcvr>; | ||
111 | gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>; | ||
112 | enable-active-low; | ||
113 | }; | ||
114 | |||
115 | reg_lcd0_pwr: regulator@4 { | ||
116 | compatible = "regulator-fixed"; | ||
117 | reg = <4>; | ||
118 | regulator-name = "LCD0 POWER"; | ||
119 | regulator-min-microvolt = <3300000>; | ||
120 | regulator-max-microvolt = <3300000>; | ||
121 | pinctrl-names = "default"; | ||
122 | pinctrl-0 = <&pinctrl_lcd0_pwr>; | ||
123 | gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>; | ||
124 | enable-active-high; | ||
125 | regulator-boot-on; | ||
126 | regulator-always-on; | ||
127 | }; | ||
128 | |||
129 | reg_lcd1_pwr: regulator@5 { | ||
130 | compatible = "regulator-fixed"; | ||
131 | reg = <5>; | ||
132 | regulator-name = "LCD1 POWER"; | ||
133 | regulator-min-microvolt = <3300000>; | ||
134 | regulator-max-microvolt = <3300000>; | ||
135 | pinctrl-names = "default"; | ||
136 | pinctrl-0 = <&pinctrl_lcd1_pwr>; | ||
137 | gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>; | ||
138 | enable-active-high; | ||
139 | regulator-boot-on; | ||
140 | regulator-always-on; | ||
141 | }; | ||
142 | |||
143 | reg_usbh1_vbus: regulator@6 { | ||
144 | compatible = "regulator-fixed"; | ||
145 | reg = <6>; | ||
146 | regulator-name = "usbh1_vbus"; | ||
147 | regulator-min-microvolt = <5000000>; | ||
148 | regulator-max-microvolt = <5000000>; | ||
149 | pinctrl-names = "default"; | ||
150 | pinctrl-0 = <&pinctrl_usbh1_vbus>; | ||
151 | gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>; | ||
152 | enable-active-high; | ||
153 | }; | ||
154 | |||
155 | reg_usbotg_vbus: regulator@7 { | ||
156 | compatible = "regulator-fixed"; | ||
157 | reg = <7>; | ||
158 | regulator-name = "usbotg_vbus"; | ||
159 | regulator-min-microvolt = <5000000>; | ||
160 | regulator-max-microvolt = <5000000>; | ||
161 | pinctrl-names = "default"; | ||
162 | pinctrl-0 = <&pinctrl_usbotg_vbus>; | ||
163 | gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>; | ||
164 | enable-active-high; | ||
165 | }; | ||
166 | }; | ||
167 | |||
168 | sound { | ||
169 | compatible = "karo,imx6qdl-tx6qdl-sgtl5000", | ||
170 | "fsl,imx-audio-sgtl5000"; | ||
171 | model = "sgtl5000-audio"; | ||
172 | pinctrl-names = "default"; | ||
173 | pinctrl-0 = <&pinctrl_audmux>; | ||
174 | ssi-controller = <&ssi1>; | ||
175 | audio-codec = <&sgtl5000>; | ||
176 | audio-routing = | ||
177 | "MIC_IN", "Mic Jack", | ||
178 | "Mic Jack", "Mic Bias", | ||
179 | "Headphone Jack", "HP_OUT"; | ||
180 | mux-int-port = <1>; | ||
181 | mux-ext-port = <5>; | ||
182 | }; | ||
183 | }; | ||
184 | |||
185 | &audmux { | ||
186 | status = "okay"; | ||
187 | }; | ||
188 | |||
189 | &can1 { | ||
190 | pinctrl-names = "default"; | ||
191 | pinctrl-0 = <&pinctrl_flexcan1>; | ||
192 | xceiver-supply = <®_can_xcvr>; | ||
193 | status = "okay"; | ||
194 | }; | ||
195 | |||
196 | &can2 { | ||
197 | pinctrl-names = "default"; | ||
198 | pinctrl-0 = <&pinctrl_flexcan2>; | ||
199 | xceiver-supply = <®_can_xcvr>; | ||
200 | status = "okay"; | ||
201 | }; | ||
202 | |||
203 | &ecspi1 { | ||
204 | pinctrl-names = "default"; | ||
205 | pinctrl-0 = <&pinctrl_ecspi1>; | ||
206 | fsl,spi-num-chipselects = <2>; | ||
207 | cs-gpios = < | ||
208 | &gpio2 30 GPIO_ACTIVE_HIGH | ||
209 | &gpio3 19 GPIO_ACTIVE_HIGH | ||
210 | >; | ||
211 | status = "okay"; | ||
212 | |||
213 | spidev0: spi@0 { | ||
214 | compatible = "spidev"; | ||
215 | reg = <0>; | ||
216 | spi-max-frequency = <54000000>; | ||
217 | }; | ||
218 | |||
219 | spidev1: spi@1 { | ||
220 | compatible = "spidev"; | ||
221 | reg = <1>; | ||
222 | spi-max-frequency = <54000000>; | ||
223 | }; | ||
224 | }; | ||
225 | |||
226 | &fec { | ||
227 | pinctrl-names = "default"; | ||
228 | pinctrl-0 = <&pinctrl_enet>; | ||
229 | phy-mode = "rmii"; | ||
230 | phy-reset-gpios = <&gpio7 6 GPIO_ACTIVE_HIGH>; | ||
231 | phy-supply = <®_3v3_etn>; | ||
232 | status = "okay"; | ||
233 | }; | ||
234 | |||
235 | &gpmi { | ||
236 | pinctrl-names = "default"; | ||
237 | pinctrl-0 = <&pinctrl_gpmi_nand>; | ||
238 | nand-on-flash-bbt; | ||
239 | fsl,no-blockmark-swap; | ||
240 | status = "okay"; | ||
241 | }; | ||
242 | |||
243 | &i2c1 { | ||
244 | pinctrl-names = "default"; | ||
245 | pinctrl-0 = <&pinctrl_i2c1>; | ||
246 | clock-frequency = <400000>; | ||
247 | status = "okay"; | ||
248 | |||
249 | ds1339: rtc@68 { | ||
250 | compatible = "dallas,ds1339"; | ||
251 | reg = <0x68>; | ||
252 | }; | ||
253 | }; | ||
254 | |||
255 | &i2c3 { | ||
256 | pinctrl-names = "default"; | ||
257 | pinctrl-0 = <&pinctrl_i2c3>; | ||
258 | clock-frequency = <400000>; | ||
259 | status = "okay"; | ||
260 | |||
261 | sgtl5000: sgtl5000@0a { | ||
262 | compatible = "fsl,sgtl5000"; | ||
263 | reg = <0x0a>; | ||
264 | VDDA-supply = <®_2v5>; | ||
265 | VDDIO-supply = <®_3v3>; | ||
266 | clocks = <&mclk>; | ||
267 | }; | ||
268 | |||
269 | polytouch: edt-ft5x06@38 { | ||
270 | compatible = "edt,edt-ft5x06"; | ||
271 | reg = <0x38>; | ||
272 | pinctrl-names = "default"; | ||
273 | pinctrl-0 = <&pinctrl_edt_ft5x06>; | ||
274 | interrupt-parent = <&gpio6>; | ||
275 | interrupts = <15 0>; | ||
276 | reset-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>; | ||
277 | wake-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>; | ||
278 | linux,wakeup; | ||
279 | }; | ||
280 | |||
281 | touchscreen: tsc2007@48 { | ||
282 | compatible = "ti,tsc2007"; | ||
283 | reg = <0x48>; | ||
284 | pinctrl-names = "default"; | ||
285 | pinctrl-0 = <&pinctrl_tsc2007>; | ||
286 | interrupt-parent = <&gpio3>; | ||
287 | interrupts = <26 0>; | ||
288 | gpios = <&gpio3 26 GPIO_ACTIVE_LOW>; | ||
289 | ti,x-plate-ohms = <660>; | ||
290 | linux,wakeup; | ||
291 | }; | ||
292 | }; | ||
293 | |||
294 | &iomuxc { | ||
295 | pinctrl-names = "default"; | ||
296 | pinctrl-0 = <&pinctrl_hog>; | ||
297 | |||
298 | imx6qdl-tx6 { | ||
299 | pinctrl_hog: hoggrp { | ||
300 | fsl,pins = < | ||
301 | MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x1b0b1 /* LED */ | ||
302 | MX6QDL_PAD_SD3_DAT2__GPIO7_IO06 0x1b0b1 /* ETN PHY RESET */ | ||
303 | MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x1b0b1 /* ETN PHY INT */ | ||
304 | MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x1b0b1 /* PWR BTN */ | ||
305 | >; | ||
306 | }; | ||
307 | |||
308 | pinctrl_audmux: audmuxgrp { | ||
309 | fsl,pins = < | ||
310 | MX6QDL_PAD_KEY_ROW1__AUD5_RXD 0x130b0 /* SSI1_RXD */ | ||
311 | MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x110b0 /* SSI1_TXD */ | ||
312 | MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0 /* SSI1_CLK */ | ||
313 | MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0 /* SSI1_FS */ | ||
314 | >; | ||
315 | }; | ||
316 | |||
317 | pinctrl_disp0_1: disp0grp-1 { | ||
318 | fsl,pins = < | ||
319 | MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10 | ||
320 | MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x10 | ||
321 | MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x10 | ||
322 | MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x10 | ||
323 | /* PAD DISP0_DAT0 is used for the Flexcan transceiver control */ | ||
324 | MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x10 | ||
325 | MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x10 | ||
326 | MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x10 | ||
327 | MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x10 | ||
328 | MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x10 | ||
329 | MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x10 | ||
330 | MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x10 | ||
331 | MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x10 | ||
332 | MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x10 | ||
333 | MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x10 | ||
334 | MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x10 | ||
335 | MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x10 | ||
336 | MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x10 | ||
337 | MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x10 | ||
338 | MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x10 | ||
339 | MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x10 | ||
340 | MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x10 | ||
341 | MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x10 | ||
342 | MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x10 | ||
343 | MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x10 | ||
344 | MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x10 | ||
345 | MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x10 | ||
346 | MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x10 | ||
347 | >; | ||
348 | }; | ||
349 | |||
350 | pinctrl_disp0_2: disp0grp-2 { | ||
351 | fsl,pins = < | ||
352 | MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10 | ||
353 | MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x10 | ||
354 | MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x10 | ||
355 | MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x10 | ||
356 | MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x10 | ||
357 | MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x10 | ||
358 | MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x10 | ||
359 | MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x10 | ||
360 | MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x10 | ||
361 | MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x10 | ||
362 | MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x10 | ||
363 | MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x10 | ||
364 | MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x10 | ||
365 | MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x10 | ||
366 | MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x10 | ||
367 | MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x10 | ||
368 | MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x10 | ||
369 | MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x10 | ||
370 | MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x10 | ||
371 | MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x10 | ||
372 | MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x10 | ||
373 | MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x10 | ||
374 | MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x10 | ||
375 | MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x10 | ||
376 | MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x10 | ||
377 | MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x10 | ||
378 | MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x10 | ||
379 | MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x10 | ||
380 | >; | ||
381 | }; | ||
382 | |||
383 | pinctrl_ecspi1: ecspi1grp { | ||
384 | fsl,pins = < | ||
385 | MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x0b0b0 | ||
386 | MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x0b0b0 | ||
387 | MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x0b0b0 | ||
388 | MX6QDL_PAD_GPIO_19__ECSPI1_RDY 0x0b0b0 | ||
389 | MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x0b0b0 /* SPI CS0 */ | ||
390 | MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x0b0b0 /* SPI CS1 */ | ||
391 | >; | ||
392 | }; | ||
393 | |||
394 | pinctrl_edt_ft5x06: edt-ft5x06grp { | ||
395 | fsl,pins = < | ||
396 | MX6QDL_PAD_NANDF_CS2__GPIO6_IO15 0x1b0b0 /* Interrupt */ | ||
397 | MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x1b0b0 /* Reset */ | ||
398 | MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x1b0b0 /* Wake */ | ||
399 | >; | ||
400 | }; | ||
401 | |||
402 | pinctrl_enet: enetgrp { | ||
403 | fsl,pins = < | ||
404 | MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 | ||
405 | MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 | ||
406 | MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0 0x1b0b0 | ||
407 | MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1 0x1b0b0 | ||
408 | MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER 0x1b0b0 | ||
409 | MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0 | ||
410 | MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0 0x1b0b0 | ||
411 | MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x1b0b0 | ||
412 | MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0 | ||
413 | >; | ||
414 | }; | ||
415 | |||
416 | pinctrl_etnphy_power: etnphy-pwrgrp { | ||
417 | fsl,pins = < | ||
418 | MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x1b0b1 /* ETN PHY POWER */ | ||
419 | >; | ||
420 | }; | ||
421 | |||
422 | pinctrl_flexcan1: flexcan1grp { | ||
423 | fsl,pins = < | ||
424 | MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x1b0b0 | ||
425 | MX6QDL_PAD_GPIO_8__FLEXCAN1_RX 0x1b0b0 | ||
426 | >; | ||
427 | }; | ||
428 | |||
429 | pinctrl_flexcan2: flexcan2grp { | ||
430 | fsl,pins = < | ||
431 | MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x1b0b0 | ||
432 | MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x1b0b0 | ||
433 | >; | ||
434 | }; | ||
435 | |||
436 | pinctrl_flexcan_xcvr: flexcan-xcvrgrp { | ||
437 | fsl,pins = < | ||
438 | MX6QDL_PAD_DISP0_DAT0__GPIO4_IO21 0x1b0b0 /* Flexcan XCVR enable */ | ||
439 | >; | ||
440 | }; | ||
441 | |||
442 | pinctrl_gpmi_nand: gpminandgrp { | ||
443 | fsl,pins = < | ||
444 | MX6QDL_PAD_NANDF_CLE__NAND_CLE 0x0b0b1 | ||
445 | MX6QDL_PAD_NANDF_ALE__NAND_ALE 0x0b0b1 | ||
446 | MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0x0b0b1 | ||
447 | MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0x0b000 | ||
448 | MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0x0b0b1 | ||
449 | MX6QDL_PAD_SD4_CMD__NAND_RE_B 0x0b0b1 | ||
450 | MX6QDL_PAD_SD4_CLK__NAND_WE_B 0x0b0b1 | ||
451 | MX6QDL_PAD_NANDF_D0__NAND_DATA00 0x0b0b1 | ||
452 | MX6QDL_PAD_NANDF_D1__NAND_DATA01 0x0b0b1 | ||
453 | MX6QDL_PAD_NANDF_D2__NAND_DATA02 0x0b0b1 | ||
454 | MX6QDL_PAD_NANDF_D3__NAND_DATA03 0x0b0b1 | ||
455 | MX6QDL_PAD_NANDF_D4__NAND_DATA04 0x0b0b1 | ||
456 | MX6QDL_PAD_NANDF_D5__NAND_DATA05 0x0b0b1 | ||
457 | MX6QDL_PAD_NANDF_D6__NAND_DATA06 0x0b0b1 | ||
458 | MX6QDL_PAD_NANDF_D7__NAND_DATA07 0x0b0b1 | ||
459 | >; | ||
460 | }; | ||
461 | |||
462 | pinctrl_i2c1: i2c1grp { | ||
463 | fsl,pins = < | ||
464 | MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 | ||
465 | MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 | ||
466 | >; | ||
467 | }; | ||
468 | |||
469 | pinctrl_i2c3: i2c3grp { | ||
470 | fsl,pins = < | ||
471 | MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1 | ||
472 | MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1 | ||
473 | >; | ||
474 | }; | ||
475 | |||
476 | pinctrl_kpp: kppgrp { | ||
477 | fsl,pins = < | ||
478 | MX6QDL_PAD_GPIO_9__KEY_COL6 0x1b0b1 | ||
479 | MX6QDL_PAD_GPIO_4__KEY_COL7 0x1b0b1 | ||
480 | MX6QDL_PAD_KEY_COL2__KEY_COL2 0x1b0b1 | ||
481 | MX6QDL_PAD_KEY_COL3__KEY_COL3 0x1b0b1 | ||
482 | MX6QDL_PAD_GPIO_2__KEY_ROW6 0x1b0b1 | ||
483 | MX6QDL_PAD_GPIO_5__KEY_ROW7 0x1b0b1 | ||
484 | MX6QDL_PAD_KEY_ROW2__KEY_ROW2 0x1b0b1 | ||
485 | MX6QDL_PAD_KEY_ROW3__KEY_ROW3 0x1b0b1 | ||
486 | >; | ||
487 | }; | ||
488 | |||
489 | pinctrl_lcd0_pwr: lcd0-pwrgrp { | ||
490 | fsl,pins = < | ||
491 | MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x1b0b1 /* LCD Reset */ | ||
492 | >; | ||
493 | }; | ||
494 | |||
495 | pinctrl_lcd1_pwr: lcd1-pwrgrp { | ||
496 | fsl,pins = < | ||
497 | MX6QDL_PAD_EIM_EB3__GPIO2_IO31 0x1b0b1 /* LCD Power Enable */ | ||
498 | >; | ||
499 | }; | ||
500 | |||
501 | pinctrl_pwm1: pwm1grp { | ||
502 | fsl,pins = < | ||
503 | MX6QDL_PAD_GPIO_9__PWM1_OUT 0x1b0b1 | ||
504 | >; | ||
505 | }; | ||
506 | |||
507 | pinctrl_pwm2: pwm2grp { | ||
508 | fsl,pins = < | ||
509 | MX6QDL_PAD_GPIO_1__PWM2_OUT 0x1b0b1 | ||
510 | >; | ||
511 | }; | ||
512 | |||
513 | pinctrl_tsc2007: tsc2007grp { | ||
514 | fsl,pins = < | ||
515 | MX6QDL_PAD_EIM_D26__GPIO3_IO26 0x1b0b0 /* Interrupt */ | ||
516 | >; | ||
517 | }; | ||
518 | |||
519 | pinctrl_uart1: uart1grp { | ||
520 | fsl,pins = < | ||
521 | MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1 | ||
522 | MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1 | ||
523 | >; | ||
524 | }; | ||
525 | |||
526 | pinctrl_uart1_rtscts: uart1_rtsctsgrp { | ||
527 | fsl,pins = < | ||
528 | MX6QDL_PAD_SD3_DAT1__UART1_RTS_B 0x1b0b1 | ||
529 | MX6QDL_PAD_SD3_DAT0__UART1_CTS_B 0x1b0b1 | ||
530 | >; | ||
531 | }; | ||
532 | |||
533 | pinctrl_uart2: uart2grp { | ||
534 | fsl,pins = < | ||
535 | MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1 | ||
536 | MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1 | ||
537 | >; | ||
538 | }; | ||
539 | |||
540 | pinctrl_uart2_rtscts: uart2_rtsctsgrp { | ||
541 | fsl,pins = < | ||
542 | MX6QDL_PAD_SD4_DAT5__UART2_RTS_B 0x1b0b1 | ||
543 | MX6QDL_PAD_SD4_DAT6__UART2_CTS_B 0x1b0b1 | ||
544 | >; | ||
545 | }; | ||
546 | |||
547 | pinctrl_uart3: uart3grp { | ||
548 | fsl,pins = < | ||
549 | MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1 | ||
550 | MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1 | ||
551 | >; | ||
552 | }; | ||
553 | |||
554 | pinctrl_uart3_rtscts: uart3_rtsctsgrp { | ||
555 | fsl,pins = < | ||
556 | MX6QDL_PAD_SD3_DAT3__UART3_CTS_B 0x1b0b1 | ||
557 | MX6QDL_PAD_SD3_RST__UART3_RTS_B 0x1b0b1 | ||
558 | >; | ||
559 | }; | ||
560 | |||
561 | pinctrl_usbh1_vbus: usbh1-vbusgrp { | ||
562 | fsl,pins = < | ||
563 | MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x1b0b0 /* USBH1_VBUSEN */ | ||
564 | >; | ||
565 | }; | ||
566 | |||
567 | pinctrl_usbotg: usbotggrp { | ||
568 | fsl,pins = < | ||
569 | MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x17059 | ||
570 | >; | ||
571 | }; | ||
572 | |||
573 | pinctrl_usbotg_vbus: usbotg-vbusgrp { | ||
574 | fsl,pins = < | ||
575 | MX6QDL_PAD_GPIO_7__GPIO1_IO07 0x1b0b0 /* USBOTG_VBUSEN */ | ||
576 | >; | ||
577 | }; | ||
578 | |||
579 | pinctrl_usdhc1: usdhc1grp { | ||
580 | fsl,pins = < | ||
581 | MX6QDL_PAD_SD1_CMD__SD1_CMD 0x070b1 | ||
582 | MX6QDL_PAD_SD1_CLK__SD1_CLK 0x070b1 | ||
583 | MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x070b1 | ||
584 | MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x070b1 | ||
585 | MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x070b1 | ||
586 | MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x070b1 | ||
587 | MX6QDL_PAD_SD3_CMD__GPIO7_IO02 0x170b0 /* SD1 CD */ | ||
588 | >; | ||
589 | }; | ||
590 | |||
591 | pinctrl_usdhc2: usdhc2grp { | ||
592 | fsl,pins = < | ||
593 | MX6QDL_PAD_SD2_CMD__SD2_CMD 0x070b1 | ||
594 | MX6QDL_PAD_SD2_CLK__SD2_CLK 0x070b1 | ||
595 | MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x070b1 | ||
596 | MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x070b1 | ||
597 | MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x070b1 | ||
598 | MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x070b1 | ||
599 | MX6QDL_PAD_SD3_CLK__GPIO7_IO03 0x170b0 /* SD2 CD */ | ||
600 | >; | ||
601 | }; | ||
602 | }; | ||
603 | }; | ||
604 | |||
605 | &kpp { | ||
606 | pinctrl-names = "default"; | ||
607 | pinctrl-0 = <&pinctrl_kpp>; | ||
608 | /* sample keymap */ | ||
609 | /* row/col 0,1 are mapped to KPP row/col 6,7 */ | ||
610 | linux,keymap = < | ||
611 | MATRIX_KEY(6, 6, KEY_POWER) /* 0x06060074 */ | ||
612 | MATRIX_KEY(6, 7, KEY_KP0) /* 0x06070052 */ | ||
613 | MATRIX_KEY(6, 2, KEY_KP1) /* 0x0602004f */ | ||
614 | MATRIX_KEY(6, 3, KEY_KP2) /* 0x06030050 */ | ||
615 | MATRIX_KEY(7, 6, KEY_KP3) /* 0x07060051 */ | ||
616 | MATRIX_KEY(7, 7, KEY_KP4) /* 0x0707004b */ | ||
617 | MATRIX_KEY(7, 2, KEY_KP5) /* 0x0702004c */ | ||
618 | MATRIX_KEY(7, 3, KEY_KP6) /* 0x0703004d */ | ||
619 | MATRIX_KEY(2, 6, KEY_KP7) /* 0x02060047 */ | ||
620 | MATRIX_KEY(2, 7, KEY_KP8) /* 0x02070048 */ | ||
621 | MATRIX_KEY(2, 2, KEY_KP9) /* 0x02020049 */ | ||
622 | >; | ||
623 | }; | ||
624 | |||
625 | &pwm1 { | ||
626 | pinctrl-names = "default"; | ||
627 | pinctrl-0 = <&pinctrl_pwm1>; | ||
628 | #pwm-cells = <3>; | ||
629 | status = "disabled"; | ||
630 | }; | ||
631 | |||
632 | &pwm2 { | ||
633 | pinctrl-names = "default"; | ||
634 | pinctrl-0 = <&pinctrl_pwm2>; | ||
635 | #pwm-cells = <3>; | ||
636 | status = "okay"; | ||
637 | }; | ||
638 | |||
639 | &ssi1 { | ||
640 | fsl,mode = "i2s-slave"; | ||
641 | status = "okay"; | ||
642 | }; | ||
643 | |||
644 | &uart1 { | ||
645 | pinctrl-names = "default"; | ||
646 | pinctrl-0 = <&pinctrl_uart1>; | ||
647 | status = "okay"; | ||
648 | }; | ||
649 | |||
650 | &uart2 { | ||
651 | pinctrl-names = "default"; | ||
652 | pinctrl-0 = <&pinctrl_uart2 &pinctrl_uart2_rtscts>; | ||
653 | status = "okay"; | ||
654 | }; | ||
655 | |||
656 | &uart3 { | ||
657 | pinctrl-names = "default"; | ||
658 | pinctrl-0 = <&pinctrl_uart3 &pinctrl_uart3_rtscts>; | ||
659 | status = "okay"; | ||
660 | }; | ||
661 | |||
662 | &usbh1 { | ||
663 | vbus-supply = <®_usbh1_vbus>; | ||
664 | dr_mode = "host"; | ||
665 | disable-over-current; | ||
666 | status = "okay"; | ||
667 | }; | ||
668 | |||
669 | &usbotg { | ||
670 | vbus-supply = <®_usbotg_vbus>; | ||
671 | pinctrl-names = "default"; | ||
672 | pinctrl-0 = <&pinctrl_usbotg>; | ||
673 | dr_mode = "peripheral"; | ||
674 | disable-over-current; | ||
675 | status = "okay"; | ||
676 | }; | ||
677 | |||
678 | &usdhc1 { | ||
679 | pinctrl-names = "default"; | ||
680 | pinctrl-0 = <&pinctrl_usdhc1>; | ||
681 | bus-width = <4>; | ||
682 | no-1-8-v; | ||
683 | cd-gpios = <&gpio7 2 0>; | ||
684 | fsl,wp-controller; | ||
685 | status = "okay"; | ||
686 | }; | ||
687 | |||
688 | &usdhc2 { | ||
689 | pinctrl-names = "default"; | ||
690 | pinctrl-0 = <&pinctrl_usdhc2>; | ||
691 | bus-width = <4>; | ||
692 | no-1-8-v; | ||
693 | cd-gpios = <&gpio7 3 0>; | ||
694 | fsl,wp-controller; | ||
695 | status = "okay"; | ||
696 | }; | ||