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