[PATCH 4/5] arm64: dts: qcom: ipq9574: Add PCIe bridge node
From: Kathiravan Thirumoorthy
Date: Tue Jul 14 2026 - 00:43:36 EST
The PCIe host bridge is connected to a single PCIe bridge for each
controller instance. Hence, add a node to represent the bridge.
While at it, to align with the newer style of binding, move the phys and
perst to port node.
Reviewed-by: Manivannan Sadhasivam <mani@xxxxxxxxxx>
Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@xxxxxxxxxxxxxxxx>
---
.../arm64/boot/dts/qcom/ipq9574-rdp433-common.dtsi | 33 ++++++++-----
arch/arm64/boot/dts/qcom/ipq9574.dtsi | 56 ++++++++++++++++++----
2 files changed, 69 insertions(+), 20 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/ipq9574-rdp433-common.dtsi b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-common.dtsi
index 3422058ac480..ad3a82c50e22 100644
--- a/arch/arm64/boot/dts/qcom/ipq9574-rdp433-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-common.dtsi
@@ -6,45 +6,54 @@
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/
-&pcie1_phy {
- status = "okay";
-};
-
&pcie1 {
pinctrl-0 = <&pcie1_default>;
pinctrl-names = "default";
- perst-gpios = <&tlmm 26 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
status = "okay";
};
-&pcie2_phy {
+&pcie1_phy {
status = "okay";
};
+&pcie1_port0 {
+ reset-gpios = <&tlmm 26 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
+};
+
&pcie2 {
pinctrl-0 = <&pcie2_default>;
pinctrl-names = "default";
- perst-gpios = <&tlmm 29 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 30 GPIO_ACTIVE_LOW>;
status = "okay";
};
-&pcie3_phy {
+&pcie2_phy {
status = "okay";
};
+&pcie2_port0 {
+ reset-gpios = <&tlmm 29 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 30 GPIO_ACTIVE_LOW>;
+};
+
&pcie3 {
pinctrl-0 = <&pcie3_default>;
pinctrl-names = "default";
- perst-gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 33 GPIO_ACTIVE_LOW>;
status = "okay";
};
+&pcie3_phy {
+ status = "okay";
+};
+
+&pcie3_port0 {
+ reset-gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 33 GPIO_ACTIVE_LOW>;
+};
+
&tlmm {
pcie1_default: pcie1-default-state {
diff --git a/arch/arm64/boot/dts/qcom/ipq9574.dtsi b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
index 451c2076f6a7..5a5bda5f21a1 100644
--- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
@@ -1004,12 +1004,22 @@ pcie1: pcie@10000000 {
"aux",
"ahb";
- phys = <&pcie1_phy>;
- phy-names = "pciephy";
interconnects = <&gcc MASTER_ANOC_PCIE1 &gcc SLAVE_ANOC_PCIE1>,
<&gcc MASTER_SNOC_PCIE1 &gcc SLAVE_SNOC_PCIE1>;
interconnect-names = "pcie-mem", "cpu-pcie";
status = "disabled";
+
+ pcie1_port0: pcie@0 {
+ device_type = "pci";
+ reg = <0x0 0x0 0x0 0x0 0x0>;
+ bus-range = <0x01 0xff>;
+
+ phys = <&pcie1_phy>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges;
+ };
};
pcie3: pcie@18000000 {
@@ -1092,12 +1102,22 @@ pcie3: pcie@18000000 {
"aux",
"ahb";
- phys = <&pcie3_phy>;
- phy-names = "pciephy";
interconnects = <&gcc MASTER_ANOC_PCIE3 &gcc SLAVE_ANOC_PCIE3>,
<&gcc MASTER_SNOC_PCIE3 &gcc SLAVE_SNOC_PCIE3>;
interconnect-names = "pcie-mem", "cpu-pcie";
status = "disabled";
+
+ pcie3_port0: pcie@0 {
+ device_type = "pci";
+ reg = <0x0 0x0 0x0 0x0 0x0>;
+ bus-range = <0x01 0xff>;
+
+ phys = <&pcie3_phy>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges;
+ };
};
pcie2: pcie@20000000 {
@@ -1180,12 +1200,22 @@ pcie2: pcie@20000000 {
"aux",
"ahb";
- phys = <&pcie2_phy>;
- phy-names = "pciephy";
interconnects = <&gcc MASTER_ANOC_PCIE2 &gcc SLAVE_ANOC_PCIE2>,
<&gcc MASTER_SNOC_PCIE2 &gcc SLAVE_SNOC_PCIE2>;
interconnect-names = "pcie-mem", "cpu-pcie";
status = "disabled";
+
+ pcie2_port0: pcie@0 {
+ device_type = "pci";
+ reg = <0x0 0x0 0x0 0x0 0x0>;
+ bus-range = <0x01 0xff>;
+
+ phys = <&pcie2_phy>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges;
+ };
};
pcie0: pcie@28000000 {
@@ -1267,12 +1297,22 @@ pcie0: pcie@28000000 {
"aux",
"ahb";
- phys = <&pcie0_phy>;
- phy-names = "pciephy";
interconnects = <&gcc MASTER_ANOC_PCIE0 &gcc SLAVE_ANOC_PCIE0>,
<&gcc MASTER_SNOC_PCIE0 &gcc SLAVE_SNOC_PCIE0>;
interconnect-names = "pcie-mem", "cpu-pcie";
status = "disabled";
+
+ pcie0_port0: pcie@0 {
+ device_type = "pci";
+ reg = <0x0 0x0 0x0 0x0 0x0>;
+ bus-range = <0x01 0xff>;
+
+ phys = <&pcie0_phy>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges;
+ };
};
nsscc: clock-controller@39b00000 {
--
2.34.1