This pull request contains Broadcom ARM64-based SoCs Device Tree updates

for 6.16, please pull the following:
 
 - Stanimir adds and enables the PCIe root complex Device Tree nodes present on the
   Raspberry Pi 5
 
 - Rob updates the BCM2712 L2 cache node names to use a more comforming
   name
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmgY7C0ACgkQh9CWnEQH
 BwTvpxAAjAWMHd8lDmxLaqEEbnrxwkFVaohY4dre3YY10LLfGGGboGxSQ9zhdeh5
 FZxRo3wSlPSJZnQuFDcO9+ww7YQy+0qXsf09/EhWqx9y/Pqt3TqeKD8IXGOMrwNC
 lF7znyZGXsYDC3Cg8t0fFn3lLZKp50Crl4PEVqVqX0nrPZJFe4VnMx1yO/Tq724B
 ZFBd2EoA1csA3FKRLP8TNpeKdyITwLZIllQZAuVHaj7vPDw7GYNFAS38L6chNUPH
 ogSZGKRS9B0u9rVkXfiZZsl3PheK4duCVfn2Kc3oLi5OorRIzFbujJMyvHs0N7zW
 V65MkU6iANg0SuL9NdBndCxQtAik+qojG0L33+nUif8+4wgcV/8ude99rl24Zlce
 sJz7xnygQafP5MnVF2QeUl5DLVKUMOoErfBsOAr3UQMpu5FQk4HnW1yuSRyC/S08
 /BQv7mxwy67ildEtGZ5qPdGk17ni4VtWbIEozE/kXKSJa2WzDneDe4LwVB296h9Q
 WVDQLWnMCFxAOG1G3NKLpLU0x92pHTPraMu21kEqmedsPCt8tlKeto31f9g325jp
 eRLJqWP/zhdhAi5OmP6tfHrQIuILkMrpg5kiJh9gn8SWnwevy1r0rwV1BFV9Vik9
 T7Ei3j7J8tI2ifknm2ST3usp3n7IbxFba2gbiSMeehk9tyMF30E=
 =mbv6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmgeaRUACgkQYKtH/8kJ
 UietQw//a+2EzRI6Qr+ufF1EbQaqUvEjAyfBl1msG/ODDdMMgH6Oph61JUdHJtXB
 EUHi6kBSTHQuzpE/hB0rqXQp67cvPdQALTVd1D6Wt09h7e2rfB817dtbJZQA5VG7
 uQRVPxwxJS8Zh6hsu1kHRIK8zGKqoK0dNV8/SDpgGU4M/xdhlU2ub+8VoJREwY1a
 NdPBncBqZhd4v+6dflDSL17QbERzG8LvUEatWI+IhKH2a68Sj1iO4+okgXiYSIe8
 5saNzZfNrn156CDYu2vV9NNKyar+2xcSubZvEUJt4AcaZScXLTst31yPi+wKolNr
 ZUCy+IHSLXk4sKwHLantjth5cyR4GiJyrz3Qx224e01GreCU/H628mBlnsHWXan7
 tTPE/cNnbm/y3JjyQ1iIt/ft11NWf+5wfafi23mhmwyP9rmRt2hilfqZ/W5ok+ft
 ILHffI7AE9bkT0fe8gLwoKUcgmZtazvVkiuph0JHxRHhJSiVl2SxrbJgB7ABYclK
 iwtYaG2TKg9o6oZdDpjjBMM9KEJBvbfKlSUZ808sPePg9nql/vIg3yceqxr42Bct
 1DA0J1U6bWnQfD8tXWkNdhzu9E6MrI2RDQrMEIjivg1ztSuXKHBxh4ekaTMCLnMD
 kolX9xv6N36PbyYT7h5kTHZzEmuqnMQ3XsHODbYD/FVBw4iNnac=
 =QRDp
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-6.16/devicetree-arm64' of https://github.com/Broadcom/stblinux into soc/dt

This pull request contains Broadcom ARM64-based SoCs Device Tree updates
for 6.16, please pull the following:

- Stanimir adds and enables the PCIe root complex Device Tree nodes present on the
  Raspberry Pi 5

- Rob updates the BCM2712 L2 cache node names to use a more comforming
  name

