| // SPDX-License-Identifier: GPL-2.0-only OR MIT |
| /* |
| * Device Tree Source for AST27xx SoC Family Main Domain peripherals |
| * |
| * Copyright (C) 2026 ASPEED Technology Inc. |
| */ |
| |
| #include <dt-bindings/clock/aspeed,ast2700-scu.h> |
| #include <dt-bindings/reset/aspeed,ast2700-scu.h> |
| #include <dt-bindings/interrupt-controller/aspeed-scu-ic.h> |
| |
| &soc1 { |
| fmc: spi@14000000 { |
| reg = <0x0 0x14000000 0x0 0xc4>, <0x1 0x00000000 0x0 0x80000000>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| compatible = "aspeed,ast2700-fmc"; |
| status = "disabled"; |
| clocks = <&syscon1 SCU1_CLK_AHB>; |
| interrupts-extended = <&intc1 121>; |
| num-cs = <3>; |
| |
| flash@0 { |
| reg = < 0 >; |
| compatible = "jedec,spi-nor"; |
| spi-max-frequency = <50000000>; |
| spi-rx-bus-width = <2>; |
| status = "disabled"; |
| }; |
| |
| flash@1 { |
| reg = < 1 >; |
| compatible = "jedec,spi-nor"; |
| spi-max-frequency = <50000000>; |
| spi-rx-bus-width = <2>; |
| status = "disabled"; |
| }; |
| |
| flash@2 { |
| reg = < 2 >; |
| compatible = "jedec,spi-nor"; |
| spi-max-frequency = <50000000>; |
| spi-rx-bus-width = <2>; |
| status = "disabled"; |
| }; |
| }; |
| |
| spi0: spi@14010000 { |
| reg = <0x0 0x14010000 0x0 0xc4>, <0x1 0x80000000 0x0 0x80000000>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| compatible = "aspeed,ast2700-spi"; |
| clocks = <&syscon1 SCU1_CLK_AHB>; |
| interrupts-extended = <&intc1 122>; |
| status = "disabled"; |
| num-cs = <2>; |
| |
| flash@0 { |
| reg = < 0 >; |
| compatible = "jedec,spi-nor"; |
| spi-max-frequency = <50000000>; |
| spi-rx-bus-width = <2>; |
| status = "disabled"; |
| }; |
| |
| flash@1 { |
| reg = < 1 >; |
| compatible = "jedec,spi-nor"; |
| spi-max-frequency = <50000000>; |
| spi-rx-bus-width = <2>; |
| status = "disabled"; |
| }; |
| }; |
| |
| spi1: spi@14020000 { |
| reg = <0x0 0x14020000 0x0 0xc4>, <0x2 0x00000000 0x0 0x80000000>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| compatible = "aspeed,ast2700-spi"; |
| clocks = <&syscon1 SCU1_CLK_AHB>; |
| interrupts-extended = <&intc1 123>; |
| status = "disabled"; |
| num-cs = <2>; |
| |
| flash@0 { |
| reg = < 0 >; |
| compatible = "jedec,spi-nor"; |
| spi-max-frequency = <50000000>; |
| spi-rx-bus-width = <2>; |
| status = "disabled"; |
| }; |
| |
| flash@1 { |
| reg = < 1 >; |
| compatible = "jedec,spi-nor"; |
| spi-max-frequency = <50000000>; |
| spi-rx-bus-width = <2>; |
| status = "disabled"; |
| }; |
| }; |
| |
| spi2: spi@14030000 { |
| reg = <0x0 0x14030000 0x0 0x1f0>, <0x2 0x80000000 0x0 0x80000000>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| compatible = "aspeed,ast2700-spi"; |
| clocks = <&syscon1 SCU1_CLK_AHB>; |
| resets = <&syscon1 SCU1_RESET_SPI2>; |
| interrupts-extended = <&intc1 124>; |
| num-cs = <2>; |
| status = "disabled"; |
| }; |
| |
| mdio0: mdio@14040000 { |
| compatible = "aspeed,ast2700-mdio", "aspeed,ast2600-mdio"; |
| reg = <0 0x14040000 0 0x8>; |
| resets = <&syscon1 SCU1_RESET_MII>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_mdio0_default>; |
| status = "disabled"; |
| }; |
| |
| mdio1: mdio@14040008 { |
| compatible = "aspeed,ast2700-mdio", "aspeed,ast2600-mdio"; |
| reg = <0 0x14040008 0 0x8>; |
| resets = <&syscon1 SCU1_RESET_MII>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_mdio1_default>; |
| status = "disabled"; |
| }; |
| |
| mdio2: mdio@14040010 { |
| compatible = "aspeed,ast2700-mdio", "aspeed,ast2600-mdio"; |
| reg = <0 0x14040010 0 0x8>; |
| resets = <&syscon1 SCU1_RESET_MII>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_mdio2_default>; |
| status = "disabled"; |
| }; |
| |
| sdio_controller: sdc@14080000 { |
| compatible = "aspeed,ast2700-sd-controller", "aspeed,ast2600-sd-controller"; |
| reg = <0 0x14080000 0 0x100>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges = <0x0 0x0 0x14080000 0x10000>; |
| clocks = <&syscon1 SCU1_CLK_GATE_SDCLK>; |
| resets = <&syscon1 SCU1_RESET_SD>; |
| status = "disabled"; |
| |
| sdhci: sdhci@100 { |
| compatible = "aspeed,ast2700-sdhci", "aspeed,ast2600-sdhci"; |
| reg = <0x100 0x100>; |
| sdhci,auto-cmd12; |
| interrupts-extended = <&intc1 161>; |
| clocks = <&syscon1 SCU1_CLK_GATE_SDCLK>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_sd_default>; |
| status = "disabled"; |
| }; |
| }; |
| |
| pwm_tach: pwm-tach-controller@140c0000 { |
| compatible = "aspeed,ast2700-pwm-tach", "aspeed,ast2600-pwm-tach"; |
| reg = <0x0 0x140c0000 0 0x100>; |
| clocks = <&syscon1 SCU1_CLK_AHB>; |
| resets = <&syscon1 SCU1_RESET_PWM>; |
| #pwm-cells = <3>; |
| status = "disabled"; |
| }; |
| |
| uhci1: usb@14110000 { |
| compatible = "aspeed,ast2700-uhci", "generic-uhci"; |
| reg = <0x0 0x14110000 0x0 0x100>; |
| interrupts-extended = <&intc1 155>; |
| #ports = <2>; |
| clocks = <&syscon1 SCU1_CLK_GATE_UHCICLK>; |
| resets = <&syscon1 SCU1_RESET_UHCI>; |
| status = "disabled"; |
| }; |
| |
| vhubc: usb-vhub@14120000 { |
| compatible = "aspeed,ast2700-usb-vhub"; |
| reg = <0x0 0x14120000 0x0 0x820>; |
| interrupts-extended = <&intc1 156>; |
| clocks = <&syscon1 SCU1_CLK_GATE_PORTCUSB2CLK>; |
| resets = <&syscon1 SCU1_RESET_PORTC_VHUB_EHCI>; |
| aspeed,vhub-downstream-ports = <7>; |
| aspeed,vhub-generic-endpoints = <21>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usb2cd_default>; |
| status = "disabled"; |
| }; |
| |
| ehci2: usb@14121000 { |
| compatible = "aspeed,ast2700-ehci", "generic-ehci"; |
| reg = <0x0 0x14121000 0x0 0x100>; |
| interrupts-extended = <&intc1 156>; |
| clocks = <&syscon1 SCU1_CLK_GATE_PORTCUSB2CLK>; |
| resets = <&syscon1 SCU1_RESET_PORTC_VHUB_EHCI>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usb2ch_default>; |
| status = "disabled"; |
| }; |
| |
| vhubd: usb-vhub@14122000 { |
| compatible = "aspeed,ast2700-usb-vhub"; |
| reg = <0x0 0x14122000 0x0 0x820>; |
| interrupts-extended = <&intc1 157>; |
| clocks = <&syscon1 SCU1_CLK_GATE_PORTDUSB2CLK>; |
| resets = <&syscon1 SCU1_RESET_PORTD_VHUB_EHCI>; |
| aspeed,vhub-downstream-ports = <7>; |
| aspeed,vhub-generic-endpoints = <21>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usb2dd_default>; |
| status = "disabled"; |
| }; |
| |
| ehci3: usb@14123000 { |
| compatible = "aspeed,ast2700-ehci", "generic-ehci"; |
| reg = <0x0 0x14123000 0x0 0x100>; |
| interrupts-extended = <&intc1 157>; |
| clocks = <&syscon1 SCU1_CLK_GATE_PORTDUSB2CLK>; |
| resets = <&syscon1 SCU1_RESET_PORTD_VHUB_EHCI>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usb2dh_default>; |
| status = "disabled"; |
| }; |
| |
| sram1: sram@14b80000 { |
| compatible = "mmio-sram"; |
| reg = <0x0 0x14b80000 0x0 0x40000>; |
| ranges = <0x0 0x0 0x14b80000 0x40000>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| soc1-sram@0 { |
| reg = <0x0 0x40000>; |
| export; |
| }; |
| }; |
| |
| adc0: adc@14c00000 { |
| compatible = "aspeed,ast2700-adc0"; |
| reg = <0x0 0x14c00000 0 0x100>; |
| clocks = <&syscon1 SCU1_CLK_AHB>; |
| resets = <&syscon1 SCU1_RESET_ADC>; |
| interrupts-extended = <&intc1 80>; |
| #io-channel-cells = <1>; |
| status = "disabled"; |
| }; |
| |
| adc1: adc@14c00100 { |
| compatible = "aspeed,ast2700-adc1"; |
| reg = <0x0 0x14c00100 0x0 0x100>; |
| clocks = <&syscon1 SCU1_CLK_AHB>; |
| resets = <&syscon1 SCU1_RESET_ADC>; |
| interrupts-extended = <&intc1 80>; |
| #io-channel-cells = <1>; |
| status = "disabled"; |
| }; |
| |
| syscon1: syscon@14c02000 { |
| compatible = "aspeed,ast2700-scu1", "syscon", "simple-mfd"; |
| reg = <0x0 0x14c02000 0x0 0x1000>; |
| ranges = <0x0 0x0 0x14c02000 0x1000>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| #clock-cells = <1>; |
| #reset-cells = <1>; |
| |
| scu_ic2: interrupt-controller@100 { |
| compatible = "aspeed,ast2700-scu-ic2"; |
| reg = <0x100 0x8>; |
| interrupts-extended = <&intc1 160>; |
| #interrupt-cells = <1>; |
| interrupt-controller; |
| }; |
| |
| scu_ic3: interrupt-controller@108 { |
| compatible = "aspeed,ast2700-scu-ic3"; |
| reg = <0x108 0x8>; |
| interrupts-extended = <&intc1 186>; |
| #interrupt-cells = <1>; |
| interrupt-controller; |
| }; |
| |
| pinctrl1: pinctrl@400 { |
| compatible = "aspeed,ast2700-soc1-pinctrl"; |
| reg = <0x400 0x2a0>; |
| }; |
| }; |
| |
| gpio1: gpio@14c0b000 { |
| #gpio-cells = <2>; |
| gpio-controller; |
| compatible = "aspeed,ast2700-gpio"; |
| reg = <0x0 0x14c0b000 0x0 0x1000>; |
| interrupts-extended = <&intc1 82>; |
| gpio-ranges = <&pinctrl1 0 0 216>; |
| ngpios = <216>; |
| clocks = <&syscon1 SCU1_CLK_AHB>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| }; |
| |
| sgpiom0: sgpiom@14c0c000 { |
| #gpio-cells = <2>; |
| gpio-controller; |
| compatible = "aspeed,ast2700-sgpiom"; |
| reg = <0x0 0x14c0c000 0x0 0x100>; |
| interrupts-extended = <&intc1 85>; |
| ngpios = <256>; |
| clocks = <&syscon1 SCU1_CLK_APB>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| bus-frequency = <12000000>; |
| status = "disabled"; |
| }; |
| |
| sgpiom1: sgpiom@14c0d000 { |
| #gpio-cells = <2>; |
| gpio-controller; |
| compatible = "aspeed,ast2700-sgpiom"; |
| reg = <0x0 0x14c0d000 0x0 0x100>; |
| interrupts-extended = <&intc1 88>; |
| ngpios = <256>; |
| clocks = <&syscon1 SCU1_CLK_APB>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| bus-frequency = <12000000>; |
| status = "disabled"; |
| }; |
| |
| intc1: interrupt-controller@14c18000 { |
| compatible = "aspeed,ast2700-intc1"; |
| reg = <0 0x14c18000 0 0x400>; |
| interrupt-controller; |
| interrupt-parent = <&intc0>; |
| #interrupt-cells = <1>; |
| aspeed,interrupt-ranges = |
| <0 6 &intc0 480>, /* M0 ~ M5 */ |
| <10 6 &intc0 490>, /* M10 ~ M15 */ |
| <20 6 &intc0 500>, /* M20 ~ M25 */ |
| <30 6 &intc0 510>, /* M30 ~ M35 */ |
| <40 6 &intc0 520>, /* M40 ~ M45 */ |
| <50 1 &bootmcu_hlic 11>; /* only 1 pin to BootMCU */ |
| }; |
| |
| uart0: serial@14c33000 { |
| compatible = "ns16550a"; |
| reg = <0x0 0x14c33000 0x0 0x100>; |
| reg-shift = <2>; |
| reg-io-width = <4>; |
| clocks = <&syscon1 SCU1_CLK_GATE_UART0CLK>; |
| interrupts-extended = <&intc1 135>; |
| no-loopback-test; |
| status = "disabled"; |
| }; |
| |
| uart1: serial@14c33100 { |
| compatible = "ns16550a"; |
| reg = <0x0 0x14c33100 0x0 0x100>; |
| reg-shift = <2>; |
| reg-io-width = <4>; |
| clocks = <&syscon1 SCU1_CLK_GATE_UART1CLK>; |
| interrupts-extended = <&intc1 136>; |
| no-loopback-test; |
| status = "disabled"; |
| }; |
| |
| uart2: serial@14c33200 { |
| compatible = "ns16550a"; |
| reg = <0x0 0x14c33200 0x0 0x100>; |
| reg-shift = <2>; |
| reg-io-width = <4>; |
| clocks = <&syscon1 SCU1_CLK_GATE_UART2CLK>; |
| interrupts-extended = <&intc1 137>; |
| no-loopback-test; |
| status = "disabled"; |
| }; |
| |
| uart3: serial@14c33300 { |
| compatible = "ns16550a"; |
| reg = <0x0 0x14c33300 0x0 0x100>; |
| reg-shift = <2>; |
| reg-io-width = <4>; |
| clocks = <&syscon1 SCU1_CLK_GATE_UART3CLK>; |
| interrupts-extended = <&intc1 138>; |
| no-loopback-test; |
| status = "disabled"; |
| }; |
| |
| uart5: serial@14c33400 { |
| compatible = "ns16550a"; |
| reg = <0x0 0x14c33400 0x0 0x100>; |
| reg-shift = <2>; |
| reg-io-width = <4>; |
| clocks = <&syscon1 SCU1_CLK_GATE_UART5CLK>; |
| interrupts-extended = <&intc1 139>; |
| no-loopback-test; |
| status = "disabled"; |
| }; |
| |
| uart6: serial@14c33500 { |
| compatible = "ns16550a"; |
| reg = <0x0 0x14c33500 0x0 0x100>; |
| reg-shift = <2>; |
| reg-io-width = <4>; |
| clocks = <&syscon1 SCU1_CLK_GATE_UART6CLK>; |
| interrupts-extended = <&intc1 140>; |
| no-loopback-test; |
| status = "disabled"; |
| }; |
| |
| uart7: serial@14c33600 { |
| compatible = "ns16550a"; |
| reg = <0x0 0x14c33600 0x0 0x100>; |
| reg-shift = <2>; |
| reg-io-width = <4>; |
| clocks = <&syscon1 SCU1_CLK_GATE_UART7CLK>; |
| interrupts-extended = <&intc1 141>; |
| no-loopback-test; |
| status = "disabled"; |
| }; |
| |
| uart8: serial@14c33700 { |
| compatible = "ns16550a"; |
| reg = <0x0 0x14c33700 0x0 0x100>; |
| reg-shift = <2>; |
| reg-io-width = <4>; |
| clocks = <&syscon1 SCU1_CLK_GATE_UART8CLK>; |
| interrupts-extended = <&intc1 142>; |
| no-loopback-test; |
| status = "disabled"; |
| }; |
| |
| uart9: serial@14c33800 { |
| compatible = "ns16550a"; |
| reg = <0x0 0x14c33800 0x0 0x100>; |
| reg-shift = <2>; |
| reg-io-width = <4>; |
| clocks = <&syscon1 SCU1_CLK_GATE_UART9CLK>; |
| interrupts-extended = <&intc1 143>; |
| no-loopback-test; |
| status = "disabled"; |
| }; |
| |
| uart10: serial@14c33900 { |
| compatible = "ns16550a"; |
| reg = <0x0 0x14c33900 0x0 0x100>; |
| reg-shift = <2>; |
| reg-io-width = <4>; |
| clocks = <&syscon1 SCU1_CLK_GATE_UART10CLK>; |
| interrupts-extended = <&intc1 144>; |
| no-loopback-test; |
| status = "disabled"; |
| }; |
| |
| uart11: serial@14c33a00 { |
| compatible = "ns16550a"; |
| reg = <0x0 0x14c33a00 0x0 0x100>; |
| reg-shift = <2>; |
| reg-io-width = <4>; |
| clocks = <&syscon1 SCU1_CLK_GATE_UART11CLK>; |
| interrupts-extended = <&intc1 145>; |
| no-loopback-test; |
| status = "disabled"; |
| }; |
| |
| uart12: serial@14c33b00 { |
| compatible = "ns16550a"; |
| reg = <0x0 0x14c33b00 0x0 0x100>; |
| reg-shift = <2>; |
| reg-io-width = <4>; |
| clocks = <&syscon1 SCU1_CLK_GATE_UART12CLK>; |
| interrupts-extended = <&intc1 146>; |
| no-loopback-test; |
| status = "disabled"; |
| }; |
| |
| uart13: serial@14c33c00 { |
| compatible = "ns16550a"; |
| reg = <0x0 0x14c33c00 0x0 0x100>; |
| reg-shift = <2>; |
| reg-io-width = <4>; |
| clocks = <&syscon1 SCU1_CLK_UART13>; |
| interrupts-extended = <&intc1 23>; |
| no-loopback-test; |
| status = "disabled"; |
| }; |
| |
| uart14: serial@14c33d00 { |
| compatible = "ns16550a"; |
| reg = <0x0 0x14c33d00 0x0 0x100>; |
| reg-shift = <2>; |
| reg-io-width = <4>; |
| clocks = <&syscon1 SCU1_CLK_UART14>; |
| interrupts-extended = <&intc1 55>; |
| no-loopback-test; |
| status = "disabled"; |
| }; |
| |
| wdt0: watchdog@14c37000 { |
| compatible = "aspeed,ast2700-wdt"; |
| reg = <0x0 0x14c37000 0x0 0x80>; |
| }; |
| |
| wdt1: watchdog@14c37080 { |
| compatible = "aspeed,ast2700-wdt"; |
| reg = <0x0 0x14c37080 0x0 0x80>; |
| }; |
| |
| wdt2: watchdog@14c37100 { |
| compatible = "aspeed,ast2700-wdt"; |
| reg = <0x0 0x14c37100 0x0 0x80>; |
| status = "disabled"; |
| }; |
| |
| wdt3: watchdog@14c37180 { |
| compatible = "aspeed,ast2700-wdt"; |
| reg = <0x0 0x14c37180 0x0 0x80>; |
| status = "disabled"; |
| }; |
| |
| mbox2: mbox@14c39200 { |
| compatible = "aspeed,ast2700-mailbox"; |
| reg = <0x0 0x14c39200 0x0 0x100>, <0x0 0x14c39300 0x0 0x100>; |
| reg-names = "tx", "rx"; |
| interrupts-extended = <&intc1 177>; |
| #mbox-cells = <1>; |
| }; |
| |
| fsim0: fsi@21800000 { |
| compatible = "aspeed,ast2700-fsi-master"; |
| reg = <0x0 0x21800000 0x0 0x94>; |
| interrupts-extended = <&intc1 166>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_fsi0_default>; |
| clocks = <&syscon1 SCU1_CLK_GATE_FSICLK>; |
| resets = <&syscon1 SCU1_RESET_FSI>; |
| status = "disabled"; |
| }; |
| |
| fsim1: fsi@23800000 { |
| compatible = "aspeed,ast2700-fsi-master"; |
| reg = <0x0 0x23800000 0x0 0x94>; |
| interrupts-extended = <&intc1 167>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_fsi2_default>; |
| clocks = <&syscon1 SCU1_CLK_GATE_FSICLK>; |
| resets = <&syscon1 SCU1_RESET_FSI>; |
| status = "disabled"; |
| }; |
| }; |
| |
| #include "aspeed-g7-soc1-pinctrl.dtsi" |