From: Andrea della Porta <andrea.porta@suse.com>
To: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Florian Fainelli <florian.fainelli@broadcom.com>,
Broadcom internal kernel review list
<bcm-kernel-feedback-list@broadcom.com>,
Andrea della Porta <andrea.porta@suse.com>,
Bjorn Helgaas <bhelgaas@google.com>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-rpi-kernel@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org,
iivanov@suse.de, svarbanov@suse.de, mbrugger@suse.com,
Phil Elwell <phil@raspberrypi.com>
Subject: [PATCH 0/4] Fix RP1 DeviceTree hierarchy and drop overlay support
Date: Thu, 18 Dec 2025 20:09:05 +0100 [thread overview]
Message-ID: <cover.1766077285.git.andrea.porta@suse.com> (raw)
The current RP1 implementation is plagued by several issues, as follows:
- the node name for RP1 is too specific and should be generic instead
(see [1]).
- the fully defined DTS has its PCI hierarchy wrongly described. There
should be a PCI root port between the root complex and the endpoint
(see [1]).
- since CONFIG_PCI_DYNAMIC_OF_NODES can be dropped in the future
becoming an automatically enabled feature, it would be wise to not
depend on it (see [2]).
- overlay support has led to a lot of confusion. It's not really usable
right now and users are not even used to it (see [3]).
This patch aims at solving the aforementioned problems by amending the
PCI topology as follows:
...
pcie@1000120000 {
...
pci@0,0 {
device_type = "pci";
reg = <0x00 0x00 0x00 0x00 0x00>;
...
dev@0,0 {
compatible = "pci1de4,1";
reg = <0x10000 0x00 0x00 0x00 0x00>;
...
pci-ep-bus@1 {
compatible = "simple-bus";
...
/* peripherals child nodes */
};
};
};
};
The reg property is important since it permits the binding the OF
device_node structure to the pci_dev, encoding the BDF in the upper
portion of the address.
This patch also drops the overlay support in favor of the fully
described DT while streamlining it as a result.
Links:
[1] - https://lore.kernel.org/all/aTvz_OeVnciiqATz@apocalypse/
[2] - https://lore.kernel.org/all/CAL_JsqJUzB71QdMcxJtNZ7raoPcK+SfTh7EVzGmk=syo8xLKQw@mail.gmail.com/
[3] - https://lore.kernel.org/all/CAL_JsqJUzB71QdMcxJtNZ7raoPcK+SfTh7EVzGmk=syo8xLKQw@mail.gmail.com/
Andrea della Porta (4):
dt-bindings: misc: pci1de4,1: add required reg property for endpoint
misc: rp1: drop overlay support
arm64: dts: broadcom: bcm2712: fix RP1 endpoint PCI topology
arm64: dts: broadcom: rp1: drop RP1 overlay
.../devicetree/bindings/misc/pci1de4,1.yaml | 8 +++-
arch/arm64/boot/dts/broadcom/Makefile | 4 +-
...-ovl-rp1.dts => bcm2712-rpi-5-b-base.dtsi} | 0
.../boot/dts/broadcom/bcm2712-rpi-5-b.dts | 39 ++++++++++++-------
arch/arm64/boot/dts/broadcom/rp1-nexus.dtsi | 14 -------
arch/arm64/boot/dts/broadcom/rp1.dtso | 11 ------
drivers/misc/rp1/Kconfig | 6 +--
drivers/misc/rp1/Makefile | 3 +-
drivers/misc/rp1/rp1-pci.dtso | 25 ------------
drivers/misc/rp1/rp1_pci.c | 37 ++----------------
drivers/pci/quirks.c | 1 -
11 files changed, 40 insertions(+), 108 deletions(-)
rename arch/arm64/boot/dts/broadcom/{bcm2712-rpi-5-b-ovl-rp1.dts => bcm2712-rpi-5-b-base.dtsi} (100%)
delete mode 100644 arch/arm64/boot/dts/broadcom/rp1-nexus.dtsi
delete mode 100644 arch/arm64/boot/dts/broadcom/rp1.dtso
delete mode 100644 drivers/misc/rp1/rp1-pci.dtso
--
2.35.3
next reply other threads:[~2025-12-18 19:06 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-18 19:09 Andrea della Porta [this message]
2025-12-18 19:09 ` [PATCH 1/4] dt-bindings: misc: pci1de4,1: add required reg property for endpoint Andrea della Porta
2025-12-19 20:41 ` Florian Fainelli
2025-12-18 19:09 ` [PATCH 2/4] misc: rp1: drop overlay support Andrea della Porta
2025-12-19 20:41 ` Florian Fainelli
2025-12-18 19:09 ` [PATCH 3/4] arm64: dts: broadcom: bcm2712: fix RP1 endpoint PCI topology Andrea della Porta
2025-12-19 20:41 ` Florian Fainelli
2025-12-18 19:09 ` [PATCH 4/4] arm64: dts: broadcom: rp1: drop RP1 overlay Andrea della Porta
2025-12-19 20:41 ` Florian Fainelli
2025-12-18 19:11 ` [PATCH 0/4] Fix RP1 DeviceTree hierarchy and drop overlay support Florian Fainelli
2025-12-19 15:25 ` Rob Herring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1766077285.git.andrea.porta@suse.com \
--to=andrea.porta@suse.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=bhelgaas@google.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=florian.fainelli@broadcom.com \
--cc=iivanov@suse.de \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=mbrugger@suse.com \
--cc=phil@raspberrypi.com \
--cc=robh@kernel.org \
--cc=svarbanov@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.