1 // SPDX-License-Identifier: GPL-2.0+
2 #include <dt-bindings/clock/aspeed-clock.h>
6 compatible = "aspeed,ast2400";
9 interrupt-parent = <&vic>;
39 compatible = "arm,arm926ej-s";
46 device_type = "memory";
51 compatible = "simple-bus";
57 reg = < 0x1e620000 0x94
58 0x20000000 0x10000000 >;
61 compatible = "aspeed,ast2400-fmc";
62 clocks = <&syscon ASPEED_CLK_AHB>;
67 compatible = "jedec,spi-nor";
73 reg = < 0x1e630000 0x18
74 0x30000000 0x10000000 >;
77 compatible = "aspeed,ast2400-spi";
78 clocks = <&syscon ASPEED_CLK_AHB>;
82 compatible = "jedec,spi-nor";
87 vic: interrupt-controller@1e6c0080 {
88 compatible = "aspeed,ast2400-vic";
90 #interrupt-cells = <1>;
91 valid-sources = <0xffffffff 0x0007ffff>;
92 reg = <0x1e6c0080 0x80>;
95 cvic: copro-interrupt-controller@1e6c2000 {
96 compatible = "aspeed,ast2400-cvic", "aspeed-cvic";
97 valid-sources = <0x7fffffff>;
98 reg = <0x1e6c2000 0x80>;
101 mac0: ethernet@1e660000 {
102 compatible = "aspeed,ast2400-mac", "faraday,ftgmac100";
103 reg = <0x1e660000 0x180>;
105 clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>;
109 mac1: ethernet@1e680000 {
110 compatible = "aspeed,ast2400-mac", "faraday,ftgmac100";
111 reg = <0x1e680000 0x180>;
113 clocks = <&syscon ASPEED_CLK_GATE_MAC2CLK>;
117 ehci0: usb@1e6a1000 {
118 compatible = "aspeed,ast2400-ehci", "generic-ehci";
119 reg = <0x1e6a1000 0x100>;
121 clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>;
122 pinctrl-names = "default";
123 pinctrl-0 = <&pinctrl_usb2h_default>;
128 compatible = "aspeed,ast2400-uhci", "generic-uhci";
129 reg = <0x1e6b0000 0x100>;
132 clocks = <&syscon ASPEED_CLK_GATE_USBUHCICLK>;
135 * No default pinmux, it will follow EHCI, use an explicit pinmux
136 * override if you don't enable EHCI
140 vhub: usb-vhub@1e6a0000 {
141 compatible = "aspeed,ast2400-usb-vhub";
142 reg = <0x1e6a0000 0x300>;
144 clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>;
145 pinctrl-names = "default";
146 pinctrl-0 = <&pinctrl_usb2d_default>;
151 compatible = "simple-bus";
152 #address-cells = <1>;
156 syscon: syscon@1e6e2000 {
157 compatible = "aspeed,ast2400-scu", "syscon", "simple-mfd";
158 reg = <0x1e6e2000 0x1a8>;
159 #address-cells = <1>;
165 compatible = "aspeed,g4-pinctrl";
169 compatible = "aspeed,ast2400-p2a-ctrl";
174 rng: hwrng@1e6e2078 {
175 compatible = "timeriomem_rng";
176 reg = <0x1e6e2078 0x4>;
182 compatible = "aspeed,ast2400-adc";
183 reg = <0x1e6e9000 0xb0>;
184 clocks = <&syscon ASPEED_CLK_APB>;
185 resets = <&syscon ASPEED_RESET_ADC>;
186 #io-channel-cells = <1>;
190 sram: sram@1e720000 {
191 compatible = "mmio-sram";
192 reg = <0x1e720000 0x8000>; // 32K
195 gpio: gpio@1e780000 {
198 compatible = "aspeed,ast2400-gpio";
199 reg = <0x1e780000 0x1000>;
201 gpio-ranges = <&pinctrl 0 0 220>;
202 clocks = <&syscon ASPEED_CLK_APB>;
203 interrupt-controller;
204 #interrupt-cells = <2>;
207 timer: timer@1e782000 {
208 /* This timer is a Faraday FTTMR010 derivative */
209 compatible = "aspeed,ast2400-timer";
210 reg = <0x1e782000 0x90>;
211 interrupts = <16 17 18 35 36 37 38 39>;
212 clocks = <&syscon ASPEED_CLK_APB>;
213 clock-names = "PCLK";
217 compatible = "aspeed,ast2400-rtc";
218 reg = <0x1e781000 0x18>;
222 uart1: serial@1e783000 {
223 compatible = "ns16550a";
224 reg = <0x1e783000 0x20>;
227 clocks = <&syscon ASPEED_CLK_GATE_UART1CLK>;
228 resets = <&lpc_reset 4>;
233 uart5: serial@1e784000 {
234 compatible = "ns16550a";
235 reg = <0x1e784000 0x20>;
238 clocks = <&syscon ASPEED_CLK_GATE_UART5CLK>;
243 wdt1: watchdog@1e785000 {
244 compatible = "aspeed,ast2400-wdt";
245 reg = <0x1e785000 0x1c>;
246 clocks = <&syscon ASPEED_CLK_APB>;
249 wdt2: watchdog@1e785020 {
250 compatible = "aspeed,ast2400-wdt";
251 reg = <0x1e785020 0x1c>;
252 clocks = <&syscon ASPEED_CLK_APB>;
255 pwm_tacho: pwm-tacho-controller@1e786000 {
256 compatible = "aspeed,ast2400-pwm-tacho";
257 #address-cells = <1>;
259 reg = <0x1e786000 0x1000>;
260 clocks = <&syscon ASPEED_CLK_24M>;
261 resets = <&syscon ASPEED_RESET_PWM>;
265 vuart: serial@1e787000 {
266 compatible = "aspeed,ast2400-vuart";
267 reg = <0x1e787000 0x40>;
270 clocks = <&syscon ASPEED_CLK_APB>;
276 compatible = "aspeed,ast2400-lpc", "simple-mfd";
277 reg = <0x1e789000 0x1000>;
279 #address-cells = <1>;
281 ranges = <0x0 0x1e789000 0x1000>;
284 compatible = "aspeed,ast2400-lpc-bmc";
288 lpc_host: lpc-host@80 {
289 compatible = "aspeed,ast2400-lpc-host", "simple-mfd", "syscon";
293 #address-cells = <1>;
295 ranges = <0x0 0x80 0x1e0>;
297 lpc_ctrl: lpc-ctrl@0 {
298 compatible = "aspeed,ast2400-lpc-ctrl";
300 clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
304 lpc_snoop: lpc-snoop@0 {
305 compatible = "aspeed,ast2400-lpc-snoop";
312 compatible = "aspeed,ast2400-lhc";
313 reg = <0x20 0x24 0x48 0x8>;
316 lpc_reset: reset-controller@18 {
317 compatible = "aspeed,ast2400-lpc-reset";
323 compatible = "aspeed,ast2400-ibt-bmc";
331 uart2: serial@1e78d000 {
332 compatible = "ns16550a";
333 reg = <0x1e78d000 0x20>;
336 clocks = <&syscon ASPEED_CLK_GATE_UART2CLK>;
337 resets = <&lpc_reset 5>;
342 uart3: serial@1e78e000 {
343 compatible = "ns16550a";
344 reg = <0x1e78e000 0x20>;
347 clocks = <&syscon ASPEED_CLK_GATE_UART3CLK>;
348 resets = <&lpc_reset 6>;
353 uart4: serial@1e78f000 {
354 compatible = "ns16550a";
355 reg = <0x1e78f000 0x20>;
358 clocks = <&syscon ASPEED_CLK_GATE_UART4CLK>;
359 resets = <&lpc_reset 7>;
365 compatible = "simple-bus";
366 #address-cells = <1>;
368 ranges = <0 0x1e78a000 0x1000>;
375 i2c_ic: interrupt-controller@0 {
376 #interrupt-cells = <1>;
377 compatible = "aspeed,ast2400-i2c-ic";
380 interrupt-controller;
384 #address-cells = <1>;
386 #interrupt-cells = <1>;
389 compatible = "aspeed,ast2400-i2c-bus";
390 clocks = <&syscon ASPEED_CLK_APB>;
391 resets = <&syscon ASPEED_RESET_I2C>;
392 bus-frequency = <100000>;
394 interrupt-parent = <&i2c_ic>;
396 /* Does not need pinctrl properties */
400 #address-cells = <1>;
402 #interrupt-cells = <1>;
405 compatible = "aspeed,ast2400-i2c-bus";
406 clocks = <&syscon ASPEED_CLK_APB>;
407 resets = <&syscon ASPEED_RESET_I2C>;
408 bus-frequency = <100000>;
410 interrupt-parent = <&i2c_ic>;
412 /* Does not need pinctrl properties */
416 #address-cells = <1>;
418 #interrupt-cells = <1>;
421 compatible = "aspeed,ast2400-i2c-bus";
422 clocks = <&syscon ASPEED_CLK_APB>;
423 resets = <&syscon ASPEED_RESET_I2C>;
424 bus-frequency = <100000>;
426 interrupt-parent = <&i2c_ic>;
427 pinctrl-names = "default";
428 pinctrl-0 = <&pinctrl_i2c3_default>;
433 #address-cells = <1>;
435 #interrupt-cells = <1>;
438 compatible = "aspeed,ast2400-i2c-bus";
439 clocks = <&syscon ASPEED_CLK_APB>;
440 resets = <&syscon ASPEED_RESET_I2C>;
441 bus-frequency = <100000>;
443 interrupt-parent = <&i2c_ic>;
444 pinctrl-names = "default";
445 pinctrl-0 = <&pinctrl_i2c4_default>;
450 #address-cells = <1>;
452 #interrupt-cells = <1>;
455 compatible = "aspeed,ast2400-i2c-bus";
456 clocks = <&syscon ASPEED_CLK_APB>;
457 resets = <&syscon ASPEED_RESET_I2C>;
458 bus-frequency = <100000>;
460 interrupt-parent = <&i2c_ic>;
461 pinctrl-names = "default";
462 pinctrl-0 = <&pinctrl_i2c5_default>;
467 #address-cells = <1>;
469 #interrupt-cells = <1>;
472 compatible = "aspeed,ast2400-i2c-bus";
473 clocks = <&syscon ASPEED_CLK_APB>;
474 resets = <&syscon ASPEED_RESET_I2C>;
475 bus-frequency = <100000>;
477 interrupt-parent = <&i2c_ic>;
478 pinctrl-names = "default";
479 pinctrl-0 = <&pinctrl_i2c6_default>;
484 #address-cells = <1>;
486 #interrupt-cells = <1>;
489 compatible = "aspeed,ast2400-i2c-bus";
490 clocks = <&syscon ASPEED_CLK_APB>;
491 resets = <&syscon ASPEED_RESET_I2C>;
492 bus-frequency = <100000>;
494 interrupt-parent = <&i2c_ic>;
495 pinctrl-names = "default";
496 pinctrl-0 = <&pinctrl_i2c7_default>;
501 #address-cells = <1>;
503 #interrupt-cells = <1>;
506 compatible = "aspeed,ast2400-i2c-bus";
507 clocks = <&syscon ASPEED_CLK_APB>;
508 resets = <&syscon ASPEED_RESET_I2C>;
509 bus-frequency = <100000>;
511 interrupt-parent = <&i2c_ic>;
512 pinctrl-names = "default";
513 pinctrl-0 = <&pinctrl_i2c8_default>;
518 #address-cells = <1>;
520 #interrupt-cells = <1>;
523 compatible = "aspeed,ast2400-i2c-bus";
524 clocks = <&syscon ASPEED_CLK_APB>;
525 resets = <&syscon ASPEED_RESET_I2C>;
526 bus-frequency = <100000>;
528 interrupt-parent = <&i2c_ic>;
529 pinctrl-names = "default";
530 pinctrl-0 = <&pinctrl_i2c9_default>;
535 #address-cells = <1>;
537 #interrupt-cells = <1>;
540 compatible = "aspeed,ast2400-i2c-bus";
541 clocks = <&syscon ASPEED_CLK_APB>;
542 resets = <&syscon ASPEED_RESET_I2C>;
543 bus-frequency = <100000>;
545 interrupt-parent = <&i2c_ic>;
546 pinctrl-names = "default";
547 pinctrl-0 = <&pinctrl_i2c10_default>;
552 #address-cells = <1>;
554 #interrupt-cells = <1>;
557 compatible = "aspeed,ast2400-i2c-bus";
558 clocks = <&syscon ASPEED_CLK_APB>;
559 resets = <&syscon ASPEED_RESET_I2C>;
560 bus-frequency = <100000>;
562 interrupt-parent = <&i2c_ic>;
563 pinctrl-names = "default";
564 pinctrl-0 = <&pinctrl_i2c11_default>;
569 #address-cells = <1>;
571 #interrupt-cells = <1>;
574 compatible = "aspeed,ast2400-i2c-bus";
575 clocks = <&syscon ASPEED_CLK_APB>;
576 resets = <&syscon ASPEED_RESET_I2C>;
577 bus-frequency = <100000>;
579 interrupt-parent = <&i2c_ic>;
580 pinctrl-names = "default";
581 pinctrl-0 = <&pinctrl_i2c12_default>;
586 #address-cells = <1>;
588 #interrupt-cells = <1>;
591 compatible = "aspeed,ast2400-i2c-bus";
592 clocks = <&syscon ASPEED_CLK_APB>;
593 resets = <&syscon ASPEED_RESET_I2C>;
594 bus-frequency = <100000>;
596 interrupt-parent = <&i2c_ic>;
597 pinctrl-names = "default";
598 pinctrl-0 = <&pinctrl_i2c13_default>;
603 #address-cells = <1>;
605 #interrupt-cells = <1>;
608 compatible = "aspeed,ast2400-i2c-bus";
609 clocks = <&syscon ASPEED_CLK_APB>;
610 resets = <&syscon ASPEED_RESET_I2C>;
611 bus-frequency = <100000>;
613 interrupt-parent = <&i2c_ic>;
614 pinctrl-names = "default";
615 pinctrl-0 = <&pinctrl_i2c14_default>;
621 pinctrl_acpi_default: acpi_default {
626 pinctrl_adc0_default: adc0_default {
631 pinctrl_adc1_default: adc1_default {
636 pinctrl_adc10_default: adc10_default {
641 pinctrl_adc11_default: adc11_default {
646 pinctrl_adc12_default: adc12_default {
651 pinctrl_adc13_default: adc13_default {
656 pinctrl_adc14_default: adc14_default {
661 pinctrl_adc15_default: adc15_default {
666 pinctrl_adc2_default: adc2_default {
671 pinctrl_adc3_default: adc3_default {
676 pinctrl_adc4_default: adc4_default {
681 pinctrl_adc5_default: adc5_default {
686 pinctrl_adc6_default: adc6_default {
691 pinctrl_adc7_default: adc7_default {
696 pinctrl_adc8_default: adc8_default {
701 pinctrl_adc9_default: adc9_default {
706 pinctrl_bmcint_default: bmcint_default {
711 pinctrl_ddcclk_default: ddcclk_default {
716 pinctrl_ddcdat_default: ddcdat_default {
721 pinctrl_extrst_default: extrst_default {
726 pinctrl_flack_default: flack_default {
731 pinctrl_flbusy_default: flbusy_default {
736 pinctrl_flwp_default: flwp_default {
741 pinctrl_gpid_default: gpid_default {
746 pinctrl_gpid0_default: gpid0_default {
751 pinctrl_gpid2_default: gpid2_default {
756 pinctrl_gpid4_default: gpid4_default {
761 pinctrl_gpid6_default: gpid6_default {
766 pinctrl_gpie0_default: gpie0_default {
771 pinctrl_gpie2_default: gpie2_default {
776 pinctrl_gpie4_default: gpie4_default {
781 pinctrl_gpie6_default: gpie6_default {
786 pinctrl_i2c10_default: i2c10_default {
791 pinctrl_i2c11_default: i2c11_default {
796 pinctrl_i2c12_default: i2c12_default {
801 pinctrl_i2c13_default: i2c13_default {
806 pinctrl_i2c14_default: i2c14_default {
811 pinctrl_i2c3_default: i2c3_default {
816 pinctrl_i2c4_default: i2c4_default {
821 pinctrl_i2c5_default: i2c5_default {
826 pinctrl_i2c6_default: i2c6_default {
831 pinctrl_i2c7_default: i2c7_default {
836 pinctrl_i2c8_default: i2c8_default {
841 pinctrl_i2c9_default: i2c9_default {
846 pinctrl_lpcpd_default: lpcpd_default {
851 pinctrl_lpcpme_default: lpcpme_default {
856 pinctrl_lpcrst_default: lpcrst_default {
861 pinctrl_lpcsmi_default: lpcsmi_default {
866 pinctrl_mac1link_default: mac1link_default {
867 function = "MAC1LINK";
871 pinctrl_mac2link_default: mac2link_default {
872 function = "MAC2LINK";
876 pinctrl_mdio1_default: mdio1_default {
881 pinctrl_mdio2_default: mdio2_default {
886 pinctrl_ncts1_default: ncts1_default {
891 pinctrl_ncts2_default: ncts2_default {
896 pinctrl_ncts3_default: ncts3_default {
901 pinctrl_ncts4_default: ncts4_default {
906 pinctrl_ndcd1_default: ndcd1_default {
911 pinctrl_ndcd2_default: ndcd2_default {
916 pinctrl_ndcd3_default: ndcd3_default {
921 pinctrl_ndcd4_default: ndcd4_default {
926 pinctrl_ndsr1_default: ndsr1_default {
931 pinctrl_ndsr2_default: ndsr2_default {
936 pinctrl_ndsr3_default: ndsr3_default {
941 pinctrl_ndsr4_default: ndsr4_default {
946 pinctrl_ndtr1_default: ndtr1_default {
951 pinctrl_ndtr2_default: ndtr2_default {
956 pinctrl_ndtr3_default: ndtr3_default {
961 pinctrl_ndtr4_default: ndtr4_default {
966 pinctrl_ndts4_default: ndts4_default {
971 pinctrl_nri1_default: nri1_default {
976 pinctrl_nri2_default: nri2_default {
981 pinctrl_nri3_default: nri3_default {
986 pinctrl_nri4_default: nri4_default {
991 pinctrl_nrts1_default: nrts1_default {
996 pinctrl_nrts2_default: nrts2_default {
1001 pinctrl_nrts3_default: nrts3_default {
1006 pinctrl_oscclk_default: oscclk_default {
1007 function = "OSCCLK";
1011 pinctrl_pwm0_default: pwm0_default {
1016 pinctrl_pwm1_default: pwm1_default {
1021 pinctrl_pwm2_default: pwm2_default {
1026 pinctrl_pwm3_default: pwm3_default {
1031 pinctrl_pwm4_default: pwm4_default {
1036 pinctrl_pwm5_default: pwm5_default {
1041 pinctrl_pwm6_default: pwm6_default {
1046 pinctrl_pwm7_default: pwm7_default {
1051 pinctrl_rgmii1_default: rgmii1_default {
1052 function = "RGMII1";
1056 pinctrl_rgmii2_default: rgmii2_default {
1057 function = "RGMII2";
1061 pinctrl_rmii1_default: rmii1_default {
1066 pinctrl_rmii2_default: rmii2_default {
1071 pinctrl_rom16_default: rom16_default {
1076 pinctrl_rom8_default: rom8_default {
1081 pinctrl_romcs1_default: romcs1_default {
1082 function = "ROMCS1";
1086 pinctrl_romcs2_default: romcs2_default {
1087 function = "ROMCS2";
1091 pinctrl_romcs3_default: romcs3_default {
1092 function = "ROMCS3";
1096 pinctrl_romcs4_default: romcs4_default {
1097 function = "ROMCS4";
1101 pinctrl_rxd1_default: rxd1_default {
1106 pinctrl_rxd2_default: rxd2_default {
1111 pinctrl_rxd3_default: rxd3_default {
1116 pinctrl_rxd4_default: rxd4_default {
1121 pinctrl_salt1_default: salt1_default {
1126 pinctrl_salt2_default: salt2_default {
1131 pinctrl_salt3_default: salt3_default {
1136 pinctrl_salt4_default: salt4_default {
1141 pinctrl_sd1_default: sd1_default {
1146 pinctrl_sd2_default: sd2_default {
1151 pinctrl_sgpmck_default: sgpmck_default {
1152 function = "SGPMCK";
1156 pinctrl_sgpmi_default: sgpmi_default {
1161 pinctrl_sgpmld_default: sgpmld_default {
1162 function = "SGPMLD";
1166 pinctrl_sgpmo_default: sgpmo_default {
1171 pinctrl_sgpsck_default: sgpsck_default {
1172 function = "SGPSCK";
1176 pinctrl_sgpsi0_default: sgpsi0_default {
1177 function = "SGPSI0";
1181 pinctrl_sgpsi1_default: sgpsi1_default {
1182 function = "SGPSI1";
1186 pinctrl_sgpsld_default: sgpsld_default {
1187 function = "SGPSLD";
1191 pinctrl_sioonctrl_default: sioonctrl_default {
1192 function = "SIOONCTRL";
1193 groups = "SIOONCTRL";
1196 pinctrl_siopbi_default: siopbi_default {
1197 function = "SIOPBI";
1201 pinctrl_siopbo_default: siopbo_default {
1202 function = "SIOPBO";
1206 pinctrl_siopwreq_default: siopwreq_default {
1207 function = "SIOPWREQ";
1208 groups = "SIOPWREQ";
1211 pinctrl_siopwrgd_default: siopwrgd_default {
1212 function = "SIOPWRGD";
1213 groups = "SIOPWRGD";
1216 pinctrl_sios3_default: sios3_default {
1221 pinctrl_sios5_default: sios5_default {
1226 pinctrl_siosci_default: siosci_default {
1227 function = "SIOSCI";
1231 pinctrl_spi1_default: spi1_default {
1236 pinctrl_spi1debug_default: spi1debug_default {
1237 function = "SPI1DEBUG";
1238 groups = "SPI1DEBUG";
1241 pinctrl_spi1passthru_default: spi1passthru_default {
1242 function = "SPI1PASSTHRU";
1243 groups = "SPI1PASSTHRU";
1246 pinctrl_spics1_default: spics1_default {
1247 function = "SPICS1";
1251 pinctrl_timer3_default: timer3_default {
1252 function = "TIMER3";
1256 pinctrl_timer4_default: timer4_default {
1257 function = "TIMER4";
1261 pinctrl_timer5_default: timer5_default {
1262 function = "TIMER5";
1266 pinctrl_timer6_default: timer6_default {
1267 function = "TIMER6";
1271 pinctrl_timer7_default: timer7_default {
1272 function = "TIMER7";
1276 pinctrl_timer8_default: timer8_default {
1277 function = "TIMER8";
1281 pinctrl_txd1_default: txd1_default {
1286 pinctrl_txd2_default: txd2_default {
1291 pinctrl_txd3_default: txd3_default {
1296 pinctrl_txd4_default: txd4_default {
1301 pinctrl_uart6_default: uart6_default {
1306 pinctrl_usbcki_default: usbcki_default {
1307 function = "USBCKI";
1311 pinctrl_usb2h_default: usb2h_default {
1312 function = "USB2H1";
1316 pinctrl_usb2d_default: usb2d_default {
1317 function = "USB2D1";
1321 pinctrl_vgabios_rom_default: vgabios_rom_default {
1322 function = "VGABIOS_ROM";
1323 groups = "VGABIOS_ROM";
1326 pinctrl_vgahs_default: vgahs_default {
1331 pinctrl_vgavs_default: vgavs_default {
1336 pinctrl_vpi18_default: vpi18_default {
1341 pinctrl_vpi24_default: vpi24_default {
1346 pinctrl_vpi30_default: vpi30_default {
1351 pinctrl_vpo12_default: vpo12_default {
1356 pinctrl_vpo24_default: vpo24_default {
1361 pinctrl_wdtrst1_default: wdtrst1_default {
1362 function = "WDTRST1";
1366 pinctrl_wdtrst2_default: wdtrst2_default {
1367 function = "WDTRST2";