Message ID | 20250324-x1e001de-devkit-dts-pwrseq-v1-1-530f69b39a16@linaro.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | arm64: dts: qcom: x1e001de-devkit: Add Wi-Fi and Bluetooth pwrseq | expand |
On Mon, Mar 24, 2025 at 04:24:01PM +0200, Abel Vesa wrote: > The Qualcomm X Elite Devkit comes with a WCN7850 combo chip which provides > Wi-fi and Bluetooth, similar to the CRD and QCP. > > Describe the nodes for the Wi-Fi, Bluetooth, the related regulators and > the PMU. > > Signed-off-by: Abel Vesa <abel.vesa@linaro.org> > --- > arch/arm64/boot/dts/qcom/x1e001de-devkit.dts | 144 +++++++++++++++++++++++++++ > 1 file changed, 144 insertions(+) > > @@ -979,6 +1075,23 @@ &pcie4_phy { > status = "okay"; > }; > > +&pcie4_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>; Do we need calibration variant here or is it coming from SMI tables / DMI data? > + }; > +}; > + > &pcie5 { > perst-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>; > wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
On Mon, Mar 24, 2025 at 04:24:01PM +0200, Abel Vesa wrote: > The Qualcomm X Elite Devkit comes with a WCN7850 combo chip which provides > Wi-fi and Bluetooth, similar to the CRD and QCP. > > Describe the nodes for the Wi-Fi, Bluetooth, the related regulators and > the PMU. > > Signed-off-by: Abel Vesa <abel.vesa@linaro.org> > --- > arch/arm64/boot/dts/qcom/x1e001de-devkit.dts | 144 +++++++++++++++++++++++++++ > 1 file changed, 144 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts b/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts > index 74911861a3bf2606add8cf4aaa3816542e837513..8f288a138c4cb6e21725fdf726eb2a2489bfbc38 100644 > --- a/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts > +++ b/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts > @@ -17,6 +17,7 @@ / { > > aliases { > serial0 = &uart21; > + serial1 = &uart14; > }; > > wcd938x: audio-codec { > @@ -392,6 +393,42 @@ vph_pwr: regulator-vph-pwr { > regulator-boot-on; > }; > > + vreg_wcn_0p95: regulator-wcn-0p95 { > + compatible = "regulator-fixed"; > + > + regulator-name = "VREG_WCN_0P95"; > + regulator-min-microvolt = <950000>; > + regulator-max-microvolt = <950000>; > + > + vin-supply = <&vreg_wcn_3p3>; > + }; > + > + vreg_wcn_1p9: regulator-wcn-1p9 { > + compatible = "regulator-fixed"; > + > + regulator-name = "VREG_WCN_1P9"; > + regulator-min-microvolt = <1900000>; > + regulator-max-microvolt = <1900000>; > + > + vin-supply = <&vreg_wcn_3p3>; > + }; Hm, on CRD and T14s there is a TODO comment above these two, which is also why I haven't posted these upstream yet: We still haven't come to a conclusion unfortunately how to model the M.2 WiFi/BT cards. QCP doesn't have M.2, which is why it is upstream already. These two regulators don't actually exist on the devkit itself, they are (probably) part of the M.2 card. The devkit only provides the 3.3V and 1.8V supply to the M.2 card. We should really find some way forward for this, but just omitting any mention of this is not the best way. :-) Thanks, Stephan
On 3/25/25 2:22 PM, Stephan Gerhold wrote: > On Mon, Mar 24, 2025 at 04:24:01PM +0200, Abel Vesa wrote: >> The Qualcomm X Elite Devkit comes with a WCN7850 combo chip which provides >> Wi-fi and Bluetooth, similar to the CRD and QCP. >> >> Describe the nodes for the Wi-Fi, Bluetooth, the related regulators and >> the PMU. >> >> Signed-off-by: Abel Vesa <abel.vesa@linaro.org> >> --- >> arch/arm64/boot/dts/qcom/x1e001de-devkit.dts | 144 +++++++++++++++++++++++++++ >> 1 file changed, 144 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts b/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts >> index 74911861a3bf2606add8cf4aaa3816542e837513..8f288a138c4cb6e21725fdf726eb2a2489bfbc38 100644 >> --- a/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts >> +++ b/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts >> @@ -17,6 +17,7 @@ / { >> >> aliases { >> serial0 = &uart21; >> + serial1 = &uart14; >> }; >> >> wcd938x: audio-codec { >> @@ -392,6 +393,42 @@ vph_pwr: regulator-vph-pwr { >> regulator-boot-on; >> }; >> >> + vreg_wcn_0p95: regulator-wcn-0p95 { >> + compatible = "regulator-fixed"; >> + >> + regulator-name = "VREG_WCN_0P95"; >> + regulator-min-microvolt = <950000>; >> + regulator-max-microvolt = <950000>; >> + >> + vin-supply = <&vreg_wcn_3p3>; >> + }; >> + >> + vreg_wcn_1p9: regulator-wcn-1p9 { >> + compatible = "regulator-fixed"; >> + >> + regulator-name = "VREG_WCN_1P9"; >> + regulator-min-microvolt = <1900000>; >> + regulator-max-microvolt = <1900000>; >> + >> + vin-supply = <&vreg_wcn_3p3>; >> + }; > > Hm, on CRD and T14s there is a TODO comment above these two, which is > also why I haven't posted these upstream yet: > > We still haven't come to a conclusion unfortunately how to model the M.2 > WiFi/BT cards. QCP doesn't have M.2, which is why it is upstream > already. These two regulators don't actually exist on the devkit itself, > they are (probably) part of the M.2 card. > > The devkit only provides the 3.3V and 1.8V supply to the M.2 card. > > We should really find some way forward for this, but just omitting any > mention of this is not the best way. :-) Now that we have a PCI port pwrseq driver, perhaps that could work.. Konrad
diff --git a/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts b/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts index 74911861a3bf2606add8cf4aaa3816542e837513..8f288a138c4cb6e21725fdf726eb2a2489bfbc38 100644 --- a/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts +++ b/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts @@ -17,6 +17,7 @@ / { aliases { serial0 = &uart21; + serial1 = &uart14; }; wcd938x: audio-codec { @@ -392,6 +393,42 @@ vph_pwr: regulator-vph-pwr { regulator-boot-on; }; + vreg_wcn_0p95: regulator-wcn-0p95 { + compatible = "regulator-fixed"; + + regulator-name = "VREG_WCN_0P95"; + regulator-min-microvolt = <950000>; + regulator-max-microvolt = <950000>; + + vin-supply = <&vreg_wcn_3p3>; + }; + + vreg_wcn_1p9: regulator-wcn-1p9 { + compatible = "regulator-fixed"; + + regulator-name = "VREG_WCN_1P9"; + regulator-min-microvolt = <1900000>; + regulator-max-microvolt = <1900000>; + + vin-supply = <&vreg_wcn_3p3>; + }; + + vreg_wcn_3p3: regulator-wcn-3p3 { + compatible = "regulator-fixed"; + + regulator-name = "VREG_WCN_3P3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-0 = <&wcn_sw_en>; + pinctrl-names = "default"; + + regulator-boot-on; + }; + vreg_wwan: regulator-wwan { compatible = "regulator-fixed"; @@ -407,6 +444,65 @@ vreg_wwan: regulator-wwan { regulator-boot-on; }; + + wcn7850-pmu { + compatible = "qcom,wcn7850-pmu"; + + vdd-supply = <&vreg_wcn_0p95>; + vddio-supply = <&vreg_l15b_1p8>; + vddaon-supply = <&vreg_wcn_0p95>; + vdddig-supply = <&vreg_wcn_0p95>; + vddrfa1p2-supply = <&vreg_wcn_1p9>; + vddrfa1p8-supply = <&vreg_wcn_1p9>; + + wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>; + bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>; + + pinctrl-0 = <&wcn_wlan_bt_en>; + pinctrl-names = "default"; + + 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 { @@ -979,6 +1075,23 @@ &pcie4_phy { status = "okay"; }; +&pcie4_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>; + }; +}; + &pcie5 { perst-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>; wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>; @@ -1262,6 +1375,20 @@ wcd_default: wcd-reset-n-active-state { output-low; }; + wcn_wlan_bt_en: wcn-wlan-bt-en-state { + pins = "gpio116", "gpio117"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + wcn_sw_en: wcn-sw-en-state { + pins = "gpio214"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + wwan_sw_en: wwan-sw-en-state { pins = "gpio221"; function = "gpio"; @@ -1270,6 +1397,23 @@ wwan_sw_en: wwan-sw-en-state { }; }; +&uart14 { + status = "okay"; + + bluetooth { + compatible = "qcom,wcn7850-bt"; + max-speed = <3200000>; + + 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>; + }; +}; + &uart21 { compatible = "qcom,geni-debug-uart"; status = "okay";
The Qualcomm X Elite Devkit comes with a WCN7850 combo chip which provides Wi-fi and Bluetooth, similar to the CRD and QCP. Describe the nodes for the Wi-Fi, Bluetooth, the related regulators and the PMU. Signed-off-by: Abel Vesa <abel.vesa@linaro.org> --- arch/arm64/boot/dts/qcom/x1e001de-devkit.dts | 144 +++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) --- base-commit: 9388ec571cb1adba59d1cded2300eeb11827679c change-id: 20250324-x1e001de-devkit-dts-pwrseq-7013f6f8177a Best regards,