[PATCH v2] arm64: dts: qcom: glymur-qcb: Add PCIe3a support

From: Qiang Yu

Date: Tue Nov 10 2026 - 05:39:55 EST


Add support for the PCIe3a x8 slot on the Glymur QCB board, wiring up its
regulators, pinctrl states, and PHY/port power supplies.

Signed-off-by: Qiang Yu <qiang.yu@xxxxxxxxxxxxxxxx>
---
This patch depends on patch series:
https://lore.kernel.org/all/20261027114955.1266499-1-sivansh.gupta@xxxxxxxxxxxxxxxx/

Changes in v2:
- Rebase on patch series [PATCH 0/4] arm64: dts: qcom: Add support for Mahua QCB
- Drop output-enable and output-high from pcie_x8_12v, pm_aux_3p3_en and pm_main_3p3_en.
- Link to v1: https://lore.kernel.org/all/20261105-pcie3a_x8_1105-v1-1-d09aa0601186@xxxxxxxxxxxxxxxx/
---
arch/arm64/boot/dts/qcom/glymur-qcb.dts | 50 +++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/glymur-qcb.dtsi | 63 ++++++++++++++++++++++++++++++++
2 files changed, 113 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/glymur-qcb.dts b/arch/arm64/boot/dts/qcom/glymur-qcb.dts
index f0ed47adfc2f..e0abdd8c5941 100644
--- a/arch/arm64/boot/dts/qcom/glymur-qcb.dts
+++ b/arch/arm64/boot/dts/qcom/glymur-qcb.dts
@@ -13,6 +13,31 @@ / {
compatible = "qcom,glymur-qcb", "qcom,glymur";
};

+&pcie3a {
+ pinctrl-0 = <&pcie3a_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&pcie3_phy {
+ vdda-phy-supply = <&vreg_l3c_e1_0p89>;
+ vdda-pll-supply = <&vreg_l2c_e1_1p14>;
+ vdda-refgen0p9-supply = <&vreg_l1c_e1_0p82>;
+ vdda-refgen1p2-supply = <&vreg_l4f_e1_1p08>;
+
+ status = "okay";
+};
+
+&pcie3a_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>;
+};
+
&tcsr {
vdda-qrefrpt0-0p9-supply = <&vreg_l2f_e1_0p83>;
vdda-qrefrpt1-0p9-supply = <&vreg_l2f_e1_0p83>;
@@ -32,3 +57,28 @@ &tcsr {
vdda-refgen4-0p9-supply = <&vreg_l1f_e1_0p82>;
vdda-refgen4-1p2-supply = <&vreg_l4f_e1_1p08>;
};
+
+&tlmm {
+ pcie3a_default: pcie3a-default-state {
+ clkreq-n-pins {
+ pins = "gpio144";
+ function = "pcie3a_clk";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ perst-n-pins {
+ pins = "gpio143";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ wake-n-pins {
+ pins = "gpio145";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/qcom/glymur-qcb.dtsi b/arch/arm64/boot/dts/qcom/glymur-qcb.dtsi
index 9751fbcc5f82..51fd34d335eb 100644
--- a/arch/arm64/boot/dts/qcom/glymur-qcb.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur-qcb.dtsi
@@ -71,6 +71,48 @@ vreg_nvme: regulator-nvme {
regulator-boot-on;
};

+ vreg_pcie_12v: regulator-pcie-12v {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_PCIE_12V";
+ regulator-min-microvolt = <12000000>;
+ regulator-max-microvolt = <12000000>;
+
+ gpio = <&tlmm 26 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&pcie_x8_12v>;
+ pinctrl-names = "default";
+ };
+
+ vreg_pcie_3v3: regulator-pcie-3v3 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_PCIE_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 135 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&pm_main_3p3_en>;
+ pinctrl-names = "default";
+ };
+
+ vreg_pcie_3v3_aux: regulator-pcie-3v3-aux {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_PCIE_3P3_AUX";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 136 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&pm_aux_3p3_en>;
+ pinctrl-names = "default";
+ };
+
vreg_wcn_0p95: regulator-wcn-0p95 {
compatible = "regulator-fixed";

@@ -631,6 +673,27 @@ wake-n-pins {
};
};

+ pcie_x8_12v: pcie-12v-default-state {
+ pins = "gpio26";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ pm_aux_3p3_en: pcie-aux-3p3-default-state {
+ pins = "gpio136";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ pm_main_3p3_en: pcie-main-3p3-default-state {
+ pins = "gpio135";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
wcn_wlan_bt_en: wcn-wlan-bt-en-state {
pins = "gpio116", "gpio117";
function = "gpio";

---
base-commit: e23355aedabc4e1161ce8789f7f00d4554ef84d9
change-id: 20261110-glymur_qcb_pcie3a_1110-ff8b79c765d5

Best regards,
--
Qiang Yu <qiang.yu@xxxxxxxxxxxxxxxx>