Skip to content

Commit bc97e61

Browse files
Andrea della Portaffainelli
authored andcommitted
arm64: dts: broadcom: bcm2712: fix RP1 endpoint PCI topology
The node describing the RP1 endpoint currently uses a specific name ('rp1_nexus') that does not correctly reflect the PCI topology. Update the DT with the correct topology and use generic node names. Additionally, since the driver dropped overlay support in favor of a fully described DT, rename '...-ovl-rp1.dts' to '...-base.dtsi' for inclusion in the board DTB, as it is no longer compiled as a standalone DTB. Signed-off-by: Andrea della Porta <andrea.porta@suse.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/827b12ba48bb47bc77a0f5e5617aea961c8bc6b5.1766077285.git.andrea.porta@suse.com Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
1 parent ce26f58 commit bc97e61

3 files changed

Lines changed: 26 additions & 14 deletions

File tree

arch/arm64/boot/dts/broadcom/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-400.dtb \
77
bcm2711-rpi-4-b.dtb \
88
bcm2711-rpi-cm4-io.dtb \
99
bcm2712-rpi-5-b.dtb \
10-
bcm2712-rpi-5-b-ovl-rp1.dtb \
1110
bcm2712-d-rpi-5-b.dtb \
1211
bcm2837-rpi-2-b.dtb \
1312
bcm2837-rpi-3-a-plus.dtb \

arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-ovl-rp1.dts renamed to arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi

File renamed without changes.

arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,16 @@
11
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
22
/*
3-
* bcm2712-rpi-5-b-ovl-rp1.dts is the overlay-ready DT which will make
4-
* the RP1 driver to load the RP1 dtb overlay at runtime, while
5-
* bcm2712-rpi-5-b.dts (this file) is the fully defined one (i.e. it
6-
* already contains RP1 node, so no overlay is loaded nor needed).
7-
* This file is intended to host the override nodes for the RP1 peripherals,
8-
* e.g. to declare the phy of the ethernet interface or the custom pin setup
9-
* for several RP1 peripherals.
10-
* This in turn is due to the fact that there's no current generic
11-
* infrastructure to reference nodes (i.e. the nodes in rp1-common.dtsi) that
12-
* are not yet defined in the DT since they are loaded at runtime via overlay.
3+
* As a loose attempt to separate RP1 customizations from SoC peripherals
4+
* definitioni, this file is intended to host the override nodes for the RP1
5+
* peripherals, e.g. to declare the phy of the ethernet interface or custom
6+
* pin setup.
137
* All other nodes that do not have anything to do with RP1 should be added
14-
* to the included bcm2712-rpi-5-b-ovl-rp1.dts instead.
8+
* to the included bcm2712-rpi-5-b-base.dtsi instead.
159
*/
1610

1711
/dts-v1/;
1812

19-
#include "bcm2712-rpi-5-b-ovl-rp1.dts"
13+
#include "bcm2712-rpi-5-b-base.dtsi"
2014

2115
/ {
2216
aliases {
@@ -25,7 +19,26 @@
2519
};
2620

2721
&pcie2 {
28-
#include "rp1-nexus.dtsi"
22+
pci@0,0 {
23+
reg = <0x0 0x0 0x0 0x0 0x0>;
24+
ranges;
25+
bus-range = <0 1>;
26+
device_type = "pci";
27+
#address-cells = <3>;
28+
#size-cells = <2>;
29+
30+
dev@0,0 {
31+
compatible = "pci1de4,1";
32+
reg = <0x10000 0x0 0x0 0x0 0x0>;
33+
ranges = <0x1 0x0 0x0 0x82010000 0x0 0x0 0x0 0x400000>;
34+
interrupt-controller;
35+
#interrupt-cells = <2>;
36+
#address-cells = <3>;
37+
#size-cells = <2>;
38+
39+
#include "rp1-common.dtsi"
40+
};
41+
};
2942
};
3043

3144
&rp1_eth {

0 commit comments

Comments
 (0)