Re: [PATCH 4/6] arm64: dts: qcom: kaanapali-mtp: Enable bluetooth and Wifi

Dmitry Baryshkov
2026-04-01T14:07:20Z

On Wed, Apr 01, 2026 at 09:34:16PM +0800, Zijun Hu wrote:
> On 4/1/2026 7:08 PM, Dmitry Baryshkov wrote:
> >>>>> - Is the pin wired in the hardware?
> >>>> pin SW_CTRL is wired in hardware.
> >>> Granted your three answers, it can and should be described in the DT.
> >>>
> >>>> i have below confusions about 'swctrl-gpios' of 'qcom,wcn7850-pmu'
> >>>> which WCN7850 pin is 'swctrl-gpios' mean for ?
> >>>> Why to introduce 'swctrl-gpios' ?
> >>>> what problem does it solve ?
> >>>> how to solve the problem ?
> >>> Please descibe the hardware in the DT. Problem solving belongs to the
> >>> driver.
> >> sorry for not agreeing with your points here.
> >>
> >> it is better to correct or remove 'swctrl-gpios' within DT binding spec at least
> >> for 'qcom,wcn7850-pmu' with below reasons:
> >>
> >> 1) provided that 'swctrl-gpios' is for pin SW_CTRL of datasheet, binding spec's
> >> both description and its expected usage are wrong.
> > Please correct it.
> >
> >> 2) its driver does not parse and use the property 'swctrl-gpios', moreover, the
> >> property have no user within upstream DT tree.
> > There is no "driver" in the "DT bindings"
> >
>
> 'its driver' i mean here is the driver which drives the device which is generated
> by this DT node 'qcom,wcn7850-pmu'.
> source code of the driver is drivers/power/sequencing/pwrseq-qcom-wcn.c

DT describes the hardware. The driver behaviour is not that relevant
here.

>
> >> 3) the property is not mandatory based on binding spec.
> > Which is expected, because on some platforms it might be not wired up
> > and on the other platforms the pin to which it is wired to might be
> > unknown (think about all the phones for which the community doesn't have
> > schematics).
> >
>
> got your points and will explain mine at below 2) together.
>
> >> 4) upstream DT tree have had many such usages as mine which just set default pin
> >> configuration and not specify 'swctrl-gpios' explicitly.
> > I don't understand this part.
> >
>
> For DT node 'qcom,wcn7850-pmu' of products identified by the following dts file at least:
>
> wcn7850-pmu {
> compatible = "qcom,wcn7850-pmu";
>
> pinctrl-names = "default"; // config SW_CTRL pin default settings, but
> pinctrl-0 = ....; // this DT node does not specify property 'swctrl-gpios'.
> ....
> }
>
>
> grep -l -r "qcom,wcn7850-pmu" arch/arm64/boot/dts/qcom/ | xargs grep -l -r "sw[_-]ctrl"
> arch/arm64/boot/dts/qcom/sm8550-hdk.dts
> arch/arm64/boot/dts/qcom/sm8650-qrd.dts
> arch/arm64/boot/dts/qcom/sm8750-mtp.dts
> arch/arm64/boot/dts/qcom/sm8650-ayaneo-pocket-s2.dts
> arch/arm64/boot/dts/qcom/sm8550-qrd.dts
> arch/arm64/boot/dts/qcom/sm8650-hdk.dts

So, let's fix them too.

> >> 5) kaanapali-mtp is originally preinstalled with android OS which supports some
> >> qualcomm specific feature which have not been supported by up-stream kernel.
> >> so kaanapali-mtp H/W has some wired pins which is not used by up-stream
> >> kernel sometimes
> > Again, what does that have to do with the hardware description?
>
> kaanapali-mtp hardware supports the feature pin SW_CTRL involved, but we can decide
> not to enable the feature based on requirements.
>
> any advise about how to correct DTS to not enable the feature SW_CTRL involved ?

You can enable or disable something in the driver. It doesn't change the
way the chip is wired (that's what DT describes).

--
With best wishes
Dmitry