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,ar9331"; 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,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>; 298c2ecf20Sopenharmony_ci qca,ddr-wb-channels = <&ddr_ctrl 3>, <&ddr_ctrl 2>; 308c2ecf20Sopenharmony_ci }; 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci ref: ref { 338c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 348c2ecf20Sopenharmony_ci #clock-cells = <0>; 358c2ecf20Sopenharmony_ci }; 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci ahb { 388c2ecf20Sopenharmony_ci compatible = "simple-bus"; 398c2ecf20Sopenharmony_ci ranges; 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci #address-cells = <1>; 428c2ecf20Sopenharmony_ci #size-cells = <1>; 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci interrupt-parent = <&cpuintc>; 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci apb { 478c2ecf20Sopenharmony_ci compatible = "simple-bus"; 488c2ecf20Sopenharmony_ci ranges; 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci #address-cells = <1>; 518c2ecf20Sopenharmony_ci #size-cells = <1>; 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci interrupt-parent = <&miscintc>; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci ddr_ctrl: memory-controller@18000000 { 568c2ecf20Sopenharmony_ci compatible = "qca,ar7240-ddr-controller"; 578c2ecf20Sopenharmony_ci reg = <0x18000000 0x100>; 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci #qca,ddr-wb-channel-cells = <1>; 608c2ecf20Sopenharmony_ci }; 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci uart: serial@18020000 { 638c2ecf20Sopenharmony_ci compatible = "qca,ar9330-uart"; 648c2ecf20Sopenharmony_ci reg = <0x18020000 0x14>; 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci interrupts = <3>; 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci clocks = <&ref>; 698c2ecf20Sopenharmony_ci clock-names = "uart"; 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci status = "disabled"; 728c2ecf20Sopenharmony_ci }; 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci gpio: gpio@18040000 { 758c2ecf20Sopenharmony_ci compatible = "qca,ar7100-gpio"; 768c2ecf20Sopenharmony_ci reg = <0x18040000 0x34>; 778c2ecf20Sopenharmony_ci interrupts = <2>; 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci ngpios = <30>; 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci gpio-controller; 828c2ecf20Sopenharmony_ci #gpio-cells = <2>; 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci interrupt-controller; 858c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci status = "disabled"; 888c2ecf20Sopenharmony_ci }; 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ci pll: pll-controller@18050000 { 918c2ecf20Sopenharmony_ci compatible = "qca,ar9330-pll"; 928c2ecf20Sopenharmony_ci reg = <0x18050000 0x100>; 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci clocks = <&ref>; 958c2ecf20Sopenharmony_ci clock-names = "ref"; 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci #clock-cells = <1>; 988c2ecf20Sopenharmony_ci }; 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci miscintc: interrupt-controller@18060010 { 1018c2ecf20Sopenharmony_ci compatible = "qca,ar7240-misc-intc"; 1028c2ecf20Sopenharmony_ci reg = <0x18060010 0x8>; 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci interrupt-parent = <&cpuintc>; 1058c2ecf20Sopenharmony_ci interrupts = <6>; 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ci interrupt-controller; 1088c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 1098c2ecf20Sopenharmony_ci }; 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci rst: reset-controller@1806001c { 1128c2ecf20Sopenharmony_ci compatible = "qca,ar7100-reset"; 1138c2ecf20Sopenharmony_ci reg = <0x1806001c 0x4>; 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci #reset-cells = <1>; 1168c2ecf20Sopenharmony_ci }; 1178c2ecf20Sopenharmony_ci }; 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci eth0: ethernet@19000000 { 1208c2ecf20Sopenharmony_ci compatible = "qca,ar9330-eth"; 1218c2ecf20Sopenharmony_ci reg = <0x19000000 0x200>; 1228c2ecf20Sopenharmony_ci interrupts = <4>; 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci resets = <&rst 9>, <&rst 22>; 1258c2ecf20Sopenharmony_ci reset-names = "mac", "mdio"; 1268c2ecf20Sopenharmony_ci clocks = <&pll ATH79_CLK_AHB>, <&pll ATH79_CLK_AHB>; 1278c2ecf20Sopenharmony_ci clock-names = "eth", "mdio"; 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_ci phy-mode = "mii"; 1308c2ecf20Sopenharmony_ci phy-handle = <&phy_port4>; 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci status = "disabled"; 1338c2ecf20Sopenharmony_ci }; 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ci eth1: ethernet@1a000000 { 1368c2ecf20Sopenharmony_ci compatible = "qca,ar9330-eth"; 1378c2ecf20Sopenharmony_ci reg = <0x1a000000 0x200>; 1388c2ecf20Sopenharmony_ci interrupts = <5>; 1398c2ecf20Sopenharmony_ci resets = <&rst 13>, <&rst 23>; 1408c2ecf20Sopenharmony_ci reset-names = "mac", "mdio"; 1418c2ecf20Sopenharmony_ci clocks = <&pll ATH79_CLK_AHB>, <&pll ATH79_CLK_AHB>; 1428c2ecf20Sopenharmony_ci clock-names = "eth", "mdio"; 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ci phy-mode = "gmii"; 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ci status = "disabled"; 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ci fixed-link { 1498c2ecf20Sopenharmony_ci speed = <1000>; 1508c2ecf20Sopenharmony_ci full-duplex; 1518c2ecf20Sopenharmony_ci }; 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ci mdio { 1548c2ecf20Sopenharmony_ci #address-cells = <1>; 1558c2ecf20Sopenharmony_ci #size-cells = <0>; 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_ci switch10: switch@10 { 1588c2ecf20Sopenharmony_ci #address-cells = <1>; 1598c2ecf20Sopenharmony_ci #size-cells = <0>; 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ci compatible = "qca,ar9331-switch"; 1628c2ecf20Sopenharmony_ci reg = <0x10>; 1638c2ecf20Sopenharmony_ci resets = <&rst 8>; 1648c2ecf20Sopenharmony_ci reset-names = "switch"; 1658c2ecf20Sopenharmony_ci 1668c2ecf20Sopenharmony_ci interrupt-parent = <&miscintc>; 1678c2ecf20Sopenharmony_ci interrupts = <12>; 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_ci interrupt-controller; 1708c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ci ports { 1738c2ecf20Sopenharmony_ci #address-cells = <1>; 1748c2ecf20Sopenharmony_ci #size-cells = <0>; 1758c2ecf20Sopenharmony_ci 1768c2ecf20Sopenharmony_ci switch_port0: port@0 { 1778c2ecf20Sopenharmony_ci reg = <0x0>; 1788c2ecf20Sopenharmony_ci label = "cpu"; 1798c2ecf20Sopenharmony_ci ethernet = <ð1>; 1808c2ecf20Sopenharmony_ci 1818c2ecf20Sopenharmony_ci phy-mode = "gmii"; 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_ci fixed-link { 1848c2ecf20Sopenharmony_ci speed = <1000>; 1858c2ecf20Sopenharmony_ci full-duplex; 1868c2ecf20Sopenharmony_ci }; 1878c2ecf20Sopenharmony_ci }; 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_ci switch_port1: port@1 { 1908c2ecf20Sopenharmony_ci reg = <0x1>; 1918c2ecf20Sopenharmony_ci phy-handle = <&phy_port0>; 1928c2ecf20Sopenharmony_ci phy-mode = "internal"; 1938c2ecf20Sopenharmony_ci 1948c2ecf20Sopenharmony_ci status = "disabled"; 1958c2ecf20Sopenharmony_ci }; 1968c2ecf20Sopenharmony_ci 1978c2ecf20Sopenharmony_ci switch_port2: port@2 { 1988c2ecf20Sopenharmony_ci reg = <0x2>; 1998c2ecf20Sopenharmony_ci phy-handle = <&phy_port1>; 2008c2ecf20Sopenharmony_ci phy-mode = "internal"; 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ci status = "disabled"; 2038c2ecf20Sopenharmony_ci }; 2048c2ecf20Sopenharmony_ci 2058c2ecf20Sopenharmony_ci switch_port3: port@3 { 2068c2ecf20Sopenharmony_ci reg = <0x3>; 2078c2ecf20Sopenharmony_ci phy-handle = <&phy_port2>; 2088c2ecf20Sopenharmony_ci phy-mode = "internal"; 2098c2ecf20Sopenharmony_ci 2108c2ecf20Sopenharmony_ci status = "disabled"; 2118c2ecf20Sopenharmony_ci }; 2128c2ecf20Sopenharmony_ci 2138c2ecf20Sopenharmony_ci switch_port4: port@4 { 2148c2ecf20Sopenharmony_ci reg = <0x4>; 2158c2ecf20Sopenharmony_ci phy-handle = <&phy_port3>; 2168c2ecf20Sopenharmony_ci phy-mode = "internal"; 2178c2ecf20Sopenharmony_ci 2188c2ecf20Sopenharmony_ci status = "disabled"; 2198c2ecf20Sopenharmony_ci }; 2208c2ecf20Sopenharmony_ci }; 2218c2ecf20Sopenharmony_ci 2228c2ecf20Sopenharmony_ci mdio { 2238c2ecf20Sopenharmony_ci #address-cells = <1>; 2248c2ecf20Sopenharmony_ci #size-cells = <0>; 2258c2ecf20Sopenharmony_ci 2268c2ecf20Sopenharmony_ci interrupt-parent = <&switch10>; 2278c2ecf20Sopenharmony_ci 2288c2ecf20Sopenharmony_ci phy_port0: phy@0 { 2298c2ecf20Sopenharmony_ci reg = <0x0>; 2308c2ecf20Sopenharmony_ci interrupts = <0>; 2318c2ecf20Sopenharmony_ci status = "disabled"; 2328c2ecf20Sopenharmony_ci }; 2338c2ecf20Sopenharmony_ci 2348c2ecf20Sopenharmony_ci phy_port1: phy@1 { 2358c2ecf20Sopenharmony_ci reg = <0x1>; 2368c2ecf20Sopenharmony_ci interrupts = <0>; 2378c2ecf20Sopenharmony_ci status = "disabled"; 2388c2ecf20Sopenharmony_ci }; 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ci phy_port2: phy@2 { 2418c2ecf20Sopenharmony_ci reg = <0x2>; 2428c2ecf20Sopenharmony_ci interrupts = <0>; 2438c2ecf20Sopenharmony_ci status = "disabled"; 2448c2ecf20Sopenharmony_ci }; 2458c2ecf20Sopenharmony_ci 2468c2ecf20Sopenharmony_ci phy_port3: phy@3 { 2478c2ecf20Sopenharmony_ci reg = <0x3>; 2488c2ecf20Sopenharmony_ci interrupts = <0>; 2498c2ecf20Sopenharmony_ci status = "disabled"; 2508c2ecf20Sopenharmony_ci }; 2518c2ecf20Sopenharmony_ci 2528c2ecf20Sopenharmony_ci phy_port4: phy@4 { 2538c2ecf20Sopenharmony_ci reg = <0x4>; 2548c2ecf20Sopenharmony_ci interrupts = <0>; 2558c2ecf20Sopenharmony_ci status = "disabled"; 2568c2ecf20Sopenharmony_ci }; 2578c2ecf20Sopenharmony_ci }; 2588c2ecf20Sopenharmony_ci }; 2598c2ecf20Sopenharmony_ci }; 2608c2ecf20Sopenharmony_ci }; 2618c2ecf20Sopenharmony_ci 2628c2ecf20Sopenharmony_ci usb: usb@1b000100 { 2638c2ecf20Sopenharmony_ci compatible = "chipidea,usb2"; 2648c2ecf20Sopenharmony_ci reg = <0x1b000000 0x200>; 2658c2ecf20Sopenharmony_ci 2668c2ecf20Sopenharmony_ci interrupts = <3>; 2678c2ecf20Sopenharmony_ci resets = <&rst 5>; 2688c2ecf20Sopenharmony_ci 2698c2ecf20Sopenharmony_ci phy-names = "usb-phy"; 2708c2ecf20Sopenharmony_ci phys = <&usb_phy>; 2718c2ecf20Sopenharmony_ci 2728c2ecf20Sopenharmony_ci status = "disabled"; 2738c2ecf20Sopenharmony_ci }; 2748c2ecf20Sopenharmony_ci 2758c2ecf20Sopenharmony_ci spi: spi@1f000000 { 2768c2ecf20Sopenharmony_ci compatible = "qca,ar7100-spi"; 2778c2ecf20Sopenharmony_ci reg = <0x1f000000 0x10>; 2788c2ecf20Sopenharmony_ci 2798c2ecf20Sopenharmony_ci clocks = <&pll ATH79_CLK_AHB>; 2808c2ecf20Sopenharmony_ci clock-names = "ahb"; 2818c2ecf20Sopenharmony_ci 2828c2ecf20Sopenharmony_ci #address-cells = <1>; 2838c2ecf20Sopenharmony_ci #size-cells = <0>; 2848c2ecf20Sopenharmony_ci 2858c2ecf20Sopenharmony_ci status = "disabled"; 2868c2ecf20Sopenharmony_ci }; 2878c2ecf20Sopenharmony_ci }; 2888c2ecf20Sopenharmony_ci 2898c2ecf20Sopenharmony_ci usb_phy: usb-phy { 2908c2ecf20Sopenharmony_ci compatible = "qca,ar7100-usb-phy"; 2918c2ecf20Sopenharmony_ci 2928c2ecf20Sopenharmony_ci reset-names = "phy", "suspend-override"; 2938c2ecf20Sopenharmony_ci resets = <&rst 4>, <&rst 3>; 2948c2ecf20Sopenharmony_ci 2958c2ecf20Sopenharmony_ci #phy-cells = <0>; 2968c2ecf20Sopenharmony_ci 2978c2ecf20Sopenharmony_ci status = "disabled"; 2988c2ecf20Sopenharmony_ci }; 2998c2ecf20Sopenharmony_ci}; 300