Commit | Line | Data |
---|---|---|
db84c038 MR |
1 | /* |
2 | * Copyright 2012 Free Electrons | |
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 or later 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 | /* | |
13 | * The CFA-10049 is an expansion board for the CFA-10036 module, thus we | |
14 | * need to include the CFA-10036 DTS. | |
15 | */ | |
bc3875f1 | 16 | #include "imx28-cfa10036.dts" |
db84c038 MR |
17 | |
18 | / { | |
19 | model = "Crystalfontz CFA-10049 Board"; | |
20 | compatible = "crystalfontz,cfa10049", "crystalfontz,cfa10036", "fsl,imx28"; | |
21 | ||
22 | apb@80000000 { | |
223d1f92 MR |
23 | apbh@80000000 { |
24 | pinctrl@80018000 { | |
dac63a5f | 25 | usb_pins_cfa10049: usb-10049@0 { |
24196d5c MR |
26 | reg = <0>; |
27 | fsl,pinmux-ids = < | |
bc3875f1 | 28 | MX28_PAD_GPMI_D07__GPIO_0_7 |
dac63a5f | 29 | >; |
4191c340 LW |
30 | fsl,drive-strength = <MXS_DRIVE_4mA>; |
31 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
32 | fsl,pull-up = <MXS_PULL_DISABLE>; | |
dac63a5f AB |
33 | }; |
34 | ||
35 | i2cmux_pins_cfa10049: i2cmux-10049@0 { | |
36 | reg = <0>; | |
37 | fsl,pinmux-ids = < | |
bc3875f1 LW |
38 | MX28_PAD_LCD_D22__GPIO_1_22 |
39 | MX28_PAD_LCD_D23__GPIO_1_23 | |
dac63a5f | 40 | >; |
4191c340 LW |
41 | fsl,drive-strength = <MXS_DRIVE_4mA>; |
42 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
43 | fsl,pull-up = <MXS_PULL_DISABLE>; | |
dac63a5f AB |
44 | }; |
45 | ||
46 | mac0_pins_cfa10049: mac0-10049@0 { | |
47 | reg = <0>; | |
48 | fsl,pinmux-ids = < | |
bc3875f1 | 49 | MX28_PAD_SSP2_SS2__GPIO_2_21 |
24196d5c | 50 | >; |
4191c340 LW |
51 | fsl,drive-strength = <MXS_DRIVE_4mA>; |
52 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
53 | fsl,pull-up = <MXS_PULL_DISABLE>; | |
24196d5c MR |
54 | }; |
55 | ||
dac63a5f | 56 | pca_pins_cfa10049: pca-10049@0 { |
5b615fbf MR |
57 | reg = <0>; |
58 | fsl,pinmux-ids = < | |
bc3875f1 | 59 | MX28_PAD_SSP2_SS0__GPIO_2_19 |
dac63a5f | 60 | >; |
4191c340 LW |
61 | fsl,drive-strength = <MXS_DRIVE_4mA>; |
62 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
63 | fsl,pull-up = <MXS_PULL_ENABLE>; | |
dac63a5f AB |
64 | }; |
65 | ||
66 | rotary_pins_cfa10049: rotary-10049@0 { | |
67 | reg = <0>; | |
68 | fsl,pinmux-ids = < | |
bc3875f1 LW |
69 | MX28_PAD_I2C0_SCL__GPIO_3_24 |
70 | MX28_PAD_I2C0_SDA__GPIO_3_25 | |
dac63a5f | 71 | >; |
4191c340 LW |
72 | fsl,drive-strength = <MXS_DRIVE_4mA>; |
73 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
74 | fsl,pull-up = <MXS_PULL_ENABLE>; | |
dac63a5f AB |
75 | }; |
76 | ||
77 | rotary_btn_pins_cfa10049: rotary-btn-10049@0 { | |
78 | reg = <0>; | |
79 | fsl,pinmux-ids = < | |
bc3875f1 | 80 | MX28_PAD_SAIF1_SDATA0__GPIO_3_26 |
5b615fbf | 81 | >; |
4191c340 LW |
82 | fsl,drive-strength = <MXS_DRIVE_4mA>; |
83 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
84 | fsl,pull-up = <MXS_PULL_ENABLE>; | |
5b615fbf MR |
85 | }; |
86 | ||
1fe42740 MR |
87 | spi2_pins_cfa10049: spi2-cfa10049@0 { |
88 | reg = <0>; | |
89 | fsl,pinmux-ids = < | |
bc3875f1 LW |
90 | MX28_PAD_SSP2_SCK__GPIO_2_16 |
91 | MX28_PAD_SSP2_MOSI__GPIO_2_17 | |
92 | MX28_PAD_SSP2_MISO__GPIO_2_18 | |
93 | MX28_PAD_AUART1_TX__GPIO_3_5 | |
1fe42740 | 94 | >; |
4191c340 LW |
95 | fsl,drive-strength = <MXS_DRIVE_8mA>; |
96 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
97 | fsl,pull-up = <MXS_PULL_ENABLE>; | |
1fe42740 MR |
98 | }; |
99 | ||
223d1f92 MR |
100 | spi3_pins_cfa10049: spi3-cfa10049@0 { |
101 | reg = <0>; | |
102 | fsl,pinmux-ids = < | |
bc3875f1 LW |
103 | MX28_PAD_GPMI_RDN__GPIO_0_24 |
104 | MX28_PAD_GPMI_RESETN__GPIO_0_28 | |
105 | MX28_PAD_GPMI_CE1N__GPIO_0_17 | |
106 | MX28_PAD_GPMI_ALE__GPIO_0_26 | |
107 | MX28_PAD_GPMI_CLE__GPIO_0_27 | |
223d1f92 | 108 | >; |
4191c340 LW |
109 | fsl,drive-strength = <MXS_DRIVE_8mA>; |
110 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
111 | fsl,pull-up = <MXS_PULL_ENABLE>; | |
223d1f92 | 112 | }; |
1fe42740 MR |
113 | |
114 | lcdif_18bit_pins_cfa10049: lcdif-18bit@0 { | |
115 | reg = <0>; | |
116 | fsl,pinmux-ids = < | |
bc3875f1 LW |
117 | MX28_PAD_LCD_D00__LCD_D0 |
118 | MX28_PAD_LCD_D01__LCD_D1 | |
119 | MX28_PAD_LCD_D02__LCD_D2 | |
120 | MX28_PAD_LCD_D03__LCD_D3 | |
121 | MX28_PAD_LCD_D04__LCD_D4 | |
122 | MX28_PAD_LCD_D05__LCD_D5 | |
123 | MX28_PAD_LCD_D06__LCD_D6 | |
124 | MX28_PAD_LCD_D07__LCD_D7 | |
125 | MX28_PAD_LCD_D08__LCD_D8 | |
126 | MX28_PAD_LCD_D09__LCD_D9 | |
127 | MX28_PAD_LCD_D10__LCD_D10 | |
128 | MX28_PAD_LCD_D11__LCD_D11 | |
129 | MX28_PAD_LCD_D12__LCD_D12 | |
130 | MX28_PAD_LCD_D13__LCD_D13 | |
131 | MX28_PAD_LCD_D14__LCD_D14 | |
132 | MX28_PAD_LCD_D15__LCD_D15 | |
133 | MX28_PAD_LCD_D16__LCD_D16 | |
134 | MX28_PAD_LCD_D17__LCD_D17 | |
1fe42740 | 135 | >; |
4191c340 LW |
136 | fsl,drive-strength = <MXS_DRIVE_4mA>; |
137 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
138 | fsl,pull-up = <MXS_PULL_DISABLE>; | |
1fe42740 MR |
139 | }; |
140 | ||
141 | lcdif_pins_cfa10049: lcdif-evk@0 { | |
142 | reg = <0>; | |
143 | fsl,pinmux-ids = < | |
bc3875f1 LW |
144 | MX28_PAD_LCD_RD_E__LCD_VSYNC |
145 | MX28_PAD_LCD_WR_RWN__LCD_HSYNC | |
146 | MX28_PAD_LCD_RS__LCD_DOTCLK | |
147 | MX28_PAD_LCD_CS__LCD_ENABLE | |
1fe42740 | 148 | >; |
4191c340 LW |
149 | fsl,drive-strength = <MXS_DRIVE_4mA>; |
150 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
151 | fsl,pull-up = <MXS_PULL_DISABLE>; | |
1fe42740 | 152 | }; |
7d403408 | 153 | |
dac63a5f AB |
154 | lcdif_pins_cfa10049_pullup: lcdif-10049-pullup@0 { |
155 | reg = <0>; | |
156 | fsl,pinmux-ids = < | |
bc3875f1 | 157 | MX28_PAD_LCD_RESET__GPIO_3_30 |
dac63a5f | 158 | >; |
4191c340 LW |
159 | fsl,drive-strength = <MXS_DRIVE_4mA>; |
160 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
161 | fsl,pull-up = <MXS_PULL_ENABLE>; | |
dac63a5f AB |
162 | }; |
163 | ||
7d403408 AB |
164 | w1_gpio_pins: w1-gpio@0 { |
165 | reg = <0>; | |
166 | fsl,pinmux-ids = < | |
bc3875f1 | 167 | MX28_PAD_LCD_D21__GPIO_1_21 |
7d403408 | 168 | >; |
4191c340 LW |
169 | fsl,drive-strength = <MXS_DRIVE_8mA>; |
170 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
171 | fsl,pull-up = <MXS_PULL_DISABLE>; /* 0 will enable the keeper */ | |
7d403408 | 172 | }; |
1fe42740 MR |
173 | }; |
174 | ||
175 | lcdif@80030000 { | |
176 | pinctrl-names = "default"; | |
177 | pinctrl-0 = <&lcdif_18bit_pins_cfa10049 | |
dac63a5f AB |
178 | &lcdif_pins_cfa10049 |
179 | &lcdif_pins_cfa10049_pullup>; | |
0d9f8217 | 180 | display = <&display>; |
1fe42740 | 181 | status = "okay"; |
0d9f8217 SG |
182 | |
183 | display: display { | |
184 | bits-per-pixel = <32>; | |
185 | bus-width = <18>; | |
186 | ||
187 | display-timings { | |
188 | native-mode = <&timing0>; | |
189 | timing0: timing0 { | |
190 | clock-frequency = <9216000>; | |
191 | hactive = <320>; | |
192 | vactive = <480>; | |
193 | hback-porch = <2>; | |
194 | hfront-porch = <2>; | |
195 | vback-porch = <2>; | |
196 | vfront-porch = <2>; | |
197 | hsync-len = <15>; | |
198 | vsync-len = <15>; | |
199 | hsync-active = <0>; | |
200 | vsync-active = <0>; | |
201 | de-active = <1>; | |
202 | pixelclk-active = <1>; | |
203 | }; | |
204 | }; | |
205 | }; | |
223d1f92 | 206 | }; |
223d1f92 MR |
207 | }; |
208 | ||
db84c038 | 209 | apbx@80040000 { |
1fe42740 | 210 | pwm: pwm@80064000 { |
b400932c MR |
211 | pinctrl-names = "default"; |
212 | pinctrl-0 = <&pwm3_pins_b>; | |
1fe42740 MR |
213 | status = "okay"; |
214 | }; | |
215 | ||
db84c038 MR |
216 | i2c1: i2c@8005a000 { |
217 | pinctrl-names = "default"; | |
218 | pinctrl-0 = <&i2c1_pins_a>; | |
219 | status = "okay"; | |
220 | }; | |
186e3d94 | 221 | |
06e9eff1 MR |
222 | i2cmux { |
223 | compatible = "i2c-mux-gpio"; | |
224 | #address-cells = <1>; | |
225 | #size-cells = <0>; | |
dac63a5f AB |
226 | pinctrl-names = "default"; |
227 | pinctrl-0 = <&i2cmux_pins_cfa10049>; | |
06e9eff1 MR |
228 | mux-gpios = <&gpio1 22 0 &gpio1 23 0>; |
229 | i2c-parent = <&i2c1>; | |
230 | ||
231 | i2c@0 { | |
232 | reg = <0>; | |
233 | }; | |
234 | ||
235 | i2c@1 { | |
236 | reg = <1>; | |
237 | }; | |
238 | ||
239 | i2c@2 { | |
240 | reg = <2>; | |
241 | }; | |
242 | ||
243 | i2c@3 { | |
244 | reg = <3>; | |
5b615fbf MR |
245 | #address-cells = <1>; |
246 | #size-cells = <0>; | |
247 | ||
248 | pca9555: pca9555@20 { | |
249 | compatible = "nxp,pca9555"; | |
dac63a5f AB |
250 | pinctrl-names = "default"; |
251 | pinctrl-0 = <&pca_pins_cfa10049>; | |
5b615fbf MR |
252 | interrupt-parent = <&gpio2>; |
253 | interrupts = <19 0x2>; | |
254 | gpio-controller; | |
255 | #gpio-cells = <2>; | |
256 | interrupt-controller; | |
257 | #interrupt-cells = <2>; | |
258 | reg = <0x20>; | |
259 | }; | |
06e9eff1 MR |
260 | }; |
261 | }; | |
262 | ||
186e3d94 MR |
263 | usbphy1: usbphy@8007e000 { |
264 | status = "okay"; | |
265 | }; | |
ac77bc22 AB |
266 | |
267 | lradc@80050000 { | |
268 | status = "okay"; | |
269 | fsl,lradc-touchscreen-wires = <4>; | |
270 | }; | |
186e3d94 MR |
271 | }; |
272 | }; | |
273 | ||
274 | ahb@80080000 { | |
275 | usb1: usb@80090000 { | |
276 | vbus-supply = <®_usb1_vbus>; | |
277 | pinctrl-0 = <&usbphy1_pins_a>; | |
278 | pinctrl-names = "default"; | |
279 | status = "okay"; | |
280 | }; | |
281 | }; | |
282 | ||
283 | regulators { | |
284 | compatible = "simple-bus"; | |
285 | ||
286 | reg_usb1_vbus: usb1_vbus { | |
287 | compatible = "regulator-fixed"; | |
dac63a5f AB |
288 | pinctrl-names = "default"; |
289 | pinctrl-0 = <&usb_pins_cfa10049>; | |
186e3d94 MR |
290 | regulator-name = "usb1_vbus"; |
291 | regulator-min-microvolt = <5000000>; | |
292 | regulator-max-microvolt = <5000000>; | |
293 | gpio = <&gpio0 7 1>; | |
db84c038 MR |
294 | }; |
295 | }; | |
8eec4b31 MR |
296 | |
297 | ahb@80080000 { | |
298 | mac0: ethernet@800f0000 { | |
299 | phy-mode = "rmii"; | |
300 | pinctrl-names = "default"; | |
dac63a5f AB |
301 | pinctrl-0 = <&mac0_pins_a |
302 | &mac0_pins_cfa10049>; | |
8eec4b31 MR |
303 | phy-reset-gpios = <&gpio2 21 0>; |
304 | phy-reset-duration = <100>; | |
305 | status = "okay"; | |
306 | }; | |
307 | }; | |
7ecc70a9 | 308 | |
1fe42740 MR |
309 | spi2 { |
310 | compatible = "spi-gpio"; | |
311 | pinctrl-names = "default"; | |
312 | pinctrl-0 = <&spi2_pins_cfa10049>; | |
313 | status = "okay"; | |
314 | gpio-sck = <&gpio2 16 0>; | |
315 | gpio-mosi = <&gpio2 17 0>; | |
316 | gpio-miso = <&gpio2 18 0>; | |
65bc642f | 317 | cs-gpios = <&gpio3 5 0>; |
1fe42740 MR |
318 | num-chipselects = <1>; |
319 | #address-cells = <1>; | |
320 | #size-cells = <0>; | |
321 | ||
322 | hx8357: hx8357@0 { | |
323 | compatible = "himax,hx8357b", "himax,hx8357"; | |
324 | reg = <0>; | |
325 | spi-max-frequency = <100000>; | |
326 | spi-cpol; | |
327 | spi-cpha; | |
328 | gpios-reset = <&gpio3 30 0>; | |
329 | im-gpios = <&gpio5 4 0 &gpio5 5 0 &gpio5 6 0>; | |
330 | }; | |
331 | }; | |
332 | ||
7ecc70a9 MR |
333 | spi3 { |
334 | compatible = "spi-gpio"; | |
335 | pinctrl-names = "default"; | |
336 | pinctrl-0 = <&spi3_pins_cfa10049>; | |
337 | status = "okay"; | |
338 | gpio-sck = <&gpio0 24 0>; | |
339 | gpio-mosi = <&gpio0 28 0>; | |
340 | cs-gpios = <&gpio0 17 0 &gpio0 26 0 &gpio0 27 0>; | |
341 | num-chipselects = <3>; | |
342 | #address-cells = <1>; | |
343 | #size-cells = <0>; | |
344 | ||
345 | gpio5: gpio5@0 { | |
346 | compatible = "fairchild,74hc595"; | |
347 | gpio-controller; | |
348 | #gpio-cells = <2>; | |
349 | reg = <0>; | |
350 | registers-number = <2>; | |
351 | spi-max-frequency = <100000>; | |
352 | }; | |
353 | ||
354 | gpio6: gpio6@1 { | |
355 | compatible = "fairchild,74hc595"; | |
356 | gpio-controller; | |
357 | #gpio-cells = <2>; | |
358 | reg = <1>; | |
359 | registers-number = <4>; | |
360 | spi-max-frequency = <100000>; | |
361 | }; | |
362 | ||
363 | dac0: dh2228@2 { | |
364 | compatible = "rohm,dh2228fv"; | |
365 | reg = <2>; | |
366 | spi-max-frequency = <100000>; | |
367 | }; | |
368 | }; | |
1fe42740 | 369 | |
a640cf64 MR |
370 | gpio_keys { |
371 | compatible = "gpio-keys"; | |
dac63a5f AB |
372 | pinctrl-names = "default"; |
373 | pinctrl-0 = <&rotary_btn_pins_cfa10049>; | |
a640cf64 MR |
374 | #address-cells = <1>; |
375 | #size-cells = <0>; | |
376 | ||
377 | rotary_button { | |
378 | label = "rotary_button"; | |
379 | gpios = <&gpio3 26 1>; | |
380 | debounce-interval = <10>; | |
381 | linux,code = <28>; | |
382 | }; | |
383 | }; | |
384 | ||
0943b960 MR |
385 | rotary { |
386 | compatible = "rotary-encoder"; | |
dac63a5f AB |
387 | pinctrl-names = "default"; |
388 | pinctrl-0 = <&rotary_pins_cfa10049>; | |
0943b960 MR |
389 | gpios = <&gpio3 24 1>, <&gpio3 25 1>; |
390 | linux,axis = <1>; /* REL_Y */ | |
391 | rotary-encoder,relative-axis; | |
392 | }; | |
393 | ||
1fe42740 MR |
394 | backlight { |
395 | compatible = "pwm-backlight"; | |
396 | pwms = <&pwm 3 5000000>; | |
397 | brightness-levels = <0 4 8 16 32 64 128 255>; | |
398 | default-brightness-level = <6>; | |
7d403408 AB |
399 | |
400 | }; | |
401 | ||
402 | onewire@0 { | |
403 | compatible = "w1-gpio"; | |
404 | pinctrl-names = "default"; | |
405 | pinctrl-0 = <&w1_gpio_pins>; | |
406 | status = "okay"; | |
407 | gpios = <&gpio1 21 0>; | |
1fe42740 | 408 | }; |
db84c038 | 409 | }; |