Message ID | 20241202-asus_qcom_display-v5-3-e0d3752ff71f@hotmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Asus vivobook s15 improvements | expand |
On Mon, Dec 02, 2024 at 07:18:13PM +0100, Maud Spierings via B4 Relay wrote: > From: Maud Spierings <maud_spierings@hotmail.com> > > Add bluetooth for the asus vivobook s15 > Describe wlan configuration I assume you copied most of these (effectively boilerplate) definitions from somewhere so perhaps you can mention that here (e.g. if it was copied from Stephan's patches [1]). > 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 | 163 +++++++++++++++++++++ > 1 file changed, 163 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 7269f8e7709988657b363004875163a69142f16c..0774bd65ae8cddab81b98e27a116fd5adbe1363c 100644 > --- a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts > +++ b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts > @@ -18,6 +18,11 @@ / { > compatible = "asus,vivobook-s15", "qcom,x1e80100"; > chassis-type = "laptop"; > > + aliases { > + serial0 = &uart21; No need to add an alias for the console port which is likely not accessible on this device (without some tinkering). > + serial1 = &uart14; > + }; > + > gpio-keys { > compatible = "gpio-keys"; > pinctrl-0 = <&hall_int_n_default>; > + wcn_bt_en: bt-en-state { Looks like you want a "wcn-" prefix on the node name here too. > + pins = "gpio116"; > + function = "gpio"; > + drive-strength = <16>; Is this the drive-strength the firmware uses? The default 2 should be enough, but you can leave it as-is if it matches the fw settings if you prefer. > + output-low; I don't think you should be setting the pin state already in the pin configuration as this should be left up to the driver to control. > + bias-pull-down; A pull-down should not be needed for this output either. > + }; > + > + wcn_sw_en: wcn-sw-en-state { > + pins = "gpio214"; > + function = "gpio"; > + drive-strength = <16>; > + bias-disable; > + }; > + > + wcn_wlan_en: wlan-en-state { > + pins = "gpio117"; > + function = "gpio"; > + drive-strength = <16>; > + bias-disable; > + }; Same question about the drive strength applies to these two. > +}; Johan [1] https://lore.kernel.org/all/20241007-x1e80100-pwrseq-qcp-v1-0-f7166510ab17@linaro.org/
On 12/3/24 9:52 AM, Johan Hovold wrote: > On Mon, Dec 02, 2024 at 07:18:13PM +0100, Maud Spierings via B4 Relay wrote: >> From: Maud Spierings <maud_spierings@hotmail.com> >> >> Add bluetooth for the asus vivobook s15 >> Describe wlan configuration > I assume you copied most of these (effectively boilerplate) definitions > from somewhere so perhaps you can mention that here (e.g. if it was > copied from Stephan's patches [1]). will do > >> 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 | 163 +++++++++++++++++++++ >> 1 file changed, 163 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 7269f8e7709988657b363004875163a69142f16c..0774bd65ae8cddab81b98e27a116fd5adbe1363c 100644 >> --- a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts >> +++ b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts >> @@ -18,6 +18,11 @@ / { >> compatible = "asus,vivobook-s15", "qcom,x1e80100"; >> chassis-type = "laptop"; >> >> + aliases { >> + serial0 = &uart21; > No need to add an alias for the console port which is likely not > accessible on this device (without some tinkering). Yeah I did find it, there are some labeled probe points on the pcb plus a weird unused connector near it, I will remove it > >> + serial1 = &uart14; >> + }; >> + >> gpio-keys { >> compatible = "gpio-keys"; >> pinctrl-0 = <&hall_int_n_default>; >> + wcn_bt_en: bt-en-state { > Looks like you want a "wcn-" prefix on the node name here too. will do > >> + pins = "gpio116"; >> + function = "gpio"; >> + drive-strength = <16>; > Is this the drive-strength the firmware uses? The default 2 should be > enough, but you can leave it as-is if it matches the fw settings if you > prefer. This one I do not know, it is not turned on by the firmware, I assumed the same value as the two later ones > >> + output-low; > I don't think you should be setting the pin state already in the pin > configuration as this should be left up to the driver to control. Will remove > >> + bias-pull-down; > A pull-down should not be needed for this output either. I pulled this from the DSDT, it was defined with a pull down there > >> + }; >> + >> + wcn_sw_en: wcn-sw-en-state { >> + pins = "gpio214"; >> + function = "gpio"; >> + drive-strength = <16>; >> + bias-disable; >> + }; >> + >> + wcn_wlan_en: wlan-en-state { >> + pins = "gpio117"; >> + function = "gpio"; >> + drive-strength = <16>; >> + bias-disable; >> + }; > Same question about the drive strength applies to these two. These two drive strengths were used by the device firmware, a lower one will probably work too but I thought it would be best to stick to those values > >> +}; > Johan > > > [1] https://lore.kernel.org/all/20241007-x1e80100-pwrseq-qcp-v1-0-f7166510ab17@linaro.org/
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 7269f8e7709988657b363004875163a69142f16c..0774bd65ae8cddab81b98e27a116fd5adbe1363c 100644 --- a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts +++ b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts @@ -18,6 +18,11 @@ / { compatible = "asus,vivobook-s15", "qcom,x1e80100"; chassis-type = "laptop"; + aliases { + serial0 = &uart21; + serial1 = &uart14; + }; + gpio-keys { compatible = "gpio-keys"; pinctrl-0 = <&hall_int_n_default>; @@ -152,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 { @@ -197,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 { @@ -475,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>; @@ -624,6 +748,45 @@ tpad_default: tpad-default-state { function = "gpio"; bias-disable; }; + + wcn_bt_en: bt-en-state { + pins = "gpio116"; + function = "gpio"; + drive-strength = <16>; + output-low; + bias-pull-down; + }; + + wcn_sw_en: wcn-sw-en-state { + pins = "gpio214"; + function = "gpio"; + drive-strength = <16>; + bias-disable; + }; + + wcn_wlan_en: 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 {