]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: hamoa: Move PHY, PERST, and Wake GPIOs to PCIe port nodes and add...
authorZiyue Zhang <ziyue.zhang@oss.qualcomm.com>
Fri, 9 Jan 2026 10:45:02 +0000 (18:45 +0800)
committerBjorn Andersson <andersson@kernel.org>
Fri, 9 Jan 2026 18:52:40 +0000 (12:52 -0600)
Since describing the PCIe PHY directly under the RC node is now
deprecated, move the references to the respective PCIe port nodes,
creating them where necessary.Also add port nodes for PCIe5 and PCIe6a
with proper PHY references.

And also move the PCIe PERST and wake GPIOs from the controller nodes to
the corresponding PCIe port nodes on Hamoa-based platforms:

 - x1e001de-devkit
 - x1e78100-lenovo-thinkpad-t14s
 - x1e80100-asus-vivobook-s15
 - x1e80100-asus-zenbook-a14
 - x1e80100-dell-xps13-9345
 - x1e80100-lenovo-yoga-slim7x
 - x1e80100-microsoft-romulus
 - x1e80100-qcp

Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260109104504.3147745-2-ziyue.zhang@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/hamoa.dtsi
arch/arm64/boot/dts/qcom/x1e001de-devkit.dts
arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
arch/arm64/boot/dts/qcom/x1e80100-asus-zenbook-a14.dts
arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
arch/arm64/boot/dts/qcom/x1e80100-qcp.dts

index a559f6340af9d348a92e8cc4c56648c99ca0a58f..f464ff3b89cb15eeed0e88f2be8aab50350041f0 100644 (file)
 
                        power-domains = <&gcc GCC_PCIE_3_GDSC>;
 
-                       phys = <&pcie3_phy>;
-                       phy-names = "pciephy";
-
                        eq-presets-8gts = /bits/ 16 <0x5555 0x5555 0x5555 0x5555
                                                     0x5555 0x5555 0x5555 0x5555>;
                        eq-presets-16gts = /bits/ 8 <0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55>;
                                };
                        };
 
