]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/dts/uniphier-pro4.dtsi
Merge git://www.denx.de/git/u-boot-cfi-flash
[people/ms/u-boot.git] / arch / arm / dts / uniphier-pro4.dtsi
1 /*
2 * Device Tree Source for UniPhier Pro4 SoC
3 *
4 * Copyright (C) 2015-2016 Socionext Inc.
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com>
6 *
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9
10 / {
11 compatible = "socionext,uniphier-pro4";
12 #address-cells = <1>;
13 #size-cells = <1>;
14
15 cpus {
16 #address-cells = <1>;
17 #size-cells = <0>;
18
19 cpu@0 {
20 device_type = "cpu";
21 compatible = "arm,cortex-a9";
22 reg = <0>;
23 enable-method = "psci";
24 next-level-cache = <&l2>;
25 };
26
27 cpu@1 {
28 device_type = "cpu";
29 compatible = "arm,cortex-a9";
30 reg = <1>;
31 enable-method = "psci";
32 next-level-cache = <&l2>;
33 };
34 };
35
36 psci {
37 compatible = "arm,psci-0.2";
38 method = "smc";
39 };
40
41 clocks {
42 refclk: ref {
43 compatible = "fixed-clock";
44 #clock-cells = <0>;
45 clock-frequency = <25000000>;
46 };
47
48 arm_timer_clk: arm_timer_clk {
49 #clock-cells = <0>;
50 compatible = "fixed-clock";
51 clock-frequency = <50000000>;
52 };
53 };
54
55 soc {
56 compatible = "simple-bus";
57 #address-cells = <1>;
58 #size-cells = <1>;
59 ranges;
60 interrupt-parent = <&intc>;
61 u-boot,dm-pre-reloc;
62
63 l2: l2-cache@500c0000 {
64 compatible = "socionext,uniphier-system-cache";
65 reg = <0x500c0000 0x2000>, <0x503c0100 0x4>,
66 <0x506c0000 0x400>;
67 interrupts = <0 174 4>, <0 175 4>;
68 cache-unified;
69 cache-size = <(768 * 1024)>;
70 cache-sets = <256>;
71 cache-line-size = <128>;
72 cache-level = <2>;
73 };
74
75 serial0: serial@54006800 {
76 compatible = "socionext,uniphier-uart";
77 status = "disabled";
78 reg = <0x54006800 0x40>;
79 interrupts = <0 33 4>;
80 pinctrl-names = "default";
81 pinctrl-0 = <&pinctrl_uart0>;
82 clocks = <&peri_clk 0>;
83 clock-frequency = <73728000>;
84 };
85
86 serial1: serial@54006900 {
87 compatible = "socionext,uniphier-uart";
88 status = "disabled";
89 reg = <0x54006900 0x40>;
90 interrupts = <0 35 4>;
91 pinctrl-names = "default";
92 pinctrl-0 = <&pinctrl_uart1>;
93 clocks = <&peri_clk 1>;
94 clock-frequency = <73728000>;
95 };
96
97 serial2: serial@54006a00 {
98 compatible = "socionext,uniphier-uart";
99 status = "disabled";
100 reg = <0x54006a00 0x40>;
101 interrupts = <0 37 4>;
102 pinctrl-names = "default";
103 pinctrl-0 = <&pinctrl_uart2>;
104 clocks = <&peri_clk 2>;
105 clock-frequency = <73728000>;
106 };
107
108 serial3: serial@54006b00 {
109 compatible = "socionext,uniphier-uart";
110 status = "disabled";
111 reg = <0x54006b00 0x40>;
112 interrupts = <0 177 4>;
113 pinctrl-names = "default";
114 pinctrl-0 = <&pinctrl_uart3>;
115 clocks = <&peri_clk 3>;
116 clock-frequency = <73728000>;
117 };
118
119 port0x: gpio@55000008 {
120 compatible = "socionext,uniphier-gpio";
121 reg = <0x55000008 0x8>;
122 gpio-controller;
123 #gpio-cells = <2>;
124 };
125
126 port1x: gpio@55000010 {
127 compatible = "socionext,uniphier-gpio";
128 reg = <0x55000010 0x8>;
129 gpio-controller;
130 #gpio-cells = <2>;
131 };
132
133 port2x: gpio@55000018 {
134 compatible = "socionext,uniphier-gpio";
135 reg = <0x55000018 0x8>;
136 gpio-controller;
137 #gpio-cells = <2>;
138 };
139
140 port3x: gpio@55000020 {
141 compatible = "socionext,uniphier-gpio";
142 reg = <0x55000020 0x8>;
143 gpio-controller;
144 #gpio-cells = <2>;
145 };
146
147 port4: gpio@55000028 {
148 compatible = "socionext,uniphier-gpio";
149 reg = <0x55000028 0x8>;
150 gpio-controller;
151 #gpio-cells = <2>;
152 };
153
154 port5x: gpio@55000030 {
155 compatible = "socionext,uniphier-gpio";
156 reg = <0x55000030 0x8>;
157 gpio-controller;
158 #gpio-cells = <2>;
159 };
160
161 port6x: gpio@55000038 {
162 compatible = "socionext,uniphier-gpio";
163 reg = <0x55000038 0x8>;
164 gpio-controller;
165 #gpio-cells = <2>;
166 };
167
168 port7x: gpio@55000040 {
169 compatible = "socionext,uniphier-gpio";
170 reg = <0x55000040 0x8>;
171 gpio-controller;
172 #gpio-cells = <2>;
173 };
174
175 port8x: gpio@55000048 {
176 compatible = "socionext,uniphier-gpio";
177 reg = <0x55000048 0x8>;
178 gpio-controller;
179 #gpio-cells = <2>;
180 };
181
182 port9x: gpio@55000050 {
183 compatible = "socionext,uniphier-gpio";
184 reg = <0x55000050 0x8>;
185 gpio-controller;
186 #gpio-cells = <2>;
187 };
188
189 port10x: gpio@55000058 {
190 compatible = "socionext,uniphier-gpio";
191 reg = <0x55000058 0x8>;
192 gpio-controller;
193 #gpio-cells = <2>;
194 };
195
196 port11x: gpio@55000060 {
197 compatible = "socionext,uniphier-gpio";
198 reg = <0x55000060 0x8>;
199 gpio-controller;
200 #gpio-cells = <2>;
201 };
202
203 port12x: gpio@55000068 {
204 compatible = "socionext,uniphier-gpio";
205 reg = <0x55000068 0x8>;
206 gpio-controller;
207 #gpio-cells = <2>;
208 };
209
210 port13x: gpio@55000070 {
211 compatible = "socionext,uniphier-gpio";
212 reg = <0x55000070 0x8>;
213 gpio-controller;
214 #gpio-cells = <2>;
215 };
216
217 port14x: gpio@55000078 {
218 compatible = "socionext,uniphier-gpio";
219 reg = <0x55000078 0x8>;
220 gpio-controller;
221 #gpio-cells = <2>;
222 };
223
224 port17x: gpio@550000a0 {
225 compatible = "socionext,uniphier-gpio";
226 reg = <0x550000a0 0x8>;
227 gpio-controller;
228 #gpio-cells = <2>;
229 };
230
231 port18x: gpio@550000a8 {
232 compatible = "socionext,uniphier-gpio";
233 reg = <0x550000a8 0x8>;
234 gpio-controller;
235 #gpio-cells = <2>;
236 };
237
238 port19x: gpio@550000b0 {
239 compatible = "socionext,uniphier-gpio";
240 reg = <0x550000b0 0x8>;
241 gpio-controller;
242 #gpio-cells = <2>;
243 };
244
245 port20x: gpio@550000b8 {
246 compatible = "socionext,uniphier-gpio";
247 reg = <0x550000b8 0x8>;
248 gpio-controller;
249 #gpio-cells = <2>;
250 };
251
252 port21x: gpio@550000c0 {
253 compatible = "socionext,uniphier-gpio";
254 reg = <0x550000c0 0x8>;
255 gpio-controller;
256 #gpio-cells = <2>;
257 };
258
259 port22x: gpio@550000c8 {
260 compatible = "socionext,uniphier-gpio";
261 reg = <0x550000c8 0x8>;
262 gpio-controller;
263 #gpio-cells = <2>;
264 };
265
266 port23x: gpio@550000d0 {
267 compatible = "socionext,uniphier-gpio";
268 reg = <0x550000d0 0x8>;
269 gpio-controller;
270 #gpio-cells = <2>;
271 };
272
273 port24x: gpio@550000d8 {
274 compatible = "socionext,uniphier-gpio";
275 reg = <0x550000d8 0x8>;
276 gpio-controller;
277 #gpio-cells = <2>;
278 };
279
280 port25x: gpio@550000e0 {
281 compatible = "socionext,uniphier-gpio";
282 reg = <0x550000e0 0x8>;
283 gpio-controller;
284 #gpio-cells = <2>;
285 };
286
287 port26x: gpio@550000e8 {
288 compatible = "socionext,uniphier-gpio";
289 reg = <0x550000e8 0x8>;
290 gpio-controller;
291 #gpio-cells = <2>;
292 };
293
294 port27x: gpio@550000f0 {
295 compatible = "socionext,uniphier-gpio";
296 reg = <0x550000f0 0x8>;
297 gpio-controller;
298 #gpio-cells = <2>;
299 };
300
301 port28x: gpio@550000f8 {
302 compatible = "socionext,uniphier-gpio";
303 reg = <0x550000f8 0x8>;
304 gpio-controller;
305 #gpio-cells = <2>;
306 };
307
308 port29x: gpio@55000100 {
309 compatible = "socionext,uniphier-gpio";
310 reg = <0x55000100 0x8>;
311 gpio-controller;
312 #gpio-cells = <2>;
313 };
314
315 port30x: gpio@55000108 {
316 compatible = "socionext,uniphier-gpio";
317 reg = <0x55000108 0x8>;
318 gpio-controller;
319 #gpio-cells = <2>;
320 };
321
322 i2c0: i2c@58780000 {
323 compatible = "socionext,uniphier-fi2c";
324 status = "disabled";
325 reg = <0x58780000 0x80>;
326 #address-cells = <1>;
327 #size-cells = <0>;
328 interrupts = <0 41 4>;
329 pinctrl-names = "default";
330 pinctrl-0 = <&pinctrl_i2c0>;
331 clocks = <&peri_clk 4>;
332 clock-frequency = <100000>;
333 };
334
335 i2c1: i2c@58781000 {
336 compatible = "socionext,uniphier-fi2c";
337 status = "disabled";
338 reg = <0x58781000 0x80>;
339 #address-cells = <1>;
340 #size-cells = <0>;
341 interrupts = <0 42 4>;
342 pinctrl-names = "default";
343 pinctrl-0 = <&pinctrl_i2c1>;
344 clocks = <&peri_clk 5>;
345 clock-frequency = <100000>;
346 };
347
348 i2c2: i2c@58782000 {
349 compatible = "socionext,uniphier-fi2c";
350 status = "disabled";
351 reg = <0x58782000 0x80>;
352 #address-cells = <1>;
353 #size-cells = <0>;
354 interrupts = <0 43 4>;
355 pinctrl-names = "default";
356 pinctrl-0 = <&pinctrl_i2c2>;
357 clocks = <&peri_clk 6>;
358 clock-frequency = <100000>;
359 };
360
361 i2c3: i2c@58783000 {
362 compatible = "socionext,uniphier-fi2c";
363 status = "disabled";
364 reg = <0x58783000 0x80>;
365 #address-cells = <1>;
366 #size-cells = <0>;
367 interrupts = <0 44 4>;
368 pinctrl-names = "default";
369 pinctrl-0 = <&pinctrl_i2c3>;
370 clocks = <&peri_clk 7>;
371 clock-frequency = <100000>;
372 };
373
374 /* i2c4 does not exist */
375
376 /* chip-internal connection for DMD */
377 i2c5: i2c@58785000 {
378 compatible = "socionext,uniphier-fi2c";
379 reg = <0x58785000 0x80>;
380 #address-cells = <1>;
381 #size-cells = <0>;
382 interrupts = <0 25 4>;
383 clocks = <&peri_clk 9>;
384 clock-frequency = <400000>;
385 };
386
387 /* chip-internal connection for HDMI */
388 i2c6: i2c@58786000 {
389 compatible = "socionext,uniphier-fi2c";
390 reg = <0x58786000 0x80>;
391 #address-cells = <1>;
392 #size-cells = <0>;
393 interrupts = <0 26 4>;
394 clocks = <&peri_clk 10>;
395 clock-frequency = <400000>;
396 };
397
398 system_bus: system-bus@58c00000 {
399 compatible = "socionext,uniphier-system-bus";
400 status = "disabled";
401 reg = <0x58c00000 0x400>;
402 #address-cells = <2>;
403 #size-cells = <1>;
404 pinctrl-names = "default";
405 pinctrl-0 = <&pinctrl_system_bus>;
406 };
407
408 smpctrl@59801000 {
409 compatible = "socionext,uniphier-smpctrl";
410 reg = <0x59801000 0x400>;
411 };
412
413 mioctrl@59810000 {
414 compatible = "socionext,uniphier-pro4-mioctrl",
415 "simple-mfd", "syscon";
416 reg = <0x59810000 0x800>;
417 u-boot,dm-pre-reloc;
418
419 mio_clk: clock {
420 compatible = "socionext,uniphier-pro4-mio-clock";
421 #clock-cells = <1>;
422 };
423
424 mio_rst: reset {
425 compatible = "socionext,uniphier-pro4-mio-reset";
426 #reset-cells = <1>;
427 };
428 };
429
430 perictrl@59820000 {
431 compatible = "socionext,uniphier-pro4-perictrl",
432 "simple-mfd", "syscon";
433 reg = <0x59820000 0x200>;
434
435 peri_clk: clock {
436 compatible = "socionext,uniphier-pro4-peri-clock";
437 #clock-cells = <1>;
438 };
439
440 peri_rst: reset {
441 compatible = "socionext,uniphier-pro4-peri-reset";
442 #reset-cells = <1>;
443 };
444 };
445
446 sd: sdhc@5a400000 {
447 compatible = "socionext,uniphier-sdhc";
448 status = "disabled";
449 reg = <0x5a400000 0x200>;
450 interrupts = <0 76 4>;
451 pinctrl-names = "default", "1.8v";
452 pinctrl-0 = <&pinctrl_sd>;
453 pinctrl-1 = <&pinctrl_sd_1v8>;
454 clocks = <&mio_clk 0>;
455 reset-names = "host", "bridge";
456 resets = <&mio_rst 0>, <&mio_rst 3>;
457 bus-width = <4>;
458 cap-sd-highspeed;
459 sd-uhs-sdr12;
460 sd-uhs-sdr25;
461 sd-uhs-sdr50;
462 };
463
464 emmc: sdhc@5a500000 {
465 compatible = "socionext,uniphier-sdhc";
466 status = "disabled";
467 reg = <0x5a500000 0x200>;
468 interrupts = <0 78 4>;
469 pinctrl-names = "default", "1.8v";
470 pinctrl-0 = <&pinctrl_emmc>;
471 pinctrl-1 = <&pinctrl_emmc_1v8>;
472 clocks = <&mio_clk 1>;
473 reset-names = "host", "bridge";
474 resets = <&mio_rst 1>, <&mio_rst 4>;
475 bus-width = <8>;
476 non-removable;
477 cap-mmc-highspeed;
478 cap-mmc-hw-reset;
479 };
480
481 sd1: sdhc@5a600000 {
482 compatible = "socionext,uniphier-sdhc";
483 status = "disabled";
484 reg = <0x5a600000 0x200>;
485 interrupts = <0 85 4>;
486 pinctrl-names = "default", "1.8v";
487 pinctrl-0 = <&pinctrl_sd1>;
488 pinctrl-1 = <&pinctrl_sd1_1v8>;
489 clocks = <&mio_clk 2>;
490 resets = <&mio_rst 2>, <&mio_rst 5>;
491 bus-width = <4>;
492 cap-sd-highspeed;
493 sd-uhs-sdr12;
494 sd-uhs-sdr25;
495 sd-uhs-sdr50;
496 };
497
498 usb2: usb@5a800100 {
499 compatible = "socionext,uniphier-ehci", "generic-ehci";
500 status = "disabled";
501 reg = <0x5a800100 0x100>;
502 interrupts = <0 80 4>;
503 pinctrl-names = "default";
504 pinctrl-0 = <&pinctrl_usb2>;
505 clocks = <&mio_clk 7>, <&mio_clk 8>, <&mio_clk 12>;
506 resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 8>,
507 <&mio_rst 12>;
508 };
509
510 usb3: usb@5a810100 {
511 compatible = "socionext,uniphier-ehci", "generic-ehci";
512 status = "disabled";
513 reg = <0x5a810100 0x100>;
514 interrupts = <0 81 4>;
515 pinctrl-names = "default";
516 pinctrl-0 = <&pinctrl_usb3>;
517 clocks = <&mio_clk 7>, <&mio_clk 9>, <&mio_clk 13>;
518 resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 9>,
519 <&mio_rst 13>;
520 };
521
522 soc-glue@5f800000 {
523 compatible = "socionext,uniphier-pro4-soc-glue",
524 "simple-mfd", "syscon";
525 reg = <0x5f800000 0x2000>;
526 u-boot,dm-pre-reloc;
527
528 pinctrl: pinctrl {
529 compatible = "socionext,uniphier-pro4-pinctrl";
530 u-boot,dm-pre-reloc;
531 };
532 };
533
534 aidet@5fc20000 {
535 compatible = "simple-mfd", "syscon";
536 reg = <0x5fc20000 0x200>;
537 };
538
539 timer@60000200 {
540 compatible = "arm,cortex-a9-global-timer";
541 reg = <0x60000200 0x20>;
542 interrupts = <1 11 0x304>;
543 clocks = <&arm_timer_clk>;
544 };
545
546 timer@60000600 {
547 compatible = "arm,cortex-a9-twd-timer";
548 reg = <0x60000600 0x20>;
549 interrupts = <1 13 0x304>;
550 clocks = <&arm_timer_clk>;
551 };
552
553 intc: interrupt-controller@60001000 {
554 compatible = "arm,cortex-a9-gic";
555 reg = <0x60001000 0x1000>,
556 <0x60000100 0x100>;
557 #interrupt-cells = <3>;
558 interrupt-controller;
559 };
560
561 sysctrl@61840000 {
562 compatible = "socionext,uniphier-pro4-sysctrl",
563 "simple-mfd", "syscon";
564 reg = <0x61840000 0x10000>;
565
566 sys_clk: clock {
567 compatible = "socionext,uniphier-pro4-clock";
568 #clock-cells = <1>;
569 };
570
571 sys_rst: reset {
572 compatible = "socionext,uniphier-pro4-reset";
573 #reset-cells = <1>;
574 };
575 };
576
577 usb0: usb@65b00000 {
578 compatible = "socionext,uniphier-pro4-dwc3";
579 status = "disabled";
580 reg = <0x65b00000 0x1000>;
581 #address-cells = <1>;
582 #size-cells = <1>;
583 ranges;
584 pinctrl-names = "default";
585 pinctrl-0 = <&pinctrl_usb0>;
586 dwc3@65a00000 {
587 compatible = "snps,dwc3";
588 reg = <0x65a00000 0x10000>;
589 interrupts = <0 134 4>;
590 dr_mode = "host";
591 tx-fifo-resize;
592 };
593 };
594
595 usb1: usb@65d00000 {
596 compatible = "socionext,uniphier-pro4-dwc3";
597 status = "disabled";
598 reg = <0x65d00000 0x1000>;
599 #address-cells = <1>;
600 #size-cells = <1>;
601 ranges;
602 pinctrl-names = "default";
603 pinctrl-0 = <&pinctrl_usb1>;
604 dwc3@65c00000 {
605 compatible = "snps,dwc3";
606 reg = <0x65c00000 0x10000>;
607 interrupts = <0 137 4>;
608 dr_mode = "host";
609 tx-fifo-resize;
610 };
611 };
612
613 nand: nand@68000000 {
614 compatible = "socionext,uniphier-denali-nand-v5a";
615 status = "disabled";
616 reg-names = "nand_data", "denali_reg";
617 reg = <0x68000000 0x20>, <0x68100000 0x1000>;
618 interrupts = <0 65 4>;
619 pinctrl-names = "default";
620 pinctrl-0 = <&pinctrl_nand>;
621 clocks = <&sys_clk 2>;
622 nand-ecc-strength = <8>;
623 };
624 };
625 };
626
627 /include/ "uniphier-pinctrl.dtsi"