1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 2 3 / { 3 / { 4 pch: bus@10000000 { 4 pch: bus@10000000 { 5 compatible = "simple-bus"; 5 compatible = "simple-bus"; 6 #address-cells = <2>; 6 #address-cells = <2>; 7 #size-cells = <2>; 7 #size-cells = <2>; 8 ranges = <0 0x10000000 0 0x100 8 ranges = <0 0x10000000 0 0x10000000 0 0x10000000 /* PIO & CONF & APB */ 9 0 0x20000000 0 9 0 0x20000000 0 0x20000000 0 0x10000000 10 0 0x40000000 0 10 0 0x40000000 0 0x40000000 0 0x40000000 /* PCI MEM */ 11 0xe00 0x000000 11 0xe00 0x00000000 0xe00 0x00000000 0x100 0x0000000>; 12 12 13 pic: interrupt-controller@1000 13 pic: interrupt-controller@10000000 { 14 compatible = "loongson 14 compatible = "loongson,pch-pic-1.0"; 15 reg = <0 0x10000000 0 15 reg = <0 0x10000000 0 0x400>; 16 interrupt-controller; 16 interrupt-controller; 17 interrupt-parent = <&h 17 interrupt-parent = <&htvec>; 18 loongson,pic-base-vec 18 loongson,pic-base-vec = <0>; 19 #interrupt-cells = <2> 19 #interrupt-cells = <2>; 20 }; 20 }; 21 21 22 rtc0: rtc@100d0100 { << 23 compatible = "loongson << 24 reg = <0 0x100d0100 0 << 25 interrupt-parent = <&p << 26 interrupts = <52 IRQ_T << 27 }; << 28 << 29 ls7a_uart0: serial@10080000 { 22 ls7a_uart0: serial@10080000 { 30 compatible = "ns16550a 23 compatible = "ns16550a"; 31 reg = <0 0x10080000 0 24 reg = <0 0x10080000 0 0x100>; 32 clock-frequency = <500 25 clock-frequency = <50000000>; 33 interrupt-parent = <&p 26 interrupt-parent = <&pic>; 34 interrupts = <8 IRQ_TY 27 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 35 no-loopback-test; 28 no-loopback-test; 36 }; 29 }; 37 30 38 ls7a_uart1: serial@10080100 { 31 ls7a_uart1: serial@10080100 { 39 status = "disabled"; 32 status = "disabled"; 40 compatible = "ns16550a 33 compatible = "ns16550a"; 41 reg = <0 0x10080100 0 34 reg = <0 0x10080100 0 0x100>; 42 clock-frequency = <500 35 clock-frequency = <50000000>; 43 interrupt-parent = <&p 36 interrupt-parent = <&pic>; 44 interrupts = <8 IRQ_TY 37 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 45 no-loopback-test; 38 no-loopback-test; 46 }; 39 }; 47 40 48 ls7a_uart2: serial@10080200 { 41 ls7a_uart2: serial@10080200 { 49 status = "disabled"; 42 status = "disabled"; 50 compatible = "ns16550a 43 compatible = "ns16550a"; 51 reg = <0 0x10080200 0 44 reg = <0 0x10080200 0 0x100>; 52 clock-frequency = <500 45 clock-frequency = <50000000>; 53 interrupt-parent = <&p 46 interrupt-parent = <&pic>; 54 interrupts = <8 IRQ_TY 47 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 55 no-loopback-test; 48 no-loopback-test; 56 }; 49 }; 57 50 58 ls7a_uart3: serial@10080300 { 51 ls7a_uart3: serial@10080300 { 59 status = "disabled"; 52 status = "disabled"; 60 compatible = "ns16550a 53 compatible = "ns16550a"; 61 reg = <0 0x10080300 0 54 reg = <0 0x10080300 0 0x100>; 62 clock-frequency = <500 55 clock-frequency = <50000000>; 63 interrupt-parent = <&p 56 interrupt-parent = <&pic>; 64 interrupts = <8 IRQ_TY 57 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 65 no-loopback-test; 58 no-loopback-test; 66 }; 59 }; 67 60 68 pci@1a000000 { 61 pci@1a000000 { 69 compatible = "loongson 62 compatible = "loongson,ls7a-pci"; 70 device_type = "pci"; 63 device_type = "pci"; 71 #address-cells = <3>; 64 #address-cells = <3>; 72 #size-cells = <2>; 65 #size-cells = <2>; 73 #interrupt-cells = <2> 66 #interrupt-cells = <2>; 74 msi-parent = <&msi>; 67 msi-parent = <&msi>; 75 68 76 reg = <0 0x1a000000 0 69 reg = <0 0x1a000000 0 0x02000000>, 77 <0xefe 0x00000 70 <0xefe 0x00000000 0 0x20000000>; 78 71 79 ranges = <0x01000000 0 72 ranges = <0x01000000 0x0 0x00020000 0x0 0x18020000 0x0 0x00020000>, 80 <0x02000000 0 73 <0x02000000 0x0 0x40000000 0x0 0x40000000 0x0 0x40000000>; 81 74 82 ohci@4,0 { 75 ohci@4,0 { 83 compatible = " 76 compatible = "pci0014,7a24.0", 84 77 "pci0014,7a24", 85 78 "pciclass0c0310", 86 79 "pciclass0c03"; 87 80 88 reg = <0x2000 81 reg = <0x2000 0x0 0x0 0x0 0x0>; 89 interrupts = < 82 interrupts = <49 IRQ_TYPE_LEVEL_HIGH>; 90 interrupt-pare 83 interrupt-parent = <&pic>; 91 }; 84 }; 92 85 93 ehci@4,1 { 86 ehci@4,1 { 94 compatible = " 87 compatible = "pci0014,7a14.0", 95 88 "pci0014,7a14", 96 89 "pciclass0c0320", 97 90 "pciclass0c03"; 98 91 99 reg = <0x2100 92 reg = <0x2100 0x0 0x0 0x0 0x0>; 100 interrupts = < 93 interrupts = <48 IRQ_TYPE_LEVEL_HIGH>; 101 interrupt-pare 94 interrupt-parent = <&pic>; 102 }; 95 }; 103 96 104 ohci@5,0 { 97 ohci@5,0 { 105 compatible = " 98 compatible = "pci0014,7a24.0", 106 99 "pci0014,7a24", 107 100 "pciclass0c0310", 108 101 "pciclass0c03"; 109 102 110 reg = <0x2800 103 reg = <0x2800 0x0 0x0 0x0 0x0>; 111 interrupts = < 104 interrupts = <51 IRQ_TYPE_LEVEL_HIGH>; 112 interrupt-pare 105 interrupt-parent = <&pic>; 113 }; 106 }; 114 107 115 ehci@5,1 { 108 ehci@5,1 { 116 compatible = " 109 compatible = "pci0014,7a14.0", 117 110 "pci0014,7a14", 118 111 "pciclass0c0320", 119 112 "pciclass0c03"; 120 113 121 reg = <0x2900 114 reg = <0x2900 0x0 0x0 0x0 0x0>; 122 interrupts = < 115 interrupts = <50 IRQ_TYPE_LEVEL_HIGH>; 123 interrupt-pare 116 interrupt-parent = <&pic>; 124 }; 117 }; 125 118 126 sata@8,0 { 119 sata@8,0 { 127 compatible = " 120 compatible = "pci0014,7a08.0", 128 121 "pci0014,7a08", 129 122 "pciclass010601", 130 123 "pciclass0106"; 131 124 132 reg = <0x4000 125 reg = <0x4000 0x0 0x0 0x0 0x0>; 133 interrupts = < 126 interrupts = <16 IRQ_TYPE_LEVEL_HIGH>; 134 interrupt-pare 127 interrupt-parent = <&pic>; 135 }; 128 }; 136 129 137 sata@8,1 { 130 sata@8,1 { 138 compatible = " 131 compatible = "pci0014,7a08.0", 139 132 "pci0014,7a08", 140 133 "pciclass010601", 141 134 "pciclass0106"; 142 135 143 reg = <0x4100 136 reg = <0x4100 0x0 0x0 0x0 0x0>; 144 interrupts = < 137 interrupts = <17 IRQ_TYPE_LEVEL_HIGH>; 145 interrupt-pare 138 interrupt-parent = <&pic>; 146 }; 139 }; 147 140 148 sata@8,2 { 141 sata@8,2 { 149 compatible = " 142 compatible = "pci0014,7a08.0", 150 143 "pci0014,7a08", 151 144 "pciclass010601", 152 145 "pciclass0106"; 153 146 154 reg = <0x4200 147 reg = <0x4200 0x0 0x0 0x0 0x0>; 155 interrupts = < 148 interrupts = <18 IRQ_TYPE_LEVEL_HIGH>; 156 interrupt-pare 149 interrupt-parent = <&pic>; 157 }; 150 }; 158 151 159 gpu@6,0 { 152 gpu@6,0 { 160 compatible = " 153 compatible = "pci0014,7a15.0", 161 154 "pci0014,7a15", 162 155 "pciclass030200", 163 156 "pciclass0302"; 164 157 165 reg = <0x3000 158 reg = <0x3000 0x0 0x0 0x0 0x0>; 166 interrupts = < 159 interrupts = <29 IRQ_TYPE_LEVEL_HIGH>; 167 interrupt-pare 160 interrupt-parent = <&pic>; 168 }; 161 }; 169 162 170 dc@6,1 { 163 dc@6,1 { 171 compatible = " 164 compatible = "pci0014,7a06.0", 172 165 "pci0014,7a06", 173 166 "pciclass030000", 174 167 "pciclass0300"; 175 168 176 reg = <0x3100 169 reg = <0x3100 0x0 0x0 0x0 0x0>; 177 interrupts = < 170 interrupts = <28 IRQ_TYPE_LEVEL_HIGH>; 178 interrupt-pare 171 interrupt-parent = <&pic>; 179 }; 172 }; 180 173 181 hda@7,0 { 174 hda@7,0 { 182 compatible = " 175 compatible = "pci0014,7a07.0", 183 176 "pci0014,7a07", 184 177 "pciclass040300", 185 178 "pciclass0403"; 186 179 187 reg = <0x3800 180 reg = <0x3800 0x0 0x0 0x0 0x0>; 188 interrupts = < 181 interrupts = <58 IRQ_TYPE_LEVEL_HIGH>; 189 interrupt-pare 182 interrupt-parent = <&pic>; 190 }; 183 }; 191 184 192 gmac@3,0 { 185 gmac@3,0 { 193 compatible = " 186 compatible = "pci0014,7a03.0", 194 187 "pci0014,7a03", 195 188 "pciclass020000", 196 !! 189 "pciclass0200", >> 190 "loongson, pci-gmac"; 197 191 198 reg = <0x1800 192 reg = <0x1800 0x0 0x0 0x0 0x0>; 199 interrupts = < 193 interrupts = <12 IRQ_TYPE_LEVEL_HIGH>, 200 < 194 <13 IRQ_TYPE_LEVEL_HIGH>; 201 interrupt-name 195 interrupt-names = "macirq", "eth_lpi"; 202 interrupt-pare 196 interrupt-parent = <&pic>; 203 phy-mode = "rg 197 phy-mode = "rgmii"; 204 mdio { 198 mdio { 205 #addre 199 #address-cells = <1>; 206 #size- 200 #size-cells = <0>; 207 compat 201 compatible = "snps,dwmac-mdio"; 208 phy0: 202 phy0: ethernet-phy@0 { 209 203 reg = <0>; 210 }; 204 }; 211 }; 205 }; 212 }; 206 }; 213 207 214 gmac@3,1 { 208 gmac@3,1 { 215 compatible = " 209 compatible = "pci0014,7a03.0", 216 210 "pci0014,7a03", 217 211 "pciclass020000", 218 212 "pciclass0200", 219 213 "loongson, pci-gmac"; 220 214 221 reg = <0x1900 215 reg = <0x1900 0x0 0x0 0x0 0x0>; 222 interrupts = < 216 interrupts = <14 IRQ_TYPE_LEVEL_HIGH>, 223 < 217 <15 IRQ_TYPE_LEVEL_HIGH>; 224 interrupt-name 218 interrupt-names = "macirq", "eth_lpi"; 225 interrupt-pare 219 interrupt-parent = <&pic>; 226 phy-mode = "rg 220 phy-mode = "rgmii"; 227 mdio { 221 mdio { 228 #addre 222 #address-cells = <1>; 229 #size- 223 #size-cells = <0>; 230 compat 224 compatible = "snps,dwmac-mdio"; 231 phy1: 225 phy1: ethernet-phy@1 { 232 226 reg = <0>; 233 }; 227 }; 234 }; 228 }; 235 }; 229 }; 236 230 237 pci_bridge@9,0 { 231 pci_bridge@9,0 { 238 compatible = " 232 compatible = "pci0014,7a19.1", 239 233 "pci0014,7a19", 240 234 "pciclass060400", 241 235 "pciclass0604"; 242 236 243 reg = <0x4800 237 reg = <0x4800 0x0 0x0 0x0 0x0>; 244 interrupts = < 238 interrupts = <32 IRQ_TYPE_LEVEL_HIGH>; 245 interrupt-pare 239 interrupt-parent = <&pic>; 246 240 247 #interrupt-cel 241 #interrupt-cells = <1>; 248 interrupt-map- 242 interrupt-map-mask = <0 0 0 0>; 249 interrupt-map 243 interrupt-map = <0 0 0 0 &pic 32 IRQ_TYPE_LEVEL_HIGH>; 250 }; 244 }; 251 245 252 pci_bridge@a,0 { 246 pci_bridge@a,0 { 253 compatible = " 247 compatible = "pci0014,7a09.1", 254 248 "pci0014,7a09", 255 249 "pciclass060400", 256 250 "pciclass0604"; 257 251 258 reg = <0x5000 252 reg = <0x5000 0x0 0x0 0x0 0x0>; 259 interrupts = < 253 interrupts = <33 IRQ_TYPE_LEVEL_HIGH>; 260 interrupt-pare 254 interrupt-parent = <&pic>; 261 255 262 #interrupt-cel 256 #interrupt-cells = <1>; 263 interrupt-map- 257 interrupt-map-mask = <0 0 0 0>; 264 interrupt-map 258 interrupt-map = <0 0 0 0 &pic 33 IRQ_TYPE_LEVEL_HIGH>; 265 }; 259 }; 266 260 267 pci_bridge@b,0 { 261 pci_bridge@b,0 { 268 compatible = " 262 compatible = "pci0014,7a09.1", 269 263 "pci0014,7a09", 270 264 "pciclass060400", 271 265 "pciclass0604"; 272 266 273 reg = <0x5800 267 reg = <0x5800 0x0 0x0 0x0 0x0>; 274 interrupts = < 268 interrupts = <34 IRQ_TYPE_LEVEL_HIGH>; 275 interrupt-pare 269 interrupt-parent = <&pic>; 276 270 277 #interrupt-cel 271 #interrupt-cells = <1>; 278 interrupt-map- 272 interrupt-map-mask = <0 0 0 0>; 279 interrupt-map 273 interrupt-map = <0 0 0 0 &pic 34 IRQ_TYPE_LEVEL_HIGH>; 280 }; 274 }; 281 275 282 pci_bridge@c,0 { 276 pci_bridge@c,0 { 283 compatible = " 277 compatible = "pci0014,7a09.1", 284 278 "pci0014,7a09", 285 279 "pciclass060400", 286 280 "pciclass0604"; 287 281 288 reg = <0x6000 282 reg = <0x6000 0x0 0x0 0x0 0x0>; 289 interrupts = < 283 interrupts = <35 IRQ_TYPE_LEVEL_HIGH>; 290 interrupt-pare 284 interrupt-parent = <&pic>; 291 285 292 #interrupt-cel 286 #interrupt-cells = <1>; 293 interrupt-map- 287 interrupt-map-mask = <0 0 0 0>; 294 interrupt-map 288 interrupt-map = <0 0 0 0 &pic 35 IRQ_TYPE_LEVEL_HIGH>; 295 }; 289 }; 296 290 297 pci_bridge@d,0 { 291 pci_bridge@d,0 { 298 compatible = " 292 compatible = "pci0014,7a19.1", 299 293 "pci0014,7a19", 300 294 "pciclass060400", 301 295 "pciclass0604"; 302 296 303 reg = <0x6800 297 reg = <0x6800 0x0 0x0 0x0 0x0>; 304 interrupts = < 298 interrupts = <36 IRQ_TYPE_LEVEL_HIGH>; 305 interrupt-pare 299 interrupt-parent = <&pic>; 306 300 307 #interrupt-cel 301 #interrupt-cells = <1>; 308 interrupt-map- 302 interrupt-map-mask = <0 0 0 0>; 309 interrupt-map 303 interrupt-map = <0 0 0 0 &pic 36 IRQ_TYPE_LEVEL_HIGH>; 310 }; 304 }; 311 305 312 pci_bridge@e,0 { 306 pci_bridge@e,0 { 313 compatible = " 307 compatible = "pci0014,7a09.1", 314 308 "pci0014,7a09", 315 309 "pciclass060400", 316 310 "pciclass0604"; 317 311 318 reg = <0x7000 312 reg = <0x7000 0x0 0x0 0x0 0x0>; 319 interrupts = < 313 interrupts = <37 IRQ_TYPE_LEVEL_HIGH>; 320 interrupt-pare 314 interrupt-parent = <&pic>; 321 315 322 #interrupt-cel 316 #interrupt-cells = <1>; 323 interrupt-map- 317 interrupt-map-mask = <0 0 0 0>; 324 interrupt-map 318 interrupt-map = <0 0 0 0 &pic 37 IRQ_TYPE_LEVEL_HIGH>; 325 }; 319 }; 326 320 327 pci_bridge@f,0 { 321 pci_bridge@f,0 { 328 compatible = " 322 compatible = "pci0014,7a29.1", 329 323 "pci0014,7a29", 330 324 "pciclass060400", 331 325 "pciclass0604"; 332 326 333 reg = <0x7800 327 reg = <0x7800 0x0 0x0 0x0 0x0>; 334 interrupts = < 328 interrupts = <40 IRQ_TYPE_LEVEL_HIGH>; 335 interrupt-pare 329 interrupt-parent = <&pic>; 336 330 337 #interrupt-cel 331 #interrupt-cells = <1>; 338 interrupt-map- 332 interrupt-map-mask = <0 0 0 0>; 339 interrupt-map 333 interrupt-map = <0 0 0 0 &pic 40 IRQ_TYPE_LEVEL_HIGH>; 340 }; 334 }; 341 335 342 pci_bridge@10,0 { 336 pci_bridge@10,0 { 343 compatible = " 337 compatible = "pci0014,7a19.1", 344 338 "pci0014,7a19", 345 339 "pciclass060400", 346 340 "pciclass0604"; 347 341 348 reg = <0x8000 342 reg = <0x8000 0x0 0x0 0x0 0x0>; 349 interrupts = < 343 interrupts = <41 IRQ_TYPE_LEVEL_HIGH>; 350 interrupt-pare 344 interrupt-parent = <&pic>; 351 345 352 #interrupt-cel 346 #interrupt-cells = <1>; 353 interrupt-map- 347 interrupt-map-mask = <0 0 0 0>; 354 interrupt-map 348 interrupt-map = <0 0 0 0 &pic 41 IRQ_TYPE_LEVEL_HIGH>; 355 }; 349 }; 356 350 357 pci_bridge@11,0 { 351 pci_bridge@11,0 { 358 compatible = " 352 compatible = "pci0014,7a29.1", 359 353 "pci0014,7a29", 360 354 "pciclass060400", 361 355 "pciclass0604"; 362 356 363 reg = <0x8800 357 reg = <0x8800 0x0 0x0 0x0 0x0>; 364 interrupts = < 358 interrupts = <42 IRQ_TYPE_LEVEL_HIGH>; 365 interrupt-pare 359 interrupt-parent = <&pic>; 366 360 367 #interrupt-cel 361 #interrupt-cells = <1>; 368 interrupt-map- 362 interrupt-map-mask = <0 0 0 0>; 369 interrupt-map 363 interrupt-map = <0 0 0 0 &pic 42 IRQ_TYPE_LEVEL_HIGH>; 370 }; 364 }; 371 365 372 pci_bridge@12,0 { 366 pci_bridge@12,0 { 373 compatible = " 367 compatible = "pci0014,7a19.1", 374 368 "pci0014,7a19", 375 369 "pciclass060400", 376 370 "pciclass0604"; 377 371 378 reg = <0x9000 372 reg = <0x9000 0x0 0x0 0x0 0x0>; 379 interrupts = < 373 interrupts = <43 IRQ_TYPE_LEVEL_HIGH>; 380 interrupt-pare 374 interrupt-parent = <&pic>; 381 375 382 #interrupt-cel 376 #interrupt-cells = <1>; 383 interrupt-map- 377 interrupt-map-mask = <0 0 0 0>; 384 interrupt-map 378 interrupt-map = <0 0 0 0 &pic 43 IRQ_TYPE_LEVEL_HIGH>; 385 }; 379 }; 386 380 387 pci_bridge@13,0 { 381 pci_bridge@13,0 { 388 compatible = " 382 compatible = "pci0014,7a29.1", 389 383 "pci0014,7a29", 390 384 "pciclass060400", 391 385 "pciclass0604"; 392 386 393 reg = <0x9800 387 reg = <0x9800 0x0 0x0 0x0 0x0>; 394 interrupts = < 388 interrupts = <38 IRQ_TYPE_LEVEL_HIGH>; 395 interrupt-pare 389 interrupt-parent = <&pic>; 396 390 397 #interrupt-cel 391 #interrupt-cells = <1>; 398 interrupt-map- 392 interrupt-map-mask = <0 0 0 0>; 399 interrupt-map 393 interrupt-map = <0 0 0 0 &pic 38 IRQ_TYPE_LEVEL_HIGH>; 400 }; 394 }; 401 395 402 pci_bridge@14,0 { 396 pci_bridge@14,0 { 403 compatible = " 397 compatible = "pci0014,7a19.1", 404 398 "pci0014,7a19", 405 399 "pciclass060400", 406 400 "pciclass0604"; 407 401 408 reg = <0xa000 402 reg = <0xa000 0x0 0x0 0x0 0x0>; 409 interrupts = < 403 interrupts = <39 IRQ_TYPE_LEVEL_HIGH>; 410 interrupt-pare 404 interrupt-parent = <&pic>; 411 405 412 #interrupt-cel 406 #interrupt-cells = <1>; 413 interrupt-map- 407 interrupt-map-mask = <0 0 0 0>; 414 interrupt-map 408 interrupt-map = <0 0 0 0 &pic 39 IRQ_TYPE_LEVEL_HIGH>; 415 }; 409 }; 416 }; 410 }; 417 411 418 isa@18000000 { 412 isa@18000000 { 419 compatible = "isa"; 413 compatible = "isa"; 420 #address-cells = <2>; 414 #address-cells = <2>; 421 #size-cells = <1>; 415 #size-cells = <1>; 422 ranges = <1 0 0 0x1800 416 ranges = <1 0 0 0x18000000 0x20000>; 423 }; 417 }; 424 }; 418 }; 425 }; 419 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.