2 * Device Tree Source for UniPhier PXs2 SoC
4 * Copyright (C) 2015-2016 Socionext Inc.
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
11 compatible = "socionext,uniphier-pxs2";
21 compatible = "arm,cortex-a9";
23 clocks = <&sys_clk 32>;
24 enable-method = "psci";
25 next-level-cache = <&l2>;
26 operating-points-v2 = <&cpu_opp>;
31 compatible = "arm,cortex-a9";
33 clocks = <&sys_clk 32>;
34 enable-method = "psci";
35 next-level-cache = <&l2>;
36 operating-points-v2 = <&cpu_opp>;
41 compatible = "arm,cortex-a9";
43 clocks = <&sys_clk 32>;
44 enable-method = "psci";
45 next-level-cache = <&l2>;
46 operating-points-v2 = <&cpu_opp>;
51 compatible = "arm,cortex-a9";
53 clocks = <&sys_clk 32>;
54 enable-method = "psci";
55 next-level-cache = <&l2>;
56 operating-points-v2 = <&cpu_opp>;
61 compatible = "operating-points-v2";
65 opp-hz = /bits/ 64 <100000000>;
66 clock-latency-ns = <300>;
69 opp-hz = /bits/ 64 <150000000>;
70 clock-latency-ns = <300>;
73 opp-hz = /bits/ 64 <200000000>;
74 clock-latency-ns = <300>;
77 opp-hz = /bits/ 64 <300000000>;
78 clock-latency-ns = <300>;
81 opp-hz = /bits/ 64 <400000000>;
82 clock-latency-ns = <300>;
85 opp-hz = /bits/ 64 <600000000>;
86 clock-latency-ns = <300>;
89 opp-hz = /bits/ 64 <800000000>;
90 clock-latency-ns = <300>;
93 opp-hz = /bits/ 64 <1200000000>;
94 clock-latency-ns = <300>;
99 compatible = "arm,psci-0.2";
105 compatible = "fixed-clock";
107 clock-frequency = <25000000>;
110 arm_timer_clk: arm_timer_clk {
112 compatible = "fixed-clock";
113 clock-frequency = <50000000>;
118 compatible = "simple-bus";
119 #address-cells = <1>;
122 interrupt-parent = <&intc>;
125 l2: l2-cache@500c0000 {
126 compatible = "socionext,uniphier-system-cache";
127 reg = <0x500c0000 0x2000>, <0x503c0100 0x8>,
129 interrupts = <0 174 4>, <0 175 4>, <0 190 4>, <0 191 4>;
131 cache-size = <(1280 * 1024)>;
133 cache-line-size = <128>;
137 serial0: serial@54006800 {
138 compatible = "socionext,uniphier-uart";
140 reg = <0x54006800 0x40>;
141 interrupts = <0 33 4>;
142 pinctrl-names = "default";
143 pinctrl-0 = <&pinctrl_uart0>;
144 clocks = <&peri_clk 0>;
145 clock-frequency = <88900000>;
148 serial1: serial@54006900 {
149 compatible = "socionext,uniphier-uart";
151 reg = <0x54006900 0x40>;
152 interrupts = <0 35 4>;
153 pinctrl-names = "default";
154 pinctrl-0 = <&pinctrl_uart1>;
155 clocks = <&peri_clk 1>;
156 clock-frequency = <88900000>;
159 serial2: serial@54006a00 {
160 compatible = "socionext,uniphier-uart";
162 reg = <0x54006a00 0x40>;
163 interrupts = <0 37 4>;
164 pinctrl-names = "default";
165 pinctrl-0 = <&pinctrl_uart2>;
166 clocks = <&peri_clk 2>;
167 clock-frequency = <88900000>;
170 serial3: serial@54006b00 {
171 compatible = "socionext,uniphier-uart";
173 reg = <0x54006b00 0x40>;
174 interrupts = <0 177 4>;
175 pinctrl-names = "default";
176 pinctrl-0 = <&pinctrl_uart3>;
177 clocks = <&peri_clk 3>;
178 clock-frequency = <88900000>;
181 port0x: gpio@55000008 {
182 compatible = "socionext,uniphier-gpio";
183 reg = <0x55000008 0x8>;
188 port1x: gpio@55000010 {
189 compatible = "socionext,uniphier-gpio";
190 reg = <0x55000010 0x8>;
195 port2x: gpio@55000018 {
196 compatible = "socionext,uniphier-gpio";
197 reg = <0x55000018 0x8>;
202 port3x: gpio@55000020 {
203 compatible = "socionext,uniphier-gpio";
204 reg = <0x55000020 0x8>;
209 port4: gpio@55000028 {
210 compatible = "socionext,uniphier-gpio";
211 reg = <0x55000028 0x8>;
216 port5x: gpio@55000030 {
217 compatible = "socionext,uniphier-gpio";
218 reg = <0x55000030 0x8>;
223 port6x: gpio@55000038 {
224 compatible = "socionext,uniphier-gpio";
225 reg = <0x55000038 0x8>;
230 port7x: gpio@55000040 {
231 compatible = "socionext,uniphier-gpio";
232 reg = <0x55000040 0x8>;
237 port8x: gpio@55000048 {
238 compatible = "socionext,uniphier-gpio";
239 reg = <0x55000048 0x8>;
244 port9x: gpio@55000050 {
245 compatible = "socionext,uniphier-gpio";
246 reg = <0x55000050 0x8>;
251 port10x: gpio@55000058 {
252 compatible = "socionext,uniphier-gpio";
253 reg = <0x55000058 0x8>;
258 port12x: gpio@55000068 {
259 compatible = "socionext,uniphier-gpio";
260 reg = <0x55000068 0x8>;
265 port13x: gpio@55000070 {
266 compatible = "socionext,uniphier-gpio";
267 reg = <0x55000070 0x8>;
272 port14x: gpio@55000078 {
273 compatible = "socionext,uniphier-gpio";
274 reg = <0x55000078 0x8>;
279 port15x: gpio@55000080 {
280 compatible = "socionext,uniphier-gpio";
281 reg = <0x55000080 0x8>;
286 port16x: gpio@55000088 {
287 compatible = "socionext,uniphier-gpio";
288 reg = <0x55000088 0x8>;
293 port17x: gpio@550000a0 {
294 compatible = "socionext,uniphier-gpio";
295 reg = <0x550000a0 0x8>;
300 port18x: gpio@550000a8 {
301 compatible = "socionext,uniphier-gpio";
302 reg = <0x550000a8 0x8>;
307 port19x: gpio@550000b0 {
308 compatible = "socionext,uniphier-gpio";
309 reg = <0x550000b0 0x8>;
314 port20x: gpio@550000b8 {
315 compatible = "socionext,uniphier-gpio";
316 reg = <0x550000b8 0x8>;
321 port21x: gpio@550000c0 {
322 compatible = "socionext,uniphier-gpio";
323 reg = <0x550000c0 0x8>;
328 port22x: gpio@550000c8 {
329 compatible = "socionext,uniphier-gpio";
330 reg = <0x550000c8 0x8>;
335 port23x: gpio@550000d0 {
336 compatible = "socionext,uniphier-gpio";
337 reg = <0x550000d0 0x8>;
342 port24x: gpio@550000d8 {
343 compatible = "socionext,uniphier-gpio";
344 reg = <0x550000d8 0x8>;
349 port25x: gpio@550000e0 {
350 compatible = "socionext,uniphier-gpio";
351 reg = <0x550000e0 0x8>;
356 port26x: gpio@550000e8 {
357 compatible = "socionext,uniphier-gpio";
358 reg = <0x550000e8 0x8>;
363 port27x: gpio@550000f0 {
364 compatible = "socionext,uniphier-gpio";
365 reg = <0x550000f0 0x8>;
370 port28x: gpio@550000f8 {
371 compatible = "socionext,uniphier-gpio";
372 reg = <0x550000f8 0x8>;
378 compatible = "socionext,uniphier-fi2c";
380 reg = <0x58780000 0x80>;
381 #address-cells = <1>;
383 interrupts = <0 41 4>;
384 pinctrl-names = "default";
385 pinctrl-0 = <&pinctrl_i2c0>;
386 clocks = <&peri_clk 4>;
387 clock-frequency = <100000>;
391 compatible = "socionext,uniphier-fi2c";
393 reg = <0x58781000 0x80>;
394 #address-cells = <1>;
396 interrupts = <0 42 4>;
397 pinctrl-names = "default";
398 pinctrl-0 = <&pinctrl_i2c1>;
399 clocks = <&peri_clk 5>;
400 clock-frequency = <100000>;
404 compatible = "socionext,uniphier-fi2c";
406 reg = <0x58782000 0x80>;
407 #address-cells = <1>;
409 interrupts = <0 43 4>;
410 pinctrl-names = "default";
411 pinctrl-0 = <&pinctrl_i2c2>;
412 clocks = <&peri_clk 6>;
413 clock-frequency = <100000>;
417 compatible = "socionext,uniphier-fi2c";
419 reg = <0x58783000 0x80>;
420 #address-cells = <1>;
422 interrupts = <0 44 4>;
423 pinctrl-names = "default";
424 pinctrl-0 = <&pinctrl_i2c3>;
425 clocks = <&peri_clk 7>;
426 clock-frequency = <100000>;
429 /* chip-internal connection for DMD */
431 compatible = "socionext,uniphier-fi2c";
432 reg = <0x58784000 0x80>;
433 #address-cells = <1>;
435 interrupts = <0 45 4>;
436 clocks = <&peri_clk 8>;
437 clock-frequency = <400000>;
440 /* chip-internal connection for STM */
442 compatible = "socionext,uniphier-fi2c";
443 reg = <0x58785000 0x80>;
444 #address-cells = <1>;
446 interrupts = <0 25 4>;
447 clocks = <&peri_clk 9>;
448 clock-frequency = <400000>;
451 /* chip-internal connection for HDMI */
453 compatible = "socionext,uniphier-fi2c";
454 reg = <0x58786000 0x80>;
455 #address-cells = <1>;
457 interrupts = <0 26 4>;
458 clocks = <&peri_clk 10>;
459 clock-frequency = <400000>;
462 system_bus: system-bus@58c00000 {
463 compatible = "socionext,uniphier-system-bus";
465 reg = <0x58c00000 0x400>;
466 #address-cells = <2>;
468 pinctrl-names = "default";
469 pinctrl-0 = <&pinctrl_system_bus>;
473 compatible = "socionext,uniphier-smpctrl";
474 reg = <0x59801000 0x400>;
478 compatible = "socionext,uniphier-pxs2-sdctrl",
479 "simple-mfd", "syscon";
480 reg = <0x59810000 0x800>;
484 compatible = "socionext,uniphier-pxs2-sd-clock";
489 compatible = "socionext,uniphier-pxs2-sd-reset";
495 compatible = "socionext,uniphier-pxs2-perictrl",
496 "simple-mfd", "syscon";
497 reg = <0x59820000 0x200>;
500 compatible = "socionext,uniphier-pxs2-peri-clock";
505 compatible = "socionext,uniphier-pxs2-peri-reset";
510 emmc: sdhc@5a000000 {
511 compatible = "socionext,uniphier-sdhc";
513 reg = <0x5a000000 0x800>;
514 interrupts = <0 78 4>;
515 pinctrl-names = "default";
516 pinctrl-0 = <&pinctrl_emmc>;
517 clocks = <&sd_clk 1>;
518 reset-names = "host";
519 resets = <&sd_rst 1>;
528 compatible = "socionext,uniphier-sdhc";
530 reg = <0x5a400000 0x800>;
531 interrupts = <0 76 4>;
532 pinctrl-names = "default", "1.8v";
533 pinctrl-0 = <&pinctrl_sd>;
534 pinctrl-1 = <&pinctrl_sd_1v8>;
535 clocks = <&sd_clk 0>;
536 reset-names = "host";
537 resets = <&sd_rst 0>;
546 compatible = "socionext,uniphier-pxs2-soc-glue",
547 "simple-mfd", "syscon";
548 reg = <0x5f800000 0x2000>;
552 compatible = "socionext,uniphier-pxs2-pinctrl";
558 compatible = "simple-mfd", "syscon";
559 reg = <0x5fc20000 0x200>;
563 compatible = "arm,cortex-a9-global-timer";
564 reg = <0x60000200 0x20>;
565 interrupts = <1 11 0xf04>;
566 clocks = <&arm_timer_clk>;
570 compatible = "arm,cortex-a9-twd-timer";
571 reg = <0x60000600 0x20>;
572 interrupts = <1 13 0xf04>;
573 clocks = <&arm_timer_clk>;
576 intc: interrupt-controller@60001000 {
577 compatible = "arm,cortex-a9-gic";
578 reg = <0x60001000 0x1000>,
580 #interrupt-cells = <3>;
581 interrupt-controller;
585 compatible = "socionext,uniphier-pxs2-sysctrl",
586 "simple-mfd", "syscon";
587 reg = <0x61840000 0x10000>;
590 compatible = "socionext,uniphier-pxs2-clock";
595 compatible = "socionext,uniphier-pxs2-reset";
601 compatible = "socionext,uniphier-pxs2-dwc3";
603 reg = <0x65b00000 0x1000>;
604 #address-cells = <1>;
607 pinctrl-names = "default";
608 pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb2>;
610 compatible = "snps,dwc3";
611 reg = <0x65a00000 0x10000>;
612 interrupts = <0 134 4>;
619 compatible = "socionext,uniphier-pxs2-dwc3";
621 reg = <0x65d00000 0x1000>;
622 #address-cells = <1>;
625 pinctrl-names = "default";
626 pinctrl-0 = <&pinctrl_usb1>, <&pinctrl_usb3>;
628 compatible = "snps,dwc3";
629 reg = <0x65c00000 0x10000>;
630 interrupts = <0 137 4>;
636 nand: nand@68000000 {
637 compatible = "socionext,uniphier-denali-nand-v5b";
639 reg-names = "nand_data", "denali_reg";
640 reg = <0x68000000 0x20>, <0x68100000 0x1000>;
641 interrupts = <0 65 4>;
642 pinctrl-names = "default";
643 pinctrl-0 = <&pinctrl_nand>;
644 clocks = <&sys_clk 2>;
645 nand-ecc-strength = <8>;
650 /include/ "uniphier-pinctrl.dtsi"