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