1137fceb7Sxiaochuan mao// SPDX-License-Identifier: GPL-2.0 2b1a79260SQing Zhang 3b1a79260SQing Zhang/dts-v1/; 4b1a79260SQing Zhang 5b1a79260SQing Zhang#include <dt-bindings/interrupt-controller/irq.h> 6b1a79260SQing Zhang 7b1a79260SQing Zhang/ { 8b1a79260SQing Zhang compatible = "loongson,loongson2k1000"; 9b1a79260SQing Zhang 10b1a79260SQing Zhang #address-cells = <2>; 11b1a79260SQing Zhang #size-cells = <2>; 12b1a79260SQing Zhang 13b1a79260SQing Zhang cpus { 14b1a79260SQing Zhang #address-cells = <1>; 15b1a79260SQing Zhang #size-cells = <0>; 16b1a79260SQing Zhang 17b1a79260SQing Zhang cpu0: cpu@0 { 18b1a79260SQing Zhang device_type = "cpu"; 19b1a79260SQing Zhang compatible = "loongson,gs264"; 20b1a79260SQing Zhang reg = <0x0>; 21b1a79260SQing Zhang #clock-cells = <1>; 22b1a79260SQing Zhang clocks = <&cpu_clk>; 23b1a79260SQing Zhang }; 24b1a79260SQing Zhang }; 25b1a79260SQing Zhang 26b1a79260SQing Zhang cpu_clk: cpu_clk { 27b1a79260SQing Zhang #clock-cells = <0>; 28b1a79260SQing Zhang compatible = "fixed-clock"; 29b1a79260SQing Zhang clock-frequency = <800000000>; 30b1a79260SQing Zhang }; 31b1a79260SQing Zhang 32b1a79260SQing Zhang cpuintc: interrupt-controller { 33b1a79260SQing Zhang #address-cells = <0>; 34b1a79260SQing Zhang #interrupt-cells = <1>; 35b1a79260SQing Zhang interrupt-controller; 36b1a79260SQing Zhang compatible = "mti,cpu-interrupt-controller"; 37b1a79260SQing Zhang }; 38b1a79260SQing Zhang 39b1a79260SQing Zhang package0: bus@10000000 { 40b1a79260SQing Zhang compatible = "simple-bus"; 41b1a79260SQing Zhang #address-cells = <2>; 42b1a79260SQing Zhang #size-cells = <2>; 43b1a79260SQing Zhang ranges = <0 0x10000000 0 0x10000000 0 0x10000000 /* ioports */ 44b1a79260SQing Zhang 0 0x40000000 0 0x40000000 0 0x40000000 45b1a79260SQing Zhang 0xfe 0x00000000 0xfe 0x00000000 0 0x40000000>; 46b1a79260SQing Zhang 47f29119b3SJiaxun Yang isa@18000000 { 48f29119b3SJiaxun Yang compatible = "isa"; 49f29119b3SJiaxun Yang #size-cells = <1>; 50f29119b3SJiaxun Yang #address-cells = <2>; 51f29119b3SJiaxun Yang ranges = <1 0x0 0x0 0x18000000 0x4000>; 52f29119b3SJiaxun Yang }; 53f29119b3SJiaxun Yang 54a8f4fcddSQing Zhang pm: reset-controller@1fe07000 { 55a8f4fcddSQing Zhang compatible = "loongson,ls2k-pm"; 56a8f4fcddSQing Zhang reg = <0 0x1fe07000 0 0x422>; 57a8f4fcddSQing Zhang }; 58a8f4fcddSQing Zhang 59b1a79260SQing Zhang liointc0: interrupt-controller@1fe11400 { 60b1a79260SQing Zhang compatible = "loongson,liointc-2.0"; 61b1a79260SQing Zhang reg = <0 0x1fe11400 0 0x40>, 62b1a79260SQing Zhang <0 0x1fe11040 0 0x8>, 63b1a79260SQing Zhang <0 0x1fe11140 0 0x8>; 64b1a79260SQing Zhang reg-names = "main", "isr0", "isr1"; 65b1a79260SQing Zhang 66b1a79260SQing Zhang interrupt-controller; 67b1a79260SQing Zhang #interrupt-cells = <2>; 68b1a79260SQing Zhang 69b1a79260SQing Zhang interrupt-parent = <&cpuintc>; 70b1a79260SQing Zhang interrupts = <2>; 71b1a79260SQing Zhang interrupt-names = "int0"; 72b1a79260SQing Zhang 73b1a79260SQing Zhang loongson,parent_int_map = <0xffffffff>, /* int0 */ 74b1a79260SQing Zhang <0x00000000>, /* int1 */ 75b1a79260SQing Zhang <0x00000000>, /* int2 */ 76b1a79260SQing Zhang <0x00000000>; /* int3 */ 77b1a79260SQing Zhang }; 78b1a79260SQing Zhang 79b1a79260SQing Zhang liointc1: interrupt-controller@1fe11440 { 80b1a79260SQing Zhang compatible = "loongson,liointc-2.0"; 81b1a79260SQing Zhang reg = <0 0x1fe11440 0 0x40>, 82b1a79260SQing Zhang <0 0x1fe11048 0 0x8>, 83b1a79260SQing Zhang <0 0x1fe11148 0 0x8>; 84b1a79260SQing Zhang reg-names = "main", "isr0", "isr1"; 85b1a79260SQing Zhang 86b1a79260SQing Zhang interrupt-controller; 87b1a79260SQing Zhang #interrupt-cells = <2>; 88b1a79260SQing Zhang 89b1a79260SQing Zhang interrupt-parent = <&cpuintc>; 90b1a79260SQing Zhang interrupts = <3>; 91b1a79260SQing Zhang interrupt-names = "int1"; 92b1a79260SQing Zhang 93b1a79260SQing Zhang loongson,parent_int_map = <0x00000000>, /* int0 */ 94b1a79260SQing Zhang <0xffffffff>, /* int1 */ 95b1a79260SQing Zhang <0x00000000>, /* int2 */ 96b1a79260SQing Zhang <0x00000000>; /* int3 */ 97b1a79260SQing Zhang }; 98b1a79260SQing Zhang 99e47084e1SBinbin Zhou rtc0: rtc@1fe07800 { 100e47084e1SBinbin Zhou compatible = "loongson,ls2k1000-rtc"; 101e47084e1SBinbin Zhou reg = <0 0x1fe07800 0 0x78>; 102*f4675c8eSJiaxun Yang interrupt-parent = <&liointc1>; 103*f4675c8eSJiaxun Yang interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 104e47084e1SBinbin Zhou }; 105e47084e1SBinbin Zhou 106b1a79260SQing Zhang uart0: serial@1fe00000 { 107b1a79260SQing Zhang compatible = "ns16550a"; 108b1a79260SQing Zhang reg = <0 0x1fe00000 0 0x8>; 109b1a79260SQing Zhang clock-frequency = <125000000>; 110b1a79260SQing Zhang interrupt-parent = <&liointc0>; 1113544efb8SJiaxun Yang interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; 112b1a79260SQing Zhang no-loopback-test; 113b1a79260SQing Zhang }; 114b1a79260SQing Zhang 115b1a79260SQing Zhang pci@1a000000 { 116b1a79260SQing Zhang compatible = "loongson,ls2k-pci"; 117b1a79260SQing Zhang device_type = "pci"; 118b1a79260SQing Zhang #address-cells = <3>; 119b1a79260SQing Zhang #size-cells = <2>; 120b1a79260SQing Zhang 121b1a79260SQing Zhang reg = <0 0x1a000000 0 0x02000000>, 122b1a79260SQing Zhang <0xfe 0x00000000 0 0x20000000>; 123b1a79260SQing Zhang 124b1a79260SQing Zhang ranges = <0x01000000 0x0 0x00000000 0x0 0x18000000 0x0 0x00010000>, 125b1a79260SQing Zhang <0x02000000 0x0 0x40000000 0x0 0x40000000 0x0 0x40000000>; 126b1a79260SQing Zhang 127f8a11425SQing Zhang gmac@3,0 { 128f8a11425SQing Zhang compatible = "pci0014,7a03.0", 129f8a11425SQing Zhang "pci0014,7a03", 130f8a11425SQing Zhang "pciclass0c0320", 1310e73f1baSKrzysztof Kozlowski "pciclass0c03"; 132f8a11425SQing Zhang 133f8a11425SQing Zhang reg = <0x1800 0x0 0x0 0x0 0x0>; 1343544efb8SJiaxun Yang interrupts = <12 IRQ_TYPE_LEVEL_HIGH>, 1353544efb8SJiaxun Yang <13 IRQ_TYPE_LEVEL_HIGH>; 136f8a11425SQing Zhang interrupt-names = "macirq", "eth_lpi"; 137f8a11425SQing Zhang interrupt-parent = <&liointc0>; 13827479037SJiaxun Yang phy-mode = "rgmii-id"; 13927479037SJiaxun Yang phy-handle = <&phy1>; 140f8a11425SQing Zhang mdio { 141f8a11425SQing Zhang #address-cells = <1>; 142f8a11425SQing Zhang #size-cells = <0>; 143f8a11425SQing Zhang compatible = "snps,dwmac-mdio"; 144f8a11425SQing Zhang phy0: ethernet-phy@0 { 145f8a11425SQing Zhang reg = <0>; 146f8a11425SQing Zhang }; 147f8a11425SQing Zhang }; 148f8a11425SQing Zhang }; 149f8a11425SQing Zhang 150f8a11425SQing Zhang gmac@3,1 { 151f8a11425SQing Zhang compatible = "pci0014,7a03.0", 152f8a11425SQing Zhang "pci0014,7a03", 153f8a11425SQing Zhang "pciclass0c0320", 154f8a11425SQing Zhang "pciclass0c03", 155f8a11425SQing Zhang "loongson, pci-gmac"; 156f8a11425SQing Zhang 157f8a11425SQing Zhang reg = <0x1900 0x0 0x0 0x0 0x0>; 1583544efb8SJiaxun Yang interrupts = <14 IRQ_TYPE_LEVEL_HIGH>, 1593544efb8SJiaxun Yang <15 IRQ_TYPE_LEVEL_HIGH>; 160f8a11425SQing Zhang interrupt-names = "macirq", "eth_lpi"; 161f8a11425SQing Zhang interrupt-parent = <&liointc0>; 16227479037SJiaxun Yang phy-mode = "rgmii-id"; 16327479037SJiaxun Yang phy-handle = <&phy1>; 164f8a11425SQing Zhang mdio { 165f8a11425SQing Zhang #address-cells = <1>; 166f8a11425SQing Zhang #size-cells = <0>; 167f8a11425SQing Zhang compatible = "snps,dwmac-mdio"; 168f8a11425SQing Zhang phy1: ethernet-phy@1 { 169f8a11425SQing Zhang reg = <0>; 170f8a11425SQing Zhang }; 171f8a11425SQing Zhang }; 172f8a11425SQing Zhang }; 173f8a11425SQing Zhang 174b1a79260SQing Zhang ehci@4,1 { 175b1a79260SQing Zhang compatible = "pci0014,7a14.0", 176b1a79260SQing Zhang "pci0014,7a14", 177b1a79260SQing Zhang "pciclass0c0320", 178b1a79260SQing Zhang "pciclass0c03"; 179b1a79260SQing Zhang 180b1a79260SQing Zhang reg = <0x2100 0x0 0x0 0x0 0x0>; 1813544efb8SJiaxun Yang interrupts = <18 IRQ_TYPE_LEVEL_HIGH>; 182b1a79260SQing Zhang interrupt-parent = <&liointc1>; 183b1a79260SQing Zhang }; 184b1a79260SQing Zhang 185fe308377Sxiaochuan mao ohci@4,2 { 186b1a79260SQing Zhang compatible = "pci0014,7a24.0", 187b1a79260SQing Zhang "pci0014,7a24", 188b1a79260SQing Zhang "pciclass0c0310", 189b1a79260SQing Zhang "pciclass0c03"; 190b1a79260SQing Zhang 191b1a79260SQing Zhang reg = <0x2200 0x0 0x0 0x0 0x0>; 1923544efb8SJiaxun Yang interrupts = <19 IRQ_TYPE_LEVEL_HIGH>; 193b1a79260SQing Zhang interrupt-parent = <&liointc1>; 194b1a79260SQing Zhang }; 195b1a79260SQing Zhang 196b1a79260SQing Zhang sata@8,0 { 197b1a79260SQing Zhang compatible = "pci0014,7a08.0", 198b1a79260SQing Zhang "pci0014,7a08", 199b1a79260SQing Zhang "pciclass010601", 200b1a79260SQing Zhang "pciclass0106"; 201b1a79260SQing Zhang 202b1a79260SQing Zhang reg = <0x4000 0x0 0x0 0x0 0x0>; 2033544efb8SJiaxun Yang interrupts = <19 IRQ_TYPE_LEVEL_HIGH>; 204b1a79260SQing Zhang interrupt-parent = <&liointc0>; 205b1a79260SQing Zhang }; 206b1a79260SQing Zhang 207fcf20dc2SJiaxun Yang pcie@9,0 { 208b1a79260SQing Zhang compatible = "pci0014,7a19.0", 209b1a79260SQing Zhang "pci0014,7a19", 210b1a79260SQing Zhang "pciclass060400", 211b1a79260SQing Zhang "pciclass0604"; 212b1a79260SQing Zhang 213b1a79260SQing Zhang reg = <0x4800 0x0 0x0 0x0 0x0>; 214fcf20dc2SJiaxun Yang #address-cells = <3>; 215fcf20dc2SJiaxun Yang #size-cells = <2>; 216fcf20dc2SJiaxun Yang device_type = "pci"; 217b1a79260SQing Zhang #interrupt-cells = <1>; 2183544efb8SJiaxun Yang interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; 219b1a79260SQing Zhang interrupt-parent = <&liointc1>; 220b1a79260SQing Zhang interrupt-map-mask = <0 0 0 0>; 2213544efb8SJiaxun Yang interrupt-map = <0 0 0 0 &liointc1 0 IRQ_TYPE_LEVEL_HIGH>; 222fcf20dc2SJiaxun Yang ranges; 223b1a79260SQing Zhang external-facing; 224b1a79260SQing Zhang }; 225b1a79260SQing Zhang 226fcf20dc2SJiaxun Yang pcie@a,0 { 2279fa996c5SXiaochuan Mao compatible = "pci0014,7a09.0", 2289fa996c5SXiaochuan Mao "pci0014,7a09", 229b1a79260SQing Zhang "pciclass060400", 230b1a79260SQing Zhang "pciclass0604"; 231b1a79260SQing Zhang 232b1a79260SQing Zhang reg = <0x5000 0x0 0x0 0x0 0x0>; 233fcf20dc2SJiaxun Yang #address-cells = <3>; 234fcf20dc2SJiaxun Yang #size-cells = <2>; 235fcf20dc2SJiaxun Yang device_type = "pci"; 236b1a79260SQing Zhang #interrupt-cells = <1>; 2373544efb8SJiaxun Yang interrupts = <1 IRQ_TYPE_LEVEL_HIGH>; 238b1a79260SQing Zhang interrupt-parent = <&liointc1>; 239b1a79260SQing Zhang interrupt-map-mask = <0 0 0 0>; 2403544efb8SJiaxun Yang interrupt-map = <0 0 0 0 &liointc1 1 IRQ_TYPE_LEVEL_HIGH>; 241fcf20dc2SJiaxun Yang ranges; 242b1a79260SQing Zhang external-facing; 243b1a79260SQing Zhang }; 244b1a79260SQing Zhang 245fcf20dc2SJiaxun Yang pcie@b,0 { 2469fa996c5SXiaochuan Mao compatible = "pci0014,7a09.0", 2479fa996c5SXiaochuan Mao "pci0014,7a09", 248b1a79260SQing Zhang "pciclass060400", 249b1a79260SQing Zhang "pciclass0604"; 250b1a79260SQing Zhang 251b1a79260SQing Zhang reg = <0x5800 0x0 0x0 0x0 0x0>; 252fcf20dc2SJiaxun Yang #address-cells = <3>; 253fcf20dc2SJiaxun Yang #size-cells = <2>; 254fcf20dc2SJiaxun Yang device_type = "pci"; 255b1a79260SQing Zhang #interrupt-cells = <1>; 2563544efb8SJiaxun Yang interrupts = <2 IRQ_TYPE_LEVEL_HIGH>; 257b1a79260SQing Zhang interrupt-parent = <&liointc1>; 258b1a79260SQing Zhang interrupt-map-mask = <0 0 0 0>; 2593544efb8SJiaxun Yang interrupt-map = <0 0 0 0 &liointc1 2 IRQ_TYPE_LEVEL_HIGH>; 260fcf20dc2SJiaxun Yang ranges; 261b1a79260SQing Zhang external-facing; 262b1a79260SQing Zhang }; 263b1a79260SQing Zhang 264fcf20dc2SJiaxun Yang pcie@c,0 { 2659fa996c5SXiaochuan Mao compatible = "pci0014,7a09.0", 2669fa996c5SXiaochuan Mao "pci0014,7a09", 267b1a79260SQing Zhang "pciclass060400", 268b1a79260SQing Zhang "pciclass0604"; 269b1a79260SQing Zhang 270b1a79260SQing Zhang reg = <0x6000 0x0 0x0 0x0 0x0>; 271fcf20dc2SJiaxun Yang #address-cells = <3>; 272fcf20dc2SJiaxun Yang #size-cells = <2>; 273fcf20dc2SJiaxun Yang device_type = "pci"; 274b1a79260SQing Zhang #interrupt-cells = <1>; 2753544efb8SJiaxun Yang interrupts = <3 IRQ_TYPE_LEVEL_HIGH>; 276b1a79260SQing Zhang interrupt-parent = <&liointc1>; 277b1a79260SQing Zhang interrupt-map-mask = <0 0 0 0>; 2783544efb8SJiaxun Yang interrupt-map = <0 0 0 0 &liointc1 3 IRQ_TYPE_LEVEL_HIGH>; 279fcf20dc2SJiaxun Yang ranges; 280b1a79260SQing Zhang external-facing; 281b1a79260SQing Zhang }; 282b1a79260SQing Zhang 283fcf20dc2SJiaxun Yang pcie@d,0 { 284b1a79260SQing Zhang compatible = "pci0014,7a19.0", 285b1a79260SQing Zhang "pci0014,7a19", 286b1a79260SQing Zhang "pciclass060400", 287b1a79260SQing Zhang "pciclass0604"; 288b1a79260SQing Zhang 289b1a79260SQing Zhang reg = <0x6800 0x0 0x0 0x0 0x0>; 290fcf20dc2SJiaxun Yang #address-cells = <3>; 291fcf20dc2SJiaxun Yang #size-cells = <2>; 292fcf20dc2SJiaxun Yang device_type = "pci"; 293b1a79260SQing Zhang #interrupt-cells = <1>; 2943544efb8SJiaxun Yang interrupts = <4 IRQ_TYPE_LEVEL_HIGH>; 295b1a79260SQing Zhang interrupt-parent = <&liointc1>; 296b1a79260SQing Zhang interrupt-map-mask = <0 0 0 0>; 2973544efb8SJiaxun Yang interrupt-map = <0 0 0 0 &liointc1 4 IRQ_TYPE_LEVEL_HIGH>; 298fcf20dc2SJiaxun Yang ranges; 299b1a79260SQing Zhang external-facing; 300b1a79260SQing Zhang }; 301b1a79260SQing Zhang 302fcf20dc2SJiaxun Yang pcie@e,0 { 3039fa996c5SXiaochuan Mao compatible = "pci0014,7a09.0", 3049fa996c5SXiaochuan Mao "pci0014,7a09", 305b1a79260SQing Zhang "pciclass060400", 306b1a79260SQing Zhang "pciclass0604"; 307b1a79260SQing Zhang 308b1a79260SQing Zhang reg = <0x7000 0x0 0x0 0x0 0x0>; 309fcf20dc2SJiaxun Yang #address-cells = <3>; 310fcf20dc2SJiaxun Yang #size-cells = <2>; 311fcf20dc2SJiaxun Yang device_type = "pci"; 312b1a79260SQing Zhang #interrupt-cells = <1>; 3133544efb8SJiaxun Yang interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; 314b1a79260SQing Zhang interrupt-parent = <&liointc1>; 315b1a79260SQing Zhang interrupt-map-mask = <0 0 0 0>; 3163544efb8SJiaxun Yang interrupt-map = <0 0 0 0 &liointc1 5 IRQ_TYPE_LEVEL_HIGH>; 317fcf20dc2SJiaxun Yang ranges; 318b1a79260SQing Zhang external-facing; 319b1a79260SQing Zhang }; 320b1a79260SQing Zhang 321b1a79260SQing Zhang }; 322b1a79260SQing Zhang }; 323b1a79260SQing Zhang}; 324b1a79260SQing Zhang 325