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>; | |
7029b396 | 180 | display = <&display0>; |
1fe42740 | 181 | status = "okay"; |
0d9f8217 | 182 | |
7029b396 | 183 | display0: display0 { |
0d9f8217 SG |
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 { | |
433bdb6e MR |
232 | #address-cells = <1>; |
233 | #size-cells = <0>; | |
06e9eff1 | 234 | reg = <0>; |
433bdb6e MR |
235 | |
236 | adc0: nau7802@2a { | |
237 | compatible = "nuvoton,nau7802"; | |
238 | reg = <0x2a>; | |
239 | nuvoton,vldo = <3000>; | |
240 | }; | |
06e9eff1 MR |
241 | }; |
242 | ||
243 | i2c@1 { | |
433bdb6e MR |
244 | #address-cells = <1>; |
245 | #size-cells = <0>; | |
06e9eff1 | 246 | reg = <1>; |
433bdb6e MR |
247 | |
248 | adc1: nau7802@2a { | |
249 | compatible = "nuvoton,nau7802"; | |
250 | reg = <0x2a>; | |
251 | nuvoton,vldo = <3000>; | |
252 | }; | |
06e9eff1 MR |
253 | }; |
254 | ||
255 | i2c@2 { | |
433bdb6e MR |
256 | #address-cells = <1>; |
257 | #size-cells = <0>; | |
06e9eff1 | 258 | reg = <2>; |
433bdb6e MR |
259 | |
260 | adc2: nau7802@2a { | |
261 | compatible = "nuvoton,nau7802"; | |
262 | reg = <0x2a>; | |
263 | nuvoton,vldo = <3000>; | |
264 | }; | |
06e9eff1 MR |
265 | }; |
266 | ||
267 | i2c@3 { | |
268 | reg = <3>; | |
5b615fbf MR |
269 | #address-cells = <1>; |
270 | #size-cells = <0>; | |
271 | ||
272 | pca9555: pca9555@20 { | |
273 | compatible = "nxp,pca9555"; | |
dac63a5f AB |
274 | pinctrl-names = "default"; |
275 | pinctrl-0 = <&pca_pins_cfa10049>; | |
5b615fbf MR |
276 | interrupt-parent = <&gpio2>; |
277 | interrupts = <19 0x2>; | |
278 | gpio-controller; | |
279 | #gpio-cells = <2>; | |
280 | interrupt-controller; | |
281 | #interrupt-cells = <2>; | |
282 | reg = <0x20>; | |
283 | }; | |
06e9eff1 MR |
284 | }; |
285 | }; | |
286 | ||
186e3d94 MR |
287 | usbphy1: usbphy@8007e000 { |
288 | status = "okay"; | |
289 | }; | |
ac77bc22 AB |
290 | |
291 | lradc@80050000 { | |
292 | status = "okay"; | |
293 | fsl,lradc-touchscreen-wires = <4>; | |
294 | }; | |
186e3d94 MR |
295 | }; |
296 | }; | |
297 | ||
298 | ahb@80080000 { | |
299 | usb1: usb@80090000 { | |
300 | vbus-supply = <®_usb1_vbus>; | |
c8e42bc9 | 301 | pinctrl-0 = <&usb1_pins_a>; |
186e3d94 MR |
302 | pinctrl-names = "default"; |
303 | status = "okay"; | |
304 | }; | |
305 | }; | |
306 | ||
307 | regulators { | |
308 | compatible = "simple-bus"; | |
352d318c SG |
309 | #address-cells = <1>; |
310 | #size-cells = <0>; | |
186e3d94 | 311 | |
352d318c | 312 | reg_usb1_vbus: regulator@0 { |
186e3d94 | 313 | compatible = "regulator-fixed"; |
352d318c | 314 | reg = <0>; |
dac63a5f AB |
315 | pinctrl-names = "default"; |
316 | pinctrl-0 = <&usb_pins_cfa10049>; | |
186e3d94 MR |
317 | regulator-name = "usb1_vbus"; |
318 | regulator-min-microvolt = <5000000>; | |
319 | regulator-max-microvolt = <5000000>; | |
320 | gpio = <&gpio0 7 1>; | |
db84c038 MR |
321 | }; |
322 | }; | |
8eec4b31 MR |
323 | |
324 | ahb@80080000 { | |
325 | mac0: ethernet@800f0000 { | |
326 | phy-mode = "rmii"; | |
327 | pinctrl-names = "default"; | |
dac63a5f AB |
328 | pinctrl-0 = <&mac0_pins_a |
329 | &mac0_pins_cfa10049>; | |
8eec4b31 MR |
330 | phy-reset-gpios = <&gpio2 21 0>; |
331 | phy-reset-duration = <100>; | |
332 | status = "okay"; | |
333 | }; | |
334 | }; | |
7ecc70a9 | 335 | |
1fe42740 MR |
336 | spi2 { |
337 | compatible = "spi-gpio"; | |
338 | pinctrl-names = "default"; | |
339 | pinctrl-0 = <&spi2_pins_cfa10049>; | |
340 | status = "okay"; | |
341 | gpio-sck = <&gpio2 16 0>; | |
342 | gpio-mosi = <&gpio2 17 0>; | |
343 | gpio-miso = <&gpio2 18 0>; | |
65bc642f | 344 | cs-gpios = <&gpio3 5 0>; |
1fe42740 MR |
345 | num-chipselects = <1>; |
346 | #address-cells = <1>; | |
347 | #size-cells = <0>; | |
348 | ||
349 | hx8357: hx8357@0 { | |
350 | compatible = "himax,hx8357b", "himax,hx8357"; | |
351 | reg = <0>; | |
352 | spi-max-frequency = <100000>; | |
353 | spi-cpol; | |
354 | spi-cpha; | |
355 | gpios-reset = <&gpio3 30 0>; | |
356 | im-gpios = <&gpio5 4 0 &gpio5 5 0 &gpio5 6 0>; | |
357 | }; | |
358 | }; | |
359 | ||
7ecc70a9 MR |
360 | spi3 { |
361 | compatible = "spi-gpio"; | |
362 | pinctrl-names = "default"; | |
363 | pinctrl-0 = <&spi3_pins_cfa10049>; | |
364 | status = "okay"; | |
365 | gpio-sck = <&gpio0 24 0>; | |
366 | gpio-mosi = <&gpio0 28 0>; | |
367 | cs-gpios = <&gpio0 17 0 &gpio0 26 0 &gpio0 27 0>; | |
368 | num-chipselects = <3>; | |
369 | #address-cells = <1>; | |
370 | #size-cells = <0>; | |
371 | ||
372 | gpio5: gpio5@0 { | |
373 | compatible = "fairchild,74hc595"; | |
374 | gpio-controller; | |
375 | #gpio-cells = <2>; | |
376 | reg = <0>; | |
377 | registers-number = <2>; | |
378 | spi-max-frequency = <100000>; | |
379 | }; | |
380 | ||
381 | gpio6: gpio6@1 { | |
382 | compatible = "fairchild,74hc595"; | |
383 | gpio-controller; | |
384 | #gpio-cells = <2>; | |
385 | reg = <1>; | |
386 | registers-number = <4>; | |
387 | spi-max-frequency = <100000>; | |
388 | }; | |
389 | ||
390 | dac0: dh2228@2 { | |
391 | compatible = "rohm,dh2228fv"; | |
392 | reg = <2>; | |
393 | spi-max-frequency = <100000>; | |
394 | }; | |
395 | }; | |
1fe42740 | 396 | |
a640cf64 MR |
397 | gpio_keys { |
398 | compatible = "gpio-keys"; | |
dac63a5f AB |
399 | pinctrl-names = "default"; |
400 | pinctrl-0 = <&rotary_btn_pins_cfa10049>; | |
a640cf64 MR |
401 | #address-cells = <1>; |
402 | #size-cells = <0>; | |
403 | ||
404 | rotary_button { | |
405 | label = "rotary_button"; | |
406 | gpios = <&gpio3 26 1>; | |
407 | debounce-interval = <10>; | |
408 | linux,code = <28>; | |
409 | }; | |
410 | }; | |
411 | ||
0943b960 MR |
412 | rotary { |
413 | compatible = "rotary-encoder"; | |
dac63a5f AB |
414 | pinctrl-names = "default"; |
415 | pinctrl-0 = <&rotary_pins_cfa10049>; | |
0943b960 MR |
416 | gpios = <&gpio3 24 1>, <&gpio3 25 1>; |
417 | linux,axis = <1>; /* REL_Y */ | |
418 | rotary-encoder,relative-axis; | |
419 | }; | |
420 | ||
1fe42740 MR |
421 | backlight { |
422 | compatible = "pwm-backlight"; | |
423 | pwms = <&pwm 3 5000000>; | |
424 | brightness-levels = <0 4 8 16 32 64 128 255>; | |
425 | default-brightness-level = <6>; | |
7d403408 AB |
426 | |
427 | }; | |
428 | ||
429 | onewire@0 { | |
430 | compatible = "w1-gpio"; | |
431 | pinctrl-names = "default"; | |
432 | pinctrl-0 = <&w1_gpio_pins>; | |
433 | status = "okay"; | |
434 | gpios = <&gpio1 21 0>; | |
1fe42740 | 435 | }; |
db84c038 | 436 | }; |