[PATCH RFC v4 6/7] arm64: dts: qcom: nord-rrd: Add WCN7850 WLAN support

From: Shawn Guo

Date: Sat Oct 31 2026 - 10:28:21 EST


From: "Yu Zhang(Yuriy)" <yu.zhang@xxxxxxxxxxxxxxxx>

The Nord RRD carries a QCA6797AQ (WCN7850) LGA module on a
connectivity adapter card hanging off PCIe2. Three PMIC GPIOs gate the
module supplies: PWR_CORE (pmau0102_e GPIO6) enables the DBU_CORE_VL,
DBU_CORE_VM and DBU_CORE_VH regulators feeding VDD_CORE_VL/VM/VH,
PWR_CTRL1 (pmau0102_e GPIO8) enables DBU4, which produces the 3.3 V rail,
and PWR_CTRL2 (pmau0102_e GPIO7) enables the 1.9 V rail.

Describe those rails, the WCN7850 PMU that derives the chip supplies from
them, and the PCIe endpoint node consuming the PMU outputs.

Signed-off-by: Yu Zhang (Yuriy) <yu.zhang@xxxxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shengchao.guo@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/nord-rrd.dts | 111 ++++++++++++++++++++++++++
1 file changed, 111 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/nord-rrd.dts b/arch/arm64/boot/dts/qcom/nord-rrd.dts
index 98dab85de64d..b23c1a81a376 100644
--- a/arch/arm64/boot/dts/qcom/nord-rrd.dts
+++ b/arch/arm64/boot/dts/qcom/nord-rrd.dts
@@ -53,6 +53,102 @@ bi_tcxo_ao_div2: bi-tcxo-ao-div2-clk {
clock-div = <2>;
};
};
+
+ vreg_wcn_3p3: regulator-wcn-3p3 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_wcn_3p3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&pmau0102_e_gpios 8 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ vreg_wcn_1p9: regulator-wcn-1p9 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_wcn_1p9";
+ regulator-min-microvolt = <1900000>;
+ regulator-max-microvolt = <1900000>;
+ gpio = <&pmau0102_e_gpios 7 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ vreg_wcn_core_vl_0p95: regulator-wcn-core-vl-0p95 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_wcn_core_vl_0p95";
+ regulator-min-microvolt = <950000>;
+ regulator-max-microvolt = <950000>;
+ gpio = <&pmau0102_e_gpios 6 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ vreg_wcn_core_vm_1p35: regulator-wcn-core-vm-1p35 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_wcn_core_vm_1p35";
+ regulator-min-microvolt = <1350000>;
+ regulator-max-microvolt = <1350000>;
+ gpio = <&pmau0102_e_gpios 6 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ vreg_wcn_core_vh_1p95: regulator-wcn-core-vh-1p95 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_wcn_core_vh_1p95";
+ regulator-min-microvolt = <1950000>;
+ regulator-max-microvolt = <1950000>;
+ gpio = <&pmau0102_e_gpios 6 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ wcn7850-pmu {
+ compatible = "qcom,wcn7850-pmu";
+
+ wlan-enable-gpios = <&pmau0102_e_gpios 10 GPIO_ACTIVE_HIGH>;
+
+ vdd-supply = <&vreg_wcn_3p3>;
+ vddio-supply = <&vreg_s3a_1p8>;
+ vddaon-supply = <&vreg_wcn_core_vl_0p95>;
+ vdddig-supply = <&vreg_wcn_1p9>;
+ vddrfa1p2-supply = <&vreg_wcn_core_vm_1p35>;
+ vddrfa1p8-supply = <&vreg_wcn_core_vh_1p95>;
+
+ regulators {
+ vreg_pmu_rfa_cmn: ldo0 {
+ regulator-name = "vreg_pmu_rfa_cmn";
+ };
+
+ vreg_pmu_aon_0p59: ldo1 {
+ regulator-name = "vreg_pmu_aon_0p59";
+ };
+
+ vreg_pmu_wlcx_0p8: ldo2 {
+ regulator-name = "vreg_pmu_wlcx_0p8";
+ };
+
+ vreg_pmu_wlmx_0p85: ldo3 {
+ regulator-name = "vreg_pmu_wlmx_0p85";
+ };
+
+ vreg_pmu_rfa_0p8: ldo5 {
+ regulator-name = "vreg_pmu_rfa_0p8";
+ };
+
+ vreg_pmu_rfa_1p2: ldo6 {
+ regulator-name = "vreg_pmu_rfa_1p2";
+ };
+
+ vreg_pmu_rfa_1p8: ldo7 {
+ regulator-name = "vreg_pmu_rfa_1p8";
+ };
+
+ vreg_pmu_pcie_0p9: ldo8 {
+ regulator-name = "vreg_pmu_pcie_0p9";
+ };
+
+ vreg_pmu_pcie_1p8: ldo9 {
+ regulator-name = "vreg_pmu_pcie_1p8";
+ };
+ };
+ };
};

&apps_rsc {
@@ -415,6 +511,21 @@ &pcie2 {
&pcie2_port0 {
reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
wake-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
+
+ wifi@0 {
+ compatible = "pci17cb,1107";
+ reg = <0x10000 0x0 0x0 0x0 0x0>;
+
+ vddaon-supply = <&vreg_pmu_aon_0p59>;
+ vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
+ vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
+ vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
+ vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
+ vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
+ vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
+ vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
+ vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
+ };
};

&pcie3 {
--
2.43.0