lkml.org 
[lkml]   [2023]   [Feb]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth
    Date
    The Lenovo Thinkpad X13s has a WCN6855 Bluetooth controller on uart2,
    add this.

    Signed-off-by: Steev Klimaszewski <steev@kali.org>
    Link: https://lore.kernel.org/r/20230207052829.3996-5-steev@kali.org
    ---
    Changes since v4:
    * Address Konrad's review comments.

    Changes since v3:
    * Add vreg_s1c
    * Add regulators and not dead code
    * Fix commit message changelog

    Changes since v2:
    * Remove dead code and add TODO comment
    * Make dtbs_check happy with the pin definitions
    .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 76 +++++++++++++++++++
    1 file changed, 76 insertions(+)

    diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
    index f936b020a71d..ad20cfb3a830 100644
    --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
    +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
    @@ -24,6 +24,8 @@ / {
    aliases {
    i2c4 = &i2c4;
    i2c21 = &i2c21;
    + serial0 = &uart17;
    + serial1 = &uart2;
    };

    wcd938x: audio-codec {
    @@ -297,6 +299,15 @@ pmc8280c-rpmh-regulators {
    qcom,pmic-id = "c";
    vdd-bob-supply = <&vreg_vph_pwr>;

    + vreg_s1c: smps1 {
    + regulator-name = "vreg_s1c";
    + regulator-min-microvolt = <1880000>;
    + regulator-max-microvolt = <1900000>;
    + regulator-allowed-modes = <RPMH_REGULATOR_MODE_AUTO>,
    + <RPMH_REGULATOR_MODE_RET>;
    + regulator-allow-set-load;
    + };
    +
    vreg_l1c: ldo1 {
    regulator-name = "vreg_l1c";
    regulator-min-microvolt = <1800000>;
    @@ -712,6 +723,32 @@ &qup0 {
    status = "okay";
    };

    +&uart2 {
    + pinctrl-0 = <&uart2_state>;
    + pinctrl-names = "default";
    +
    + status = "okay";
    +
    + bluetooth {
    + compatible = "qcom,wcn6855-bt";
    +
    + vddio-supply = <&vreg_s10b>;
    + vddbtcxmx-supply = <&vreg_s12b>;
    + vddrfacmn-supply = <&vreg_s12b>;
    + vddrfa0p8-supply = <&vreg_s12b>;
    + vddrfa1p2-supply = <&vreg_s11b>;
    + vddrfa1p7-supply = <&vreg_s1c>;
    +
    + max-speed = <3200000>;
    +
    + enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
    + swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>;
    +
    + pinctrl-0 = <&bt_en>;
    + pinctrl-names = "default";
    + };
    +};
    +
    &qup1 {
    status = "okay";
    };
    @@ -720,6 +757,11 @@ &qup2 {
    status = "okay";
    };

    +&uart17 {
    + compatible = "qcom,geni-debug-uart";
    + status = "okay";
    +};
    +
    &remoteproc_adsp {
    firmware-name = "qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn";

    @@ -980,6 +1022,19 @@ hastings_reg_en: hastings-reg-en-state {
    &tlmm {
    gpio-reserved-ranges = <70 2>, <74 6>, <83 4>, <125 2>, <128 2>, <154 7>;

    + bt_en: bt-en-state {
    + hstp-sw-ctrl-pins {
    + pins = "gpio132";
    + function = "gpio";
    + };
    +
    + hstp-bt-en-pins {
    + pins = "gpio133";
    + function = "gpio";
    + drive-strength = <16>;
    + };
    + };
    +
    edp_reg_en: edp-reg-en-state {
    pins = "gpio25";
    function = "gpio";
    @@ -1001,6 +1056,27 @@ i2c4_default: i2c4-default-state {
    bias-disable;
    };

    + uart2_state: uart2-state {
    + cts-pins {
    + pins = "gpio122";
    + function = "qup2";
    + bias-disable;
    + };
    +
    + rts-tx-pins {
    + pins = "gpio122", "gpio123";
    + function = "qup2";
    + drive-strength = <2>;
    + bias-disable;
    + };
    +
    + rx-pins {
    + pins = "gpio124";
    + function = "qup2";
    + bias-pull-up;
    + };
    + };
    +
    i2c21_default: i2c21-default-state {
    pins = "gpio81", "gpio82";
    function = "qup21";
    --
    2.39.1
    \
     
     \ /
      Last update: 2023-03-27 00:15    [W:3.548 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site