From 3645214832c91fdce0fe7ed2759f84d8e97b5120 Mon Sep 17 00:00:00 2001 From: "Yu Zhang(Yuriy)" Date: Mon, 10 Aug 2026 09:10:38 -0700 Subject: [PATCH] arm64: dts: qcom: nord: add WCN7850 WLAN support Add the WCN7850 WLAN power and PCIe endpoint description for Nord platforms. Signed-off-by: Yu Zhang(Yuriy) --- arch/arm64/boot/dts/qcom/nord-embedded.dtsi | 133 ++++++++++++++++++++ 1 file changed, 133 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi index 010080e8d04fb..a92bc7c24f5db 100644 --- a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi +++ b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi @@ -20,6 +20,7 @@ #include #include "nord.dtsi" +#include "kai_mv-nord.dtsi" / { clk_virt: interconnect-clk-virt { @@ -33,6 +34,121 @@ #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; + + vreg_wcn_3p3: regulator-wcn-3p3 { + compatible = "regulator-fixed"; + regulator-name = "vreg_wcn_3p3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + 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>; + regulator-always-on; + }; + + 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>; + regulator-always-on; + }; + + 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>; + regulator-always-on; + }; + + wcn7850-pmu { + compatible = "qcom,wcn7850-pmu"; + pinctrl-0 = <&wcn_wlan_en_state>; + pinctrl-names = "default"; + + wlan-enable-gpios = <&kai_mv_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_core_vl_0p95>; + 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"; + }; + }; + }; +}; + +&kai_mv_e_gpios { + wcn-pwr-core-hog { + gpio-hog; + gpios = <5 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "wcn-pwr-core"; + }; + + wcn-pwr-ctrl1-hog { + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "wcn-pwr-ctrl"; + }; + + wcn-pwr-ctrl2-hog { + gpio-hog; + gpios = <7 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "wcn-pwr-ctrl"; + }; + + wcn_wlan_en_state: wcn-wlan-en-state { + pins = "gpio10"; + function = "normal"; + output-low; + bias-pull-down; + }; }; &crypto { @@ -1215,6 +1331,23 @@ }; }; +&pcie2_port0 { + 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>; + }; +}; + &tlmm { qup_i2c0_default: qup-i2c0-default-state { pins = "gpio111", "gpio112";