1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/ath79-clk.h> 3c66ec88fSEmmanuel Vadot 4c66ec88fSEmmanuel Vadot/ { 5c66ec88fSEmmanuel Vadot compatible = "qca,ar9331"; 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadot #address-cells = <1>; 8c66ec88fSEmmanuel Vadot #size-cells = <1>; 9c66ec88fSEmmanuel Vadot 10c66ec88fSEmmanuel Vadot cpus { 11c66ec88fSEmmanuel Vadot #address-cells = <1>; 12c66ec88fSEmmanuel Vadot #size-cells = <0>; 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadot cpu@0 { 15c66ec88fSEmmanuel Vadot device_type = "cpu"; 16c66ec88fSEmmanuel Vadot compatible = "mips,mips24Kc"; 17c66ec88fSEmmanuel Vadot clocks = <&pll ATH79_CLK_CPU>; 18c66ec88fSEmmanuel Vadot reg = <0>; 19c66ec88fSEmmanuel Vadot }; 20c66ec88fSEmmanuel Vadot }; 21c66ec88fSEmmanuel Vadot 22c66ec88fSEmmanuel Vadot cpuintc: interrupt-controller { 23c66ec88fSEmmanuel Vadot compatible = "qca,ar7100-cpu-intc"; 24c66ec88fSEmmanuel Vadot 25c66ec88fSEmmanuel Vadot interrupt-controller; 26c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel Vadot qca,ddr-wb-channel-interrupts = <2>, <3>; 29c66ec88fSEmmanuel Vadot qca,ddr-wb-channels = <&ddr_ctrl 3>, <&ddr_ctrl 2>; 30c66ec88fSEmmanuel Vadot }; 31c66ec88fSEmmanuel Vadot 32c66ec88fSEmmanuel Vadot ref: ref { 33c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 34c66ec88fSEmmanuel Vadot #clock-cells = <0>; 35c66ec88fSEmmanuel Vadot }; 36c66ec88fSEmmanuel Vadot 37c66ec88fSEmmanuel Vadot ahb { 38c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 39c66ec88fSEmmanuel Vadot ranges; 40c66ec88fSEmmanuel Vadot 41c66ec88fSEmmanuel Vadot #address-cells = <1>; 42c66ec88fSEmmanuel Vadot #size-cells = <1>; 43c66ec88fSEmmanuel Vadot 44c66ec88fSEmmanuel Vadot interrupt-parent = <&cpuintc>; 45c66ec88fSEmmanuel Vadot 46c66ec88fSEmmanuel Vadot apb { 47c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 48c66ec88fSEmmanuel Vadot ranges; 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot #address-cells = <1>; 51c66ec88fSEmmanuel Vadot #size-cells = <1>; 52c66ec88fSEmmanuel Vadot 53c66ec88fSEmmanuel Vadot interrupt-parent = <&miscintc>; 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot ddr_ctrl: memory-controller@18000000 { 56c66ec88fSEmmanuel Vadot compatible = "qca,ar7240-ddr-controller"; 57c66ec88fSEmmanuel Vadot reg = <0x18000000 0x100>; 58c66ec88fSEmmanuel Vadot 59c66ec88fSEmmanuel Vadot #qca,ddr-wb-channel-cells = <1>; 60c66ec88fSEmmanuel Vadot }; 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel Vadot uart: serial@18020000 { 63c66ec88fSEmmanuel Vadot compatible = "qca,ar9330-uart"; 64c66ec88fSEmmanuel Vadot reg = <0x18020000 0x14>; 65c66ec88fSEmmanuel Vadot 66c66ec88fSEmmanuel Vadot interrupts = <3>; 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel Vadot clocks = <&ref>; 69c66ec88fSEmmanuel Vadot clock-names = "uart"; 70c66ec88fSEmmanuel Vadot 71c66ec88fSEmmanuel Vadot status = "disabled"; 72c66ec88fSEmmanuel Vadot }; 73c66ec88fSEmmanuel Vadot 74c66ec88fSEmmanuel Vadot gpio: gpio@18040000 { 75c66ec88fSEmmanuel Vadot compatible = "qca,ar7100-gpio"; 76c66ec88fSEmmanuel Vadot reg = <0x18040000 0x34>; 77c66ec88fSEmmanuel Vadot interrupts = <2>; 78c66ec88fSEmmanuel Vadot 79c66ec88fSEmmanuel Vadot ngpios = <30>; 80c66ec88fSEmmanuel Vadot 81c66ec88fSEmmanuel Vadot gpio-controller; 82c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 83c66ec88fSEmmanuel Vadot 84c66ec88fSEmmanuel Vadot interrupt-controller; 85c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 86c66ec88fSEmmanuel Vadot 87c66ec88fSEmmanuel Vadot status = "disabled"; 88c66ec88fSEmmanuel Vadot }; 89c66ec88fSEmmanuel Vadot 90c66ec88fSEmmanuel Vadot pll: pll-controller@18050000 { 91c66ec88fSEmmanuel Vadot compatible = "qca,ar9330-pll"; 92c66ec88fSEmmanuel Vadot reg = <0x18050000 0x100>; 93c66ec88fSEmmanuel Vadot 94c66ec88fSEmmanuel Vadot clocks = <&ref>; 95c66ec88fSEmmanuel Vadot clock-names = "ref"; 96c66ec88fSEmmanuel Vadot 97c66ec88fSEmmanuel Vadot #clock-cells = <1>; 98c66ec88fSEmmanuel Vadot }; 99c66ec88fSEmmanuel Vadot 100c66ec88fSEmmanuel Vadot miscintc: interrupt-controller@18060010 { 101c66ec88fSEmmanuel Vadot compatible = "qca,ar7240-misc-intc"; 102c66ec88fSEmmanuel Vadot reg = <0x18060010 0x8>; 103c66ec88fSEmmanuel Vadot 104c66ec88fSEmmanuel Vadot interrupt-parent = <&cpuintc>; 105c66ec88fSEmmanuel Vadot interrupts = <6>; 106c66ec88fSEmmanuel Vadot 107c66ec88fSEmmanuel Vadot interrupt-controller; 108c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 109c66ec88fSEmmanuel Vadot }; 110c66ec88fSEmmanuel Vadot 111c66ec88fSEmmanuel Vadot rst: reset-controller@1806001c { 112c66ec88fSEmmanuel Vadot compatible = "qca,ar7100-reset"; 113c66ec88fSEmmanuel Vadot reg = <0x1806001c 0x4>; 114c66ec88fSEmmanuel Vadot 115c66ec88fSEmmanuel Vadot #reset-cells = <1>; 116c66ec88fSEmmanuel Vadot }; 117c66ec88fSEmmanuel Vadot }; 118c66ec88fSEmmanuel Vadot 119c66ec88fSEmmanuel Vadot eth0: ethernet@19000000 { 120c66ec88fSEmmanuel Vadot compatible = "qca,ar9330-eth"; 121c66ec88fSEmmanuel Vadot reg = <0x19000000 0x200>; 122c66ec88fSEmmanuel Vadot interrupts = <4>; 123c66ec88fSEmmanuel Vadot 124c66ec88fSEmmanuel Vadot resets = <&rst 9>, <&rst 22>; 125c66ec88fSEmmanuel Vadot reset-names = "mac", "mdio"; 126c66ec88fSEmmanuel Vadot clocks = <&pll ATH79_CLK_AHB>, <&pll ATH79_CLK_AHB>; 127c66ec88fSEmmanuel Vadot clock-names = "eth", "mdio"; 128c66ec88fSEmmanuel Vadot 129c66ec88fSEmmanuel Vadot phy-mode = "mii"; 130c66ec88fSEmmanuel Vadot phy-handle = <&phy_port4>; 131c66ec88fSEmmanuel Vadot 132c66ec88fSEmmanuel Vadot status = "disabled"; 133c66ec88fSEmmanuel Vadot }; 134c66ec88fSEmmanuel Vadot 135c66ec88fSEmmanuel Vadot eth1: ethernet@1a000000 { 136c66ec88fSEmmanuel Vadot compatible = "qca,ar9330-eth"; 137c66ec88fSEmmanuel Vadot reg = <0x1a000000 0x200>; 138c66ec88fSEmmanuel Vadot interrupts = <5>; 139c66ec88fSEmmanuel Vadot resets = <&rst 13>, <&rst 23>; 140c66ec88fSEmmanuel Vadot reset-names = "mac", "mdio"; 141c66ec88fSEmmanuel Vadot clocks = <&pll ATH79_CLK_AHB>, <&pll ATH79_CLK_AHB>; 142c66ec88fSEmmanuel Vadot clock-names = "eth", "mdio"; 143c66ec88fSEmmanuel Vadot 144c66ec88fSEmmanuel Vadot phy-mode = "gmii"; 145c66ec88fSEmmanuel Vadot 146c66ec88fSEmmanuel Vadot status = "disabled"; 147c66ec88fSEmmanuel Vadot 148c66ec88fSEmmanuel Vadot fixed-link { 149c66ec88fSEmmanuel Vadot speed = <1000>; 150c66ec88fSEmmanuel Vadot full-duplex; 151*5956d97fSEmmanuel Vadot pause; 152c66ec88fSEmmanuel Vadot }; 153c66ec88fSEmmanuel Vadot 154c66ec88fSEmmanuel Vadot mdio { 155c66ec88fSEmmanuel Vadot #address-cells = <1>; 156c66ec88fSEmmanuel Vadot #size-cells = <0>; 157c66ec88fSEmmanuel Vadot 158c66ec88fSEmmanuel Vadot switch10: switch@10 { 159c66ec88fSEmmanuel Vadot #address-cells = <1>; 160c66ec88fSEmmanuel Vadot #size-cells = <0>; 161c66ec88fSEmmanuel Vadot 162c66ec88fSEmmanuel Vadot compatible = "qca,ar9331-switch"; 163c66ec88fSEmmanuel Vadot reg = <0x10>; 164c66ec88fSEmmanuel Vadot resets = <&rst 8>; 165c66ec88fSEmmanuel Vadot reset-names = "switch"; 166c66ec88fSEmmanuel Vadot 167c66ec88fSEmmanuel Vadot interrupt-parent = <&miscintc>; 168c66ec88fSEmmanuel Vadot interrupts = <12>; 169c66ec88fSEmmanuel Vadot 170c66ec88fSEmmanuel Vadot interrupt-controller; 171c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 172c66ec88fSEmmanuel Vadot 173c66ec88fSEmmanuel Vadot ports { 174c66ec88fSEmmanuel Vadot #address-cells = <1>; 175c66ec88fSEmmanuel Vadot #size-cells = <0>; 176c66ec88fSEmmanuel Vadot 177c66ec88fSEmmanuel Vadot switch_port0: port@0 { 178c66ec88fSEmmanuel Vadot reg = <0x0>; 179c66ec88fSEmmanuel Vadot ethernet = <ð1>; 180c66ec88fSEmmanuel Vadot 181c66ec88fSEmmanuel Vadot phy-mode = "gmii"; 182c66ec88fSEmmanuel Vadot 183c66ec88fSEmmanuel Vadot fixed-link { 184c66ec88fSEmmanuel Vadot speed = <1000>; 185c66ec88fSEmmanuel Vadot full-duplex; 186*5956d97fSEmmanuel Vadot pause; 187c66ec88fSEmmanuel Vadot }; 188c66ec88fSEmmanuel Vadot }; 189c66ec88fSEmmanuel Vadot 190c66ec88fSEmmanuel Vadot switch_port1: port@1 { 191c66ec88fSEmmanuel Vadot reg = <0x1>; 192c66ec88fSEmmanuel Vadot phy-handle = <&phy_port0>; 193c66ec88fSEmmanuel Vadot phy-mode = "internal"; 194c66ec88fSEmmanuel Vadot 195c66ec88fSEmmanuel Vadot status = "disabled"; 196c66ec88fSEmmanuel Vadot }; 197c66ec88fSEmmanuel Vadot 198c66ec88fSEmmanuel Vadot switch_port2: port@2 { 199c66ec88fSEmmanuel Vadot reg = <0x2>; 200c66ec88fSEmmanuel Vadot phy-handle = <&phy_port1>; 201c66ec88fSEmmanuel Vadot phy-mode = "internal"; 202c66ec88fSEmmanuel Vadot 203c66ec88fSEmmanuel Vadot status = "disabled"; 204c66ec88fSEmmanuel Vadot }; 205c66ec88fSEmmanuel Vadot 206c66ec88fSEmmanuel Vadot switch_port3: port@3 { 207c66ec88fSEmmanuel Vadot reg = <0x3>; 208c66ec88fSEmmanuel Vadot phy-handle = <&phy_port2>; 209c66ec88fSEmmanuel Vadot phy-mode = "internal"; 210c66ec88fSEmmanuel Vadot 211c66ec88fSEmmanuel Vadot status = "disabled"; 212c66ec88fSEmmanuel Vadot }; 213c66ec88fSEmmanuel Vadot 214c66ec88fSEmmanuel Vadot switch_port4: port@4 { 215c66ec88fSEmmanuel Vadot reg = <0x4>; 216c66ec88fSEmmanuel Vadot phy-handle = <&phy_port3>; 217c66ec88fSEmmanuel Vadot phy-mode = "internal"; 218c66ec88fSEmmanuel Vadot 219c66ec88fSEmmanuel Vadot status = "disabled"; 220c66ec88fSEmmanuel Vadot }; 221c66ec88fSEmmanuel Vadot }; 222c66ec88fSEmmanuel Vadot 223c66ec88fSEmmanuel Vadot mdio { 224c66ec88fSEmmanuel Vadot #address-cells = <1>; 225c66ec88fSEmmanuel Vadot #size-cells = <0>; 226c66ec88fSEmmanuel Vadot 227c66ec88fSEmmanuel Vadot interrupt-parent = <&switch10>; 228c66ec88fSEmmanuel Vadot 229c66ec88fSEmmanuel Vadot phy_port0: phy@0 { 230c66ec88fSEmmanuel Vadot reg = <0x0>; 231c66ec88fSEmmanuel Vadot interrupts = <0>; 232c66ec88fSEmmanuel Vadot status = "disabled"; 233c66ec88fSEmmanuel Vadot }; 234c66ec88fSEmmanuel Vadot 235c66ec88fSEmmanuel Vadot phy_port1: phy@1 { 236c66ec88fSEmmanuel Vadot reg = <0x1>; 237c66ec88fSEmmanuel Vadot interrupts = <0>; 238c66ec88fSEmmanuel Vadot status = "disabled"; 239c66ec88fSEmmanuel Vadot }; 240c66ec88fSEmmanuel Vadot 241c66ec88fSEmmanuel Vadot phy_port2: phy@2 { 242c66ec88fSEmmanuel Vadot reg = <0x2>; 243c66ec88fSEmmanuel Vadot interrupts = <0>; 244c66ec88fSEmmanuel Vadot status = "disabled"; 245c66ec88fSEmmanuel Vadot }; 246c66ec88fSEmmanuel Vadot 247c66ec88fSEmmanuel Vadot phy_port3: phy@3 { 248c66ec88fSEmmanuel Vadot reg = <0x3>; 249c66ec88fSEmmanuel Vadot interrupts = <0>; 250c66ec88fSEmmanuel Vadot status = "disabled"; 251c66ec88fSEmmanuel Vadot }; 252c66ec88fSEmmanuel Vadot 253c66ec88fSEmmanuel Vadot phy_port4: phy@4 { 254c66ec88fSEmmanuel Vadot reg = <0x4>; 255c66ec88fSEmmanuel Vadot interrupts = <0>; 256c66ec88fSEmmanuel Vadot status = "disabled"; 257c66ec88fSEmmanuel Vadot }; 258c66ec88fSEmmanuel Vadot }; 259c66ec88fSEmmanuel Vadot }; 260c66ec88fSEmmanuel Vadot }; 261c66ec88fSEmmanuel Vadot }; 262c66ec88fSEmmanuel Vadot 263c66ec88fSEmmanuel Vadot usb: usb@1b000100 { 264c66ec88fSEmmanuel Vadot compatible = "chipidea,usb2"; 265c66ec88fSEmmanuel Vadot reg = <0x1b000000 0x200>; 266c66ec88fSEmmanuel Vadot 267c66ec88fSEmmanuel Vadot interrupts = <3>; 268c66ec88fSEmmanuel Vadot resets = <&rst 5>; 269c66ec88fSEmmanuel Vadot 270c66ec88fSEmmanuel Vadot phy-names = "usb-phy"; 271c66ec88fSEmmanuel Vadot phys = <&usb_phy>; 272c66ec88fSEmmanuel Vadot 273c66ec88fSEmmanuel Vadot status = "disabled"; 274c66ec88fSEmmanuel Vadot }; 275c66ec88fSEmmanuel Vadot 276c66ec88fSEmmanuel Vadot spi: spi@1f000000 { 277c66ec88fSEmmanuel Vadot compatible = "qca,ar7100-spi"; 278c66ec88fSEmmanuel Vadot reg = <0x1f000000 0x10>; 279c66ec88fSEmmanuel Vadot 280c66ec88fSEmmanuel Vadot clocks = <&pll ATH79_CLK_AHB>; 281c66ec88fSEmmanuel Vadot clock-names = "ahb"; 282c66ec88fSEmmanuel Vadot 283c66ec88fSEmmanuel Vadot #address-cells = <1>; 284c66ec88fSEmmanuel Vadot #size-cells = <0>; 285c66ec88fSEmmanuel Vadot 286c66ec88fSEmmanuel Vadot status = "disabled"; 287c66ec88fSEmmanuel Vadot }; 288c66ec88fSEmmanuel Vadot }; 289c66ec88fSEmmanuel Vadot 290c66ec88fSEmmanuel Vadot usb_phy: usb-phy { 291c66ec88fSEmmanuel Vadot compatible = "qca,ar7100-usb-phy"; 292c66ec88fSEmmanuel Vadot 293c66ec88fSEmmanuel Vadot reset-names = "phy", "suspend-override"; 294c66ec88fSEmmanuel Vadot resets = <&rst 4>, <&rst 3>; 295c66ec88fSEmmanuel Vadot 296c66ec88fSEmmanuel Vadot #phy-cells = <0>; 297c66ec88fSEmmanuel Vadot 298c66ec88fSEmmanuel Vadot status = "disabled"; 299c66ec88fSEmmanuel Vadot }; 300c66ec88fSEmmanuel Vadot}; 301