Devicetree
 help / color / mirror / Atom feed
* [PATCH v3 0/6] arm64: dts: qcom: clean up PCI function nodes
@ 2026-09-02 21:43 Alex Elder
  2026-09-02 21:43 ` [PATCH v3 1/6] arm64: dts: qcom: qcs6490-rb3gen2: " Alex Elder
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Alex Elder @ 2026-09-02 21:43 UTC (permalink / raw)
  To: andersson, konradybcio, robh, krzk+dt, conor+dt
  Cc: mani, krishna.chundru, dmitry.baryshkov, sushrut.trivedi,
	umang.chheda, rosh, jsandom, daniel, mohd.anwar, lorenzo.bianconi,
	devicetree, linux-arm-msm, linux-kernel

While working on upstream support for the Toshiba TC9564 SoC I
discovered that the way its PCIe endpoint function nodes are
defined in devicetree files is incorrect.  Two issues have been
pointed out during the course of review:
  - Only PCI bridge device nodes should contain this property:
      device_type = "pci";
  - Only bridge device nodes should be named "pcie@" (or "pci@")

The second of these was previously addressed by this series:
  https://lore.kernel.org/lkml/20260901172058.1512508-1-elder@riscstar.com/
Instead, those changes are now included here.

These errors existed for the RB3gen2 platform, but five other Qualcomm
devicetree files had this same mistake (all describing a TC9564 SoC).

This series removes the device_type property where it is defined
for a PCI endpoint function, and renames such nodes "dev@".

The #address-cells, #size-cells, and ranges properties are also
removed for these nodes.  These will be restored when they are
known to be needed (to implement pci-ep-bus sub-nodes).

					-Alex

Between version 2 and version 3:
- Added Reviewed-by from Abel (and for the last patch, Mani)
- Renamed all nodes "dev@" rather than "pcie@" or "pci@"

Version 2 is available here:
  https://lore.kernel.org/lkml/20260901013654.1343537-1-elder@riscstar.com/

Between version 1 and version 2:
- Added Reviewed-by from Mani and Konrad
- Added a patch that updates "qcs8550-rb5gen2.dts" as well

Version 1 is available here:
  https://lore.kernel.org/lkml/20260807195846.456079-1-elder@riscstar.com/

Alex Elder (6):
  arm64: dts: qcom: qcs6490-rb3gen2: clean up PCI function nodes
  arm64: dts: qcom: qcs6490-rb3gen2-industrial-mezzanine: clean up PCI
    function nodes
  arm64: dts: qcom: lemans-evk-ifp-mezzanine: clean up PCI function
    nodes
  arm64: dts: qcom: monaco-evk-ifp-mezzanine: clean up PCI function
    nodes
  arm64: dts: qcom: qcs6490-thundercomm-minipc-g1iot: clean up PCI
    function nodes
  arm64: dts: qcom: qcs8550-rb5gen2: clean up PCI function nodes

 .../dts/qcom/lemans-evk-ifp-mezzanine.dtso    | 12 ++--------
 .../dts/qcom/monaco-evk-ifp-mezzanine.dtso    | 12 ++--------
 .../qcs6490-rb3gen2-industrial-mezzanine.dtso | 24 ++++---------------
 arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts  | 12 ++--------
 .../qcom/qcs6490-thundercomm-minipc-g1iot.dts | 12 ++--------
 arch/arm64/boot/dts/qcom/qcs8550-rb5gen2.dts  | 12 ++--------
 6 files changed, 14 insertions(+), 70 deletions(-)


base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
-- 
2.53.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v3 1/6] arm64: dts: qcom: qcs6490-rb3gen2: clean up PCI function nodes
  2026-09-02 21:43 [PATCH v3 0/6] arm64: dts: qcom: clean up PCI function nodes Alex Elder
@ 2026-09-02 21:43 ` Alex Elder
  2026-09-02 21:43 ` [PATCH v3 2/6] arm64: dts: qcom: qcs6490-rb3gen2-industrial-mezzanine: " Alex Elder
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Alex Elder @ 2026-09-02 21:43 UTC (permalink / raw)
  To: andersson, konradybcio, robh, krzk+dt, conor+dt
  Cc: mani, krishna.chundru, dmitry.baryshkov, sushrut.trivedi,
	umang.chheda, rosh, jsandom, daniel, mohd.anwar, lorenzo.bianconi,
	devicetree, linux-arm-msm, linux-kernel, Manivannan Sadhasivam,
	Konrad Dybcio, Abel Vesa

The TC9564 SoC contains a PCIe switch with three downstream ports.
The third downstream port connects to an embedded PCI endpoint,
and that endpoint implements two PCI functions.

The devicetree node describing those functions incorrectly includes
this property:

    device_type = "pci";

That property should only be used for a PCI device "that implements
a PCI bus", but not a PCIe function.  So remove the device_type
property from the nodes representing the two embedded PCI functions.

Additionally, only PCI bridge nodes should be named "pcie@" (or "pci@").
PCI endpoint nodes are typically named based on the functionality they
implement (e.g., "ethernet@").  In this case, the role of these PCI
functions is not (yet) specified, and furthermore they will be used
with PCI endpoint buses.  Rename these to use "dev@", following the
convention used in of_pci_make_dev_node() for dynamically-created
devicetree nodes.

Finally, those properties contain #address-cells, #size-cells,
and ranges properties.  And although these properties *will* be
appropriate for these functions on an RB3gen2, they are not normally
used for PCI functions.  So remove these properties as well; we'll
include them in the commit that actually adds a pci-ep-bus sub-node
to these PCI function nodes.

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Fixes: aa7b4bbcb3a1d ("arm64: dts: qcom: qcs6490-rb3gen2: Add TC9563 PCIe switch node")
Signed-off-by: Alex Elder <elder@riscstar.com>
---
 arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
index a13315bf0fb07..3bb5fca8e2b13 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
@@ -954,20 +954,12 @@ pcie@3,0 {
 			ranges;
 			bus-range = <0x5 0xff>;
 
-			pcie@0,0 {
+			dev@0,0 {
 				reg = <0x50000 0x0 0x0 0x0 0x0>;
-				#address-cells = <3>;
-				#size-cells = <2>;
-				device_type = "pci";
-				ranges;
 			};
 
-			pcie@0,1 {
+			dev@0,1 {
 				reg = <0x50100 0x0 0x0 0x0 0x0>;
-				#address-cells = <3>;
-				#size-cells = <2>;
-				device_type = "pci";
-				ranges;
 			};
 		};
 	};
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 2/6] arm64: dts: qcom: qcs6490-rb3gen2-industrial-mezzanine: clean up PCI function nodes
  2026-09-02 21:43 [PATCH v3 0/6] arm64: dts: qcom: clean up PCI function nodes Alex Elder
  2026-09-02 21:43 ` [PATCH v3 1/6] arm64: dts: qcom: qcs6490-rb3gen2: " Alex Elder
