Quoting bgodavar@xxxxxxxxxxxxxx (2021-10-12 22:30:50) > On 2021-10-12 22:54, Stephen Boyd wrote: > > Quoting Balakrishna Godavarthi (2021-10-12 06:01:38) > >> diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi > >> b/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? > > >> + 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. > > >> + 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.