-                       pcie3_port: pcie@0 {
+                       pcie3_port0: pcie@0 {
                                device_type = "pci";
                                compatible = "pciclass,0604";
                                reg = <0x0 0x0 0x0 0x0 0x0>;
                                bus-range = <0x01 0xff>;
 
+                               phys = <&pcie3_phy>;
+
                                #address-cells = <3>;
                                #size-cells = <2>;
                                ranges;
                        power-domains = <&gcc GCC_PCIE_6A_GDSC>;
                        required-opps = <&rpmhpd_opp_nom>;
 
-                       phys = <&pcie6a_phy>;
-                       phy-names = "pciephy";
-
                        eq-presets-8gts = /bits/ 16 <0x5555 0x5555 0x5555 0x5555>;
                        eq-presets-16gts = /bits/ 8 <0x55 0x55 0x55 0x55>;
 
                        status = "disabled";
+
+                       pcie6a_port0: pcie@0 {
+                               device_type = "pci";
+                               reg = <0x0 0x0 0x0 0x0 0x0>;
+                               bus-range = <0x01 0xff>;
+
+                               phys = <&pcie6a_phy>;
+
+                               #address-cells = <3>;
+                               #size-cells = <2>;
+                               ranges;
+                       };
                };
 
                pcie6a_phy: phy@1bfc000 {
                        power-domains = <&gcc GCC_PCIE_5_GDSC>;
                        required-opps = <&rpmhpd_opp_nom>;
 
-                       phys = <&pcie5_phy>;
-                       phy-names = "pciephy";
-
                        eq-presets-8gts = /bits/ 16 <0x5555 0x5555>;
 
                        status = "disabled";
+
+                       pcie5_port0: pcie@0 {
+                               device_type = "pci";
+                               reg = <0x0 0x0 0x0 0x0 0x0>;
+                               bus-range = <0x01 0xff>;
+
+                               phys = <&pcie5_phy>;
+
+                               #address-cells = <3>;
+                               #size-cells = <2>;
+                               ranges;
+                       };
                };
 
                pcie5_phy: phy@1c06000 {
                        power-domains = <&gcc GCC_PCIE_4_GDSC>;
                        required-opps = <&rpmhpd_opp_nom>;
 
-                       phys = <&pcie4_phy>;
-                       phy-names = "pciephy";
-
                        eq-presets-8gts = /bits/ 16 <0x5555 0x5555>;
 
                        status = "disabled";
                                reg = <0x0 0x0 0x0 0x0 0x0>;
                                bus-range = <0x01 0xff>;
 
+                               phys = <&pcie4_phy>;
+
                                #address-cells = <3>;
                                #size-cells = <2>;
                                ranges;
index a9643cd746d500296848f4b0f928a2905dcd49c0..d5a60671a38373826c1e82e51b5724f1788f8089 100644 (file)
 };
 
 &pcie4 {
-       perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
-
        pinctrl-0 = <&pcie4_default>;
        pinctrl-names = "default";
 
        status = "okay";
 };
 
-&pcie5 {
-       perst-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
+&pcie4_port0 {
+       reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
+};
 
+&pcie5 {
        vddpe-3v3-supply = <&vreg_wwan>;
 
        pinctrl-0 = <&pcie5_default>;
        status = "okay";
 };
 
-&pcie6a {
-       perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+&pcie5_port0 {
+       reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
+};
 
+&pcie6a {
        vddpe-3v3-supply = <&vreg_nvme>;
 
        pinctrl-names = "default";
        status = "okay";
 };
 
+&pcie6a_port0 {
+       reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+};
+
 &pm8550_gpios {
        rtmr0_default: rtmr0-reset-n-active-state {
                pins = "gpio10";
index 7aee9a20c6dfc3b22e833a7e55d09b3daef76e93..b45e377a22c6248502a6e503b908af5a951c6ad2 100644 (file)
 };
 
 &pcie4 {
-       perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
-
        pinctrl-0 = <&pcie4_default>;
        pinctrl-names = "default";
 
        status = "okay";
 };
 
-&pcie5 {
-       perst-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
+&pcie4_port0 {
+       reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
+};
 
+&pcie5 {
        vddpe-3v3-supply = <&vreg_wwan>;
 
        pinctrl-0 = <&pcie5_default>;
        status = "okay";
 };
 
-&pcie6a {
-       perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+&pcie5_port0 {
+       reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
+};
 
+&pcie6a {
        vddpe-3v3-supply = <&vreg_nvme>;
 
        pinctrl-0 = <&pcie6a_default>;
        status = "okay";
 };
 
+&pcie6a_port0 {
+       reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+};
+
 &pm8550_gpios {
        rtmr0_default: rtmr0-reset-n-active-state {
                pins = "gpio10";
index 34467b84a2fa68597ed4ae75d7ecd4eccc18ca33..17269eb0638acb81cef7112285372b5d306ed8c3 100644 (file)
 };
 
 &pcie4 {
-       perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
-
        pinctrl-0 = <&pcie4_default>;
        pinctrl-names = "default";
 
 };
 
 &pcie4_port0 {
+       reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
+
        wifi@0 {
                compatible = "pci17cb,1107";
                reg = <0x10000 0x0 0x0 0x0 0x0>;
 };
 
 &pcie6a {
-       perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
-
        vddpe-3v3-supply = <&vreg_nvme>;
 
        pinctrl-0 = <&pcie6a_default>;
        status = "okay";
 };
 
+&pcie6a_port0 {
+       reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+};
+
 &pm8550_gpios {
        rtmr0_default: rtmr0-reset-n-active-state {
                pins = "gpio10";
index 0408ade7150fc879d89a1debccec8512f56bfeff..b42318c75ed285985c91cdbe611631234a00ae9b 100644 (file)
@@ -82,6 +82,9 @@
 };
 
 &pcie4_port0 {
+       reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
+
        wifi@0 {
                compatible = "pci17cb,1107";
                reg = <0x10000 0x0 0x0 0x0 0x0>;
index 2f533e56c8c84101973f557c4df2abd21af8832a..4c95b1af2c64432967dc1e8b1d1c8bfe5a59cc34 100644 (file)
 };
 
 &pcie4 {
-       perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
-
        pinctrl-0 = <&pcie4_default>;
        pinctrl-names = "default";
 
 };
 
 &pcie4_port0 {
+       reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
+
        wifi@0 {
                compatible = "pci17cb,1107";
                reg = <0x10000 0x0 0x0 0x0 0x0>;
 };
 
 &pcie6a {
-       perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
-
        vddpe-3v3-supply = <&vreg_nvme>;
 
        pinctrl-0 = <&pcie6a_default>;
        status = "okay";
 };
 
+&pcie6a_port0 {
+       reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+};
+
 &pm8550_gpios {
        rtmr0_default: rtmr0-reset-n-active-state {
                pins = "gpio10";
index 4c31d14a07bc67055b836725d4738bd31d611db1..d6472e5a3f9fa74d4ca21e2d3053b3e7ff4f31ff 100644 (file)
 };
 
 &pcie6a {
-       perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
-
        vddpe-3v3-supply = <&vreg_nvme>;
 
        pinctrl-0 = <&pcie6a_default>;
        status = "okay";
 };
 
+&pcie6a_port0 {
+       reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+};
+
 &pm8550_gpios {
        rtmr0_default: rtmr0-reset-n-active-state {
                pins = "gpio10";
index 7e1e808ea983b6571bde306f575a94c4d6fcff84..37539a09b76eaa78bbe38c8332bf3648f380c3c2 100644 (file)
 };
 
 &pcie3 {
-       perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 145 GPIO_ACTIVE_HIGH>;
-
        pinctrl-0 = <&pcie3_default>;
        pinctrl-names = "default";
 
        status = "okay";
 };
 
+&pcie3_port0 {
+       reset-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
+};
+
 &pcie4 {
        status = "okay";
 };
 };
 
 &pcie4_port0 {
+       reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
+
        wifi@0 {
                compatible = "pci17cb,1107";
                reg = <0x10000 0x0 0x0 0x0 0x0>;
 };
 
 &pcie6a {
-       perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
-
        vddpe-3v3-supply = <&vreg_nvme>;
 
        pinctrl-0 = <&pcie6a_default>;
        status = "okay";
 };
 
+&pcie6a_port0 {
+       reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+};
+
 &pm8550_gpios {
        rtmr0_default: rtmr0-reset-n-active-state {
                pins = "gpio10";
index b742aabd9c049eb0f24cf96fb1af879acfc5d3b6..1d402ef865124c412d3caab1b8e0027647fa7b0a 100644 (file)
 &pcie3 {
        pinctrl-names = "default";
        pinctrl-0 = <&pcie3_default>;
-       perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
 
        status = "okay";
 };
        status = "okay";
 };
 
-&pcie3_port {
+&pcie3_port0 {
        vpcie12v-supply = <&vreg_pcie_12v>;
        vpcie3v3-supply = <&vreg_pcie_3v3>;
        vpcie3v3aux-supply = <&vreg_pcie_3v3_aux>;
+
+       reset-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
 };
 
 &pcie4 {
-       perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
-
        pinctrl-0 = <&pcie4_default>;
        pinctrl-names = "default";
 
 };
 
 &pcie4_port0 {
+       reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
+
        wifi@0 {
                compatible = "pci17cb,1107";
                reg = <0x10000 0x0 0x0 0x0 0x0>;
 };
 
 &pcie6a {
-       perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
-       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
-
        vddpe-3v3-supply = <&vreg_nvme>;
 
        pinctrl-names = "default";
        status = "okay";
 };
 
+&pcie6a_port0 {
+       reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+};
+
 &qupv3_0 {
        status = "okay";
 };