@ 2026-09-02 21:43 ` Alex Elder
  2026-09-02 21:43 ` [PATCH v3 3/6] arm64: dts: qcom: lemans-evk-ifp-mezzanine: " Alex Elder
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Alex Elder @ 2026-09-02 21:43 UTC (permalink / raw)
  To: andersson, konradybcio, robh, krzk+dt, conor+dt
  Cc: mani, krishna.chundru, dmitry.baryshkov, sushrut.trivedi,
	umang.chheda, rosh, jsandom, daniel, mohd.anwar, lorenzo.bianconi,
	devicetree, linux-arm-msm, linux-kernel, Manivannan Sadhasivam,
	Konrad Dybcio, Abel Vesa

The qcs6490-rb3gen2-industrial-mezzanine overlay defines two nodes
representing TC956x chips, each of which contains a PCIe switch and
an embedded endpoint that implements two PCIe functions.

The devicetree nodes erroneously include a "pci" device_type property
for the two PCIe functions.  That property should only be used for a
PCI device "that implements a PCI bus".  Remove this property for the
two function nodes.

In addition, only PCI bridge nodes should be named "pcie@" (or "pci@").
PCI endpoint nodes are typically named based on the functionality they
implement (e.g., "ethernet@").  In this case, the role of these PCI
functions is not (yet) specified, and furthermore they will be used
with PCI endpoint buses.  Rename these to use "dev@", following the
convention used in of_pci_make_dev_node() for dynamically-created
devicetree nodes.

