]>
Commit | Line | Data |
---|---|---|
1 | // SPDX-License-Identifier: GPL-2.0-or-later | |
2 | /* | |
3 | * Copyright 2012 Free Electrons | |
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 | */ | |
10 | #include "imx28-cfa10036.dts" | |
11 | ||
12 | / { | |
13 | model = "Crystalfontz CFA-10049 Board"; | |
14 | compatible = "crystalfontz,cfa10049", "crystalfontz,cfa10036", "fsl,imx28"; | |
15 | ||
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 | ||
81 | apb@80000000 { | |
82 | apbh@80000000 { | |
83 | pinctrl@80018000 { | |
84 | usb_pins_cfa10049: usb-10049@0 { | |
85 | reg = <0>; | |
86 | fsl,pinmux-ids = < | |
87 | MX28_PAD_GPMI_D07__GPIO_0_7 | |
88 | >; | |
89 | fsl,drive-strength = <MXS_DRIVE_4mA>; | |
90 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
91 | fsl,pull-up = <MXS_PULL_DISABLE>; | |
92 | }; | |
93 | ||
94 | i2cmux_pins_cfa10049: i2cmux-10049@0 { | |
95 | reg = <0>; | |
96 | fsl,pinmux-ids = < | |
97 | MX28_PAD_LCD_D22__GPIO_1_22 | |
98 | MX28_PAD_LCD_D23__GPIO_1_23 | |
99 | >; | |
100 | fsl,drive-strength = <MXS_DRIVE_4mA>; | |
101 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
102 | fsl,pull-up = <MXS_PULL_DISABLE>; | |
103 | }; | |
104 | ||
105 | mac0_pins_cfa10049: mac0-10049@0 { | |
106 | reg = <0>; | |
107 | fsl,pinmux-ids = < | |
108 | MX28_PAD_SSP2_SS2__GPIO_2_21 | |
109 | >; | |
110 | fsl,drive-strength = <MXS_DRIVE_4mA>; | |
111 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
112 | fsl,pull-up = <MXS_PULL_DISABLE>; | |
113 | }; | |
114 | ||
115 | pca_pins_cfa10049: pca-10049@0 { | |
116 | reg = <0>; | |
117 | fsl,pinmux-ids = < | |
118 | MX28_PAD_SSP2_SS0__GPIO_2_19 | |
119 | >; | |
120 | fsl,drive-strength = <MXS_DRIVE_4mA>; | |
121 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
122 | fsl,pull-up = <MXS_PULL_ENABLE>; | |
123 | }; | |
124 | ||
125 | rotary_pins_cfa10049: rotary-10049@0 { | |
126 | reg = <0>; | |
127 | fsl,pinmux-ids = < | |
128 | MX28_PAD_I2C0_SCL__GPIO_3_24 | |
129 | MX28_PAD_I2C0_SDA__GPIO_3_25 | |
130 | >; | |
131 | fsl,drive-strength = <MXS_DRIVE_4mA>; | |
132 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
133 | fsl,pull-up = <MXS_PULL_ENABLE>; | |
134 | }; | |
135 | ||
136 | rotary_btn_pins_cfa10049: rotary-btn-10049@0 { | |
137 | reg = <0>; | |
138 | fsl,pinmux-ids = < | |
139 | MX28_PAD_SAIF1_SDATA0__GPIO_3_26 | |
140 | >; | |
141 | fsl,drive-strength = <MXS_DRIVE_4mA>; | |
142 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
143 | fsl,pull-up = <MXS_PULL_ENABLE>; | |
144 | }; | |
145 | ||
146 | spi2_pins_cfa10049: spi2-cfa10049@0 { | |
147 | reg = <0>; | |
148 | fsl,pinmux-ids = < | |
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 | |
153 | >; | |
154 | fsl,drive-strength = <MXS_DRIVE_8mA>; | |
155 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
156 | fsl,pull-up = <MXS_PULL_ENABLE>; | |
157 | }; | |
158 | ||
159 | spi3_pins_cfa10049: spi3-cfa10049@0 { | |
160 | reg = <0>; | |
161 | fsl,pinmux-ids = < | |
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 | |
167 | >; | |
168 | fsl,drive-strength = <MXS_DRIVE_8mA>; | |
169 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
170 | fsl,pull-up = <MXS_PULL_ENABLE>; | |
171 | }; | |
172 | ||
173 | lcdif_18bit_pins_cfa10049: lcdif-18bit@0 { | |
174 | reg = <0>; | |
175 | fsl,pinmux-ids = < | |
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 | |
194 | >; | |
195 | fsl,drive-strength = <MXS_DRIVE_4mA>; | |
196 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
197 | fsl,pull-up = <MXS_PULL_DISABLE>; | |
198 | }; | |
199 | ||
200 | lcdif_pins_cfa10049: lcdif-evk@0 { | |
201 | reg = <0>; | |
202 | fsl,pinmux-ids = < | |
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 | |
207 | >; | |
208 | fsl,drive-strength = <MXS_DRIVE_4mA>; | |
209 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
210 | fsl,pull-up = <MXS_PULL_DISABLE>; | |
211 | }; | |
212 | ||
213 | lcdif_pins_cfa10049_pullup: lcdif-10049-pullup@0 { | |
214 | reg = <0>; | |
215 | fsl,pinmux-ids = < | |
216 | MX28_PAD_LCD_RESET__GPIO_3_30 | |
217 | >; | |
218 | fsl,drive-strength = <MXS_DRIVE_4mA>; | |
219 | fsl,voltage = <MXS_VOLTAGE_HIGH>; | |
220 | fsl,pull-up = <MXS_PULL_ENABLE>; | |
221 | }; | |
222 | ||
223 | w1_gpio_pins: w1-gpio@0 { | |
224 | reg = <0>; | |
225 | fsl,pinmux-ids = < | |
226 | MX28_PAD_LCD_D21__GPIO_1_21 | |
227 | >; | |
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 */ | |
231 | }; | |
232 | }; | |
233 | ||
234 | lcdif@80030000 { | |
235 | pinctrl-names = "default"; | |
236 | pinctrl-0 = <&lcdif_18bit_pins_cfa10049 | |
237 | &lcdif_pins_cfa10049 | |
238 | &lcdif_pins_cfa10049_pullup>; | |
239 | display = <&display0>; | |
240 | status = "okay"; | |
241 | ||
242 | display0: display0 { | |
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 | }; | |
265 | }; | |
266 | }; | |
267 | ||
268 | apbx@80040000 { | |
269 | pwm: pwm@80064000 { | |
270 | pinctrl-names = "default"; | |
271 | pinctrl-0 = <&pwm3_pins_b>; | |
272 | status = "okay"; | |
273 | }; | |
274 | ||
275 | i2c1: i2c@8005a000 { | |
276 | pinctrl-names = "default"; | |
277 | pinctrl-0 = <&i2c1_pins_a>; | |
278 | status = "okay"; | |
279 | }; | |
280 | ||
281 | usbphy1: usbphy@8007e000 { | |
282 | status = "okay"; | |
283 | }; | |
284 | ||
285 | lradc@80050000 { | |
286 | status = "okay"; | |
287 | fsl,lradc-touchscreen-wires = <4>; | |
288 | }; | |
289 | }; | |
290 | }; | |
291 | ||
292 | ahb@80080000 { | |
293 | usb1: usb@80090000 { | |
294 | vbus-supply = <®_usb1_vbus>; | |
295 | pinctrl-0 = <&usb1_pins_a>; | |
296 | pinctrl-names = "default"; | |
297 | status = "okay"; | |
298 | }; | |
299 | }; | |
300 | ||
301 | regulators { | |
302 | compatible = "simple-bus"; | |
303 | #address-cells = <1>; | |
304 | #size-cells = <0>; | |
305 | ||
306 | reg_usb1_vbus: regulator@0 { | |
307 | compatible = "regulator-fixed"; | |
308 | reg = <0>; | |
309 | pinctrl-names = "default"; | |
310 | pinctrl-0 = <&usb_pins_cfa10049>; | |
311 | regulator-name = "usb1_vbus"; | |
312 | regulator-min-microvolt = <5000000>; | |
313 | regulator-max-microvolt = <5000000>; | |
314 | gpio = <&gpio0 7 1>; | |
315 | }; | |
316 | }; | |
317 | ||
318 | ahb@80080000 { | |
319 | mac0: ethernet@800f0000 { | |
320 | phy-mode = "rmii"; | |
321 | pinctrl-names = "default"; | |
322 | pinctrl-0 = <&mac0_pins_a | |
323 | &mac0_pins_cfa10049>; | |
324 | phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>; | |
325 | phy-reset-duration = <100>; | |
326 | status = "okay"; | |
327 | }; | |
328 | }; | |
329 | ||
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>; | |
338 | cs-gpios = <&gpio3 5 0>; | |
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 | ||
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 | }; | |
390 | ||
391 | gpio_keys { | |
392 | compatible = "gpio-keys"; | |
393 | pinctrl-names = "default"; | |
394 | pinctrl-0 = <&rotary_btn_pins_cfa10049>; | |
395 | ||
396 | rotary_button { | |
397 | label = "rotary_button"; | |
398 | gpios = <&gpio3 26 1>; | |
399 | debounce-interval = <10>; | |
400 | linux,code = <28>; | |
401 | }; | |
402 | }; | |
403 | ||
404 | rotary { | |
405 | compatible = "rotary-encoder"; | |
406 | pinctrl-names = "default"; | |
407 | pinctrl-0 = <&rotary_pins_cfa10049>; | |
408 | gpios = <&gpio3 24 1>, <&gpio3 25 1>; | |
409 | linux,axis = <1>; /* REL_Y */ | |
410 | rotary-encoder,relative-axis; | |
411 | }; | |
412 | ||
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>; | |
418 | ||
419 | }; | |
420 | ||
421 | onewire { | |
422 | compatible = "w1-gpio"; | |
423 | pinctrl-names = "default"; | |
424 | pinctrl-0 = <&w1_gpio_pins>; | |
425 | status = "okay"; | |
426 | gpios = <&gpio1 21 0>; | |
427 | }; | |
428 | }; |