2 * Device Tree Source for UniPhier Pro5 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-pro5";
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 = "operating-points-v2";
45 opp-hz = /bits/ 64 <100000000>;
46 clock-latency-ns = <300>;
49 opp-hz = /bits/ 64 <116667000>;
50 clock-latency-ns = <300>;
53 opp-hz = /bits/ 64 <150000000>;
54 clock-latency-ns = <300>;
57 opp-hz = /bits/ 64 <175000000>;
58 clock-latency-ns = <300>;
61 opp-hz = /bits/ 64 <200000000>;
62 clock-latency-ns = <300>;
65 opp-hz = /bits/ 64 <233334000>;
66 clock-latency-ns = <300>;
69 opp-hz = /bits/ 64 <300000000>;
70 clock-latency-ns = <300>;
73 opp-hz = /bits/ 64 <350000000>;
74 clock-latency-ns = <300>;
77 opp-hz = /bits/ 64 <400000000>;
78 clock-latency-ns = <300>;
81 opp-hz = /bits/ 64 <466667000>;
82 clock-latency-ns = <300>;
85 opp-hz = /bits/ 64 <600000000>;
86 clock-latency-ns = <300>;
89 opp-hz = /bits/ 64 <700000000>;
90 clock-latency-ns = <300>;
93 opp-hz = /bits/ 64 <800000000>;
94 clock-latency-ns = <300>;
97 opp-hz = /bits/ 64 <933334000>;
98 clock-latency-ns = <300>;
101 opp-hz = /bits/ 64 <1200000000>;
102 clock-latency-ns = <300>;
105 opp-hz = /bits/ 64 <1400000000>;
106 clock-latency-ns = <300>;
111 compatible = "arm,psci-0.2";
117 compatible = "fixed-clock";
119 clock-frequency = <20000000>;
122 arm_timer_clk: arm_timer_clk {
124 compatible = "fixed-clock";
125 clock-frequency = <50000000>;
130 compatible = "simple-bus";
131 #address-cells = <1>;
134 interrupt-parent = <&intc>;
137 l2: l2-cache@500c0000 {
138 compatible = "socionext,uniphier-system-cache";
139 reg = <0x500c0000 0x2000>, <0x503c0100 0x8>,
141 interrupts = <0 190 4>, <0 191 4>;
143 cache-size = <(2 * 1024 * 1024)>;
145 cache-line-size = <128>;
147 next-level-cache = <&l3>;
150 l3: l3-cache@500c8000 {
151 compatible = "socionext,uniphier-system-cache";
152 reg = <0x500c8000 0x2000>, <0x503c8100 0x8>,
154 interrupts = <0 174 4>, <0 175 4>;
156 cache-size = <(2 * 1024 * 1024)>;
158 cache-line-size = <256>;
162 serial0: serial@54006800 {
163 compatible = "socionext,uniphier-uart";
165 reg = <0x54006800 0x40>;
166 interrupts = <0 33 4>;
167 pinctrl-names = "default";
168 pinctrl-0 = <&pinctrl_uart0>;
169 clocks = <&peri_clk 0>;
170 clock-frequency = <73728000>;
173 serial1: serial@54006900 {
174 compatible = "socionext,uniphier-uart";
176 reg = <0x54006900 0x40>;
177 interrupts = <0 35 4>;
178 pinctrl-names = "default";
179 pinctrl-0 = <&pinctrl_uart1>;
180 clocks = <&peri_clk 1>;
181 clock-frequency = <73728000>;
184 serial2: serial@54006a00 {
185 compatible = "socionext,uniphier-uart";
187 reg = <0x54006a00 0x40>;
188 interrupts = <0 37 4>;
189 pinctrl-names = "default";
190 pinctrl-0 = <&pinctrl_uart2>;
191 clocks = <&peri_clk 2>;
192 clock-frequency = <73728000>;
195 serial3: serial@54006b00 {
196 compatible = "socionext,uniphier-uart";
198 reg = <0x54006b00 0x40>;
199 interrupts = <0 177 4>;
200 pinctrl-names = "default";
201 pinctrl-0 = <&pinctrl_uart3>;
202 clocks = <&peri_clk 3>;
203 clock-frequency = <73728000>;
206 port0x: gpio@55000008 {
207 compatible = "socionext,uniphier-gpio";
208 reg = <0x55000008 0x8>;
213 port1x: gpio@55000010 {
214 compatible = "socionext,uniphier-gpio";
215 reg = <0x55000010 0x8>;
220 port2x: gpio@55000018 {
221 compatible = "socionext,uniphier-gpio";
222 reg = <0x55000018 0x8>;
227 port3x: gpio@55000020 {
228 compatible = "socionext,uniphier-gpio";
229 reg = <0x55000020 0x8>;
234 port4: gpio@55000028 {
235 compatible = "socionext,uniphier-gpio";
236 reg = <0x55000028 0x8>;
241 port5x: gpio@55000030 {
242 compatible = "socionext,uniphier-gpio";
243 reg = <0x55000030 0x8>;
248 port6x: gpio@55000038 {
249 compatible = "socionext,uniphier-gpio";
250 reg = <0x55000038 0x8>;
255 port7x: gpio@55000040 {
256 compatible = "socionext,uniphier-gpio";
257 reg = <0x55000040 0x8>;
262 port8x: gpio@55000048 {
263 compatible = "socionext,uniphier-gpio";
264 reg = <0x55000048 0x8>;
269 port9x: gpio@55000050 {
270 compatible = "socionext,uniphier-gpio";
271 reg = <0x55000050 0x8>;
276 port10x: gpio@55000058 {
277 compatible = "socionext,uniphier-gpio";
278 reg = <0x55000058 0x8>;
283 port11x: gpio@55000060 {
284 compatible = "socionext,uniphier-gpio";
285 reg = <0x55000060 0x8>;
290 port12x: gpio@55000068 {
291 compatible = "socionext,uniphier-gpio";
292 reg = <0x55000068 0x8>;
297 port13x: gpio@55000070 {
298 compatible = "socionext,uniphier-gpio";
299 reg = <0x55000070 0x8>;
304 port14x: gpio@55000078 {
305 compatible = "socionext,uniphier-gpio";
306 reg = <0x55000078 0x8>;
311 port17x: gpio@550000a0 {
312 compatible = "socionext,uniphier-gpio";
313 reg = <0x550000a0 0x8>;
318 port18x: gpio@550000a8 {
319 compatible = "socionext,uniphier-gpio";
320 reg = <0x550000a8 0x8>;
325 port19x: gpio@550000b0 {
326 compatible = "socionext,uniphier-gpio";
327 reg = <0x550000b0 0x8>;
332 port20x: gpio@550000b8 {
333 compatible = "socionext,uniphier-gpio";
334 reg = <0x550000b8 0x8>;
339 port21x: gpio@550000c0 {
340 compatible = "socionext,uniphier-gpio";
341 reg = <0x550000c0 0x8>;
346 port22x: gpio@550000c8 {
347 compatible = "socionext,uniphier-gpio";
348 reg = <0x550000c8 0x8>;
353 port23x: gpio@550000d0 {
354 compatible = "socionext,uniphier-gpio";
355 reg = <0x550000d0 0x8>;
360 port24x: gpio@550000d8 {
361 compatible = "socionext,uniphier-gpio";
362 reg = <0x550000d8 0x8>;
367 port25x: gpio@550000e0 {
368 compatible = "socionext,uniphier-gpio";
369 reg = <0x550000e0 0x8>;
374 port26x: gpio@550000e8 {
375 compatible = "socionext,uniphier-gpio";
376 reg = <0x550000e8 0x8>;
381 port27x: gpio@550000f0 {
382 compatible = "socionext,uniphier-gpio";
383 reg = <0x550000f0 0x8>;
388 port28x: gpio@550000f8 {
389 compatible = "socionext,uniphier-gpio";
390 reg = <0x550000f8 0x8>;
395 port29x: gpio@55000100 {
396 compatible = "socionext,uniphier-gpio";
397 reg = <0x55000100 0x8>;
402 port30x: gpio@55000108 {
403 compatible = "socionext,uniphier-gpio";
404 reg = <0x55000108 0x8>;
410 compatible = "socionext,uniphier-fi2c";
412 reg = <0x58780000 0x80>;
413 #address-cells = <1>;
415 interrupts = <0 41 4>;
416 pinctrl-names = "default";
417 pinctrl-0 = <&pinctrl_i2c0>;
418 clocks = <&peri_clk 4>;
419 clock-frequency = <100000>;
423 compatible = "socionext,uniphier-fi2c";
425 reg = <0x58781000 0x80>;
426 #address-cells = <1>;
428 interrupts = <0 42 4>;
429 pinctrl-names = "default";
430 pinctrl-0 = <&pinctrl_i2c1>;
431 clocks = <&peri_clk 5>;
432 clock-frequency = <100000>;
436 compatible = "socionext,uniphier-fi2c";
438 reg = <0x58782000 0x80>;
439 #address-cells = <1>;
441 interrupts = <0 43 4>;
442 pinctrl-names = "default";
443 pinctrl-0 = <&pinctrl_i2c2>;
444 clocks = <&peri_clk 6>;
445 clock-frequency = <100000>;
449 compatible = "socionext,uniphier-fi2c";
451 reg = <0x58783000 0x80>;
452 #address-cells = <1>;
454 interrupts = <0 44 4>;
455 pinctrl-names = "default";
456 pinctrl-0 = <&pinctrl_i2c3>;
457 clocks = <&peri_clk 7>;
458 clock-frequency = <100000>;
461 /* i2c4 does not exist */
463 /* chip-internal connection for DMD */
465 compatible = "socionext,uniphier-fi2c";
466 reg = <0x58785000 0x80>;
467 #address-cells = <1>;
469 interrupts = <0 25 4>;
470 clocks = <&peri_clk 9>;
471 clock-frequency = <400000>;
474 /* chip-internal connection for HDMI */
476 compatible = "socionext,uniphier-fi2c";
477 reg = <0x58786000 0x80>;
478 #address-cells = <1>;
480 interrupts = <0 26 4>;
481 clocks = <&peri_clk 10>;
482 clock-frequency = <400000>;
485 system_bus: system-bus@58c00000 {
486 compatible = "socionext,uniphier-system-bus";
488 reg = <0x58c00000 0x400>;
489 #address-cells = <2>;
491 pinctrl-names = "default";
492 pinctrl-0 = <&pinctrl_system_bus>;
496 compatible = "socionext,uniphier-smpctrl";
497 reg = <0x59801000 0x400>;
501 compatible = "socionext,uniphier-pro5-sdctrl",
502 "simple-mfd", "syscon";
503 reg = <0x59810000 0x800>;
507 compatible = "socionext,uniphier-pro5-sd-clock";
512 compatible = "socionext,uniphier-pro5-sd-reset";
518 compatible = "socionext,uniphier-pro5-perictrl",
519 "simple-mfd", "syscon";
520 reg = <0x59820000 0x200>;
523 compatible = "socionext,uniphier-pro5-peri-clock";
528 compatible = "socionext,uniphier-pro5-peri-reset";
534 compatible = "socionext,uniphier-pro5-soc-glue",
535 "simple-mfd", "syscon";
536 reg = <0x5f800000 0x2000>;
540 compatible = "socionext,uniphier-pro5-pinctrl";
546 compatible = "simple-mfd", "syscon";
547 reg = <0x5fc20000 0x200>;
551 compatible = "arm,cortex-a9-global-timer";
552 reg = <0x60000200 0x20>;
553 interrupts = <1 11 0x304>;
554 clocks = <&arm_timer_clk>;
558 compatible = "arm,cortex-a9-twd-timer";
559 reg = <0x60000600 0x20>;
560 interrupts = <1 13 0x304>;
561 clocks = <&arm_timer_clk>;
564 intc: interrupt-controller@60001000 {
565 compatible = "arm,cortex-a9-gic";
566 reg = <0x60001000 0x1000>,
568 #interrupt-cells = <3>;
569 interrupt-controller;
573 compatible = "socionext,uniphier-pro5-sysctrl",
574 "simple-mfd", "syscon";
575 reg = <0x61840000 0x10000>;
578 compatible = "socionext,uniphier-pro5-clock";
583 compatible = "socionext,uniphier-pro5-reset";
589 compatible = "socionext,uniphier-pro5-dwc3";
591 reg = <0x65b00000 0x1000>;
592 #address-cells = <1>;
595 pinctrl-names = "default";
596 pinctrl-0 = <&pinctrl_usb0>;
598 compatible = "snps,dwc3";
599 reg = <0x65a00000 0x10000>;
600 interrupts = <0 134 4>;
606 compatible = "socionext,uniphier-pro5-dwc3";
608 reg = <0x65d00000 0x1000>;
609 #address-cells = <1>;
612 pinctrl-names = "default";
613 pinctrl-0 = <&pinctrl_usb1>, <&pinctrl_usb2>;
615 compatible = "snps,dwc3";
616 reg = <0x65c00000 0x10000>;
617 interrupts = <0 137 4>;
622 nand: nand@68000000 {
623 compatible = "socionext,uniphier-denali-nand-v5b";
625 reg-names = "nand_data", "denali_reg";
626 reg = <0x68000000 0x20>, <0x68100000 0x1000>;
627 interrupts = <0 65 4>;
628 pinctrl-names = "default";
629 pinctrl-0 = <&pinctrl_nand>;
630 clocks = <&sys_clk 2>;
631 nand-ecc-strength = <8>;
634 emmc: sdhc@68400000 {
635 compatible = "socionext,uniphier-sdhc";
637 reg = <0x68400000 0x800>;
638 interrupts = <0 78 4>;
639 pinctrl-names = "default";
640 pinctrl-0 = <&pinctrl_emmc>;
641 clocks = <&sd_clk 1>;
642 reset-names = "host";
643 resets = <&sd_rst 1>;
652 compatible = "socionext,uniphier-sdhc";
654 reg = <0x68800000 0x800>;
655 interrupts = <0 76 4>;
656 pinctrl-names = "default", "1.8v";
657 pinctrl-0 = <&pinctrl_sd>;
658 pinctrl-1 = <&pinctrl_sd_1v8>;
659 clocks = <&sd_clk 0>;
660 reset-names = "host";
661 resets = <&sd_rst 0>;
671 /include/ "uniphier-pinctrl.dtsi"