Finally, these nodes define #address-cells, #size-cells, and ranges
properties, which are not normally defined for PCIe endpoints.  Remove
these properties as well; they can be added back once they are actually
needed/used.

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Fixes: 4559b435f741b ("arm64: dts: qcom: qcs6490-rb3gen2-industrial-mezzanine: Add TC9563 PCIe switch node for PCIe0")
Signed-off-by: Alex Elder <elder@riscstar.com>
---
 .../qcs6490-rb3gen2-industrial-mezzanine.dtso | 24 ++++---------------
 1 file changed, 4 insertions(+), 20 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine.dtso b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine.dtso
index 46bb52c667a4d..5259f4f4f8574 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine.dtso
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine.dtso
@@ -130,20 +130,12 @@ pcie@3,0 {
 			ranges;
 			bus-range = <0x5 0xff>;
 
-			pcie@0,0 {
+			dev@0,0 {
 				reg = <0x50000 0x0 0x0 0x0 0x0>;
-				#address-cells = <3>;
-				#size-cells = <2>;
-				device_type = "pci";
-				ranges;
 			};
 
-			pcie@0,1 {
+			dev@0,1 {
 				reg = <0x50100 0x0 0x0 0x0 0x0>;
-				#address-cells = <3>;
-				#size-cells = <2>;
-				device_type = "pci";
-				ranges;
 			};
 		};
 
@@ -225,20 +217,12 @@ pcie@3,0 {
 			ranges;
 			bus-range = <0x5 0xff>;
 
-			pcie@0,0 {
+			dev@0,0 {
 				reg = <0x50000 0x0 0x0 0x0 0x0>;
-				#address-cells = <3>;
-				#size-cells = <2>;
-				device_type = "pci";
-				ranges;
 			};
 
-			pcie@0,1 {
+			dev@0,1 {
 				reg = <0x50100 0x0 0x0 0x0 0x0>;
-				#address-cells = <3>;
-				#size-cells = <2>;
-				device_type = "pci";
-				ranges;
 			};
 		};
 	};
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 3/6] arm64: dts: qcom: lemans-evk-ifp-mezzanine: clean up PCI function nodes
  2026-09-02 21:43 [PATCH v3 0/6] arm64: dts: qcom: clean up PCI function nodes Alex Elder
  2026-09-02 21:43 ` [PATCH v3 1/6] arm64: dts: qcom: qcs6490-rb3gen2: " Alex Elder
  2026-09-02 21:43 ` [PATCH v3 2/6] arm64: dts: qcom: qcs6490-rb3gen2-industrial-mezzanine: " Alex Elder
@ 2026-09-02 21:43 ` Alex Elder
  2026-09-02 21:43 ` [PATCH v3 4/6] arm64: dts: qcom: monaco-evk-ifp-mezzanine: " Alex Elder
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Alex Elder @ 2026-09-02 21:43 UTC (permalink / raw)
  To: andersson, konradybcio, robh, krzk+dt, conor+dt
  Cc: mani, krishna.chundru, dmitry.baryshkov, sushrut.trivedi,
	umang.chheda, rosh, jsandom, daniel, mohd.anwar, lorenzo.bianconi,
	devicetree, linux-arm-msm, linux-kernel, Manivannan Sadhasivam,
	Konrad Dybcio, Abel Vesa

The lemans-evk-ifp-mezzanine overlay defines a node representing a
TC956x chip which contains a PCIe switch and an embedded endpoint
that implements two PCIe functions.

The devicetree nodes erroneously include a "pci" device_type property
for the two PCIe functions.  That property should only be used for a
PCI device "that implements a PCI bus".  Remove this property for the
two function nodes.

In addition, only PCI bridge nodes should be named "pcie@" (or "pci@").
PCI endpoint nodes are typically named based on the functionality they
implement (e.g., "ethernet@").  In this case, the role of these PCI
functions is not (yet) specified, and furthermore they will be used
with PCI endpoint buses.  Rename these to use "dev@", following the
convention used in of_pci_make_dev_node() for dynamically-created
devicetree nodes.

Finally, these nodes define #address-cells, #size-cells, and ranges
properties, which are not normally defined for PCIe endpoints.  Remove
these properties as well; they can be added back once they are actually
needed/used.

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Fixes: b64abb26a2916 ("arm64: dts: qcom: lemans-evk: Add IFP Mezzanine")
Signed-off-by: Alex Elder <elder@riscstar.com>
---
 .../boot/dts/qcom/lemans-evk-ifp-mezzanine.dtso      | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/lemans-evk-ifp-mezzanine.dtso b/arch/arm64/boot/dts/qcom/lemans-evk-ifp-mezzanine.dtso
index 6cfa0bc1440e9..e42314c648579 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk-ifp-mezzanine.dtso
+++ b/arch/arm64/boot/dts/qcom/lemans-evk-ifp-mezzanine.dtso
@@ -271,20 +271,12 @@ pcie@3,0 {
 			ranges;
 			bus-range = <0x5 0xff>;
 
-			pcie@0,0 {
+			dev@0,0 {
 				reg = <0x50000 0x0 0x0 0x0 0x0>;
-				#address-cells = <3>;
-				#size-cells = <2>;
-				device_type = "pci";
-				ranges;
 			};
 
-			pcie@0,1 {
+			dev@0,1 {
 				reg = <0x50100 0x0 0x0 0x0 0x0>;
-				#address-cells = <3>;
-				#size-cells = <2>;
-				device_type = "pci";
-				ranges;
 			};
 		};
 	};
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 4/6] arm64: dts: qcom: monaco-evk-ifp-mezzanine: clean up PCI function nodes
  2026-09-02 21:43 [PATCH v3 0/6] arm64: dts: qcom: clean up PCI function nodes Alex Elder
                   ` (2 preceding siblings ...)
  2026-09-02 21:43 ` [PATCH v3 3/6] arm64: dts: qcom: lemans-evk-ifp-mezzanine: " Alex Elder
@ 2026-09-02 21:43 ` Alex Elder
  2026-09-02 21:43 ` [PATCH v3 5/6] arm64: dts: qcom: qcs6490-thundercomm-minipc-g1iot: " Alex Elder
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Alex Elder @ 2026-09-02 21:43 UTC (permalink / raw)
  To: andersson, konradybcio, robh, krzk+dt, conor+dt
  Cc: mani, krishna.chundru, dmitry.baryshkov, sushrut.trivedi,
	umang.chheda, rosh, jsandom, daniel, mohd.anwar, lorenzo.bianconi,
	devicetree, linux-arm-msm, linux-kernel, Manivannan Sadhasivam,
	Konrad Dybcio, Abel Vesa

The monaco-evk-ifp-mezzanine overlay defines a node representing a
TC956x chip which contains a PCIe switch and an embedded endpoint
that implements two PCIe functions.

The devicetree nodes erroneously include a "pci" device_type property
for the two PCIe functions.  That property should only be used for a
PCI device "that implements a PCI bus".  Remove this property for the
two function nodes.

In addition, only PCI bridge nodes should be named "pcie@" (or "pci@").
PCI endpoint nodes are typically named based on the functionality they
implement (e.g., "ethernet@").  In this case, the role of these PCI
functions is not (yet) specified, and furthermore they will be used
with PCI endpoint buses.  Rename these to use "dev@", following the
convention used in of_pci_make_dev_node() for dynamically-created
devicetree nodes.

Finally, these nodes define #address-cells, #size-cells, and ranges
properties, which are not normally defined for PCIe endpoints.  Remove
these properties as well; they can be added back once they are actually
needed/used.

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Fixes: 5a67924d2fc57 ("arm64: dts: qcom: monaco-evk: Add IFP Mezzanine")
Signed-off-by: Alex Elder <elder@riscstar.com>
---
 .../boot/dts/qcom/monaco-evk-ifp-mezzanine.dtso      | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/monaco-evk-ifp-mezzanine.dtso b/arch/arm64/boot/dts/qcom/monaco-evk-ifp-mezzanine.dtso
index ca5bf0fe5ec6e..4f727ff6ecb61 100644
--- a/arch/arm64/boot/dts/qcom/monaco-evk-ifp-mezzanine.dtso
+++ b/arch/arm64/boot/dts/qcom/monaco-evk-ifp-mezzanine.dtso
@@ -117,20 +117,12 @@ pcie@3,0 {
 			ranges;
 			bus-range = <0x5 0xff>;
 
-			pcie@0,0 {
+			dev@0,0 {
 				reg = <0x50000 0x0 0x0 0x0 0x0>;
-				#address-cells = <3>;
-				#size-cells = <2>;
-				device_type = "pci";
-				ranges;
 			};
 
-			pcie@0,1 {
+			dev@0,1 {
 				reg = <0x50100 0x0 0x0 0x0 0x0>;
-				#address-cells = <3>;
-				#size-cells = <2>;
-				device_type = "pci";
-				ranges;
 			};
 		};
 	};
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 5/6] arm64: dts: qcom: qcs6490-thundercomm-minipc-g1iot: clean up PCI function nodes
  2026-09-02 21:43 [PATCH v3 0/6] arm64: dts: qcom: clean up PCI function nodes Alex Elder
                   ` (3 preceding siblings ...)
  2026-09-02 21:43 ` [PATCH v3 4/6] arm64: dts: qcom: monaco-evk-ifp-mezzanine: " Alex Elder
@ 2026-09-02 21:43 ` Alex Elder
  2026-09-02 21:43 ` [PATCH v3 6/6] arm64: dts: qcom: qcs8550-rb5gen2: " Alex Elder
  2026-09-03 17:20 ` [PATCH v3 0/6] arm64: dts: qcom: " Bjorn Andersson
  6 siblings, 0 replies; 8+ messages in thread
From: Alex Elder @ 2026-09-02 21:43 UTC (permalink / raw)
  To: andersson, konradybcio, robh, krzk+dt, conor+dt
  Cc: mani, krishna.chundru, dmitry.baryshkov, sushrut.trivedi,
	umang.chheda, rosh, jsandom, daniel, mohd.anwar, lorenzo.bianconi,
	devicetree, linux-arm-msm, linux-kernel, Manivannan Sadhasivam,
	Konrad Dybcio, Abel Vesa

The Thundercomm AI Mini PC G1 IoT devicetree source file defines a node
representing a TC956x chip which contains a PCIe switch and an embedded
endpoint that implements two PCIe functions.

The devicetree nodes erroneously include a "pci" device_type property
for the two PCIe functions.  That property should only be used for a
PCI device "that implements a PCI bus".  Remove this property for the
two function nodes.

In addition, only PCI bridge nodes should be named "pcie@" (or "pci@").
PCI endpoint nodes are typically named based on the functionality they
implement (e.g., "ethernet@").  In this case, the role of these PCI
functions is not (yet) specified, and furthermore they will be used
with PCI endpoint buses.  Rename these to use "dev@", following the
convention used in of_pci_make_dev_node() for dynamically-created
devicetree nodes.

Finally, these nodes define #address-cells, #size-cells, and ranges
properties, which are not normally defined for PCIe endpoints.  Remove
these properties as well; they can be added back once they are actually
needed/used.

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Fixes: 1cde54c54b83b ("arm64: dts: qcom: qcs6490: Add Thundercomm AI Mini PC G1 IoT")
Signed-off-by: Alex Elder <elder@riscstar.com>
---
 .../dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts    | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts
index 31bafa2cf51db..51b59a75c1e03 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts
@@ -790,20 +790,12 @@ pcie@3,0 {
 			ranges;
 			bus-range = <0x5 0xff>;
 
-			pcie@0,0 {
+			dev@0,0 {
 				reg = <0x50000 0x0 0x0 0x0 0x0>;
-				#address-cells = <3>;
-				#size-cells = <2>;
-				device_type = "pci";
-				ranges;
 			};
 
-			pcie@0,1 {
+			dev@0,1 {
 				reg = <0x50100 0x0 0x0 0x0 0x0>;
-				#address-cells = <3>;
-				#size-cells = <2>;
-				device_type = "pci";
-				ranges;
 			};
 		};
 	};
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 6/6] arm64: dts: qcom: qcs8550-rb5gen2: clean up PCI function nodes
  2026-09-02 21:43 [PATCH v3 0/6] arm64: dts: qcom: clean up PCI function nodes Alex Elder
                   ` (4 preceding siblings ...)
  2026-09-02 21:43 ` [PATCH v3 5/6] arm64: dts: qcom: qcs6490-thundercomm-minipc-g1iot: " Alex Elder
@ 2026-09-02 21:43 ` Alex Elder
  2026-09-03 17:20 ` [PATCH v3 0/6] arm64: dts: qcom: " Bjorn Andersson
  6 siblings, 0 replies; 8+ messages in thread
From: Alex Elder @ 2026-09-02 21:43 UTC (permalink / raw)
  To: andersson, konradybcio, robh, krzk+dt, conor+dt
  Cc: mani, krishna.chundru, dmitry.baryshkov, sushrut.trivedi,
	umang.chheda, rosh, jsandom, daniel, mohd.anwar, lorenzo.bianconi,
	devicetree, linux-arm-msm, linux-kernel, Abel Vesa,
	Manivannan Sadhasivam

The Qualcomm RB5gen2 devicetree source file defines a node representing
a TC956x chip which contains a PCIe switch and an embedded endpoint that
implements two PCIe functions.

The devicetree nodes erroneously include a "pci" device_type property
for the two PCIe functions.  That property should only be used for a
PCI device "that implements a PCI bus".  Remove this property for the
two function nodes.

In addition, only PCI bridge nodes should be named "pci@" (or "pcie@").
PCI endpoint nodes are typically named based on the functionality they
implement (e.g., "ethernet@").  In this case, the role of these PCI
functions is not (yet) specified, and furthermore they will be used
with PCI endpoint buses.  Rename these to use "dev@", following the
convention used in of_pci_make_dev_node() for dynamically-created
devicetree nodes.

Finally, these nodes define #address-cells, #size-cells, and ranges
properties, which are not normally defined for PCIe endpoints.  Remove
these properties as well; they can be added back once they are actually
needed/used.

Fixes: 33cae252054a6 ("arm64: dts: qcom: qcs8550: add QCS8550 RB5Gen2 board support")
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Signed-off-by: Alex Elder <elder@riscstar.com>
---
 arch/arm64/boot/dts/qcom/qcs8550-rb5gen2.dts | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/qcs8550-rb5gen2.dts b/arch/arm64/boot/dts/qcom/qcs8550-rb5gen2.dts
index 9df8dcd6c62b6..e6340f7d30dd8 100644
--- a/arch/arm64/boot/dts/qcom/qcs8550-rb5gen2.dts
+++ b/arch/arm64/boot/dts/qcom/qcs8550-rb5gen2.dts
@@ -1126,20 +1126,12 @@ pcie@3,0 {
 			ranges;
 			bus-range = <0x5 0xff>;
 
-			pci@0,0 {
+			dev@0,0 {
 				reg = <0x50000 0x0 0x0 0x0 0x0>;
-				#address-cells = <3>;
-				#size-cells = <2>;
-				device_type = "pci";
-				ranges;
 			};
 
-			pci@0,1 {
+			dev@0,1 {
 				reg = <0x50100 0x0 0x0 0x0 0x0>;
-				#address-cells = <3>;
-				#size-cells = <2>;
-				device_type = "pci";
-				ranges;
 			};
 		};
 	};
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/6] arm64: dts: qcom: clean up PCI function nodes
  2026-09-02 21:43 [PATCH v3 0/6] arm64: dts: qcom: clean up PCI function nodes Alex Elder
                   ` (5 preceding siblings ...)
  2026-09-02 21:43 ` [PATCH v3 6/6] arm64: dts: qcom: qcs8550-rb5gen2: " Alex Elder
@ 2026-09-03 17:20 ` Bjorn Andersson
  6 siblings, 0 replies; 8+ messages in thread
From: Bjorn Andersson @ 2026-09-03 17:20 UTC (permalink / raw)
  To: konradybcio, robh, krzk+dt, conor+dt, Alex Elder
  Cc: mani, krishna.chundru, dmitry.baryshkov, sushrut.trivedi,
	umang.chheda, rosh, jsandom, daniel, mohd.anwar, lorenzo.bianconi,
	devicetree, linux-arm-msm, linux-kernel


On Wed, 02 Sep 2026 16:43:14 -0500, Alex Elder wrote:
> While working on upstream support for the Toshiba TC9564 SoC I
> discovered that the way its PCIe endpoint function nodes are
> defined in devicetree files is incorrect.  Two issues have been
> pointed out during the course of review:
>   - Only PCI bridge device nodes should contain this property:
>       device_type = "pci";
>   - Only bridge device nodes should be named "pcie@" (or "pci@")
> 
> [...]

Applied, thanks!

[1/6] arm64: dts: qcom: qcs6490-rb3gen2: clean up PCI function nodes
      commit: df4107fc729e3bffce27fe0ed06fc6a64dd675cd
[2/6] arm64: dts: qcom: qcs6490-rb3gen2-industrial-mezzanine: clean up PCI function nodes
      commit: aaedd4ea312d6fd70dfc5cf430edf5106c5b3382
[3/6] arm64: dts: qcom: lemans-evk-ifp-mezzanine: clean up PCI function nodes
      commit: ca3027cfe8c7ef612910d2f04e58d75ec8a9b427
[4/6] arm64: dts: qcom: monaco-evk-ifp-mezzanine: clean up PCI function nodes
      commit: 0f8cbe572057b0ef98c651fbd6da1877983c7165
[5/6] arm64: dts: qcom: qcs6490-thundercomm-minipc-g1iot: clean up PCI function nodes
      commit: 55580d234cec123e9b2964cab30fbfad10774b26
[6/6] arm64: dts: qcom: qcs8550-rb5gen2: clean up PCI function nodes
      commit: 3f7d46aaf5565471f65b2e21fbb649cedc55e6b8

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-09-03 17:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-02 21:43 [PATCH v3 0/6] arm64: dts: qcom: clean up PCI function nodes Alex Elder
2026-09-02 21:43 ` [PATCH v3 1/6] arm64: dts: qcom: qcs6490-rb3gen2: " Alex Elder
2026-09-02 21:43 ` [PATCH v3 2/6] arm64: dts: qcom: qcs6490-rb3gen2-industrial-mezzanine: " Alex Elder
2026-09-02 21:43 ` [PATCH v3 3/6] arm64: dts: qcom: lemans-evk-ifp-mezzanine: " Alex Elder
2026-09-02 21:43 ` [PATCH v3 4/6] arm64: dts: qcom: monaco-evk-ifp-mezzanine: " Alex Elder
2026-09-02 21:43 ` [PATCH v3 5/6] arm64: dts: qcom: qcs6490-thundercomm-minipc-g1iot: " Alex Elder
2026-09-02 21:43 ` [PATCH v3 6/6] arm64: dts: qcom: qcs8550-rb5gen2: " Alex Elder
2026-09-03 17:20 ` [PATCH v3 0/6] arm64: dts: qcom: " Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox