0001 // SPDX-License-Identifier: GPL-2.0
0002
0003 / {
0004 pch: bus@10000000 {
0005 compatible = "simple-bus";
0006 #address-cells = <2>;
0007 #size-cells = <2>;
0008 ranges = <0 0x10000000 0 0x10000000 0 0x10000000 /* PIO & CONF & APB */
0009 0 0x20000000 0 0x20000000 0 0x10000000
0010 0 0x40000000 0 0x40000000 0 0x40000000 /* PCI MEM */
0011 0xe00 0x00000000 0xe00 0x00000000 0x100 0x0000000>;
0012
0013 pic: interrupt-controller@10000000 {
0014 compatible = "loongson,pch-pic-1.0";
0015 reg = <0 0x10000000 0 0x400>;
0016 interrupt-controller;
0017 interrupt-parent = <&htvec>;
0018 loongson,pic-base-vec = <0>;
0019 #interrupt-cells = <2>;
0020 };
0021
0022 ls7a_uart0: serial@10080000 {
0023 compatible = "ns16550a";
0024 reg = <0 0x10080000 0 0x100>;
0025 clock-frequency = <50000000>;
0026 interrupt-parent = <&pic>;
0027 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
0028 no-loopback-test;
0029 };
0030
0031 ls7a_uart1: serial@10080100 {
0032 status = "disabled";
0033 compatible = "ns16550a";
0034 reg = <0 0x10080100 0 0x100>;
0035 clock-frequency = <50000000>;
0036 interrupt-parent = <&pic>;
0037 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
0038 no-loopback-test;
0039 };
0040
0041 ls7a_uart2: serial@10080200 {
0042 status = "disabled";
0043 compatible = "ns16550a";
0044 reg = <0 0x10080200 0 0x100>;
0045 clock-frequency = <50000000>;
0046 interrupt-parent = <&pic>;
0047 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
0048 no-loopback-test;
0049 };
0050
0051 ls7a_uart3: serial@10080300 {
0052 status = "disabled";
0053 compatible = "ns16550a";
0054 reg = <0 0x10080300 0 0x100>;
0055 clock-frequency = <50000000>;
0056 interrupt-parent = <&pic>;
0057 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
0058 no-loopback-test;
0059 };
0060
0061 pci@1a000000 {
0062 compatible = "loongson,ls7a-pci";
0063 device_type = "pci";
0064 #address-cells = <3>;
0065 #size-cells = <2>;
0066 #interrupt-cells = <2>;
0067 msi-parent = <&msi>;
0068
0069 reg = <0 0x1a000000 0 0x02000000>,
0070 <0xefe 0x00000000 0 0x20000000>;
0071
0072 ranges = <0x01000000 0x0 0x00020000 0x0 0x18020000 0x0 0x00020000>,
0073 <0x02000000 0x0 0x40000000 0x0 0x40000000 0x0 0x40000000>;
0074
0075 ohci@4,0 {
0076 compatible = "pci0014,7a24.0",
0077 "pci0014,7a24",
0078 "pciclass0c0310",
0079 "pciclass0c03";
0080
0081 reg = <0x2000 0x0 0x0 0x0 0x0>;
0082 interrupts = <49 IRQ_TYPE_LEVEL_HIGH>;
0083 interrupt-parent = <&pic>;
0084 };
0085
0086 ehci@4,1 {
0087 compatible = "pci0014,7a14.0",
0088 "pci0014,7a14",
0089 "pciclass0c0320",
0090 "pciclass0c03";
0091
0092 reg = <0x2100 0x0 0x0 0x0 0x0>;
0093 interrupts = <48 IRQ_TYPE_LEVEL_HIGH>;
0094 interrupt-parent = <&pic>;
0095 };
0096
0097 ohci@5,0 {
0098 compatible = "pci0014,7a24.0",
0099 "pci0014,7a24",
0100 "pciclass0c0310",
0101 "pciclass0c03";
0102
0103 reg = <0x2800 0x0 0x0 0x0 0x0>;
0104 interrupts = <51 IRQ_TYPE_LEVEL_HIGH>;
0105 interrupt-parent = <&pic>;
0106 };
0107
0108 ehci@5,1 {
0109 compatible = "pci0014,7a14.0",
0110 "pci0014,7a14",
0111 "pciclass0c0320",
0112 "pciclass0c03";
0113
0114 reg = <0x2900 0x0 0x0 0x0 0x0>;
0115 interrupts = <50 IRQ_TYPE_LEVEL_HIGH>;
0116 interrupt-parent = <&pic>;
0117 };
0118
0119 sata@8,0 {
0120 compatible = "pci0014,7a08.0",
0121 "pci0014,7a08",
0122 "pciclass010601",
0123 "pciclass0106";
0124
0125 reg = <0x4000 0x0 0x0 0x0 0x0>;
0126 interrupts = <16 IRQ_TYPE_LEVEL_HIGH>;
0127 interrupt-parent = <&pic>;
0128 };
0129
0130 sata@8,1 {
0131 compatible = "pci0014,7a08.0",
0132 "pci0014,7a08",
0133 "pciclass010601",
0134 "pciclass0106";
0135
0136 reg = <0x4100 0x0 0x0 0x0 0x0>;
0137 interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
0138 interrupt-parent = <&pic>;
0139 };
0140
0141 sata@8,2 {
0142 compatible = "pci0014,7a08.0",
0143 "pci0014,7a08",
0144 "pciclass010601",
0145 "pciclass0106";
0146
0147 reg = <0x4200 0x0 0x0 0x0 0x0>;
0148 interrupts = <18 IRQ_TYPE_LEVEL_HIGH>;
0149 interrupt-parent = <&pic>;
0150 };
0151
0152 gpu@6,0 {
0153 compatible = "pci0014,7a15.0",
0154 "pci0014,7a15",
0155 "pciclass030200",
0156 "pciclass0302";
0157
0158 reg = <0x3000 0x0 0x0 0x0 0x0>;
0159 interrupts = <29 IRQ_TYPE_LEVEL_HIGH>;
0160 interrupt-parent = <&pic>;
0161 };
0162
0163 dc@6,1 {
0164 compatible = "pci0014,7a06.0",
0165 "pci0014,7a06",
0166 "pciclass030000",
0167 "pciclass0300";
0168
0169 reg = <0x3100 0x0 0x0 0x0 0x0>;
0170 interrupts = <28 IRQ_TYPE_LEVEL_HIGH>;
0171 interrupt-parent = <&pic>;
0172 };
0173
0174 hda@7,0 {
0175 compatible = "pci0014,7a07.0",
0176 "pci0014,7a07",
0177 "pciclass040300",
0178 "pciclass0403";
0179
0180 reg = <0x3800 0x0 0x0 0x0 0x0>;
0181 interrupts = <58 IRQ_TYPE_LEVEL_HIGH>;
0182 interrupt-parent = <&pic>;
0183 };
0184
0185 gmac@3,0 {
0186 compatible = "pci0014,7a03.0",
0187 "pci0014,7a03",
0188 "pciclass020000",
0189 "pciclass0200",
0190 "loongson, pci-gmac";
0191
0192 reg = <0x1800 0x0 0x0 0x0 0x0>;
0193 interrupts = <12 IRQ_TYPE_LEVEL_HIGH>,
0194 <13 IRQ_TYPE_LEVEL_HIGH>;
0195 interrupt-names = "macirq", "eth_lpi";
0196 interrupt-parent = <&pic>;
0197 phy-mode = "rgmii";
0198 mdio {
0199 #address-cells = <1>;
0200 #size-cells = <0>;
0201 compatible = "snps,dwmac-mdio";
0202 phy0: ethernet-phy@0 {
0203 reg = <0>;
0204 };
0205 };
0206 };
0207
0208 gmac@3,1 {
0209 compatible = "pci0014,7a03.0",
0210 "pci0014,7a03",
0211 "pciclass020000",
0212 "pciclass0200",
0213 "loongson, pci-gmac";
0214
0215 reg = <0x1900 0x0 0x0 0x0 0x0>;
0216 interrupts = <14 IRQ_TYPE_LEVEL_HIGH>,
0217 <15 IRQ_TYPE_LEVEL_HIGH>;
0218 interrupt-names = "macirq", "eth_lpi";
0219 interrupt-parent = <&pic>;
0220 phy-mode = "rgmii";
0221 mdio {
0222 #address-cells = <1>;
0223 #size-cells = <0>;
0224 compatible = "snps,dwmac-mdio";
0225 phy1: ethernet-phy@1 {
0226 reg = <0>;
0227 };
0228 };
0229 };
0230
0231 pci_bridge@9,0 {
0232 compatible = "pci0014,7a19.1",
0233 "pci0014,7a19",
0234 "pciclass060400",
0235 "pciclass0604";
0236
0237 reg = <0x4800 0x0 0x0 0x0 0x0>;
0238 interrupts = <32 IRQ_TYPE_LEVEL_HIGH>;
0239 interrupt-parent = <&pic>;
0240
0241 #interrupt-cells = <1>;
0242 interrupt-map-mask = <0 0 0 0>;
0243 interrupt-map = <0 0 0 0 &pic 32 IRQ_TYPE_LEVEL_HIGH>;
0244 };
0245
0246 pci_bridge@a,0 {
0247 compatible = "pci0014,7a09.1",
0248 "pci0014,7a09",
0249 "pciclass060400",
0250 "pciclass0604";
0251
0252 reg = <0x5000 0x0 0x0 0x0 0x0>;
0253 interrupts = <33 IRQ_TYPE_LEVEL_HIGH>;
0254 interrupt-parent = <&pic>;
0255
0256 #interrupt-cells = <1>;
0257 interrupt-map-mask = <0 0 0 0>;
0258 interrupt-map = <0 0 0 0 &pic 33 IRQ_TYPE_LEVEL_HIGH>;
0259 };
0260
0261 pci_bridge@b,0 {
0262 compatible = "pci0014,7a09.1",
0263 "pci0014,7a09",
0264 "pciclass060400",
0265 "pciclass0604";
0266
0267 reg = <0x5800 0x0 0x0 0x0 0x0>;
0268 interrupts = <34 IRQ_TYPE_LEVEL_HIGH>;
0269 interrupt-parent = <&pic>;
0270
0271 #interrupt-cells = <1>;
0272 interrupt-map-mask = <0 0 0 0>;
0273 interrupt-map = <0 0 0 0 &pic 34 IRQ_TYPE_LEVEL_HIGH>;
0274 };
0275
0276 pci_bridge@c,0 {
0277 compatible = "pci0014,7a09.1",
0278 "pci0014,7a09",
0279 "pciclass060400",
0280 "pciclass0604";
0281
0282 reg = <0x6000 0x0 0x0 0x0 0x0>;
0283 interrupts = <35 IRQ_TYPE_LEVEL_HIGH>;
0284 interrupt-parent = <&pic>;
0285
0286 #interrupt-cells = <1>;
0287 interrupt-map-mask = <0 0 0 0>;
0288 interrupt-map = <0 0 0 0 &pic 35 IRQ_TYPE_LEVEL_HIGH>;
0289 };
0290
0291 pci_bridge@d,0 {
0292 compatible = "pci0014,7a19.1",
0293 "pci0014,7a19",
0294 "pciclass060400",
0295 "pciclass0604";
0296
0297 reg = <0x6800 0x0 0x0 0x0 0x0>;
0298 interrupts = <36 IRQ_TYPE_LEVEL_HIGH>;
0299 interrupt-parent = <&pic>;
0300
0301 #interrupt-cells = <1>;
0302 interrupt-map-mask = <0 0 0 0>;
0303 interrupt-map = <0 0 0 0 &pic 36 IRQ_TYPE_LEVEL_HIGH>;
0304 };
0305
0306 pci_bridge@e,0 {
0307 compatible = "pci0014,7a09.1",
0308 "pci0014,7a09",
0309 "pciclass060400",
0310 "pciclass0604";
0311
0312 reg = <0x7000 0x0 0x0 0x0 0x0>;
0313 interrupts = <37 IRQ_TYPE_LEVEL_HIGH>;
0314 interrupt-parent = <&pic>;
0315
0316 #interrupt-cells = <1>;
0317 interrupt-map-mask = <0 0 0 0>;
0318 interrupt-map = <0 0 0 0 &pic 37 IRQ_TYPE_LEVEL_HIGH>;
0319 };
0320
0321 pci_bridge@f,0 {
0322 compatible = "pci0014,7a29.1",
0323 "pci0014,7a29",
0324 "pciclass060400",
0325 "pciclass0604";
0326
0327 reg = <0x7800 0x0 0x0 0x0 0x0>;
0328 interrupts = <40 IRQ_TYPE_LEVEL_HIGH>;
0329 interrupt-parent = <&pic>;
0330
0331 #interrupt-cells = <1>;
0332 interrupt-map-mask = <0 0 0 0>;
0333 interrupt-map = <0 0 0 0 &pic 40 IRQ_TYPE_LEVEL_HIGH>;
0334 };
0335
0336 pci_bridge@10,0 {
0337 compatible = "pci0014,7a19.1",
0338 "pci0014,7a19",
0339 "pciclass060400",
0340 "pciclass0604";
0341
0342 reg = <0x8000 0x0 0x0 0x0 0x0>;
0343 interrupts = <41 IRQ_TYPE_LEVEL_HIGH>;
0344 interrupt-parent = <&pic>;
0345
0346 #interrupt-cells = <1>;
0347 interrupt-map-mask = <0 0 0 0>;
0348 interrupt-map = <0 0 0 0 &pic 41 IRQ_TYPE_LEVEL_HIGH>;
0349 };
0350
0351 pci_bridge@11,0 {
0352 compatible = "pci0014,7a29.1",
0353 "pci0014,7a29",
0354 "pciclass060400",
0355 "pciclass0604";
0356
0357 reg = <0x8800 0x0 0x0 0x0 0x0>;
0358 interrupts = <42 IRQ_TYPE_LEVEL_HIGH>;
0359 interrupt-parent = <&pic>;
0360
0361 #interrupt-cells = <1>;
0362 interrupt-map-mask = <0 0 0 0>;
0363 interrupt-map = <0 0 0 0 &pic 42 IRQ_TYPE_LEVEL_HIGH>;
0364 };
0365
0366 pci_bridge@12,0 {
0367 compatible = "pci0014,7a19.1",
0368 "pci0014,7a19",
0369 "pciclass060400",
0370 "pciclass0604";
0371
0372 reg = <0x9000 0x0 0x0 0x0 0x0>;
0373 interrupts = <43 IRQ_TYPE_LEVEL_HIGH>;
0374 interrupt-parent = <&pic>;
0375
0376 #interrupt-cells = <1>;
0377 interrupt-map-mask = <0 0 0 0>;
0378 interrupt-map = <0 0 0 0 &pic 43 IRQ_TYPE_LEVEL_HIGH>;
0379 };
0380
0381 pci_bridge@13,0 {
0382 compatible = "pci0014,7a29.1",
0383 "pci0014,7a29",
0384 "pciclass060400",
0385 "pciclass0604";
0386
0387 reg = <0x9800 0x0 0x0 0x0 0x0>;
0388 interrupts = <38 IRQ_TYPE_LEVEL_HIGH>;
0389 interrupt-parent = <&pic>;
0390
0391 #interrupt-cells = <1>;
0392 interrupt-map-mask = <0 0 0 0>;
0393 interrupt-map = <0 0 0 0 &pic 38 IRQ_TYPE_LEVEL_HIGH>;
0394 };
0395
0396 pci_bridge@14,0 {
0397 compatible = "pci0014,7a19.1",
0398 "pci0014,7a19",
0399 "pciclass060400",
0400 "pciclass0604";
0401
0402 reg = <0xa000 0x0 0x0 0x0 0x0>;
0403 interrupts = <39 IRQ_TYPE_LEVEL_HIGH>;
0404 interrupt-parent = <&pic>;
0405
0406 #interrupt-cells = <1>;
0407 interrupt-map-mask = <0 0 0 0>;
0408 interrupt-map = <0 0 0 0 &pic 39 IRQ_TYPE_LEVEL_HIGH>;
0409 };
0410 };
0411
0412 isa@18000000 {
0413 compatible = "isa";
0414 #address-cells = <2>;
0415 #size-cells = <1>;
0416 ranges = <1 0 0 0x18000000 0x20000>;
0417 };
0418 };
0419 };