Message ID | 20240702091655.278974-1-amit.pundir@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | arm64: dts: qcom: sm8550-hdk: add the Wifi node | expand |
On Tue, Jul 02, 2024 at 12:42:02PM GMT, Krzysztof Kozlowski wrote: > On 02/07/2024 11:16, Amit Pundir wrote: > > Describe the ath12k WLAN on-board the WCN7850 module present on the > > board. > > > > Signed-off-by: Amit Pundir <amit.pundir@linaro.org> > > --- > > Kanged verbatim from 490812872449 ("arm64: dts: qcom: sm8550-qrd: add the Wifi node"). > > > > arch/arm64/boot/dts/qcom/sm8550-hdk.dts | 97 +++++++++++++++++++++++++ > > 1 file changed, 97 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > > index 12d60a0ee095..c453d081a2df 100644 > > --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > > +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > > @@ -279,6 +279,68 @@ platform { > > }; > > }; > > }; > > + > > + wcn7850-pmu { > > + compatible = "qcom,wcn7850-pmu"; > > + > > + pinctrl-names = "default"; > > + pinctrl-0 = <&wlan_en>, <&pmk8550_sleep_clk>; > > + > > + wlan-enable-gpios = <&tlmm 80 GPIO_ACTIVE_HIGH>; > > + /* > > + * TODO Add bt-enable-gpios once the Bluetooth driver is > > + * converted to using the power sequencer. > > I don't understand why hardware description should depend on the driver. > Either you have this GPIO or not. If you have it, what does it matter if > there is no driver who can play with it? Then there is a conflict between BT and PMU, which both will try to access the gpio (or at least the pinctrl).
On Tue, Jul 2, 2024 at 1:10 PM Dmitry Baryshkov <dmitry.baryshkov@linaro.org> wrote: > > On Tue, Jul 02, 2024 at 12:42:02PM GMT, Krzysztof Kozlowski wrote: > > On 02/07/2024 11:16, Amit Pundir wrote: > > > Describe the ath12k WLAN on-board the WCN7850 module present on the > > > board. > > > > > > Signed-off-by: Amit Pundir <amit.pundir@linaro.org> > > > --- > > > Kanged verbatim from 490812872449 ("arm64: dts: qcom: sm8550-qrd: add the Wifi node"). > > > > > > arch/arm64/boot/dts/qcom/sm8550-hdk.dts | 97 +++++++++++++++++++++++++ > > > 1 file changed, 97 insertions(+) > > > > > > diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > > > index 12d60a0ee095..c453d081a2df 100644 > > > --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > > > +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > > > @@ -279,6 +279,68 @@ platform { > > > }; > > > }; > > > }; > > > + > > > + wcn7850-pmu { > > > + compatible = "qcom,wcn7850-pmu"; > > > + > > > + pinctrl-names = "default"; > > > + pinctrl-0 = <&wlan_en>, <&pmk8550_sleep_clk>; > > > + > > > + wlan-enable-gpios = <&tlmm 80 GPIO_ACTIVE_HIGH>; > > > + /* > > > + * TODO Add bt-enable-gpios once the Bluetooth driver is > > > + * converted to using the power sequencer. > > > > I don't understand why hardware description should depend on the driver. > > Either you have this GPIO or not. If you have it, what does it matter if > > there is no driver who can play with it? > > Then there is a conflict between BT and PMU, which both will try to > access the gpio (or at least the pinctrl). Ah, so this slipped through the cracks. Amit merely copied it from existing dts. Yes, there's a conflict but Krzysztof is right - we should handle this in the driver, not in dts. However for that we need a patch for the PMU pwrseq driver first. Let me cook something up. Bart
On Tue, Jul 02, 2024 at 01:13:09PM GMT, Bartosz Golaszewski wrote: > On Tue, Jul 2, 2024 at 1:10 PM Dmitry Baryshkov > <dmitry.baryshkov@linaro.org> wrote: > > > > On Tue, Jul 02, 2024 at 12:42:02PM GMT, Krzysztof Kozlowski wrote: > > > On 02/07/2024 11:16, Amit Pundir wrote: > > > > Describe the ath12k WLAN on-board the WCN7850 module present on the > > > > board. > > > > > > > > Signed-off-by: Amit Pundir <amit.pundir@linaro.org> > > > > --- > > > > Kanged verbatim from 490812872449 ("arm64: dts: qcom: sm8550-qrd: add the Wifi node"). > > > > > > > > arch/arm64/boot/dts/qcom/sm8550-hdk.dts | 97 +++++++++++++++++++++++++ > > > > 1 file changed, 97 insertions(+) > > > > > > > > diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > > > > index 12d60a0ee095..c453d081a2df 100644 > > > > --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > > > > +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > > > > @@ -279,6 +279,68 @@ platform { > > > > }; > > > > }; > > > > }; > > > > + > > > > + wcn7850-pmu { > > > > + compatible = "qcom,wcn7850-pmu"; > > > > + > > > > + pinctrl-names = "default"; > > > > + pinctrl-0 = <&wlan_en>, <&pmk8550_sleep_clk>; > > > > + > > > > + wlan-enable-gpios = <&tlmm 80 GPIO_ACTIVE_HIGH>; > > > > + /* > > > > + * TODO Add bt-enable-gpios once the Bluetooth driver is > > > > + * converted to using the power sequencer. > > > > > > I don't understand why hardware description should depend on the driver. > > > Either you have this GPIO or not. If you have it, what does it matter if > > > there is no driver who can play with it? > > > > Then there is a conflict between BT and PMU, which both will try to > > access the gpio (or at least the pinctrl). > > Ah, so this slipped through the cracks. Amit merely copied it from existing dts. > > Yes, there's a conflict but Krzysztof is right - we should handle this > in the driver, not in dts. > > However for that we need a patch for the PMU pwrseq driver first. Let > me cook something up. Or for the BT driver, which might be more futureproof.
On Tue, 16 Jul 2024 at 15:10, Neil Armstrong <neil.armstrong@linaro.org> wrote: > > Hi, > > On 02/07/2024 11:16, Amit Pundir wrote: > > Describe the ath12k WLAN on-board the WCN7850 module present on the > > board. > > > > Signed-off-by: Amit Pundir <amit.pundir@linaro.org> > > --- > > Kanged verbatim from 490812872449 ("arm64: dts: qcom: sm8550-qrd: add the Wifi node"). > > > > arch/arm64/boot/dts/qcom/sm8550-hdk.dts | 97 +++++++++++++++++++++++++ > > 1 file changed, 97 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > > index 12d60a0ee095..c453d081a2df 100644 > > --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > > +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > > @@ -279,6 +279,68 @@ platform { > > }; > > }; > > }; > > + > > + wcn7850-pmu { > > + compatible = "qcom,wcn7850-pmu"; > > + > > + pinctrl-names = "default"; > > + pinctrl-0 = <&wlan_en>, <&pmk8550_sleep_clk>; > > + > > + wlan-enable-gpios = <&tlmm 80 GPIO_ACTIVE_HIGH>; > > + /* > > + * TODO Add bt-enable-gpios once the Bluetooth driver is > > + * converted to using the power sequencer. > > + */ > > <snip> > > Now [1] driver & bindings changes were merged, could you resend with the following squashed: Done. Thank you very much Neil. > > [1] https://lore.kernel.org/all/20240709-hci_qca_refactor-v3-0-5f48ca001fed@linaro.org/ > > ====><===================================== > diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > index 0fa0b79de741..01c921602605 100644 > --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts > @@ -284,13 +284,10 @@ wcn7850-pmu { > compatible = "qcom,wcn7850-pmu"; > > pinctrl-names = "default"; > - pinctrl-0 = <&wlan_en>, <&pmk8550_sleep_clk>; > + pinctrl-0 = <&wlan_en>, <&bt_default>, <&pmk8550_sleep_clk>; > > wlan-enable-gpios = <&tlmm 80 GPIO_ACTIVE_HIGH>; > - /* > - * TODO Add bt-enable-gpios once the Bluetooth driver is > - * converted to using the power sequencer. > - */ > + bt-enable-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>; > > vdd-supply = <&vreg_s5g_0p85>; > vddio-supply = <&vreg_l15b_1p8>; > @@ -1312,20 +1309,15 @@ &uart14 { > bluetooth { > compatible = "qcom,wcn7850-bt"; > > - vddio-supply = <&vreg_l15b_1p8>; > - vddaon-supply = <&vreg_s4e_0p95>; > - vdddig-supply = <&vreg_s4e_0p95>; > - vddrfa0p8-supply = <&vreg_s4e_0p95>; > - vddrfa1p2-supply = <&vreg_s4g_1p25>; > - vddrfa1p9-supply = <&vreg_s6g_1p86>; > + 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>; > + vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; > > max-speed = <3200000>; > - > - enable-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>; > - swctrl-gpios = <&tlmm 82 GPIO_ACTIVE_HIGH>; > - > - pinctrl-0 = <&bt_default>; > - pinctrl-names = "default"; > }; > }; > ====><===================================== > > Thanks, > Neil
diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts index 12d60a0ee095..c453d081a2df 100644 --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts @@ -279,6 +279,68 @@ platform { }; }; }; + + wcn7850-pmu { + compatible = "qcom,wcn7850-pmu"; + + pinctrl-names = "default"; + pinctrl-0 = <&wlan_en>, <&pmk8550_sleep_clk>; + + wlan-enable-gpios = <&tlmm 80 GPIO_ACTIVE_HIGH>; + /* + * TODO Add bt-enable-gpios once the Bluetooth driver is + * converted to using the power sequencer. + */ + + vdd-supply = <&vreg_s5g_0p85>; + vddio-supply = <&vreg_l15b_1p8>; + vddaon-supply = <&vreg_s2g_0p85>; + vdddig-supply = <&vreg_s4e_0p95>; + vddrfa1p2-supply = <&vreg_s4g_1p25>; + vddrfa1p8-supply = <&vreg_s6g_1p86>; + + 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_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 { @@ -954,6 +1016,23 @@ &pcie0 { status = "okay"; }; +&pcieport0 { + wifi@0 { + compatible = "pci17cb,1107"; + reg = <0x10000 0x0 0x0 0x0 0x0>; + + 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>; + vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; + vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>; + vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>; + }; +}; + &pcie0_phy { vdda-phy-supply = <&vreg_l1e_0p88>; vdda-pll-supply = <&vreg_l3e_1p2>; @@ -1046,6 +1125,17 @@ &pon_resin { status = "okay"; }; +&pmk8550_gpios { + pmk8550_sleep_clk: sleep-clk-state { + pins = "gpio3"; + function = "func1"; + input-disable; + output-enable; + bias-disable; + power-source = <0>; + }; +}; + &qupv3_id_0 { status = "okay"; }; @@ -1206,6 +1296,13 @@ wcd_default: wcd-reset-n-active-state { bias-disable; output-low; }; + + wlan_en: wlan-en-state { + pins = "gpio80"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; }; &uart7 {
Describe the ath12k WLAN on-board the WCN7850 module present on the board. Signed-off-by: Amit Pundir <amit.pundir@linaro.org> --- Kanged verbatim from 490812872449 ("arm64: dts: qcom: sm8550-qrd: add the Wifi node"). arch/arm64/boot/dts/qcom/sm8550-hdk.dts | 97 +++++++++++++++++++++++++ 1 file changed, 97 insertions(+)