Commit | Line | Data |
---|---|---|
56bd3771 JE |
1 | /* |
2 | * Embedded Artist LPC4357 Developer's Kit | |
3 | * | |
4 | * Copyright 2015 Joachim Eastwood <manabian@gmail.com> | |
5 | * | |
6 | * This code is released using a dual license strategy: BSD/GPL | |
7 | * You can choose the licence that better fits your requirements. | |
8 | * | |
9 | * Released under the terms of 3-clause BSD License | |
10 | * Released under the terms of GNU General Public License Version 2.0 | |
11 | * | |
12 | */ | |
13 | /dts-v1/; | |
14 | ||
15 | #include "lpc18xx.dtsi" | |
16 | #include "lpc4357.dtsi" | |
17 | ||
95dafb2c JE |
18 | #include "dt-bindings/input/input.h" |
19 | #include "dt-bindings/gpio/gpio.h" | |
20 | ||
56bd3771 JE |
21 | / { |
22 | model = "Embedded Artists' LPC4357 Developer's Kit"; | |
23 | compatible = "ea,lpc4357-developers-kit", "nxp,lpc4357", "nxp,lpc4350"; | |
24 | ||
25 | aliases { | |
26 | serial0 = &uart0; | |
27 | serial1 = &uart1; | |
28 | serial2 = &uart2; | |
29 | serial3 = &uart3; | |
30 | }; | |
31 | ||
32 | chosen { | |
33 | stdout-path = &uart0; | |
34 | }; | |
35 | ||
36 | memory { | |
37 | device_type = "memory"; | |
38 | reg = <0x28000000 0x2000000>; /* 32 MB */ | |
39 | }; | |
bfd0b498 JE |
40 | |
41 | /* vmmc is controlled by sdmmc host internally */ | |
42 | vmmc: vmmc_fixed { | |
43 | compatible = "regulator-fixed"; | |
44 | regulator-name = "vmmc-supply"; | |
45 | regulator-min-microvolt = <3300000>; | |
46 | regulator-max-microvolt = <3300000>; | |
47 | }; | |
95dafb2c JE |
48 | |
49 | gpio_joystick { | |
50 | compatible = "gpio-keys-polled"; | |
51 | pinctrl-names = "default"; | |
52 | pinctrl-0 = <&gpio_joystick_pins>; | |
53 | #address-cells = <1>; | |
54 | #size-cells = <0>; | |
55 | poll-interval = <100>; | |
56 | autorepeat; | |
57 | ||
58 | button@0 { | |
59 | label = "joy_enter"; | |
60 | linux,code = <KEY_ENTER>; | |
61 | gpios = <&gpio LPC_GPIO(4,8) GPIO_ACTIVE_LOW>; | |
62 | }; | |
63 | ||
64 | button@1 { | |
65 | label = "joy_left"; | |
66 | linux,code = <KEY_LEFT>; | |
67 | gpios = <&gpio LPC_GPIO(4,9) GPIO_ACTIVE_LOW>; | |
68 | }; | |
69 | ||
70 | button@2 { | |
71 | label = "joy_up"; | |
72 | linux,code = <KEY_UP>; | |
73 | gpios = <&gpio LPC_GPIO(4,10) GPIO_ACTIVE_LOW>; | |
74 | }; | |
75 | ||
76 | button@3 { | |
77 | label = "joy_right"; | |
78 | linux,code = <KEY_RIGHT>; | |
79 | gpios = <&gpio LPC_GPIO(4,12) GPIO_ACTIVE_LOW>; | |
80 | }; | |
81 | ||
82 | button@4 { | |
83 | label = "joy_down"; | |
84 | linux,code = <KEY_DOWN>; | |
85 | gpios = <&gpio LPC_GPIO(4,13) GPIO_ACTIVE_LOW>; | |
86 | }; | |
87 | }; | |
41a0dec9 JE |
88 | |
89 | leds_mmio { | |
90 | compatible = "gpio-leds"; | |
91 | ||
92 | led1 { | |
93 | gpios = <&mmio_leds 15 GPIO_ACTIVE_HIGH>; | |
94 | linux,default-trigger = "heartbeat"; | |
95 | }; | |
96 | ||
97 | led2 { | |
98 | gpios = <&mmio_leds 14 GPIO_ACTIVE_HIGH>; | |
99 | }; | |
100 | ||
101 | led3 { | |
102 | gpios = <&mmio_leds 13 GPIO_ACTIVE_HIGH>; | |
103 | }; | |
104 | ||
105 | led4 { | |
106 | gpios = <&mmio_leds 12 GPIO_ACTIVE_HIGH>; | |
107 | }; | |
108 | ||
109 | led5 { | |
110 | gpios = <&mmio_leds 11 GPIO_ACTIVE_HIGH>; | |
111 | }; | |
112 | ||
113 | led6 { | |
114 | gpios = <&mmio_leds 10 GPIO_ACTIVE_HIGH>; | |
115 | }; | |
116 | ||
117 | led7 { | |
118 | gpios = <&mmio_leds 9 GPIO_ACTIVE_HIGH>; | |
119 | }; | |
120 | ||
121 | led8 { | |
122 | gpios = <&mmio_leds 8 GPIO_ACTIVE_HIGH>; | |
123 | }; | |
124 | ||
125 | led9 { | |
126 | gpios = <&mmio_leds 7 GPIO_ACTIVE_HIGH>; | |
127 | }; | |
128 | ||
129 | led10 { | |
130 | gpios = <&mmio_leds 6 GPIO_ACTIVE_HIGH>; | |
131 | }; | |
132 | ||
133 | led11 { | |
134 | gpios = <&mmio_leds 5 GPIO_ACTIVE_HIGH>; | |
135 | }; | |
136 | ||
137 | led12 { | |
138 | gpios = <&mmio_leds 4 GPIO_ACTIVE_HIGH>; | |
139 | }; | |
140 | ||
141 | led13 { | |
142 | gpios = <&mmio_leds 3 GPIO_ACTIVE_HIGH>; | |
143 | }; | |
144 | ||
145 | led14 { | |
146 | gpios = <&mmio_leds 2 GPIO_ACTIVE_HIGH>; | |
147 | }; | |
148 | ||
149 | led15 { | |
150 | gpios = <&mmio_leds 1 GPIO_ACTIVE_HIGH>; | |
151 | }; | |
152 | ||
153 | led16 { | |
154 | gpios = <&mmio_leds 0 GPIO_ACTIVE_HIGH>; | |
155 | }; | |
156 | }; | |
56bd3771 JE |
157 | }; |
158 | ||
c97a63c9 | 159 | &pinctrl { |
3c6abb97 JE |
160 | emc_pins: emc-pins { |
161 | emc_addr0_23_cfg { | |
162 | pins = "p2_9", "p2_10", "p2_11", "p2_12", | |
163 | "p2_13", "p1_0", "p1_1", "p1_2", | |
164 | "p2_8", "p2_7", "p2_6", "p2_2", | |
165 | "p2_1", "p2_0", "p6_8", "p6_7", | |
166 | "pd_16", "pd_15", "pe_0", "pe_1", | |
167 | "pe_2", "pe_3", "pe_4", "pa_4"; | |
168 | function = "emc"; | |
169 | slew-rate = <1>; | |
170 | bias-disable; | |
171 | input-enable; | |
172 | input-schmitt-disable; | |
173 | }; | |
174 | ||
175 | emc_data0_31_cfg { | |
176 | pins = "p1_7", "p1_8", "p1_9", "p1_10", | |
177 | "p1_11", "p1_12", "p1_13", "p1_14", | |
178 | "p5_4", "p5_5", "p5_6", "p5_7", | |
179 | "p5_0", "p5_1", "p5_2", "p5_3", | |
180 | "pd_2", "pd_3", "pd_4", "pd_5", | |
181 | "pd_6", "pd_7", "pd_8", "pd_9", | |
182 | "pe_5", "pe_6", "pe_7", "pe_8", | |
183 | "pe_9", "pe_10", "pe_11", "pe_12"; | |
184 | function = "emc"; | |
185 | slew-rate = <1>; | |
186 | bias-disable; | |
187 | input-enable; | |
188 | input-schmitt-disable; | |
189 | }; | |
190 | ||
191 | emc_we_oe_cfg { | |
192 | pins = "p1_6", "p1_3"; | |
193 | function = "emc"; | |
194 | slew-rate = <1>; | |
195 | bias-disable; | |
196 | input-enable; | |
197 | input-schmitt-disable; | |
198 | }; | |
199 | ||
200 | emc_bls0_3_cfg { | |
201 | pins = "p1_4", "p6_6", "pd_13", "pd_10"; | |
202 | function = "emc"; | |
203 | slew-rate = <1>; | |
204 | bias-disable; | |
205 | input-enable; | |
206 | input-schmitt-disable; | |
207 | }; | |
208 | ||
209 | emc_cs0_3_cfg { | |
210 | pins = "p1_5", "p6_3", "pd_12", "pd_11"; | |
211 | function = "emc"; | |
212 | slew-rate = <1>; | |
213 | bias-disable; | |
214 | input-enable; | |
215 | input-schmitt-disable; | |
216 | }; | |
217 | ||
218 | emc_sdram_dqm0_3_cfg { | |
219 | pins = "p6_12", "p6_10", "pd_0", "pe_13"; | |
220 | function = "emc"; | |
221 | slew-rate = <1>; | |
222 | bias-disable; | |
223 | input-enable; | |
224 | input-schmitt-disable; | |
225 | }; | |
226 | ||
227 | emc_sdram_ras_cas_cfg { | |
228 | pins = "p6_5", "p6_4"; | |
229 | function = "emc"; | |
230 | slew-rate = <1>; | |
231 | bias-disable; | |
232 | input-enable; | |
233 | input-schmitt-disable; | |
234 | }; | |
235 | ||
236 | emc_sdram_dycs0_cfg { | |
237 | pins = "p6_9"; | |
238 | function = "emc"; | |
239 | slew-rate = <1>; | |
240 | bias-disable; | |
241 | input-enable; | |
242 | input-schmitt-disable; | |
243 | }; | |
244 | ||
245 | emc_sdram_cke_cfg { | |
246 | pins = "p6_11"; | |
247 | function = "emc"; | |
248 | slew-rate = <1>; | |
249 | bias-disable; | |
250 | input-enable; | |
251 | input-schmitt-disable; | |
252 | }; | |
253 | ||
254 | emc_sdram_clock_cfg { | |
255 | pins = "clk0", "clk1", "clk2", "clk3"; | |
256 | function = "emc"; | |
257 | slew-rate = <1>; | |
258 | bias-disable; | |
259 | input-enable; | |
260 | input-schmitt-disable; | |
261 | }; | |
262 | }; | |
263 | ||
7de98f2a JE |
264 | enet_rmii_pins: enet-rmii-pins { |
265 | enet_rmii_rxd_cfg { | |
266 | pins = "p1_15", "p0_0"; | |
267 | function = "enet"; | |
268 | slew-rate = <1>; | |
269 | bias-disable; | |
270 | input-enable; | |
271 | input-schmitt-disable; | |
272 | }; | |
273 | ||
274 | enet_rmii_txd_cfg { | |
275 | pins = "p1_18", "p1_20"; | |
276 | function = "enet"; | |
277 | slew-rate = <1>; | |
278 | bias-disable; | |
279 | input-enable; | |
280 | input-schmitt-disable; | |
281 | }; | |
282 | ||
283 | enet_rmii_rx_dv_cfg { | |
284 | pins = "p1_16"; | |
285 | function = "enet"; | |
286 | bias-disable; | |
287 | input-enable; | |
288 | input-schmitt-disable; | |
289 | }; | |
290 | ||
291 | enet_rmii_tx_en_cfg { | |
292 | pins = "p0_1"; | |
293 | function = "enet"; | |
294 | bias-disable; | |
295 | input-enable; | |
296 | input-schmitt-disable; | |
297 | }; | |
298 | ||
299 | enet_ref_clk_cfg { | |
300 | pins = "p1_19"; | |
301 | function = "enet"; | |
302 | slew-rate = <1>; | |
303 | bias-disable; | |
304 | input-enable; | |
305 | input-schmitt-disable; | |
306 | }; | |
307 | ||
308 | enet_mdio_cfg { | |
309 | pins = "p1_17"; | |
310 | function = "enet"; | |
311 | bias-disable; | |
312 | input-enable; | |
313 | input-schmitt-disable; | |
314 | }; | |
315 | ||
316 | enet_mdc_cfg { | |
317 | pins = "pc_1"; | |
318 | function = "enet"; | |
319 | slew-rate = <1>; | |
320 | bias-disable; | |
321 | input-enable; | |
322 | input-schmitt-disable; | |
323 | }; | |
324 | }; | |
325 | ||
95dafb2c JE |
326 | gpio_joystick_pins: gpio-joystick-pins { |
327 | gpio_joystick_cfg { | |
328 | pins = "p9_0", "p9_1", "pa_1", "pa_2", "pa_3"; | |
329 | function = "gpio"; | |
330 | input-enable; | |
331 | bias-disable; | |
332 | }; | |
333 | }; | |
334 | ||
7eef5587 JE |
335 | i2c0_pins: i2c0-pins { |
336 | i2c0_pins_cfg { | |
337 | pins = "i2c0_scl", "i2c0_sda"; | |
338 | function = "i2c0"; | |
339 | input-enable; | |
340 | }; | |
341 | }; | |
342 | ||
bfd0b498 JE |
343 | sdmmc_pins: sdmmc-pins { |
344 | sdmmc_clk_cfg { | |
345 | pins = "pc_0"; | |
346 | function = "sdmmc"; | |
347 | slew-rate = <1>; | |
348 | bias-pull-down; | |
349 | }; | |
350 | ||
351 | sdmmc_cmd_dat0_3_cfg { | |
352 | pins = "pc_4", "pc_5", "pc_6", "pc_7", "pc_10"; | |
353 | function = "sdmmc"; | |
354 | slew-rate = <1>; | |
355 | bias-disable; | |
356 | input-enable; | |
357 | input-schmitt-disable; | |
358 | }; | |
359 | ||
360 | sdmmc_cd_cfg { | |
361 | pins = "pc_8"; | |
362 | function = "sdmmc"; | |
363 | bias-pull-down; | |
364 | input-enable; | |
365 | }; | |
366 | ||
367 | sdmmc_pow_cfg { | |
368 | pins = "pc_9"; | |
369 | function = "sdmmc"; | |
370 | bias-pull-down; | |
371 | }; | |
372 | }; | |
373 | ||
f359348b JE |
374 | spifi_pins: spifi-pins { |
375 | spifi_clk_cfg { | |
376 | pins = "p3_3"; | |
377 | function = "spifi"; | |
378 | slew-rate = <1>; | |
379 | bias-disable; | |
380 | input-enable; | |
381 | input-schmitt-disable; | |
382 | }; | |
383 | ||
384 | spifi_mosi_miso_sio2_3_cfg { | |
385 | pins = "p3_7", "p3_6", "p3_5", "p3_4"; | |
386 | function = "spifi"; | |
387 | slew-rate = <0>; | |
388 | bias-disable; | |
389 | input-enable; | |
390 | input-schmitt-disable; | |
391 | }; | |
392 | ||
393 | spifi_cs_cfg { | |
394 | pins = "p3_8"; | |
395 | function = "spifi"; | |
396 | bias-disable; | |
397 | }; | |
398 | }; | |
399 | ||
09d03997 JE |
400 | ssp0_pins: ssp0-pins { |
401 | ssp0_sck_miso_mosi { | |
402 | pins = "pf_0", "pf_2", "pf_3"; | |
403 | function = "ssp0"; | |
404 | slew-rate = <1>; | |
405 | bias-pull-down; | |
406 | input-enable; | |
407 | input-schmitt-disable; | |
408 | }; | |
409 | ||
410 | ssp0_ssel { | |
411 | pins = "pf_1"; | |
412 | function = "ssp0"; | |
413 | bias-pull-up; | |
414 | }; | |
415 | }; | |
416 | ||
c97a63c9 JE |
417 | uart0_pins: uart0-pins { |
418 | uart0_rx_cfg { | |
419 | pins = "pf_11"; | |
420 | function = "uart0"; | |
421 | input-schmitt-disable; | |
422 | bias-disable; | |
423 | input-enable; | |
424 | }; | |
425 | ||
426 | uart0_tx_cfg { | |
427 | pins = "pf_10"; | |
428 | function = "uart0"; | |
429 | bias-pull-down; | |
430 | }; | |
431 | }; | |
930a43e2 JE |
432 | |
433 | uart3_pins: uart3-pins { | |
434 | uart3_rx_cfg { | |
435 | pins = "p2_4"; | |
436 | function = "uart3"; | |
437 | input-schmitt-disable; | |
438 | bias-disable; | |
439 | input-enable; | |
440 | }; | |
441 | ||
442 | uart3_tx_cfg { | |
443 | pins = "p9_3"; | |
444 | function = "uart3"; | |
445 | bias-pull-down; | |
446 | }; | |
447 | }; | |
fd0cb235 JE |
448 | |
449 | usb0_pins: usb0-pins { | |
450 | usb0_pwr_enable { | |
451 | pins = "p2_3"; | |
452 | function = "usb0"; | |
453 | }; | |
454 | ||
455 | usb0_pwr_fault { | |
456 | pins = "p8_0"; | |
457 | function = "usb0"; | |
458 | bias-disable; | |
459 | input-enable; | |
460 | }; | |
461 | }; | |
c97a63c9 JE |
462 | }; |
463 | ||
7eef5587 JE |
464 | &i2c0 { |
465 | status = "okay"; | |
466 | pinctrl-names = "default"; | |
467 | pinctrl-0 = <&i2c0_pins>; | |
468 | clock-frequency = <400000>; | |
469 | ||
a086dfe5 JE |
470 | mma7455@1d { |
471 | compatible = "fsl,mma7455"; | |
472 | reg = <0x1d>; | |
473 | }; | |
474 | ||
7eef5587 JE |
475 | lm75@48 { |
476 | compatible = "nxp,lm75"; | |
477 | reg = <0x48>; | |
478 | }; | |
479 | ||
480 | eeprom@57 { | |
481 | compatible = "microchip,24c64"; | |
482 | reg = <0x57>; | |
483 | }; | |
484 | }; | |
485 | ||
3c6abb97 JE |
486 | &emc { |
487 | status = "okay"; | |
488 | pinctrl-names = "default"; | |
489 | pinctrl-0 = <&emc_pins>; | |
490 | ||
491 | cs0 { | |
492 | #address-cells = <2>; | |
493 | #size-cells = <1>; | |
494 | ranges; | |
495 | ||
496 | mpmc,cs = <0>; | |
497 | mpmc,memory-width = <16>; | |
498 | mpmc,byte-lane-low; | |
499 | mpmc,write-enable-delay = <0>; | |
500 | mpmc,output-enable-delay = <0>; | |
501 | mpmc,read-access-delay = <70>; | |
502 | mpmc,page-mode-read-delay = <70>; | |
503 | ||
504 | flash@0,0 { | |
505 | compatible = "sst,sst39vf320", "cfi-flash"; | |
506 | reg = <0 0 0x400000>; | |
507 | bank-width = <2>; | |
508 | #address-cells = <1>; | |
509 | #size-cells = <1>; | |
510 | ||
511 | partition@0 { | |
512 | label = "bootloader"; | |
513 | reg = <0x000000 0x040000>; /* 256 KiB */ | |
514 | }; | |
515 | ||
516 | partition@1 { | |
517 | label = "kernel"; | |
518 | reg = <0x040000 0x2c0000>; /* 2.75 MiB */ | |
519 | }; | |
520 | ||
521 | partition@2 { | |
522 | label = "rootfs"; | |
523 | reg = <0x300000 0x100000>; /* 1 MiB */ | |
524 | }; | |
525 | }; | |
526 | }; | |
527 | ||
528 | cs2 { | |
529 | #address-cells = <2>; | |
530 | #size-cells = <1>; | |
531 | ranges; | |
532 | ||
533 | mpmc,cs = <2>; | |
534 | mpmc,memory-width = <16>; | |
535 | ||
536 | mmio_leds: gpio@2,0 { | |
537 | compatible = "ti,7416374"; | |
538 | reg = <2 0 0x2>; | |
539 | gpio-controller; | |
540 | #gpio-cells = <2>; | |
541 | }; | |
542 | ||
543 | }; | |
544 | }; | |
545 | ||
7de98f2a JE |
546 | &enet_tx_clk { |
547 | clock-frequency = <50000000>; | |
548 | }; | |
549 | ||
550 | &mac { | |
551 | status = "okay"; | |
552 | phy-mode = "rmii"; | |
553 | pinctrl-names = "default"; | |
554 | pinctrl-0 = <&enet_rmii_pins>; | |
555 | }; | |
556 | ||
bfd0b498 JE |
557 | &mmcsd { |
558 | status = "okay"; | |
559 | bus-width = <4>; | |
560 | vmmc-supply = <&vmmc>; | |
561 | pinctrl-names = "default"; | |
562 | pinctrl-0 = <&sdmmc_pins>; | |
563 | }; | |
564 | ||
f359348b JE |
565 | &spifi { |
566 | status = "okay"; | |
567 | pinctrl-names = "default"; | |
568 | pinctrl-0 = <&spifi_pins>; | |
569 | ||
570 | flash@0 { | |
571 | compatible = "jedec,spi-nor"; | |
572 | spi-cpol; | |
573 | spi-cpha; | |
574 | spi-rx-bus-width = <4>; | |
575 | #address-cells = <1>; | |
576 | #size-cells = <1>; | |
577 | ||
578 | partition@0 { | |
579 | label = "data"; | |
580 | reg = <0 0x200000>; | |
581 | }; | |
582 | }; | |
583 | }; | |
584 | ||
09d03997 JE |
585 | &ssp0 { |
586 | status = "okay"; | |
587 | pinctrl-names = "default"; | |
588 | pinctrl-0 = <&ssp0_pins>; | |
589 | num-cs = <1>; | |
590 | }; | |
591 | ||
56bd3771 JE |
592 | &uart0 { |
593 | status = "okay"; | |
c97a63c9 JE |
594 | pinctrl-names = "default"; |
595 | pinctrl-0 = <&uart0_pins>; | |
56bd3771 | 596 | }; |
930a43e2 JE |
597 | |
598 | &uart3 { | |
599 | status = "okay"; | |
600 | pinctrl-names = "default"; | |
601 | pinctrl-0 = <&uart3_pins>; | |
602 | }; | |
fd0cb235 JE |
603 | |
604 | &usb0 { | |
605 | status = "okay"; | |
606 | pinctrl-names = "default"; | |
607 | pinctrl-0 = <&usb0_pins>; | |
608 | }; |