Re: [PATCH v2] arm64: dts: qcom: sc7280: Add bluetooth node on SC7280
From: Stephen Boyd <hidden>
Date: 2021-10-13 20:14:26
Also in:
linux-arm-msm, lkml
Quoting bgodavar@codeaurora.org (2021-10-12 22:30:50)
On 2021-10-12 22:54, Stephen Boyd wrote:quoted
Quoting Balakrishna Godavarthi (2021-10-12 06:01:38)quoted
diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsib/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi index 272d5ca..09adc802 100644--- a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi + compatible = "qcom,wcn6750-bt"; + pinctrl-names = "default"; + pinctrl-0 = <&bt_en_default>; + enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>; + swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;Is there any pinctrl config for gpio 86?[Bala]: This is input GPIO to apps, BT SOC will handle configurations.
Ok. So there should be some pinctrl stating that the function is "gpio" and the biasing is probably bias-disable. The BT SOC will handle setting any pull, either up or down?
quoted
quoted
+ vddaon-supply = <&vreg_s7b_0p9>; + vddbtcxmx-supply = <&vreg_s7b_0p9>; + vddrfacmn-supply = <&vreg_s7b_0p9>; + vddrfa0p8-supply = <&vreg_s7b_0p9>; + vddrfa1p7-supply = <&vreg_s1b_1p8>; + vddrfa1p2-supply = <&vreg_s8b_1p2>; + vddrfa2p2-supply = <&vreg_s1c_2p2>; + vddasd-supply = <&vreg_l11c_2p8>; + max-speed = <3200000>; + }; }; /* PINCTRL - additions to nodes defined in sc7280.dtsi */@@ -504,6 +521,14 @@ */ bias-pull-up; }; + + bt_en_default: bt_en_default {bt_en: bt-en { Node names shouldn't have underscores and 'default' is redundant.[Bala]: will update in next patch.quoted
quoted
+ pins = "gpio85"; + function = "gpio"; + drive-strength = <2>; + output-low; + bias-pull-down;Why is there a pull down on an output gpio? Shouldn't this be bias-disable?[Bala]: BT_EN pin is OP of apps and input to BT SoC. by default we want the state of BT_EN to be low. so used pull down instead of bias-disable
The pin state will be low because of the 'output-low' property.
as AFAIK bias-disable may trigger a tristate on BT_EN pin, which may trigger BT SoC enable if it is not actually triggered.
Is the pin ever "turned around" and made an input? If not then it will be output and be driving low until the enable-gpios is set to output active. The pull down is probably wasting power when the pin is being driven either high or low.