1 // SPDX-License-Identifier: GPL-2.0+ OR MIT
3 // Device Tree Source for UniPhier LD11 SoC
5 // Copyright (C) 2016 Socionext Inc.
6 // Author: Masahiro Yamada <yamada.masahiro@socionext.com>
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/gpio/uniphier-gpio.h>
10 #include <dt-bindings/interrupt-controller/arm-gic.h>
13 compatible = "socionext,uniphier-ld11";
16 interrupt-parent = <&gic>;
35 compatible = "arm,cortex-a53";
37 clocks = <&sys_clk 33>;
38 enable-method = "psci";
39 next-level-cache = <&l2>;
40 operating-points-v2 = <&cluster0_opp>;
45 compatible = "arm,cortex-a53";
47 clocks = <&sys_clk 33>;
48 enable-method = "psci";
49 next-level-cache = <&l2>;
50 operating-points-v2 = <&cluster0_opp>;
58 cluster0_opp: opp-table {
59 compatible = "operating-points-v2";
63 opp-hz = /bits/ 64 <245000000>;
64 clock-latency-ns = <300>;
67 opp-hz = /bits/ 64 <250000000>;
68 clock-latency-ns = <300>;
71 opp-hz = /bits/ 64 <490000000>;
72 clock-latency-ns = <300>;
75 opp-hz = /bits/ 64 <500000000>;
76 clock-latency-ns = <300>;
79 opp-hz = /bits/ 64 <653334000>;
80 clock-latency-ns = <300>;
83 opp-hz = /bits/ 64 <666667000>;
84 clock-latency-ns = <300>;
87 opp-hz = /bits/ 64 <980000000>;
88 clock-latency-ns = <300>;
93 compatible = "arm,psci-1.0";
99 compatible = "fixed-clock";
101 clock-frequency = <25000000>;
105 emmc_pwrseq: emmc-pwrseq {
106 compatible = "mmc-pwrseq-emmc";
107 reset-gpios = <&gpio UNIPHIER_GPIO_PORT(3, 2) GPIO_ACTIVE_LOW>;
111 compatible = "arm,armv8-timer";
112 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
113 <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
114 <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
115 <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
119 #address-cells = <2>;
123 secure-memory@81000000 {
124 reg = <0x0 0x81000000 0x0 0x01000000>;
130 compatible = "simple-bus";
131 #address-cells = <1>;
133 ranges = <0 0 0 0xffffffff>;
136 compatible = "socionext,uniphier-scssi";
138 reg = <0x54006000 0x100>;
139 #address-cells = <1>;
141 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
142 pinctrl-names = "default";
143 pinctrl-0 = <&pinctrl_spi0>;
144 clocks = <&peri_clk 11>;
145 resets = <&peri_rst 11>;
149 compatible = "socionext,uniphier-scssi";
151 reg = <0x54006100 0x100>;
152 #address-cells = <1>;
154 interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
155 pinctrl-names = "default";
156 pinctrl-0 = <&pinctrl_spi1>;
157 clocks = <&peri_clk 12>;
158 resets = <&peri_rst 12>;
161 serial0: serial@54006800 {
162 compatible = "socionext,uniphier-uart";
164 reg = <0x54006800 0x40>;
165 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
166 pinctrl-names = "default";
167 pinctrl-0 = <&pinctrl_uart0>;
168 clocks = <&peri_clk 0>;
169 resets = <&peri_rst 0>;
172 serial1: serial@54006900 {
173 compatible = "socionext,uniphier-uart";
175 reg = <0x54006900 0x40>;
176 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
177 pinctrl-names = "default";
178 pinctrl-0 = <&pinctrl_uart1>;
179 clocks = <&peri_clk 1>;
180 resets = <&peri_rst 1>;
183 serial2: serial@54006a00 {
184 compatible = "socionext,uniphier-uart";
186 reg = <0x54006a00 0x40>;
187 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
188 pinctrl-names = "default";
189 pinctrl-0 = <&pinctrl_uart2>;
190 clocks = <&peri_clk 2>;
191 resets = <&peri_rst 2>;
194 serial3: serial@54006b00 {
195 compatible = "socionext,uniphier-uart";
197 reg = <0x54006b00 0x40>;
198 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
199 pinctrl-names = "default";
200 pinctrl-0 = <&pinctrl_uart3>;
201 clocks = <&peri_clk 3>;
202 resets = <&peri_rst 3>;
205 gpio: gpio@55000000 {
206 compatible = "socionext,uniphier-gpio";
207 reg = <0x55000000 0x200>;
208 interrupt-parent = <&aidet>;
209 interrupt-controller;
210 #interrupt-cells = <2>;
213 gpio-ranges = <&pinctrl 0 0 0>,
219 gpio-ranges-group-names = "gpio_range0",
226 socionext,interrupt-ranges = <0 48 16>, <16 154 5>,
231 compatible = "socionext,uniphier-ld11-aio";
232 reg = <0x56000000 0x80000>;
233 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
234 pinctrl-names = "default";
235 pinctrl-0 = <&pinctrl_aout1>,
238 clocks = <&sys_clk 40>;
240 resets = <&sys_rst 40>;
241 #sound-dai-cells = <1>;
242 socionext,syscon = <&soc_glue>;
250 i2s_pcmin2: endpoint {
257 remote-endpoint = <&evea_line>;
262 i2s_hpcmout1: endpoint {
269 remote-endpoint = <&evea_hp>;
273 spdif_port0: port@5 {
274 spdif_hiecout1: endpoint {
279 i2s_epcmout2: endpoint {
284 i2s_epcmout3: endpoint {
288 comp_spdif_port0: port@8 {
289 comp_spdif_hiecout1: endpoint {
295 compatible = "socionext,uniphier-evea";
296 reg = <0x57900000 0x1000>;
297 clock-names = "evea", "exiv";
298 clocks = <&sys_clk 41>, <&sys_clk 42>;
299 reset-names = "evea", "exiv", "adamv";
300 resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>;
301 #sound-dai-cells = <1>;
304 evea_line: endpoint {
305 remote-endpoint = <&i2s_line>;
311 remote-endpoint = <&i2s_hp>;
317 compatible = "socionext,uniphier-ld11-adamv",
318 "simple-mfd", "syscon";
319 reg = <0x57920000 0x1000>;
322 compatible = "socionext,uniphier-ld11-adamv-reset";
328 compatible = "socionext,uniphier-fi2c";
330 reg = <0x58780000 0x80>;
331 #address-cells = <1>;
333 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
334 pinctrl-names = "default";
335 pinctrl-0 = <&pinctrl_i2c0>;
336 clocks = <&peri_clk 4>;
337 resets = <&peri_rst 4>;
338 clock-frequency = <100000>;
342 compatible = "socionext,uniphier-fi2c";
344 reg = <0x58781000 0x80>;
345 #address-cells = <1>;
347 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
348 pinctrl-names = "default";
349 pinctrl-0 = <&pinctrl_i2c1>;
350 clocks = <&peri_clk 5>;
351 resets = <&peri_rst 5>;
352 clock-frequency = <100000>;
356 compatible = "socionext,uniphier-fi2c";
357 reg = <0x58782000 0x80>;
358 #address-cells = <1>;
360 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
361 clocks = <&peri_clk 6>;
362 resets = <&peri_rst 6>;
363 clock-frequency = <400000>;
367 compatible = "socionext,uniphier-fi2c";
369 reg = <0x58783000 0x80>;
370 #address-cells = <1>;
372 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
373 pinctrl-names = "default";
374 pinctrl-0 = <&pinctrl_i2c3>;
375 clocks = <&peri_clk 7>;
376 resets = <&peri_rst 7>;
377 clock-frequency = <100000>;
381 compatible = "socionext,uniphier-fi2c";
383 reg = <0x58784000 0x80>;
384 #address-cells = <1>;
386 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
387 pinctrl-names = "default";
388 pinctrl-0 = <&pinctrl_i2c4>;
389 clocks = <&peri_clk 8>;
390 resets = <&peri_rst 8>;
391 clock-frequency = <100000>;
395 compatible = "socionext,uniphier-fi2c";
396 reg = <0x58785000 0x80>;
397 #address-cells = <1>;
399 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
400 clocks = <&peri_clk 9>;
401 resets = <&peri_rst 9>;
402 clock-frequency = <400000>;
405 system_bus: system-bus@58c00000 {
406 compatible = "socionext,uniphier-system-bus";
408 reg = <0x58c00000 0x400>;
409 #address-cells = <2>;
411 pinctrl-names = "default";
412 pinctrl-0 = <&pinctrl_system_bus>;
416 compatible = "socionext,uniphier-smpctrl";
417 reg = <0x59801000 0x400>;
421 compatible = "socionext,uniphier-ld11-sdctrl",
422 "simple-mfd", "syscon";
423 reg = <0x59810000 0x400>;
426 compatible = "socionext,uniphier-ld11-sd-reset";
432 compatible = "socionext,uniphier-ld11-perictrl",
433 "simple-mfd", "syscon";
434 reg = <0x59820000 0x200>;
437 compatible = "socionext,uniphier-ld11-peri-clock";
442 compatible = "socionext,uniphier-ld11-peri-reset";
448 compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc";
449 reg = <0x5a000000 0x400>;
450 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
451 pinctrl-names = "default";
452 pinctrl-0 = <&pinctrl_emmc>;
453 clocks = <&sys_clk 4>;
454 resets = <&sys_rst 4>;
458 mmc-pwrseq = <&emmc_pwrseq>;
459 cdns,phy-input-delay-legacy = <9>;
460 cdns,phy-input-delay-mmc-highspeed = <2>;
461 cdns,phy-input-delay-mmc-ddr = <3>;
462 cdns,phy-dll-delay-sdclk = <21>;
463 cdns,phy-dll-delay-sdclk-hsmmc = <21>;
467 compatible = "socionext,uniphier-ehci", "generic-ehci";
469 reg = <0x5a800100 0x100>;
470 interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
471 pinctrl-names = "default";
472 pinctrl-0 = <&pinctrl_usb0>;
473 clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 8>,
475 resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 8>,
479 has-transaction-translator;
483 compatible = "socionext,uniphier-ehci", "generic-ehci";
485 reg = <0x5a810100 0x100>;
486 interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>;
487 pinctrl-names = "default";
488 pinctrl-0 = <&pinctrl_usb1>;
489 clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 9>,
491 resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 9>,
495 has-transaction-translator;
499 compatible = "socionext,uniphier-ehci", "generic-ehci";
501 reg = <0x5a820100 0x100>;
502 interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>;
503 pinctrl-names = "default";
504 pinctrl-0 = <&pinctrl_usb2>;
505 clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 10>,
507 resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 10>,
511 has-transaction-translator;
515 compatible = "socionext,uniphier-ld11-mioctrl",
516 "simple-mfd", "syscon";
517 reg = <0x5b3e0000 0x800>;
520 compatible = "socionext,uniphier-ld11-mio-clock";
525 compatible = "socionext,uniphier-ld11-mio-reset";
527 resets = <&sys_rst 7>;
531 soc_glue: soc-glue@5f800000 {
532 compatible = "socionext,uniphier-ld11-soc-glue",
533 "simple-mfd", "syscon";
534 reg = <0x5f800000 0x2000>;
537 compatible = "socionext,uniphier-ld11-pinctrl";
541 compatible = "socionext,uniphier-ld11-usb2-phy";
542 #address-cells = <1>;
563 compatible = "socionext,uniphier-ld11-soc-glue-debug",
565 #address-cells = <1>;
567 ranges = <0 0x5f900000 0x2000>;
570 compatible = "socionext,uniphier-efuse";
575 compatible = "socionext,uniphier-efuse";
580 xdmac: dma-controller@5fc10000 {
581 compatible = "socionext,uniphier-xdmac";
582 reg = <0x5fc10000 0x5300>;
583 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
588 aidet: interrupt-controller@5fc20000 {
589 compatible = "socionext,uniphier-ld11-aidet";
590 reg = <0x5fc20000 0x200>;
591 interrupt-controller;
592 #interrupt-cells = <2>;
595 gic: interrupt-controller@5fe00000 {
596 compatible = "arm,gic-v3";
597 reg = <0x5fe00000 0x10000>, /* GICD */
598 <0x5fe40000 0x80000>; /* GICR */
599 interrupt-controller;
600 #interrupt-cells = <3>;
601 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
605 compatible = "socionext,uniphier-ld11-sysctrl",
606 "simple-mfd", "syscon";
607 reg = <0x61840000 0x10000>;
610 compatible = "socionext,uniphier-ld11-clock";
615 compatible = "socionext,uniphier-ld11-reset";
620 compatible = "socionext,uniphier-wdt";
624 eth: ethernet@65000000 {
625 compatible = "socionext,uniphier-ld11-ave4";
627 reg = <0x65000000 0x8500>;
628 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
629 clock-names = "ether";
630 clocks = <&sys_clk 6>;
631 reset-names = "ether";
632 resets = <&sys_rst 6>;
633 phy-mode = "internal";
634 local-mac-address = [00 00 00 00 00 00];
635 socionext,syscon-phy-mode = <&soc_glue 0>;
638 #address-cells = <1>;
643 nand: nand-controller@68000000 {
644 compatible = "socionext,uniphier-denali-nand-v5b";
646 reg-names = "nand_data", "denali_reg";
647 reg = <0x68000000 0x20>, <0x68100000 0x1000>;
648 #address-cells = <1>;
650 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
651 pinctrl-names = "default";
652 pinctrl-0 = <&pinctrl_nand>;
653 clock-names = "nand", "nand_x", "ecc";
654 clocks = <&sys_clk 2>, <&sys_clk 3>, <&sys_clk 3>;
655 reset-names = "nand", "reg";
656 resets = <&sys_rst 2>, <&sys_rst 2>;
661 #include "uniphier-pinctrl.dtsi"
664 drive-strength = <4>; /* default: 4mA */
668 drive-strength = <8>; /* 8mA */