18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci#include <dt-bindings/clock/ath79-clk.h> 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci/ { 58c2ecf20Sopenharmony_ci compatible = "qca,ar9132"; 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci #address-cells = <1>; 88c2ecf20Sopenharmony_ci #size-cells = <1>; 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci cpus { 118c2ecf20Sopenharmony_ci #address-cells = <1>; 128c2ecf20Sopenharmony_ci #size-cells = <0>; 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci cpu@0 { 158c2ecf20Sopenharmony_ci device_type = "cpu"; 168c2ecf20Sopenharmony_ci compatible = "mips,mips24Kc"; 178c2ecf20Sopenharmony_ci clocks = <&pll ATH79_CLK_CPU>; 188c2ecf20Sopenharmony_ci reg = <0>; 198c2ecf20Sopenharmony_ci }; 208c2ecf20Sopenharmony_ci }; 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci cpuintc: interrupt-controller { 238c2ecf20Sopenharmony_ci compatible = "qca,ar9132-cpu-intc", "qca,ar7100-cpu-intc"; 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci interrupt-controller; 268c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci qca,ddr-wb-channel-interrupts = <2>, <3>, <4>, <5>; 298c2ecf20Sopenharmony_ci qca,ddr-wb-channels = <&ddr_ctrl 3>, <&ddr_ctrl 2>, 308c2ecf20Sopenharmony_ci <&ddr_ctrl 0>, <&ddr_ctrl 1>; 318c2ecf20Sopenharmony_ci }; 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci ahb { 348c2ecf20Sopenharmony_ci compatible = "simple-bus"; 358c2ecf20Sopenharmony_ci ranges; 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci #address-cells = <1>; 388c2ecf20Sopenharmony_ci #size-cells = <1>; 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci interrupt-parent = <&cpuintc>; 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci apb { 438c2ecf20Sopenharmony_ci compatible = "simple-bus"; 448c2ecf20Sopenharmony_ci ranges; 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci #address-cells = <1>; 478c2ecf20Sopenharmony_ci #size-cells = <1>; 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci interrupt-parent = <&miscintc>; 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci ddr_ctrl: memory-controller@18000000 { 528c2ecf20Sopenharmony_ci compatible = "qca,ar9132-ddr-controller", 538c2ecf20Sopenharmony_ci "qca,ar7240-ddr-controller"; 548c2ecf20Sopenharmony_ci reg = <0x18000000 0x100>; 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci #qca,ddr-wb-channel-cells = <1>; 578c2ecf20Sopenharmony_ci }; 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci uart: uart@18020000 { 608c2ecf20Sopenharmony_ci compatible = "ns8250"; 618c2ecf20Sopenharmony_ci reg = <0x18020000 0x20>; 628c2ecf20Sopenharmony_ci interrupts = <3>; 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci clocks = <&pll ATH79_CLK_AHB>; 658c2ecf20Sopenharmony_ci clock-names = "uart"; 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci reg-io-width = <4>; 688c2ecf20Sopenharmony_ci reg-shift = <2>; 698c2ecf20Sopenharmony_ci no-loopback-test; 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci status = "disabled"; 728c2ecf20Sopenharmony_ci }; 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci gpio: gpio@18040000 { 758c2ecf20Sopenharmony_ci compatible = "qca,ar9132-gpio", 768c2ecf20Sopenharmony_ci "qca,ar7100-gpio"; 778c2ecf20Sopenharmony_ci reg = <0x18040000 0x30>; 788c2ecf20Sopenharmony_ci interrupts = <2>; 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci ngpios = <22>; 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ci gpio-controller; 838c2ecf20Sopenharmony_ci #gpio-cells = <2>; 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ci interrupt-controller; 868c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 878c2ecf20Sopenharmony_ci }; 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci pll: pll-controller@18050000 { 908c2ecf20Sopenharmony_ci compatible = "qca,ar9132-pll", 918c2ecf20Sopenharmony_ci "qca,ar9130-pll"; 928c2ecf20Sopenharmony_ci reg = <0x18050000 0x20>; 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci clock-names = "ref"; 958c2ecf20Sopenharmony_ci /* The board must provides the ref clock */ 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci #clock-cells = <1>; 988c2ecf20Sopenharmony_ci clock-output-names = "cpu", "ddr", "ahb"; 998c2ecf20Sopenharmony_ci }; 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ci wdt: wdt@18060008 { 1028c2ecf20Sopenharmony_ci compatible = "qca,ar7130-wdt"; 1038c2ecf20Sopenharmony_ci reg = <0x18060008 0x8>; 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ci interrupts = <4>; 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ci clocks = <&pll ATH79_CLK_AHB>; 1088c2ecf20Sopenharmony_ci clock-names = "wdt"; 1098c2ecf20Sopenharmony_ci }; 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci miscintc: interrupt-controller@18060010 { 1128c2ecf20Sopenharmony_ci compatible = "qca,ar9132-misc-intc", 1138c2ecf20Sopenharmony_ci "qca,ar7100-misc-intc"; 1148c2ecf20Sopenharmony_ci reg = <0x18060010 0x8>; 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_ci interrupt-parent = <&cpuintc>; 1178c2ecf20Sopenharmony_ci interrupts = <6>; 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci interrupt-controller; 1208c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 1218c2ecf20Sopenharmony_ci }; 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci rst: reset-controller@1806001c { 1248c2ecf20Sopenharmony_ci compatible = "qca,ar9132-reset", 1258c2ecf20Sopenharmony_ci "qca,ar7100-reset"; 1268c2ecf20Sopenharmony_ci reg = <0x1806001c 0x4>; 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ci #reset-cells = <1>; 1298c2ecf20Sopenharmony_ci }; 1308c2ecf20Sopenharmony_ci }; 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci usb: usb@1b000100 { 1338c2ecf20Sopenharmony_ci compatible = "qca,ar7100-ehci", "generic-ehci"; 1348c2ecf20Sopenharmony_ci reg = <0x1b000100 0x100>; 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci interrupts = <3>; 1378c2ecf20Sopenharmony_ci resets = <&rst 5>; 1388c2ecf20Sopenharmony_ci 1398c2ecf20Sopenharmony_ci has-transaction-translator; 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci phy-names = "usb"; 1428c2ecf20Sopenharmony_ci phys = <&usb_phy>; 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ci status = "disabled"; 1458c2ecf20Sopenharmony_ci }; 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci spi: spi@1f000000 { 1488c2ecf20Sopenharmony_ci compatible = "qca,ar9132-spi", "qca,ar7100-spi"; 1498c2ecf20Sopenharmony_ci reg = <0x1f000000 0x10>; 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ci clocks = <&pll ATH79_CLK_AHB>; 1528c2ecf20Sopenharmony_ci clock-names = "ahb"; 1538c2ecf20Sopenharmony_ci 1548c2ecf20Sopenharmony_ci status = "disabled"; 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci #address-cells = <1>; 1578c2ecf20Sopenharmony_ci #size-cells = <0>; 1588c2ecf20Sopenharmony_ci }; 1598c2ecf20Sopenharmony_ci }; 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ci usb_phy: usb-phy { 1628c2ecf20Sopenharmony_ci compatible = "qca,ar7100-usb-phy"; 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci reset-names = "phy", "suspend-override"; 1658c2ecf20Sopenharmony_ci resets = <&rst 4>, <&rst 3>; 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ci #phy-cells = <0>; 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_ci status = "disabled"; 1708c2ecf20Sopenharmony_ci }; 1718c2ecf20Sopenharmony_ci}; 172