Message ID | 20250227065439.1407230-3-quic_stonez@quicinc.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | Enable WLAN for qcs8300-ride | expand |
On Thu, Feb 27, 2025 at 02:54:39PM +0800, 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 | 100 ++++++++++++++++++++++ > 1 file changed, 100 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts > index 3e246fbc5759..e9304420c93e 100644 > --- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts > +++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts > @@ -22,6 +22,80 @@ aliases { > chosen { > stdout-path = "serial0:115200n8"; > }; > + > + vreg_conn_1p8: vreg-conn-1p8 { > + compatible = "regulator-fixed"; > + regulator-name = "vreg_conn_1p8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + 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"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + 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>; This is very incomplete. Compare it to sa8775p-ride.dtsi. > + > + wlan-enable-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; Missing bt-enable-gpios and corresponding bluetooth node. > + > + 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 { > @@ -337,6 +411,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"; > }; > @@ -446,6 +539,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 2/27/2025 11:15 PM, Dmitry Baryshkov wrote: > On Thu, Feb 27, 2025 at 02:54:39PM +0800, 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 | 100 ++++++++++++++++++++++ >> 1 file changed, 100 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts >> index 3e246fbc5759..e9304420c93e 100644 >> --- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts >> +++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts >> @@ -22,6 +22,80 @@ aliases { >> chosen { >> stdout-path = "serial0:115200n8"; >> }; >> + >> + vreg_conn_1p8: vreg-conn-1p8 { >> + compatible = "regulator-fixed"; >> + regulator-name = "vreg_conn_1p8"; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + 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"; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + 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>; > > This is very incomplete. Compare it to sa8775p-ride.dtsi. It will be completed according to the supply voltage defined in the power sequence driver. > >> + >> + wlan-enable-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; > > Missing bt-enable-gpios and corresponding bluetooth node. The BT-related changes will be placed in another change submission. > >> + >> + 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 { >> @@ -337,6 +411,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"; >> }; >> @@ -446,6 +539,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 Tue, Mar 04, 2025 at 10:30:15AM +0800, Stone Zhang wrote: > > > On 2/27/2025 11:15 PM, Dmitry Baryshkov wrote: > > On Thu, Feb 27, 2025 at 02:54:39PM +0800, 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 | 100 ++++++++++++++++++++++ > > > 1 file changed, 100 insertions(+) > > > > > > diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts > > > index 3e246fbc5759..e9304420c93e 100644 > > > --- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts > > > +++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts > > > @@ -22,6 +22,80 @@ aliases { > > > chosen { > > > stdout-path = "serial0:115200n8"; > > > }; > > > + > > > + vreg_conn_1p8: vreg-conn-1p8 { > > > + compatible = "regulator-fixed"; > > > + regulator-name = "vreg_conn_1p8"; > > > + regulator-min-microvolt = <1800000>; > > > + regulator-max-microvolt = <1800000>; > > > + 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"; > > > + regulator-min-microvolt = <1800000>; > > > + regulator-max-microvolt = <1800000>; > > > + 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>; > > > > This is very incomplete. Compare it to sa8775p-ride.dtsi. > It will be completed according to the supply voltage defined in the power > sequence driver. The Devicetree binding, not the Linux device driver, is what defines what should go into the Devicetree source. That way the binding forms a contract between the dtb file and any operating system reading that dtb file. If you ran the required "make qcom/qcs8300-ride.dtb CHECK_DTBS=1 W=1" (short for "make dtbs_check W=1") you would have noticed that your patch introduces the following errors: +arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: wifi@0: 'vddrfa1p8-supply' is a required property +arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: pinctrl@f100000: wlan-en-state: 'oneOf' conditional failed, one must be fixed: +arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: wcn6855-pmu: 'vddio-supply' is a required property +arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: wcn6855-pmu: 'vddpmumx-supply' is a required property +arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: wcn6855-pmu: 'vddpmucx-supply' is a required property +arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: wcn6855-pmu: 'vddrfa0p95-supply' is a required property +arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: wcn6855-pmu: 'vddrfa1p3-supply' is a required property +arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: wcn6855-pmu: 'vddrfa1p9-supply' is a required property +arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: wcn6855-pmu: 'vddpcie1p3-supply' is a required property +arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: wcn6855-pmu: 'vddpcie1p9-supply' is a required property There should be 0 new errors for me to merge the patch. Regards, Bjorn
diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts index 3e246fbc5759..e9304420c93e 100644 --- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts +++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts @@ -22,6 +22,80 @@ aliases { chosen { stdout-path = "serial0:115200n8"; }; + + vreg_conn_1p8: vreg-conn-1p8 { + compatible = "regulator-fixed"; + regulator-name = "vreg_conn_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + 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"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + 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 { @@ -337,6 +411,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"; }; @@ -446,6 +539,13 @@ perst-pins { bias-pull-down; }; }; + + wlan_en_state: wlan-en-state { + pins = "gpio54"; + function = "normal"; + output-low; + bias-pull-up; + }; }; &uart7 {
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 | 100 ++++++++++++++++++++++ 1 file changed, 100 insertions(+)