Enable WLAN on qcs8300-ride by adding a node for the PMU module
of the WCN6855 and assigning its LDO power outputs to the existing
WiFi module.
Signed-off-by: Stone Zhang <quic_stonez@quicinc.com>
---
arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 96 +++++++++++++++++++++++
1 file changed, 96 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
index c4c0db6f8b31..84c9e74ea4c9 100644
--- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
+++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
@@ -22,6 +22,76 @@ aliases {
chosen {
stdout-path = "serial0:115200n8";
};
+
+ vreg_conn_1p8: vreg_conn_1p8 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_conn_1p8";
+ startup-delay-us = <4000>;
+ enable-active-high;
+ gpio = <&pmm8650au_1_gpios 4 GPIO_ACTIVE_HIGH>;
+ };
+
+ vreg_conn_pa: vreg_conn_pa {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_conn_pa";
+ startup-delay-us = <4000>;
+ enable-active-high;
+ gpio = <&pmm8650au_1_gpios 6 GPIO_ACTIVE_HIGH>;
+ };
+
+ wcn6855-pmu {
+ compatible = "qcom,wcn6855-pmu";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&wlan_en_state>;
+
+ vddaon-supply = <&vreg_conn_pa>;
+ vddpmu-supply = <&vreg_conn_1p8>;
+
+ wlan-enable-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
+
+ 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_btcmx_0p85: ldo4 {
+ regulator-name = "vreg_pmu_btcmx_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_1p7: ldo7 {
+ regulator-name = "vreg_pmu_rfa_1p7";
+ };
+
+ vreg_pmu_pcie_0p9: ldo8 {
+ regulator-name = "vreg_pmu_pcie_0p9";
+ };
+
+ vreg_pmu_pcie_1p8: ldo9 {
+ regulator-name = "vreg_pmu_pcie_1p8";
+ };
+ };
+ };
};
&apps_rsc {
@@ -320,6 +390,25 @@ &pcie1_phy {
status = "okay";
};
+&pcieport0 {
+ wifi@0 {
+ compatible = "pci17cb,1103";
+ reg = <0x10000 0x0 0x0 0x0 0x0>;
+
+ qcom,ath11k-calibration-variant = "QC_QCS8300_Ride";
+
+ vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
+ vddaon-supply = <&vreg_pmu_aon_0p59>;
+ vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
+ vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
+ vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
+ vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
+ vddrfa1p7-supply = <&vreg_pmu_rfa_1p7>;
+ vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
+ vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
+ };
+};
+
&qupv3_id_0 {
status = "okay";
};
@@ -406,6 +495,13 @@ perst-pins {
bias-pull-down;
};
};
+
+ wlan_en_state: wlan-en-state {
+ pins = "gpio54";
+ function = "normal";
+ output-low;
+ bias-pull-up;
+ };
};
&uart7 {
--
2.45.2
On 10.02.2025 7:29 AM, Stone Zhang wrote:
> Enable WLAN on qcs8300-ride by adding a node for the PMU module
> of the WCN6855 and assigning its LDO power outputs to the existing
> WiFi module.
>
> Signed-off-by: Stone Zhang <quic_stonez@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 96 +++++++++++++++++++++++
> 1 file changed, 96 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> index c4c0db6f8b31..84c9e74ea4c9 100644
> --- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> @@ -22,6 +22,76 @@ aliases {
> chosen {
> stdout-path = "serial0:115200n8";
> };
> +
> + vreg_conn_1p8: vreg_conn_1p8 {
DTS coding style forbids underscores in node names, use hyphens instead.
Please see similar changes for e.g. sm8650 boards.
> + compatible = "regulator-fixed";
> + regulator-name = "vreg_conn_1p8";
> + startup-delay-us = <4000>;
> + enable-active-high;
> + gpio = <&pmm8650au_1_gpios 4 GPIO_ACTIVE_HIGH>;
It would be good to provide the voltage numbers here via
regulator-min/max-microvolt
> + };
> +
> + vreg_conn_pa: vreg_conn_pa {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg_conn_pa";
> + startup-delay-us = <4000>;
> + enable-active-high;
> + gpio = <&pmm8650au_1_gpios 6 GPIO_ACTIVE_HIGH>;
> + };
> +
> + wcn6855-pmu {
> + compatible = "qcom,wcn6855-pmu";
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&wlan_en_state>;
property-n
property-names
please
> + wlan_en_state: wlan-en-state {
> + pins = "gpio54";
> + function = "normal";
> + output-low;
> + bias-pull-up;
> + };
> };
>
> &uart7 {
On 10/02/2025 07:29, Stone Zhang wrote:
> Enable WLAN on qcs8300-ride by adding a node for the PMU module
> of the WCN6855 and assigning its LDO power outputs to the existing
> WiFi module.
>
> Signed-off-by: Stone Zhang <quic_stonez@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 96 +++++++++++++++++++++++
> 1 file changed, 96 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> index c4c0db6f8b31..84c9e74ea4c9 100644
> --- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
> @@ -22,6 +22,76 @@ aliases {
> chosen {
> stdout-path = "serial0:115200n8";
> };
> +
> + vreg_conn_1p8: vreg_conn_1p8 {
Follow DTS coding style and recommended naming for regulator.
You just shipped to us your downstream code. NAK.
Best regards,
Krzysztof
© 2016 - 2026 Red Hat, Inc.