1 // SPDX-License-Identifier: GPL-2.0-or-later
2 // Copyright 2019 IBM Corp.
4 #include <dt-bindings/interrupt-controller/arm-gic.h>
5 #include <dt-bindings/clock/ast2600-clock.h>
9 compatible = "aspeed,ast2600";
12 interrupt-parent = <&gic>;
44 enable-method = "aspeed,ast2600-smp";
47 compatible = "arm,cortex-a7";
53 compatible = "arm,cortex-a7";
60 compatible = "arm,armv7-timer";
61 interrupt-parent = <&gic>;
62 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
63 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
64 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
65 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
66 clocks = <&syscon ASPEED_CLK_HPLL>;
67 arm,cpu-registers-not-fw-configured;
71 compatible = "simple-bus";
77 gic: interrupt-controller@40461000 {
78 compatible = "arm,cortex-a7-gic";
79 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
80 #interrupt-cells = <3>;
82 interrupt-parent = <&gic>;
83 reg = <0x40461000 0x1000>,
90 reg = < 0x1e620000 0xc4
91 0x20000000 0x10000000 >;
94 compatible = "aspeed,ast2600-fmc";
95 clocks = <&syscon ASPEED_CLK_AHB>;
97 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
100 compatible = "jedec,spi-nor";
101 spi-max-frequency = <50000000>;
106 compatible = "jedec,spi-nor";
107 spi-max-frequency = <50000000>;
112 compatible = "jedec,spi-nor";
113 spi-max-frequency = <50000000>;
119 reg = < 0x1e630000 0xc4
120 0x30000000 0x10000000 >;
121 #address-cells = <1>;
123 compatible = "aspeed,ast2600-spi";
124 clocks = <&syscon ASPEED_CLK_AHB>;
128 compatible = "jedec,spi-nor";
129 spi-max-frequency = <50000000>;
134 compatible = "jedec,spi-nor";
135 spi-max-frequency = <50000000>;
141 reg = < 0x1e631000 0xc4
142 0x50000000 0x10000000 >;
143 #address-cells = <1>;
145 compatible = "aspeed,ast2600-spi";
146 clocks = <&syscon ASPEED_CLK_AHB>;
150 compatible = "jedec,spi-nor";
151 spi-max-frequency = <50000000>;
156 compatible = "jedec,spi-nor";
157 spi-max-frequency = <50000000>;
162 compatible = "jedec,spi-nor";
163 spi-max-frequency = <50000000>;
168 mdio0: mdio@1e650000 {
169 compatible = "aspeed,ast2600-mdio";
170 reg = <0x1e650000 0x8>;
171 #address-cells = <1>;
174 pinctrl-names = "default";
175 pinctrl-0 = <&pinctrl_mdio1_default>;
178 mdio1: mdio@1e650008 {
179 compatible = "aspeed,ast2600-mdio";
180 reg = <0x1e650008 0x8>;
181 #address-cells = <1>;
184 pinctrl-names = "default";
185 pinctrl-0 = <&pinctrl_mdio2_default>;
188 mdio2: mdio@1e650010 {
189 compatible = "aspeed,ast2600-mdio";
190 reg = <0x1e650010 0x8>;
191 #address-cells = <1>;
194 pinctrl-names = "default";
195 pinctrl-0 = <&pinctrl_mdio3_default>;
198 mdio3: mdio@1e650018 {
199 compatible = "aspeed,ast2600-mdio";
200 reg = <0x1e650018 0x8>;
201 #address-cells = <1>;
204 pinctrl-names = "default";
205 pinctrl-0 = <&pinctrl_mdio4_default>;
208 mac0: ftgmac@1e660000 {
209 compatible = "aspeed,ast2600-mac", "faraday,ftgmac100";
210 reg = <0x1e660000 0x180>;
211 #address-cells = <1>;
213 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
214 clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>;
218 mac1: ftgmac@1e680000 {
219 compatible = "aspeed,ast2600-mac", "faraday,ftgmac100";
220 reg = <0x1e680000 0x180>;
221 #address-cells = <1>;
223 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
224 clocks = <&syscon ASPEED_CLK_GATE_MAC2CLK>;
228 mac2: ftgmac@1e670000 {
229 compatible = "aspeed,ast2600-mac", "faraday,ftgmac100";
230 reg = <0x1e670000 0x180>;
231 #address-cells = <1>;
233 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
234 clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>;
238 mac3: ftgmac@1e690000 {
239 compatible = "aspeed,ast2600-mac", "faraday,ftgmac100";
240 reg = <0x1e690000 0x180>;
241 #address-cells = <1>;
243 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
244 clocks = <&syscon ASPEED_CLK_GATE_MAC4CLK>;
249 compatible = "simple-bus";
250 #address-cells = <1>;
254 syscon: syscon@1e6e2000 {
255 compatible = "aspeed,ast2600-scu", "syscon", "simple-mfd";
256 reg = <0x1e6e2000 0x1000>;
257 ranges = <0 0x1e6e2000 0x1000>;
258 #address-cells = <1>;
264 compatible = "aspeed,ast2600-pinctrl";
268 compatible = "aspeed,ast2600-smpmem";
273 rng: hwrng@1e6e2524 {
274 compatible = "timeriomem_rng";
275 reg = <0x1e6e2524 0x4>;
280 gpio0: gpio@1e780000 {
283 compatible = "aspeed,ast2600-gpio";
284 reg = <0x1e780000 0x800>;
285 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
286 gpio-ranges = <&pinctrl 0 0 208>;
288 clocks = <&syscon ASPEED_CLK_APB2>;
289 interrupt-controller;
290 #interrupt-cells = <2>;
293 gpio1: gpio@1e780800 {
296 compatible = "aspeed,ast2600-gpio";
297 reg = <0x1e780800 0x800>;
298 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
299 gpio-ranges = <&pinctrl 0 208 36>;
301 clocks = <&syscon ASPEED_CLK_APB1>;
302 interrupt-controller;
303 #interrupt-cells = <2>;
307 compatible = "aspeed,ast2600-rtc";
308 reg = <0x1e781000 0x18>;
309 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
313 timer: timer@1e782000 {
314 compatible = "aspeed,ast2600-timer";
315 reg = <0x1e782000 0x90>;
316 interrupts-extended = <&gic GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
317 <&gic GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
318 <&gic GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
319 <&gic GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
320 <&gic GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
321 <&gic GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
322 <&gic GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
323 <&gic GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
324 clocks = <&syscon ASPEED_CLK_APB1>;
325 clock-names = "PCLK";
328 uart1: serial@1e783000 {
329 compatible = "ns16550a";
330 reg = <0x1e783000 0x20>;
333 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
334 clocks = <&syscon ASPEED_CLK_GATE_UART1CLK>;
335 resets = <&lpc_reset 4>;
337 pinctrl-names = "default";
338 pinctrl-0 = <&pinctrl_txd1_default &pinctrl_rxd1_default>;
342 uart5: serial@1e784000 {
343 compatible = "ns16550a";
344 reg = <0x1e784000 0x1000>;
346 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
347 clocks = <&syscon ASPEED_CLK_GATE_UART5CLK>;
351 wdt1: watchdog@1e785000 {
352 compatible = "aspeed,ast2600-wdt";
353 reg = <0x1e785000 0x40>;
356 wdt2: watchdog@1e785040 {
357 compatible = "aspeed,ast2600-wdt";
358 reg = <0x1e785040 0x40>;
362 wdt3: watchdog@1e785080 {
363 compatible = "aspeed,ast2600-wdt";
364 reg = <0x1e785080 0x40>;
368 wdt4: watchdog@1e7850C0 {
369 compatible = "aspeed,ast2600-wdt";
370 reg = <0x1e7850C0 0x40>;
375 compatible = "aspeed,ast2600-lpc", "simple-mfd";
376 reg = <0x1e789000 0x1000>;
378 #address-cells = <1>;
380 ranges = <0x0 0x1e789000 0x1000>;
383 compatible = "aspeed,ast2600-lpc-bmc", "simple-mfd", "syscon";
387 #address-cells = <1>;
389 ranges = <0x0 0x0 0x80>;
392 compatible = "aspeed,ast2600-kcs-bmc";
393 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
398 compatible = "aspeed,ast2600-kcs-bmc";
399 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
404 compatible = "aspeed,ast2600-kcs-bmc";
405 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
411 lpc_host: lpc-host@80 {
412 compatible = "aspeed,ast2600-lpc-host", "simple-mfd", "syscon";
416 #address-cells = <1>;
418 ranges = <0x0 0x80 0x1e0>;
421 compatible = "aspeed,ast2600-kcs-bmc";
422 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
427 lpc_ctrl: lpc-ctrl@0 {
428 compatible = "aspeed,ast2600-lpc-ctrl";
430 clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
434 lpc_snoop: lpc-snoop@0 {
435 compatible = "aspeed,ast2600-lpc-snoop";
437 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
442 compatible = "aspeed,ast2600-lhc";
443 reg = <0x20 0x24 0x48 0x8>;
446 lpc_reset: reset-controller@18 {
447 compatible = "aspeed,ast2600-lpc-reset";
453 compatible = "aspeed,ast2600-ibt-bmc";
455 interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
462 compatible = "aspeed,ast2600-sd-controller";
463 reg = <0x1e740000 0x100>;
464 #address-cells = <1>;
466 ranges = <0 0x1e740000 0x10000>;
467 clocks = <&syscon ASPEED_CLK_GATE_SDCLK>;
470 sdhci0: sdhci@1e740100 {
471 compatible = "aspeed,ast2600-sdhci", "sdhci";
473 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
475 clocks = <&syscon ASPEED_CLK_SDIO>;
479 sdhci1: sdhci@1e740200 {
480 compatible = "aspeed,ast2600-sdhci", "sdhci";
482 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
484 clocks = <&syscon ASPEED_CLK_SDIO>;
489 emmc_controller: sdc@1e750000 {
490 compatible = "aspeed,ast2600-sd-controller";
491 reg = <0x1e750000 0x100>;
492 #address-cells = <1>;
494 ranges = <0 0x1e750000 0x10000>;
495 clocks = <&syscon ASPEED_CLK_GATE_EMMCCLK>;
498 emmc: sdhci@1e750100 {
499 compatible = "aspeed,ast2600-sdhci";
502 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
503 clocks = <&syscon ASPEED_CLK_EMMC>;
504 pinctrl-names = "default";
505 pinctrl-0 = <&pinctrl_emmc_default>;
509 vuart1: serial@1e787000 {
510 compatible = "aspeed,ast2500-vuart";
511 reg = <0x1e787000 0x40>;
513 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
514 clocks = <&syscon ASPEED_CLK_APB1>;
519 vuart2: serial@1e788000 {
520 compatible = "aspeed,ast2500-vuart";
521 reg = <0x1e788000 0x40>;
523 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
524 clocks = <&syscon ASPEED_CLK_APB1>;
529 uart2: serial@1e78d000 {
530 compatible = "ns16550a";
531 reg = <0x1e78d000 0x20>;
534 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
535 clocks = <&syscon ASPEED_CLK_GATE_UART2CLK>;
536 resets = <&lpc_reset 5>;
538 pinctrl-names = "default";
539 pinctrl-0 = <&pinctrl_txd2_default &pinctrl_rxd2_default>;
543 uart3: serial@1e78e000 {
544 compatible = "ns16550a";
545 reg = <0x1e78e000 0x20>;
548 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
549 clocks = <&syscon ASPEED_CLK_GATE_UART3CLK>;
550 resets = <&lpc_reset 6>;
552 pinctrl-names = "default";
553 pinctrl-0 = <&pinctrl_txd3_default &pinctrl_rxd3_default>;
557 uart4: serial@1e78f000 {
558 compatible = "ns16550a";
559 reg = <0x1e78f000 0x20>;
562 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
563 clocks = <&syscon ASPEED_CLK_GATE_UART4CLK>;
564 resets = <&lpc_reset 7>;
566 pinctrl-names = "default";
567 pinctrl-0 = <&pinctrl_txd4_default &pinctrl_rxd4_default>;
572 compatible = "simple-bus";
573 #address-cells = <1>;
575 ranges = <0 0x1e78a000 0x1000>;
578 fsim0: fsi@1e79b000 {
579 compatible = "aspeed,ast2600-fsi-master", "fsi-master";
580 reg = <0x1e79b000 0x94>;
581 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
582 pinctrl-names = "default";
583 pinctrl-0 = <&pinctrl_fsi1_default>;
584 clocks = <&syscon ASPEED_CLK_GATE_FSICLK>;
588 fsim1: fsi@1e79b100 {
589 compatible = "aspeed,ast2600-fsi-master", "fsi-master";
590 reg = <0x1e79b100 0x94>;
591 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
592 pinctrl-names = "default";
593 pinctrl-0 = <&pinctrl_fsi2_default>;
594 clocks = <&syscon ASPEED_CLK_GATE_FSICLK>;
601 #include "aspeed-g6-pinctrl.dtsi"
605 #address-cells = <1>;
607 #interrupt-cells = <1>;
609 compatible = "aspeed,ast2600-i2c-bus";
610 clocks = <&syscon ASPEED_CLK_APB2>;
611 resets = <&syscon ASPEED_RESET_I2C>;
612 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
613 bus-frequency = <100000>;
614 pinctrl-names = "default";
615 pinctrl-0 = <&pinctrl_i2c1_default>;
620 #address-cells = <1>;
622 #interrupt-cells = <1>;
624 compatible = "aspeed,ast2600-i2c-bus";
625 clocks = <&syscon ASPEED_CLK_APB2>;
626 resets = <&syscon ASPEED_RESET_I2C>;
627 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
628 bus-frequency = <100000>;
629 pinctrl-names = "default";
630 pinctrl-0 = <&pinctrl_i2c2_default>;
635 #address-cells = <1>;
637 #interrupt-cells = <1>;
639 compatible = "aspeed,ast2600-i2c-bus";
640 clocks = <&syscon ASPEED_CLK_APB2>;
641 resets = <&syscon ASPEED_RESET_I2C>;
642 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
643 bus-frequency = <100000>;
644 pinctrl-names = "default";
645 pinctrl-0 = <&pinctrl_i2c3_default>;
650 #address-cells = <1>;
652 #interrupt-cells = <1>;
654 compatible = "aspeed,ast2600-i2c-bus";
655 clocks = <&syscon ASPEED_CLK_APB2>;
656 resets = <&syscon ASPEED_RESET_I2C>;
657 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
658 bus-frequency = <100000>;
659 pinctrl-names = "default";
660 pinctrl-0 = <&pinctrl_i2c4_default>;
665 #address-cells = <1>;
667 #interrupt-cells = <1>;
669 compatible = "aspeed,ast2600-i2c-bus";
670 clocks = <&syscon ASPEED_CLK_APB2>;
671 resets = <&syscon ASPEED_RESET_I2C>;
672 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
673 bus-frequency = <100000>;
674 pinctrl-names = "default";
675 pinctrl-0 = <&pinctrl_i2c5_default>;
680 #address-cells = <1>;
682 #interrupt-cells = <1>;
684 compatible = "aspeed,ast2600-i2c-bus";
685 clocks = <&syscon ASPEED_CLK_APB2>;
686 resets = <&syscon ASPEED_RESET_I2C>;
687 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
688 bus-frequency = <100000>;
689 pinctrl-names = "default";
690 pinctrl-0 = <&pinctrl_i2c6_default>;
695 #address-cells = <1>;
697 #interrupt-cells = <1>;
699 compatible = "aspeed,ast2600-i2c-bus";
700 clocks = <&syscon ASPEED_CLK_APB2>;
701 resets = <&syscon ASPEED_RESET_I2C>;
702 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
703 bus-frequency = <100000>;
704 pinctrl-names = "default";
705 pinctrl-0 = <&pinctrl_i2c7_default>;
710 #address-cells = <1>;
712 #interrupt-cells = <1>;
714 compatible = "aspeed,ast2600-i2c-bus";
715 clocks = <&syscon ASPEED_CLK_APB2>;
716 resets = <&syscon ASPEED_RESET_I2C>;
717 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
718 bus-frequency = <100000>;
719 pinctrl-names = "default";
720 pinctrl-0 = <&pinctrl_i2c8_default>;
725 #address-cells = <1>;
727 #interrupt-cells = <1>;
729 compatible = "aspeed,ast2600-i2c-bus";
730 clocks = <&syscon ASPEED_CLK_APB2>;
731 resets = <&syscon ASPEED_RESET_I2C>;
732 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
733 bus-frequency = <100000>;
734 pinctrl-names = "default";
735 pinctrl-0 = <&pinctrl_i2c9_default>;
740 #address-cells = <1>;
742 #interrupt-cells = <1>;
744 compatible = "aspeed,ast2600-i2c-bus";
745 clocks = <&syscon ASPEED_CLK_APB2>;
746 resets = <&syscon ASPEED_RESET_I2C>;
747 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
748 bus-frequency = <100000>;
749 pinctrl-names = "default";
750 pinctrl-0 = <&pinctrl_i2c10_default>;
755 #address-cells = <1>;
757 #interrupt-cells = <1>;
759 compatible = "aspeed,ast2600-i2c-bus";
760 clocks = <&syscon ASPEED_CLK_APB2>;
761 resets = <&syscon ASPEED_RESET_I2C>;
762 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
763 bus-frequency = <100000>;
764 pinctrl-names = "default";
765 pinctrl-0 = <&pinctrl_i2c11_default>;
770 #address-cells = <1>;
772 #interrupt-cells = <1>;
774 compatible = "aspeed,ast2600-i2c-bus";
775 clocks = <&syscon ASPEED_CLK_APB2>;
776 resets = <&syscon ASPEED_RESET_I2C>;
777 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
778 bus-frequency = <100000>;
779 pinctrl-names = "default";
780 pinctrl-0 = <&pinctrl_i2c12_default>;
785 #address-cells = <1>;
787 #interrupt-cells = <1>;
789 compatible = "aspeed,ast2600-i2c-bus";
790 clocks = <&syscon ASPEED_CLK_APB2>;
791 resets = <&syscon ASPEED_RESET_I2C>;
792 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
793 bus-frequency = <100000>;
794 pinctrl-names = "default";
795 pinctrl-0 = <&pinctrl_i2c13_default>;
800 #address-cells = <1>;
802 #interrupt-cells = <1>;
804 compatible = "aspeed,ast2600-i2c-bus";
805 clocks = <&syscon ASPEED_CLK_APB2>;
806 resets = <&syscon ASPEED_RESET_I2C>;
807 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
808 bus-frequency = <100000>;
809 pinctrl-names = "default";
810 pinctrl-0 = <&pinctrl_i2c14_default>;
815 #address-cells = <1>;
817 #interrupt-cells = <1>;
819 compatible = "aspeed,ast2600-i2c-bus";
820 clocks = <&syscon ASPEED_CLK_APB2>;
821 resets = <&syscon ASPEED_RESET_I2C>;
822 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
823 bus-frequency = <100000>;
824 pinctrl-names = "default";
825 pinctrl-0 = <&pinctrl_i2c15_default>;
830 #address-cells = <1>;
832 #interrupt-cells = <1>;
834 compatible = "aspeed,ast2600-i2c-bus";
835 clocks = <&syscon ASPEED_CLK_APB2>;
836 resets = <&syscon ASPEED_RESET_I2C>;
837 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
838 bus-frequency = <100000>;
839 pinctrl-names = "default";
840 pinctrl-0 = <&pinctrl_i2c16_default>;