0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 // Copyright 2019 IBM Corp.
0003
0004 #include <dt-bindings/interrupt-controller/arm-gic.h>
0005 #include <dt-bindings/interrupt-controller/aspeed-scu-ic.h>
0006 #include <dt-bindings/clock/ast2600-clock.h>
0007
0008 / {
0009 model = "Aspeed BMC";
0010 compatible = "aspeed,ast2600";
0011 #address-cells = <1>;
0012 #size-cells = <1>;
0013 interrupt-parent = <&gic>;
0014
0015 aliases {
0016 i2c0 = &i2c0;
0017 i2c1 = &i2c1;
0018 i2c2 = &i2c2;
0019 i2c3 = &i2c3;
0020 i2c4 = &i2c4;
0021 i2c5 = &i2c5;
0022 i2c6 = &i2c6;
0023 i2c7 = &i2c7;
0024 i2c8 = &i2c8;
0025 i2c9 = &i2c9;
0026 i2c10 = &i2c10;
0027 i2c11 = &i2c11;
0028 i2c12 = &i2c12;
0029 i2c13 = &i2c13;
0030 i2c14 = &i2c14;
0031 i2c15 = &i2c15;
0032 serial0 = &uart1;
0033 serial1 = &uart2;
0034 serial2 = &uart3;
0035 serial3 = &uart4;
0036 serial4 = &uart5;
0037 serial5 = &vuart1;
0038 serial6 = &vuart2;
0039 };
0040
0041
0042 cpus {
0043 #address-cells = <1>;
0044 #size-cells = <0>;
0045 enable-method = "aspeed,ast2600-smp";
0046
0047 cpu@f00 {
0048 compatible = "arm,cortex-a7";
0049 device_type = "cpu";
0050 reg = <0xf00>;
0051 };
0052
0053 cpu@f01 {
0054 compatible = "arm,cortex-a7";
0055 device_type = "cpu";
0056 reg = <0xf01>;
0057 };
0058 };
0059
0060 timer {
0061 compatible = "arm,armv7-timer";
0062 interrupt-parent = <&gic>;
0063 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
0064 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
0065 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
0066 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
0067 clocks = <&syscon ASPEED_CLK_HPLL>;
0068 arm,cpu-registers-not-fw-configured;
0069 always-on;
0070 };
0071
0072 edac: sdram@1e6e0000 {
0073 compatible = "aspeed,ast2600-sdram-edac", "syscon";
0074 reg = <0x1e6e0000 0x174>;
0075 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
0076 };
0077
0078 ahb {
0079 compatible = "simple-bus";
0080 #address-cells = <1>;
0081 #size-cells = <1>;
0082 device_type = "soc";
0083 ranges;
0084
0085 gic: interrupt-controller@40461000 {
0086 compatible = "arm,cortex-a7-gic";
0087 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
0088 #interrupt-cells = <3>;
0089 interrupt-controller;
0090 interrupt-parent = <&gic>;
0091 reg = <0x40461000 0x1000>,
0092 <0x40462000 0x1000>,
0093 <0x40464000 0x2000>,
0094 <0x40466000 0x2000>;
0095 };
0096
0097 fmc: spi@1e620000 {
0098 reg = <0x1e620000 0xc4>, <0x20000000 0x10000000>;
0099 #address-cells = <1>;
0100 #size-cells = <0>;
0101 compatible = "aspeed,ast2600-fmc";
0102 clocks = <&syscon ASPEED_CLK_AHB>;
0103 status = "disabled";
0104 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
0105 flash@0 {
0106 reg = < 0 >;
0107 compatible = "jedec,spi-nor";
0108 spi-max-frequency = <50000000>;
0109 spi-rx-bus-width = <2>;
0110 status = "disabled";
0111 };
0112 flash@1 {
0113 reg = < 1 >;
0114 compatible = "jedec,spi-nor";
0115 spi-max-frequency = <50000000>;
0116 spi-rx-bus-width = <2>;
0117 status = "disabled";
0118 };
0119 flash@2 {
0120 reg = < 2 >;
0121 compatible = "jedec,spi-nor";
0122 spi-max-frequency = <50000000>;
0123 spi-rx-bus-width = <2>;
0124 status = "disabled";
0125 };
0126 };
0127
0128 spi1: spi@1e630000 {
0129 reg = <0x1e630000 0xc4>, <0x30000000 0x10000000>;
0130 #address-cells = <1>;
0131 #size-cells = <0>;
0132 compatible = "aspeed,ast2600-spi";
0133 clocks = <&syscon ASPEED_CLK_AHB>;
0134 status = "disabled";
0135 flash@0 {
0136 reg = < 0 >;
0137 compatible = "jedec,spi-nor";
0138 spi-max-frequency = <50000000>;
0139 spi-rx-bus-width = <2>;
0140 status = "disabled";
0141 };
0142 flash@1 {
0143 reg = < 1 >;
0144 compatible = "jedec,spi-nor";
0145 spi-max-frequency = <50000000>;
0146 spi-rx-bus-width = <2>;
0147 status = "disabled";
0148 };
0149 };
0150
0151 spi2: spi@1e631000 {
0152 reg = <0x1e631000 0xc4>, <0x50000000 0x10000000>;
0153 #address-cells = <1>;
0154 #size-cells = <0>;
0155 compatible = "aspeed,ast2600-spi";
0156 clocks = <&syscon ASPEED_CLK_AHB>;
0157 status = "disabled";
0158 flash@0 {
0159 reg = < 0 >;
0160 compatible = "jedec,spi-nor";
0161 spi-max-frequency = <50000000>;
0162 spi-rx-bus-width = <2>;
0163 status = "disabled";
0164 };
0165 flash@1 {
0166 reg = < 1 >;
0167 compatible = "jedec,spi-nor";
0168 spi-max-frequency = <50000000>;
0169 spi-rx-bus-width = <2>;
0170 status = "disabled";
0171 };
0172 flash@2 {
0173 reg = < 2 >;
0174 compatible = "jedec,spi-nor";
0175 spi-max-frequency = <50000000>;
0176 spi-rx-bus-width = <2>;
0177 status = "disabled";
0178 };
0179 };
0180
0181 mdio0: mdio@1e650000 {
0182 compatible = "aspeed,ast2600-mdio";
0183 reg = <0x1e650000 0x8>;
0184 #address-cells = <1>;
0185 #size-cells = <0>;
0186 status = "disabled";
0187 pinctrl-names = "default";
0188 pinctrl-0 = <&pinctrl_mdio1_default>;
0189 resets = <&syscon ASPEED_RESET_MII>;
0190 };
0191
0192 mdio1: mdio@1e650008 {
0193 compatible = "aspeed,ast2600-mdio";
0194 reg = <0x1e650008 0x8>;
0195 #address-cells = <1>;
0196 #size-cells = <0>;
0197 status = "disabled";
0198 pinctrl-names = "default";
0199 pinctrl-0 = <&pinctrl_mdio2_default>;
0200 resets = <&syscon ASPEED_RESET_MII>;
0201 };
0202
0203 mdio2: mdio@1e650010 {
0204 compatible = "aspeed,ast2600-mdio";
0205 reg = <0x1e650010 0x8>;
0206 #address-cells = <1>;
0207 #size-cells = <0>;
0208 status = "disabled";
0209 pinctrl-names = "default";
0210 pinctrl-0 = <&pinctrl_mdio3_default>;
0211 resets = <&syscon ASPEED_RESET_MII>;
0212 };
0213
0214 mdio3: mdio@1e650018 {
0215 compatible = "aspeed,ast2600-mdio";
0216 reg = <0x1e650018 0x8>;
0217 #address-cells = <1>;
0218 #size-cells = <0>;
0219 status = "disabled";
0220 pinctrl-names = "default";
0221 pinctrl-0 = <&pinctrl_mdio4_default>;
0222 resets = <&syscon ASPEED_RESET_MII>;
0223 };
0224
0225 mac0: ftgmac@1e660000 {
0226 compatible = "aspeed,ast2600-mac", "faraday,ftgmac100";
0227 reg = <0x1e660000 0x180>;
0228 #address-cells = <1>;
0229 #size-cells = <0>;
0230 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
0231 clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>;
0232 status = "disabled";
0233 };
0234
0235 mac1: ftgmac@1e680000 {
0236 compatible = "aspeed,ast2600-mac", "faraday,ftgmac100";
0237 reg = <0x1e680000 0x180>;
0238 #address-cells = <1>;
0239 #size-cells = <0>;
0240 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
0241 clocks = <&syscon ASPEED_CLK_GATE_MAC2CLK>;
0242 status = "disabled";
0243 };
0244
0245 mac2: ftgmac@1e670000 {
0246 compatible = "aspeed,ast2600-mac", "faraday,ftgmac100";
0247 reg = <0x1e670000 0x180>;
0248 #address-cells = <1>;
0249 #size-cells = <0>;
0250 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
0251 clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>;
0252 status = "disabled";
0253 };
0254
0255 mac3: ftgmac@1e690000 {
0256 compatible = "aspeed,ast2600-mac", "faraday,ftgmac100";
0257 reg = <0x1e690000 0x180>;
0258 #address-cells = <1>;
0259 #size-cells = <0>;
0260 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
0261 clocks = <&syscon ASPEED_CLK_GATE_MAC4CLK>;
0262 status = "disabled";
0263 };
0264
0265 ehci0: usb@1e6a1000 {
0266 compatible = "aspeed,ast2600-ehci", "generic-ehci";
0267 reg = <0x1e6a1000 0x100>;
0268 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
0269 clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>;
0270 pinctrl-names = "default";
0271 pinctrl-0 = <&pinctrl_usb2ah_default>;
0272 status = "disabled";
0273 };
0274
0275 ehci1: usb@1e6a3000 {
0276 compatible = "aspeed,ast2600-ehci", "generic-ehci";
0277 reg = <0x1e6a3000 0x100>;
0278 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
0279 clocks = <&syscon ASPEED_CLK_GATE_USBPORT2CLK>;
0280 pinctrl-names = "default";
0281 pinctrl-0 = <&pinctrl_usb2bh_default>;
0282 status = "disabled";
0283 };
0284
0285 uhci: usb@1e6b0000 {
0286 compatible = "aspeed,ast2600-uhci", "generic-uhci";
0287 reg = <0x1e6b0000 0x100>;
0288 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
0289 #ports = <2>;
0290 clocks = <&syscon ASPEED_CLK_GATE_USBUHCICLK>;
0291 status = "disabled";
0292 /*
0293 * No default pinmux, it will follow EHCI, use an
0294 * explicit pinmux override if EHCI is not enabled.
0295 */
0296 };
0297
0298 vhub: usb-vhub@1e6a0000 {
0299 compatible = "aspeed,ast2600-usb-vhub";
0300 reg = <0x1e6a0000 0x350>;
0301 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
0302 clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>;
0303 aspeed,vhub-downstream-ports = <7>;
0304 aspeed,vhub-generic-endpoints = <21>;
0305 pinctrl-names = "default";
0306 pinctrl-0 = <&pinctrl_usb2ad_default>;
0307 status = "disabled";
0308 };
0309
0310 udc: usb@1e6a2000 {
0311 compatible = "aspeed,ast2600-udc";
0312 reg = <0x1e6a2000 0x300>;
0313 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
0314 clocks = <&syscon ASPEED_CLK_GATE_USBPORT2CLK>;
0315 pinctrl-names = "default";
0316 pinctrl-0 = <&pinctrl_usb2bd_default>;
0317 status = "disabled";
0318 };
0319
0320 apb {
0321 compatible = "simple-bus";
0322 #address-cells = <1>;
0323 #size-cells = <1>;
0324 ranges;
0325
0326 syscon: syscon@1e6e2000 {
0327 compatible = "aspeed,ast2600-scu", "syscon", "simple-mfd";
0328 reg = <0x1e6e2000 0x1000>;
0329 ranges = <0 0x1e6e2000 0x1000>;
0330 #address-cells = <1>;
0331 #size-cells = <1>;
0332 #clock-cells = <1>;
0333 #reset-cells = <1>;
0334
0335 pinctrl: pinctrl {
0336 compatible = "aspeed,ast2600-pinctrl";
0337 };
0338
0339 silicon-id@14 {
0340 compatible = "aspeed,ast2600-silicon-id", "aspeed,silicon-id";
0341 reg = <0x14 0x4 0x5b0 0x8>;
0342 };
0343
0344 smp-memram@180 {
0345 compatible = "aspeed,ast2600-smpmem";
0346 reg = <0x180 0x40>;
0347 };
0348
0349 scu_ic0: interrupt-controller@560 {
0350 #interrupt-cells = <1>;
0351 compatible = "aspeed,ast2600-scu-ic0";
0352 reg = <0x560 0x4>;
0353 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
0354 interrupt-controller;
0355 };
0356
0357 scu_ic1: interrupt-controller@570 {
0358 #interrupt-cells = <1>;
0359 compatible = "aspeed,ast2600-scu-ic1";
0360 reg = <0x570 0x4>;
0361 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
0362 interrupt-controller;
0363 };
0364 };
0365
0366 rng: hwrng@1e6e2524 {
0367 compatible = "timeriomem_rng";
0368 reg = <0x1e6e2524 0x4>;
0369 period = <1>;
0370 quality = <100>;
0371 };
0372
0373 gfx: display@1e6e6000 {
0374 compatible = "aspeed,ast2600-gfx", "syscon";
0375 reg = <0x1e6e6000 0x1000>;
0376 reg-io-width = <4>;
0377 clocks = <&syscon ASPEED_CLK_GATE_D1CLK>;
0378 resets = <&syscon ASPEED_RESET_GRAPHICS>;
0379 syscon = <&syscon>;
0380 status = "disabled";
0381 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
0382 };
0383
0384 xdma: xdma@1e6e7000 {
0385 compatible = "aspeed,ast2600-xdma";
0386 reg = <0x1e6e7000 0x100>;
0387 clocks = <&syscon ASPEED_CLK_GATE_BCLK>;
0388 resets = <&syscon ASPEED_RESET_DEV_XDMA>, <&syscon ASPEED_RESET_RC_XDMA>;
0389 reset-names = "device", "root-complex";
0390 interrupts-extended = <&gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
0391 <&scu_ic0 ASPEED_AST2600_SCU_IC0_PCIE_PERST_LO_TO_HI>;
0392 aspeed,pcie-device = "bmc";
0393 aspeed,scu = <&syscon>;
0394 status = "disabled";
0395 };
0396
0397 adc0: adc@1e6e9000 {
0398 compatible = "aspeed,ast2600-adc0";
0399 reg = <0x1e6e9000 0x100>;
0400 clocks = <&syscon ASPEED_CLK_APB2>;
0401 resets = <&syscon ASPEED_RESET_ADC>;
0402 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
0403 #io-channel-cells = <1>;
0404 status = "disabled";
0405 };
0406
0407 adc1: adc@1e6e9100 {
0408 compatible = "aspeed,ast2600-adc1";
0409 reg = <0x1e6e9100 0x100>;
0410 clocks = <&syscon ASPEED_CLK_APB2>;
0411 resets = <&syscon ASPEED_RESET_ADC>;
0412 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
0413 #io-channel-cells = <1>;
0414 status = "disabled";
0415 };
0416
0417 sbc: secure-boot-controller@1e6f2000 {
0418 compatible = "aspeed,ast2600-sbc";
0419 reg = <0x1e6f2000 0x1000>;
0420 };
0421
0422 video: video@1e700000 {
0423 compatible = "aspeed,ast2600-video-engine";
0424 reg = <0x1e700000 0x1000>;
0425 clocks = <&syscon ASPEED_CLK_GATE_VCLK>,
0426 <&syscon ASPEED_CLK_GATE_ECLK>;
0427 clock-names = "vclk", "eclk";
0428 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
0429 status = "disabled";
0430 };
0431
0432 gpio0: gpio@1e780000 {
0433 #gpio-cells = <2>;
0434 gpio-controller;
0435 compatible = "aspeed,ast2600-gpio";
0436 reg = <0x1e780000 0x400>;
0437 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
0438 gpio-ranges = <&pinctrl 0 0 208>;
0439 ngpios = <208>;
0440 clocks = <&syscon ASPEED_CLK_APB2>;
0441 interrupt-controller;
0442 #interrupt-cells = <2>;
0443 };
0444
0445 sgpiom0: sgpiom@1e780500 {
0446 #gpio-cells = <2>;
0447 gpio-controller;
0448 compatible = "aspeed,ast2600-sgpiom";
0449 reg = <0x1e780500 0x100>;
0450 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
0451 clocks = <&syscon ASPEED_CLK_APB2>;
0452 interrupt-controller;
0453 bus-frequency = <12000000>;
0454 pinctrl-names = "default";
0455 pinctrl-0 = <&pinctrl_sgpm1_default>;
0456 status = "disabled";
0457 };
0458
0459 sgpiom1: sgpiom@1e780600 {
0460 #gpio-cells = <2>;
0461 gpio-controller;
0462 compatible = "aspeed,ast2600-sgpiom";
0463 reg = <0x1e780600 0x100>;
0464 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
0465 clocks = <&syscon ASPEED_CLK_APB2>;
0466 interrupt-controller;
0467 bus-frequency = <12000000>;
0468 pinctrl-names = "default";
0469 pinctrl-0 = <&pinctrl_sgpm2_default>;
0470 status = "disabled";
0471 };
0472
0473 gpio1: gpio@1e780800 {
0474 #gpio-cells = <2>;
0475 gpio-controller;
0476 compatible = "aspeed,ast2600-gpio";
0477 reg = <0x1e780800 0x800>;
0478 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
0479 gpio-ranges = <&pinctrl 0 208 36>;
0480 ngpios = <36>;
0481 clocks = <&syscon ASPEED_CLK_APB1>;
0482 interrupt-controller;
0483 #interrupt-cells = <2>;
0484 };
0485
0486 rtc: rtc@1e781000 {
0487 compatible = "aspeed,ast2600-rtc";
0488 reg = <0x1e781000 0x18>;
0489 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
0490 status = "disabled";
0491 };
0492
0493 timer: timer@1e782000 {
0494 compatible = "aspeed,ast2600-timer";
0495 reg = <0x1e782000 0x90>;
0496 interrupts-extended = <&gic GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
0497 <&gic GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
0498 <&gic GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
0499 <&gic GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
0500 <&gic GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
0501 <&gic GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
0502 <&gic GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
0503 <&gic GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
0504 clocks = <&syscon ASPEED_CLK_APB1>;
0505 clock-names = "PCLK";
0506 status = "disabled";
0507 };
0508
0509 uart1: serial@1e783000 {
0510 compatible = "ns16550a";
0511 reg = <0x1e783000 0x20>;
0512 reg-shift = <2>;
0513 reg-io-width = <4>;
0514 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
0515 clocks = <&syscon ASPEED_CLK_GATE_UART1CLK>;
0516 resets = <&lpc_reset 4>;
0517 no-loopback-test;
0518 pinctrl-names = "default";
0519 pinctrl-0 = <&pinctrl_txd1_default &pinctrl_rxd1_default>;
0520 status = "disabled";
0521 };
0522
0523 uart5: serial@1e784000 {
0524 compatible = "ns16550a";
0525 reg = <0x1e784000 0x1000>;
0526 reg-shift = <2>;
0527 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
0528 clocks = <&syscon ASPEED_CLK_GATE_UART5CLK>;
0529 no-loopback-test;
0530 };
0531
0532 wdt1: watchdog@1e785000 {
0533 compatible = "aspeed,ast2600-wdt";
0534 reg = <0x1e785000 0x40>;
0535 };
0536
0537 wdt2: watchdog@1e785040 {
0538 compatible = "aspeed,ast2600-wdt";
0539 reg = <0x1e785040 0x40>;
0540 status = "disabled";
0541 };
0542
0543 wdt3: watchdog@1e785080 {
0544 compatible = "aspeed,ast2600-wdt";
0545 reg = <0x1e785080 0x40>;
0546 status = "disabled";
0547 };
0548
0549 wdt4: watchdog@1e7850c0 {
0550 compatible = "aspeed,ast2600-wdt";
0551 reg = <0x1e7850C0 0x40>;
0552 status = "disabled";
0553 };
0554
0555 peci0: peci-controller@1e78b000 {
0556 compatible = "aspeed,ast2600-peci";
0557 reg = <0x1e78b000 0x100>;
0558 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
0559 clocks = <&syscon ASPEED_CLK_GATE_REF0CLK>;
0560 resets = <&syscon ASPEED_RESET_PECI>;
0561 cmd-timeout-ms = <1000>;
0562 clock-frequency = <1000000>;
0563 status = "disabled";
0564 };
0565
0566 lpc: lpc@1e789000 {
0567 compatible = "aspeed,ast2600-lpc-v2", "simple-mfd", "syscon";
0568 reg = <0x1e789000 0x1000>;
0569 reg-io-width = <4>;
0570
0571 #address-cells = <1>;
0572 #size-cells = <1>;
0573 ranges = <0x0 0x1e789000 0x1000>;
0574
0575 kcs1: kcs@24 {
0576 compatible = "aspeed,ast2500-kcs-bmc-v2";
0577 reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;
0578 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
0579 clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
0580 kcs_chan = <1>;
0581 status = "disabled";
0582 };
0583
0584 kcs2: kcs@28 {
0585 compatible = "aspeed,ast2500-kcs-bmc-v2";
0586 reg = <0x28 0x1>, <0x34 0x1>, <0x40 0x1>;
0587 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
0588 clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
0589 status = "disabled";
0590 };
0591
0592 kcs3: kcs@2c {
0593 compatible = "aspeed,ast2500-kcs-bmc-v2";
0594 reg = <0x2c 0x1>, <0x38 0x1>, <0x44 0x1>;
0595 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
0596 clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
0597 status = "disabled";
0598 };
0599
0600 kcs4: kcs@114 {
0601 compatible = "aspeed,ast2500-kcs-bmc-v2";
0602 reg = <0x114 0x1>, <0x118 0x1>, <0x11c 0x1>;
0603 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
0604 clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
0605 status = "disabled";
0606 };
0607
0608 lpc_ctrl: lpc-ctrl@80 {
0609 compatible = "aspeed,ast2600-lpc-ctrl";
0610 reg = <0x80 0x80>;
0611 clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
0612 status = "disabled";
0613 };
0614
0615 lpc_snoop: lpc-snoop@80 {
0616 compatible = "aspeed,ast2600-lpc-snoop";
0617 reg = <0x80 0x80>;
0618 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
0619 clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
0620 status = "disabled";
0621 };
0622
0623 lhc: lhc@a0 {
0624 compatible = "aspeed,ast2600-lhc";
0625 reg = <0xa0 0x24 0xc8 0x8>;
0626 };
0627
0628 lpc_reset: reset-controller@98 {
0629 compatible = "aspeed,ast2600-lpc-reset";
0630 reg = <0x98 0x4>;
0631 #reset-cells = <1>;
0632 };
0633
0634 uart_routing: uart-routing@98 {
0635 compatible = "aspeed,ast2600-uart-routing";
0636 reg = <0x98 0x8>;
0637 status = "disabled";
0638 };
0639
0640 ibt: ibt@140 {
0641 compatible = "aspeed,ast2600-ibt-bmc";
0642 reg = <0x140 0x18>;
0643 interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
0644 clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
0645 status = "disabled";
0646 };
0647 };
0648
0649 sdc: sdc@1e740000 {
0650 compatible = "aspeed,ast2600-sd-controller";
0651 reg = <0x1e740000 0x100>;
0652 #address-cells = <1>;
0653 #size-cells = <1>;
0654 ranges = <0 0x1e740000 0x10000>;
0655 clocks = <&syscon ASPEED_CLK_GATE_SDCLK>;
0656 status = "disabled";
0657
0658 sdhci0: sdhci@1e740100 {
0659 compatible = "aspeed,ast2600-sdhci", "sdhci";
0660 reg = <0x100 0x100>;
0661 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
0662 sdhci,auto-cmd12;
0663 clocks = <&syscon ASPEED_CLK_SDIO>;
0664 status = "disabled";
0665 };
0666
0667 sdhci1: sdhci@1e740200 {
0668 compatible = "aspeed,ast2600-sdhci", "sdhci";
0669 reg = <0x200 0x100>;
0670 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
0671 sdhci,auto-cmd12;
0672 clocks = <&syscon ASPEED_CLK_SDIO>;
0673 status = "disabled";
0674 };
0675 };
0676
0677 emmc_controller: sdc@1e750000 {
0678 compatible = "aspeed,ast2600-sd-controller";
0679 reg = <0x1e750000 0x100>;
0680 #address-cells = <1>;
0681 #size-cells = <1>;
0682 ranges = <0 0x1e750000 0x10000>;
0683 clocks = <&syscon ASPEED_CLK_GATE_EMMCCLK>;
0684 status = "disabled";
0685
0686 emmc: sdhci@1e750100 {
0687 compatible = "aspeed,ast2600-sdhci";
0688 reg = <0x100 0x100>;
0689 sdhci,auto-cmd12;
0690 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
0691 clocks = <&syscon ASPEED_CLK_EMMC>;
0692 pinctrl-names = "default";
0693 pinctrl-0 = <&pinctrl_emmc_default>;
0694 };
0695 };
0696
0697 vuart1: serial@1e787000 {
0698 compatible = "aspeed,ast2500-vuart";
0699 reg = <0x1e787000 0x40>;
0700 reg-shift = <2>;
0701 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
0702 clocks = <&syscon ASPEED_CLK_APB1>;
0703 no-loopback-test;
0704 status = "disabled";
0705 };
0706
0707 vuart2: serial@1e788000 {
0708 compatible = "aspeed,ast2500-vuart";
0709 reg = <0x1e788000 0x40>;
0710 reg-shift = <2>;
0711 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
0712 clocks = <&syscon ASPEED_CLK_APB1>;
0713 no-loopback-test;
0714 status = "disabled";
0715 };
0716
0717 uart2: serial@1e78d000 {
0718 compatible = "ns16550a";
0719 reg = <0x1e78d000 0x20>;
0720 reg-shift = <2>;
0721 reg-io-width = <4>;
0722 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
0723 clocks = <&syscon ASPEED_CLK_GATE_UART2CLK>;
0724 resets = <&lpc_reset 5>;
0725 no-loopback-test;
0726 pinctrl-names = "default";
0727 pinctrl-0 = <&pinctrl_txd2_default &pinctrl_rxd2_default>;
0728 status = "disabled";
0729 };
0730
0731 uart3: serial@1e78e000 {
0732 compatible = "ns16550a";
0733 reg = <0x1e78e000 0x20>;
0734 reg-shift = <2>;
0735 reg-io-width = <4>;
0736 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
0737 clocks = <&syscon ASPEED_CLK_GATE_UART3CLK>;
0738 resets = <&lpc_reset 6>;
0739 no-loopback-test;
0740 pinctrl-names = "default";
0741 pinctrl-0 = <&pinctrl_txd3_default &pinctrl_rxd3_default>;
0742 status = "disabled";
0743 };
0744
0745 uart4: serial@1e78f000 {
0746 compatible = "ns16550a";
0747 reg = <0x1e78f000 0x20>;
0748 reg-shift = <2>;
0749 reg-io-width = <4>;
0750 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
0751 clocks = <&syscon ASPEED_CLK_GATE_UART4CLK>;
0752 resets = <&lpc_reset 7>;
0753 no-loopback-test;
0754 pinctrl-names = "default";
0755 pinctrl-0 = <&pinctrl_txd4_default &pinctrl_rxd4_default>;
0756 status = "disabled";
0757 };
0758
0759 i2c: bus@1e78a000 {
0760 compatible = "simple-bus";
0761 #address-cells = <1>;
0762 #size-cells = <1>;
0763 ranges = <0 0x1e78a000 0x1000>;
0764 };
0765
0766 fsim0: fsi@1e79b000 {
0767 compatible = "aspeed,ast2600-fsi-master", "fsi-master";
0768 reg = <0x1e79b000 0x94>;
0769 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
0770 pinctrl-names = "default";
0771 pinctrl-0 = <&pinctrl_fsi1_default>;
0772 clocks = <&syscon ASPEED_CLK_GATE_FSICLK>;
0773 status = "disabled";
0774 };
0775
0776 fsim1: fsi@1e79b100 {
0777 compatible = "aspeed,ast2600-fsi-master", "fsi-master";
0778 reg = <0x1e79b100 0x94>;
0779 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
0780 pinctrl-names = "default";
0781 pinctrl-0 = <&pinctrl_fsi2_default>;
0782 clocks = <&syscon ASPEED_CLK_GATE_FSICLK>;
0783 status = "disabled";
0784 };
0785 };
0786 };
0787 };
0788
0789 #include "aspeed-g6-pinctrl.dtsi"
0790
0791 &i2c {
0792 i2c0: i2c-bus@80 {
0793 #address-cells = <1>;
0794 #size-cells = <0>;
0795 #interrupt-cells = <1>;
0796 reg = <0x80 0x80>;
0797 compatible = "aspeed,ast2600-i2c-bus";
0798 clocks = <&syscon ASPEED_CLK_APB2>;
0799 resets = <&syscon ASPEED_RESET_I2C>;
0800 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
0801 bus-frequency = <100000>;
0802 pinctrl-names = "default";
0803 pinctrl-0 = <&pinctrl_i2c1_default>;
0804 status = "disabled";
0805 };
0806
0807 i2c1: i2c-bus@100 {
0808 #address-cells = <1>;
0809 #size-cells = <0>;
0810 #interrupt-cells = <1>;
0811 reg = <0x100 0x80>;
0812 compatible = "aspeed,ast2600-i2c-bus";
0813 clocks = <&syscon ASPEED_CLK_APB2>;
0814 resets = <&syscon ASPEED_RESET_I2C>;
0815 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
0816 bus-frequency = <100000>;
0817 pinctrl-names = "default";
0818 pinctrl-0 = <&pinctrl_i2c2_default>;
0819 status = "disabled";
0820 };
0821
0822 i2c2: i2c-bus@180 {
0823 #address-cells = <1>;
0824 #size-cells = <0>;
0825 #interrupt-cells = <1>;
0826 reg = <0x180 0x80>;
0827 compatible = "aspeed,ast2600-i2c-bus";
0828 clocks = <&syscon ASPEED_CLK_APB2>;
0829 resets = <&syscon ASPEED_RESET_I2C>;
0830 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
0831 bus-frequency = <100000>;
0832 pinctrl-names = "default";
0833 pinctrl-0 = <&pinctrl_i2c3_default>;
0834 status = "disabled";
0835 };
0836
0837 i2c3: i2c-bus@200 {
0838 #address-cells = <1>;
0839 #size-cells = <0>;
0840 #interrupt-cells = <1>;
0841 reg = <0x200 0x80>;
0842 compatible = "aspeed,ast2600-i2c-bus";
0843 clocks = <&syscon ASPEED_CLK_APB2>;
0844 resets = <&syscon ASPEED_RESET_I2C>;
0845 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
0846 bus-frequency = <100000>;
0847 pinctrl-names = "default";
0848 pinctrl-0 = <&pinctrl_i2c4_default>;
0849 status = "disabled";
0850 };
0851
0852 i2c4: i2c-bus@280 {
0853 #address-cells = <1>;
0854 #size-cells = <0>;
0855 #interrupt-cells = <1>;
0856 reg = <0x280 0x80>;
0857 compatible = "aspeed,ast2600-i2c-bus";
0858 clocks = <&syscon ASPEED_CLK_APB2>;
0859 resets = <&syscon ASPEED_RESET_I2C>;
0860 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
0861 bus-frequency = <100000>;
0862 pinctrl-names = "default";
0863 pinctrl-0 = <&pinctrl_i2c5_default>;
0864 status = "disabled";
0865 };
0866
0867 i2c5: i2c-bus@300 {
0868 #address-cells = <1>;
0869 #size-cells = <0>;
0870 #interrupt-cells = <1>;
0871 reg = <0x300 0x80>;
0872 compatible = "aspeed,ast2600-i2c-bus";
0873 clocks = <&syscon ASPEED_CLK_APB2>;
0874 resets = <&syscon ASPEED_RESET_I2C>;
0875 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
0876 bus-frequency = <100000>;
0877 pinctrl-names = "default";
0878 pinctrl-0 = <&pinctrl_i2c6_default>;
0879 status = "disabled";
0880 };
0881
0882 i2c6: i2c-bus@380 {
0883 #address-cells = <1>;
0884 #size-cells = <0>;
0885 #interrupt-cells = <1>;
0886 reg = <0x380 0x80>;
0887 compatible = "aspeed,ast2600-i2c-bus";
0888 clocks = <&syscon ASPEED_CLK_APB2>;
0889 resets = <&syscon ASPEED_RESET_I2C>;
0890 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
0891 bus-frequency = <100000>;
0892 pinctrl-names = "default";
0893 pinctrl-0 = <&pinctrl_i2c7_default>;
0894 status = "disabled";
0895 };
0896
0897 i2c7: i2c-bus@400 {
0898 #address-cells = <1>;
0899 #size-cells = <0>;
0900 #interrupt-cells = <1>;
0901 reg = <0x400 0x80>;
0902 compatible = "aspeed,ast2600-i2c-bus";
0903 clocks = <&syscon ASPEED_CLK_APB2>;
0904 resets = <&syscon ASPEED_RESET_I2C>;
0905 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
0906 bus-frequency = <100000>;
0907 pinctrl-names = "default";
0908 pinctrl-0 = <&pinctrl_i2c8_default>;
0909 status = "disabled";
0910 };
0911
0912 i2c8: i2c-bus@480 {
0913 #address-cells = <1>;
0914 #size-cells = <0>;
0915 #interrupt-cells = <1>;
0916 reg = <0x480 0x80>;
0917 compatible = "aspeed,ast2600-i2c-bus";
0918 clocks = <&syscon ASPEED_CLK_APB2>;
0919 resets = <&syscon ASPEED_RESET_I2C>;
0920 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
0921 bus-frequency = <100000>;
0922 pinctrl-names = "default";
0923 pinctrl-0 = <&pinctrl_i2c9_default>;
0924 status = "disabled";
0925 };
0926
0927 i2c9: i2c-bus@500 {
0928 #address-cells = <1>;
0929 #size-cells = <0>;
0930 #interrupt-cells = <1>;
0931 reg = <0x500 0x80>;
0932 compatible = "aspeed,ast2600-i2c-bus";
0933 clocks = <&syscon ASPEED_CLK_APB2>;
0934 resets = <&syscon ASPEED_RESET_I2C>;
0935 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
0936 bus-frequency = <100000>;
0937 pinctrl-names = "default";
0938 pinctrl-0 = <&pinctrl_i2c10_default>;
0939 status = "disabled";
0940 };
0941
0942 i2c10: i2c-bus@580 {
0943 #address-cells = <1>;
0944 #size-cells = <0>;
0945 #interrupt-cells = <1>;
0946 reg = <0x580 0x80>;
0947 compatible = "aspeed,ast2600-i2c-bus";
0948 clocks = <&syscon ASPEED_CLK_APB2>;
0949 resets = <&syscon ASPEED_RESET_I2C>;
0950 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
0951 bus-frequency = <100000>;
0952 pinctrl-names = "default";
0953 pinctrl-0 = <&pinctrl_i2c11_default>;
0954 status = "disabled";
0955 };
0956
0957 i2c11: i2c-bus@600 {
0958 #address-cells = <1>;
0959 #size-cells = <0>;
0960 #interrupt-cells = <1>;
0961 reg = <0x600 0x80>;
0962 compatible = "aspeed,ast2600-i2c-bus";
0963 clocks = <&syscon ASPEED_CLK_APB2>;
0964 resets = <&syscon ASPEED_RESET_I2C>;
0965 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
0966 bus-frequency = <100000>;
0967 pinctrl-names = "default";
0968 pinctrl-0 = <&pinctrl_i2c12_default>;
0969 status = "disabled";
0970 };
0971
0972 i2c12: i2c-bus@680 {
0973 #address-cells = <1>;
0974 #size-cells = <0>;
0975 #interrupt-cells = <1>;
0976 reg = <0x680 0x80>;
0977 compatible = "aspeed,ast2600-i2c-bus";
0978 clocks = <&syscon ASPEED_CLK_APB2>;
0979 resets = <&syscon ASPEED_RESET_I2C>;
0980 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
0981 bus-frequency = <100000>;
0982 pinctrl-names = "default";
0983 pinctrl-0 = <&pinctrl_i2c13_default>;
0984 status = "disabled";
0985 };
0986
0987 i2c13: i2c-bus@700 {
0988 #address-cells = <1>;
0989 #size-cells = <0>;
0990 #interrupt-cells = <1>;
0991 reg = <0x700 0x80>;
0992 compatible = "aspeed,ast2600-i2c-bus";
0993 clocks = <&syscon ASPEED_CLK_APB2>;
0994 resets = <&syscon ASPEED_RESET_I2C>;
0995 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
0996 bus-frequency = <100000>;
0997 pinctrl-names = "default";
0998 pinctrl-0 = <&pinctrl_i2c14_default>;
0999 status = "disabled";
1000 };
1001
1002 i2c14: i2c-bus@780 {
1003 #address-cells = <1>;
1004 #size-cells = <0>;
1005 #interrupt-cells = <1>;
1006 reg = <0x780 0x80>;
1007 compatible = "aspeed,ast2600-i2c-bus";
1008 clocks = <&syscon ASPEED_CLK_APB2>;
1009 resets = <&syscon ASPEED_RESET_I2C>;
1010 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
1011 bus-frequency = <100000>;
1012 pinctrl-names = "default";
1013 pinctrl-0 = <&pinctrl_i2c15_default>;
1014 status = "disabled";
1015 };
1016
1017 i2c15: i2c-bus@800 {
1018 #address-cells = <1>;
1019 #size-cells = <0>;
1020 #interrupt-cells = <1>;
1021 reg = <0x800 0x80>;
1022 compatible = "aspeed,ast2600-i2c-bus";
1023 clocks = <&syscon ASPEED_CLK_APB2>;
1024 resets = <&syscon ASPEED_RESET_I2C>;
1025 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
1026 bus-frequency = <100000>;
1027 pinctrl-names = "default";
1028 pinctrl-0 = <&pinctrl_i2c16_default>;
1029 status = "disabled";
1030 };
1031 };