[PATCH v2 06/15] arm64: dts: qcom: sdm845: Move PCIe phy and GPIOs to root port node

From: Krishna Chaitanya Chundru

Date: Thu Sep 17 2026 - 09:16:38 EST


The PCIe phy reference and the perst/wake GPIO properties are
per root port and belong in the root port node (pcie@0), not in the
RC controller node. Move phys and phy-names from the controller to
pcie0_port0 and pcie1_port0, adding labels to these nodes to allow
board-level overrides. Move perst-gpios/wake-gpios from the
controller overrides to the respective port nodes in the board files,
renaming perst-gpios to reset-gpios to match the binding used in the
root port context.

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 13 +++++++++----
arch/arm64/boot/dts/qcom/sdm845-mtp.dts | 12 ++++++++----
arch/arm64/boot/dts/qcom/sdm845.dtsi | 14 ++++++--------
3 files changed, 23 insertions(+), 16 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
index 3e636926231d..02cb29afb246 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
@@ -618,9 +618,6 @@ &mss_pil {

&pcie0 {
status = "okay";
- perst-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 134 GPIO_ACTIVE_LOW>;
-
vddpe-3v3-supply = <&pcie0_3p3v_dual>;

pinctrl-names = "default";
@@ -634,9 +631,13 @@ &pcie0_phy {
vdda-pll-supply = <&vreg_l26a_1p2>;
};

+&pcie0_port0 {
+ reset-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 134 GPIO_ACTIVE_LOW>;
+};
+
&pcie1 {
status = "okay";
- perst-gpios = <&tlmm 102 GPIO_ACTIVE_LOW>;

pinctrl-names = "default";
pinctrl-0 = <&pcie1_default_state>;
@@ -649,6 +650,10 @@ &pcie1_phy {
vdda-pll-supply = <&vreg_l26a_1p2>;
};

+&pcie1_port0 {
+ reset-gpios = <&tlmm 102 GPIO_ACTIVE_LOW>;
+};
+
&pm8998_gpios {
gpio-line-names =
"NC",
diff --git a/arch/arm64/boot/dts/qcom/sdm845-mtp.dts b/arch/arm64/boot/dts/qcom/sdm845-mtp.dts
index c66df45eee64..88aa0b7de5fd 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-mtp.dts
@@ -508,8 +508,6 @@ &mss_pil {
};

&pcie0 {
- perst-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
-
pinctrl-0 = <&pcie0_default_state>;
pinctrl-names = "default";

@@ -523,9 +521,11 @@ &pcie0_phy {
status = "okay";
};

-&pcie1 {
- perst-gpios = <&tlmm 102 GPIO_ACTIVE_LOW>;
+&pcie0_port0 {
+ reset-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
+};

+&pcie1 {
pinctrl-names = "default";
pinctrl-0 = <&pcie1_default_state>;

@@ -539,6 +539,10 @@ &pcie1_phy {
vdda-pll-supply = <&vreg_l26a_1p2>;
};

+&pcie1_port0 {
+ reset-gpios = <&tlmm 102 GPIO_ACTIVE_LOW>;
+};
+
&pm8998_adc {
channel@4c {
reg = <ADC5_XO_THERM_100K_PU>;
diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index b1f6782a3ad9..cb7f93b02b5a 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -2395,16 +2395,15 @@ pcie0: pcie@1c00000 {

power-domains = <&gcc PCIE_0_GDSC>;

- phys = <&pcie0_phy>;
- phy-names = "pciephy";
-
status = "disabled";

- pcie@0 {
+ 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;
@@ -2525,16 +2524,15 @@ pcie1: pcie@1c08000 {

power-domains = <&gcc PCIE_1_GDSC>;

- phys = <&pcie1_phy>;
- phy-names = "pciephy";
-
status = "disabled";

- pcie@0 {
+ 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;

--
2.34.1