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