* tag 'arm-soc/for-6.16/devicetree-arm64' of https://github.com/Broadcom/stblinux:
  arm64: dts: broadcom: bcm2712: Use "l2-cache" for L2 cache node names
  arm64: dts: broadcom: bcm2712-rpi-5-b: Enable PCIe DT nodes
  arm64: dts: broadcom: bcm2712: Add PCIe DT nodes

Link: https://lore.kernel.org/r/20250505165810.1948927-2-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2025-05-09 22:44:05 +02:00
commit fecf15fab3
2 changed files with 159 additions and 4 deletions

View File

@ -104,3 +104,11 @@ &hdmi1 {
clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
clock-names = "hdmi", "bvb", "audio", "cec";
};
&pcie1 {
status = "okay";
};
&pcie2 {
status = "okay";
};

View File

@ -64,7 +64,7 @@ cpu0: cpu@0 {
i-cache-sets = <256>; // 64KiB(size)/64(line-size)=1024ways/4-way set
next-level-cache = <&l2_cache_l0>;
l2_cache_l0: l2-cache-l0 {
l2_cache_l0: l2-cache {
compatible = "cache";
cache-size = <0x80000>;
cache-line-size = <64>;
@ -88,7 +88,7 @@ cpu1: cpu@1 {
i-cache-sets = <256>; // 64KiB(size)/64(line-size)=1024ways/4-way set
next-level-cache = <&l2_cache_l1>;
l2_cache_l1: l2-cache-l1 {
l2_cache_l1: l2-cache {
compatible = "cache";
cache-size = <0x80000>;
cache-line-size = <64>;
@ -112,7 +112,7 @@ cpu2: cpu@2 {
i-cache-sets = <256>; // 64KiB(size)/64(line-size)=1024ways/4-way set
next-level-cache = <&l2_cache_l2>;
l2_cache_l2: l2-cache-l2 {
l2_cache_l2: l2-cache {
compatible = "cache";
cache-size = <0x80000>;
cache-line-size = <64>;
@ -136,7 +136,7 @@ cpu3: cpu@3 {
i-cache-sets = <256>; // 64KiB(size)/64(line-size)=1024ways/4-way set
next-level-cache = <&l2_cache_l3>;
l2_cache_l3: l2-cache-l3 {
l2_cache_l3: l2-cache {
compatible = "cache";
cache-size = <0x80000>;
cache-line-size = <64>;
@ -192,6 +192,12 @@ soc: soc@107c000000 {
#address-cells = <1>;
#size-cells = <1>;
pcie_rescal: reset-controller@119500 {
compatible = "brcm,bcm7216-pcie-sata-rescal";
reg = <0x00119500 0x10>;
#reset-cells = <0>;
};
sdio1: mmc@fff000 {
compatible = "brcm,bcm2712-sdhci",
"brcm,sdhci-brcmstb";
@ -204,6 +210,12 @@ sdio1: mmc@fff000 {
mmc-ddr-3_3v;
};
bcm_reset: reset-controller@1504318 {
compatible = "brcm,brcmstb-reset";
reg = <0x01504318 0x30>;
#reset-cells = <1>;
};
system_timer: timer@7c003000 {
compatible = "brcm,bcm2835-system-timer";
reg = <0x7c003000 0x1000>;
@ -426,6 +438,141 @@ axi: axi {
vc4: gpu {
compatible = "brcm,bcm2712-vc6";
};
pcie0: pcie@1000100000 {
compatible = "brcm,bcm2712-pcie";
reg = <0x10 0x00100000 0x00 0x9310>;
device_type = "pci";
linux,pci-domain = <0>;
max-link-speed = <2>;
num-lanes = <1>;
#address-cells = <3>;
#interrupt-cells = <1>;
#size-cells = <2>;
interrupt-parent = <&gicv2>;
interrupts = <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "pcie", "msi";
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 2 &gicv2 GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 3 &gicv2 GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 4 &gicv2 GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>;
resets = <&pcie_rescal>, <&bcm_reset 42>;
reset-names = "rescal", "bridge";
msi-controller;
msi-parent = <&pcie0>;
ranges =
/* ~4GiB, 32-bit, non-prefetchable at PCIe 00_0000_0000 */
<0x02000000 0x00 0x00000000 0x17 0x00000000 0x00 0xfffffffc>,
/* 12GiB, 64-bit, prefetchable at PCIe 04_0000_0000 */
<0x43000000 0x04 0x00000000 0x14 0x00000000 0x03 0x00000000>;
dma-ranges =
/* 64GiB, 64-bit, prefetchable at PCIe 10_0000_0000 */
<0x43000000 0x10 0x00000000 0x00 0x00000000 0x10 0x00000000>;
status = "disabled";
};
pcie1: pcie@1000110000 {
compatible = "brcm,bcm2712-pcie";
reg = <0x10 0x00110000 0x00 0x9310>;
device_type = "pci";
linux,pci-domain = <1>;
max-link-speed = <2>;
num-lanes = <1>;
#address-cells = <3>;
#interrupt-cells = <1>;
#size-cells = <2>;
interrupt-parent = <&gicv2>;
interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "pcie", "msi";
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 2 &gicv2 GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 3 &gicv2 GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 4 &gicv2 GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
resets = <&pcie_rescal>, <&bcm_reset 43>;
reset-names = "rescal", "bridge";
msi-controller;
msi-parent = <&mip1>;
ranges =
/* ~4GiB, 32-bit, non-prefetchable at PCIe 00_0000_0000 */
<0x02000000 0x00 0x00000000 0x1b 0x00000000 0x00 0xfffffffc>,
/* 12GiB, 64-bit, prefetchable at PCIe 04_0000_0000 */
<0x43000000 0x04 0x00000000 0x18 0x00000000 0x03 0x00000000>;
dma-ranges =
/* 64GiB, 64-bit, non-prefetchable at PCIe 10_0000_0000 */
<0x03000000 0x10 0x00000000 0x00 0x00000000 0x10 0x00000000>,
/* 4KiB, 64-bit, non-prefetchable at PCIe ff_ffff_f000 MIP1 */
<0x03000000 0xff 0xfffff000 0x10 0x00131000 0x00 0x00001000>;
status = "disabled";
};
pcie2: pcie@1000120000 {
compatible = "brcm,bcm2712-pcie";
reg = <0x10 0x00120000 0x00 0x9310>;
device_type = "pci";
linux,pci-domain = <2>;
max-link-speed = <2>;
num-lanes = <4>;
#address-cells = <3>;
#interrupt-cells = <1>;
#size-cells = <2>;
interrupt-parent = <&gicv2>;
interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "pcie", "msi";
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 2 &gicv2 GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 3 &gicv2 GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 4 &gicv2 GIC_SPI 232 IRQ_TYPE_LEVEL_HIGH>;
resets = <&pcie_rescal>, <&bcm_reset 44>;
reset-names = "rescal", "bridge";
msi-controller;
msi-parent = <&mip0>;
ranges =
/* ~4GiB, 32-bit, non-prefetchable at PCIe 00_0000_0000 */
<0x02000000 0x00 0x00000000 0x1f 0x00000000 0x00 0xfffffffc>,
/* 12GiB, 64-bit, prefetchable at PCIe 04_0000_0000 */
<0x43000000 0x04 0x00000000 0x1c 0x00000000 0x03 0x00000000>;
dma-ranges =
/* 4MiB, 32-bit, non-prefetchable at PCIe 00_0000_0000 */
<0x02000000 0x00 0x00000000 0x1f 0x00000000 0x00 0x00400000>,
/* 64GiB, 64-bit, prefetchable at PCIe 10_0000_0000 */
<0x43000000 0x10 0x00000000 0x00 0x00000000 0x10 0x00000000>,
/* 4KiB, 64-bit, non-prefetchable at PCIe ff_ffff_f000 MIP0 */
<0x03000000 0xff 0xfffff000 0x10 0x00130000 0x00 0x00001000>;
status = "disabled";
};
mip0: msi-controller@1000130000 {
compatible = "brcm,bcm2712-mip";
reg = <0x10 0x00130000 0x00 0xc0>,
<0xff 0xfffff000 0x00 0x1000>;
msi-controller;
msi-ranges = <&gicv2 GIC_SPI 128 IRQ_TYPE_EDGE_RISING 64>;
brcm,msi-offset = <0>;
};
mip1: msi-controller@1000131000 {
compatible = "brcm,bcm2712-mip";
reg = <0x10 0x00131000 0x00 0xc0>,
<0xff 0xfffff000 0x00 0x1000>;
msi-controller;
msi-ranges = <&gicv2 GIC_SPI 247 IRQ_TYPE_EDGE_RISING 8>;
brcm,msi-offset = <8>;
};
};
timer {