Re: [PATCH 1/5] arm64: dts: qcom: qcs6490-rb3gen2: use pci for device nodes

From: Rob Herring

Date: Tue Sep 01 2026 - 16:10:00 EST


On Tue, Sep 1, 2026 at 12:21 PM Alex Elder <elder@xxxxxxxxxxxx> wrote:
>
> A recent change caused the embedded PCIe endpoints on TC9564 SoCs to
> be treated by the devicetree code as PCI buses, which is incorrect.
>
> An RB3gen2 system has an "interposer board" that contains a TC9564
> SoC. The TC9564 includes a PCIe switch with one upstream port and
> two downstream (external) ports, plus a third downstream port. The
> third port has an embedded PCIe endpoint with two functions, each
> providing access to a 10 Gbps capable Ethernet interface.
>
> The devicetree nodes representing these functions were previously
> named "pci@" but were renamed in the interest of consistency in
> commit e806c63ba51a7 ("arm64: dts: qcom: Rename pci@ nodes to pcie@").
>
> Unfortunately, of_node_is_pcie() causes nodes named "pcie@" to be
> treated as PCI bridges, which PCI endpoints are not. The previous
> name "pci" matched such nodes as "default-flags" bus type, defined
> in the of_busses[] array.
>
> Rename the PCIe endpoint nodes "pci@" so they are not mistaken for
> bridge nodes by the devicetree parsing code. This restores the
> previous behavior, and allows them to be used for PCI endpoint bus.
>
> Fixes: e806c63ba51a7 ("arm64: dts: qcom: Rename pci@ nodes to pcie@")
> Signed-off-by: Alex Elder <elder@xxxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> index a13315bf0fb07..99a985a177a61 100644
> --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> @@ -954,7 +954,7 @@ pcie@3,0 {
> ranges;
> bus-range = <0x5 0xff>;
>
> - pcie@0,0 {
> + pci@0,0 {

The kernel should treat either name the same. There may have been some
reason 'pci' was not included in checks. It could have been that only
old things are (parallel, plain) 'pci' and anything new is 'pcie'.

These are ethernet devices, right? Then the right name is
'ethernet@0,0'. If not, then pick something that matches what the node
is. Both pci and pcie mean the node implements a PCI bus.

Rob