Message ID | 20241204-asus_qcom_display-v6-3-91079cd8234e@hotmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Asus vivobook s15 improvements | expand |
On 4.12.2024 1:26 PM, Maud Spierings via B4 Relay wrote: > From: Maud Spierings <maud_spierings@hotmail.com> > > Add bluetooth for the asus vivobook s15 > Describe wlan configuration > > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > Signed-off-by: Maud Spierings <maud_spierings@hotmail.com> > --- Acked-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad
On Wed, Dec 04, 2024 at 01:26:39PM +0100, Maud Spierings via B4 Relay wrote: > From: Maud Spierings <maud_spierings@hotmail.com> > > Add bluetooth for the asus vivobook s15 > Describe wlan configuration > > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > Signed-off-by: Maud Spierings <maud_spierings@hotmail.com> > --- > .../boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 161 +++++++++++++++++++++ > 1 file changed, 161 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts > index ba52c0eef4e32019f6eb7c7ae3c4cd727df23490..6564386e92e5c8c08ae2807ba512f83537358cf5 100644 > --- a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts > +++ b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts > @@ -19,6 +19,10 @@ / { > compatible = "asus,vivobook-s15", "qcom,x1e80100"; > chassis-type = "laptop"; > > + aliases { > + serial1 = &uart14; > + }; > + > gpio-keys { > compatible = "gpio-keys"; > pinctrl-0 = <&hall_int_n_default>; > @@ -153,6 +157,101 @@ vph_pwr: regulator-vph-pwr { > regulator-always-on; > 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>; > + }; The reason we haven't pushed these patches for CRD, T14s etc is that unlike for QCP these two regulators are not actually present on the mainboard, they are part of a soldered or removable M.2 card. You can find this TODO in the commit message/patch on Johan's kernel tree: https://github.com/jhovold/linux/commit/32cfeff737b0f9a2f8787d21a875e549a22e9e8b https://github.com/jhovold/linux/commit/2a7fee4007670e2f0f7696eb9e992e74d3be460f We haven't come to a conclusion yet how to model these M.2 cards properly. Perhaps we should stop blocking this and merge this for all the laptops as temporary solution to get Bluetooth running, but then we should at least preserve the TODO comment block to make that clear: /* * TODO: These two regulators are actually part of the removable M.2 * card and not the CRD mainboard. Need to describe this differently. * Functionally it works correctly, because all we need to do is to * turn on the actual 3.3V supply above. */ @Konrad: Given that you acked this patch, do you have any opinion if we should merge these with this open question? Thanks, Stephan
On 12/20/24 6:50 PM, Stephan Gerhold wrote: > On Wed, Dec 04, 2024 at 01:26:39PM +0100, Maud Spierings via B4 Relay wrote: >> From: Maud Spierings <maud_spierings@hotmail.com> >> >> Add bluetooth for the asus vivobook s15 >> Describe wlan configuration >> >> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> >> Signed-off-by: Maud Spierings <maud_spierings@hotmail.com> >> --- >> .../boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 161 +++++++++++++++++++++ >> 1 file changed, 161 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts >> index ba52c0eef4e32019f6eb7c7ae3c4cd727df23490..6564386e92e5c8c08ae2807ba512f83537358cf5 100644 >> --- a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts >> +++ b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts >> @@ -19,6 +19,10 @@ / { >> compatible = "asus,vivobook-s15", "qcom,x1e80100"; >> chassis-type = "laptop"; >> >> + aliases { >> + serial1 = &uart14; >> + }; >> + >> gpio-keys { >> compatible = "gpio-keys"; >> pinctrl-0 = <&hall_int_n_default>; >> @@ -153,6 +157,101 @@ vph_pwr: regulator-vph-pwr { >> regulator-always-on; >> 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>; >> + }; > The reason we haven't pushed these patches for CRD, T14s etc is that > unlike for QCP these two regulators are not actually present on the > mainboard, they are part of a soldered or removable M.2 card. You can > find this TODO in the commit message/patch on Johan's kernel tree: > > https://github.com/jhovold/linux/commit/32cfeff737b0f9a2f8787d21a875e549a22e9e8b > https://github.com/jhovold/linux/commit/2a7fee4007670e2f0f7696eb9e992e74d3be460f > > We haven't come to a conclusion yet how to model these M.2 cards > properly. Perhaps we should stop blocking this and merge this for all > the laptops as temporary solution to get Bluetooth running, but then we > should at least preserve the TODO comment block to make that clear: > > /* > * TODO: These two regulators are actually part of the removable M.2 > * card and not the CRD mainboard. Need to describe this differently. > * Functionally it works correctly, because all we need to do is to > * turn on the actual 3.3V supply above. > */ > > @Konrad: Given that you acked this patch, do you have any opinion if we > should merge these with this open question? > > Thanks, > Stephan It is soldered down in the case of the asus vivobook s15 see: https://laptopmedia.com/wp-content/uploads/2024/06/IMG_20240618_161453_1-scaled.jpg I don't know if this regulator is underneath this metal shield or if it is actually separate on the board in this case. But given that it is not a replaceable m.2 module isn't it kind of part of the mainboard anyway? Anyways if it does come to having to add the TODO comment I'll fix it up in a v7 kind regards, Maud Spierings
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts index ba52c0eef4e32019f6eb7c7ae3c4cd727df23490..6564386e92e5c8c08ae2807ba512f83537358cf5 100644 --- a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts +++ b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts @@ -19,6 +19,10 @@ / { compatible = "asus,vivobook-s15", "qcom,x1e80100"; chassis-type = "laptop"; + aliases { + serial1 = &uart14; + }; + gpio-keys { compatible = "gpio-keys"; pinctrl-0 = <&hall_int_n_default>; @@ -153,6 +157,101 @@ vph_pwr: regulator-vph-pwr { regulator-always-on; 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; + }; + + 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_en>, <&wcn_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 { @@ -198,6 +297,13 @@ vreg_l14b_3p0: ldo14 { regulator-max-microvolt = <3072000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; }; + + vreg_l15b_1p8: ldo15 { + regulator-name = "vreg_l15b_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; }; regulators-1 { @@ -476,6 +582,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>; + }; +}; + &pcie6a { perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>; wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>; @@ -625,6 +748,44 @@ tpad_default: tpad-default-state { function = "gpio"; bias-disable; }; + + wcn_bt_en: wcn-bt-en-state { + pins = "gpio116"; + function = "gpio"; + drive-strength = <16>; + bias-pull-down; + }; + + wcn_sw_en: wcn-sw-en-state { + pins = "gpio214"; + function = "gpio"; + drive-strength = <16>; + bias-disable; + }; + + wcn_wlan_en: wcn-wlan-en-state { + pins = "gpio117"; + function = "gpio"; + drive-strength = <16>; + bias-disable; + }; +}; + +&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>; + }; }; &usb_1_ss0_hsphy {