MIPS: bmips: Add support PCIe controller device nodes
authorJim Quinlan <jim2101024@gmail.com>
Thu, 9 Dec 2021 20:47:23 +0000 (15:47 -0500)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Tue, 11 Jan 2022 10:55:41 +0000 (11:55 +0100)
For Broadcom STB PCIe HW. The 7425 and 7435 are MIPs-based SOCs.  Not much
difference between the two for the DT properties except that they have
slightly different PCIe interrupt assignments.

Signed-off-by: Jim Quinlan <jim2101024@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/boot/dts/brcm/bcm7425.dtsi
arch/mips/boot/dts/brcm/bcm7435.dtsi
arch/mips/boot/dts/brcm/bcm97425svmb.dts
arch/mips/boot/dts/brcm/bcm97435svmb.dts

index aa0b2d39c902dfdf564d948ddd42ec5b6c94f4ec..62588c53d35655c1ee1d184abc5e8aee4a3185e5 100644 (file)
                        };
                };
        };
+
+       pcie_0: pcie@8b20000 {
+               status = "disabled";
+               compatible = "brcm,bcm7425-pcie";
+
+               ranges = <0x02000000 0x0 0xd0000000 0xd0000000 0x0 0x08000000
+                         0x02000000 0x0 0xd8000000 0xd8000000 0x0 0x08000000
+                         0x02000000 0x0 0xe0000000 0xe0000000 0x0 0x08000000
+                         0x02000000 0x0 0xe8000000 0xe8000000 0x0 0x08000000>;
+
+               reg = <0x10410000 0x19310>;
+               aspm-no-l0s;
+               device_type = "pci";
+               msi-controller;
+               msi-parent = <&pcie_0>;
+               #address-cells = <0x3>;
+               #size-cells = <0x2>;
+               bus-range = <0x0 0xff>;
+               interrupt-map-mask = <0x0 0x0 0x0 0x7>;
+               linux,pci-domain = <0x0>;
+
+               interrupt-parent = <&periph_intc>;
+               interrupts = <37>, <37>;
+               interrupt-names = "pcie", "msi";
+               #interrupt-cells = <0x1>;
+               interrupt-map = <0 0 0 1 &periph_intc 0x21
+                                0 0 0 1 &periph_intc 0x22
+                                0 0 0 1 &periph_intc 0x23
+                                0 0 0 1 &periph_intc 0x24>;
+       };
 };
index 8398b7f68bf49fcd54deed8425ab4776f0815b72..8c001b944c8b6522bebc24c4c31dc37687a410fb 100644 (file)
                        };
                };
        };
+
+       pcie_0: pcie@8b20000 {
+               status = "disabled";
+               compatible = "brcm,bcm7435-pcie";
+
+               ranges = <0x02000000 0x0 0xd0000000 0xd0000000 0x0 0x08000000
+                         0x02000000 0x0 0xd8000000 0xd8000000 0x0 0x08000000
+                         0x02000000 0x0 0xe0000000 0xe0000000 0x0 0x08000000
+                         0x02000000 0x0 0xe8000000 0xe8000000 0x0 0x08000000>;
+
+               reg = <0x10410000 0x19310>;
+               aspm-no-l0s;
+               device_type = "pci";
+               msi-controller;
+               msi-parent = <&pcie_0>;
+               #address-cells = <0x3>;
+               #size-cells = <0x2>;
+               bus-range = <0x0 0xff>;
+               interrupt-map-mask = <0x0 0x0 0x0 0x7>;
+               linux,pci-domain = <0x0>;
+
+               interrupt-parent = <&periph_intc>;
+               interrupts = <39>, <39>;
+               interrupt-names = "pcie", "msi";
+               #interrupt-cells = <0x1>;
+               interrupt-map = <0 0 0 1 &periph_intc 0x23
+                                0 0 0 1 &periph_intc 0x24
+                                0 0 0 1 &periph_intc 0x25
+                                0 0 0 1 &periph_intc 0x26>;
+       };
 };
index 9efecfe1e05c702085762f7f0e8fc06f98e055c5..f389349343499993289ffba61393158f6298986d 100644 (file)
 &waketimer {
        status = "okay";
 };
+
+&pcie_0 {
+       status = "okay";
+       /* 1GB Memc0, 1GB Memc1 */
+       brcm,scb-sizes = <0 0x40000000 0 0x40000000>;
+       dma-ranges = <0x43000000 0x00000000 0x00000000 0x00000000 0x0 0x10000000
+                     0x43000000 0x00000000 0x10000000 0x20000000 0x0 0x30000000
+                     0x43000000 0x00000000 0x40000000 0x90000000 0x0 0x40000000>;
+};
index b653c6ff74b5ebdcaca1e608ac8ad158edb69e71..a0cf53e23c07b00640cf54921d03adeeaac10746 100644 (file)
 &waketimer {
        status = "okay";
 };
+
+&pcie_0 {
+       status = "okay";
+       /* 1GB Memc0, 1GB Memc1 */
+       brcm,scb-sizes = <0 0x40000000 0 0x40000000>;
+       dma-ranges = <0x43000000 0x00000000 0x00000000 0x00000000 0x0 0x10000000
+                     0x43000000 0x00000000 0x10000000 0x20000000 0x0 0x30000000
+                     0x43000000 0x00000000 0x40000000 0x90000000 0x0 0x40000000>;
+};