mbox series

[v9,0/4] arm64: dts: qcom: add WiFi modules for several platforms

Message ID 20240605122729.24283-1-brgl@bgdev.pl (mailing list archive)
Headers show
Series arm64: dts: qcom: add WiFi modules for several platforms | expand

Message

Bartosz Golaszewski June 5, 2024, 12:27 p.m. UTC
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Hi!

Here are the DTS changes for several Qualcomm boards from the
power-sequencing series. To keep the cover-letter short, I won't repeat
all the details, they can be found in the cover-letter for v8. Please
consider picking them up into the Qualcomm tree. They have all been
thorougly tested with the pwrseq series.

Changelog:

Since v8:
- split the DTS patches out into their own series
- Link to v8: https://lore.kernel.org/r/20240528-pwrseq-v8-0-d354d52b763c@linaro.org

Since v7:
- added DTS changes for sm8650-hdk
- added circular dependency detection for pwrseq units
- fixed a KASAN reported use-after-free error in remove path
- improve Kconfig descriptions
- fix typos in bindings and Kconfig
- fixed issues reported by smatch
- fix the unbind path in PCI pwrctl
- lots of minor improvements to the pwrseq core

Since v6:
- kernel doc fixes
- drop myself from the DT bindings maintainers list for ath12k
- wait until the PCI bridge device is fully added before creating the
  PCI pwrctl platform devices for its sub-nodes, otherwise we may see
  sysfs and procfs attribute failures (due to duplication, we're
  basically trying to probe the same device twice at the same time)
- I kept the regulators for QCA6390's ath11k as required as they only
  apply to this specific Qualcomm package

Since v5:
- unify the approach to modelling the WCN WLAN/BT chips by always exposing
  the PMU node on the device tree and making the WLAN and BT nodes become
  consumers of its power outputs; this includes a major rework of the DT
  sources, bindings and driver code; there's no more a separate PCI
  pwrctl driver for WCN7850, instead its power-up sequence was moved
  into the pwrseq driver common for all WCN chips
- don't set load_uA from new regulator consumers
- fix reported kerneldoc issues
- drop voltage ranges for PMU outputs from DT
- many minor tweaks and reworks

v1: Original RFC:

https://lore.kernel.org/lkml/20240104130123.37115-1-brgl@bgdev.pl/T/

v2: First real patch series (should have been PATCH v2) adding what I
    referred to back then as PCI power sequencing:

https://lore.kernel.org/linux-arm-kernel/2024021413-grumbling-unlivable-c145@gregkh/T/

v3: RFC for the DT representation of the PMU supplying the WLAN and BT
    modules inside the QCA6391 package (was largely separate from the
    series but probably should have been called PATCH or RFC v3):

https://lore.kernel.org/all/CAMRc=Mc+GNoi57eTQg71DXkQKjdaoAmCpB=h2ndEpGnmdhVV-Q@mail.gmail.com/T/

v4: Second attempt at the full series with changed scope (introduction of
    the pwrseq subsystem, should have been RFC v4)

https://lore.kernel.org/lkml/20240201155532.49707-1-brgl@bgdev.pl/T/

v5: Two different ways of handling QCA6390 and WCN7850:

https://lore.kernel.org/lkml/20240216203215.40870-1-brgl@bgdev.pl/

Bartosz Golaszewski (3):
  arm64: dts: qcom: sm8550-qrd: add the Wifi node
  arm64: dts: qcom: sm8650-qrd: add the Wifi node
  arm64: dts: qcom: qrb5165-rb5: add the Wifi node

Neil Armstrong (1):
  arm64: dts: qcom: sm8650-hdk: add the Wifi node

 arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 103 ++++++++++++++++++++---
 arch/arm64/boot/dts/qcom/sm8250.dtsi     |   2 +-
 arch/arm64/boot/dts/qcom/sm8550-qrd.dts  |  97 +++++++++++++++++++++
 arch/arm64/boot/dts/qcom/sm8550.dtsi     |   2 +-
 arch/arm64/boot/dts/qcom/sm8650-hdk.dts  |  89 ++++++++++++++++++++
 arch/arm64/boot/dts/qcom/sm8650-qrd.dts  |  89 ++++++++++++++++++++
 arch/arm64/boot/dts/qcom/sm8650.dtsi     |   2 +-
 7 files changed, 370 insertions(+), 14 deletions(-)

Comments

Rob Herring (Arm) June 5, 2024, 1:11 p.m. UTC | #1
On Wed, 05 Jun 2024 14:27:25 +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> 
> Hi!
> 
> Here are the DTS changes for several Qualcomm boards from the
> power-sequencing series. To keep the cover-letter short, I won't repeat
> all the details, they can be found in the cover-letter for v8. Please
> consider picking them up into the Qualcomm tree. They have all been
> thorougly tested with the pwrseq series.
> 
> Changelog:
> 
> Since v8:
> - split the DTS patches out into their own series
> - Link to v8: https://lore.kernel.org/r/20240528-pwrseq-v8-0-d354d52b763c@linaro.org
> 
> Since v7:
> - added DTS changes for sm8650-hdk
> - added circular dependency detection for pwrseq units
> - fixed a KASAN reported use-after-free error in remove path
> - improve Kconfig descriptions
> - fix typos in bindings and Kconfig
> - fixed issues reported by smatch
> - fix the unbind path in PCI pwrctl
> - lots of minor improvements to the pwrseq core
> 
> Since v6:
> - kernel doc fixes
> - drop myself from the DT bindings maintainers list for ath12k
> - wait until the PCI bridge device is fully added before creating the
>   PCI pwrctl platform devices for its sub-nodes, otherwise we may see
>   sysfs and procfs attribute failures (due to duplication, we're
>   basically trying to probe the same device twice at the same time)
> - I kept the regulators for QCA6390's ath11k as required as they only
>   apply to this specific Qualcomm package
> 
> Since v5:
> - unify the approach to modelling the WCN WLAN/BT chips by always exposing
>   the PMU node on the device tree and making the WLAN and BT nodes become
>   consumers of its power outputs; this includes a major rework of the DT
>   sources, bindings and driver code; there's no more a separate PCI
>   pwrctl driver for WCN7850, instead its power-up sequence was moved
>   into the pwrseq driver common for all WCN chips
> - don't set load_uA from new regulator consumers
> - fix reported kerneldoc issues
> - drop voltage ranges for PMU outputs from DT
> - many minor tweaks and reworks
> 
> v1: Original RFC:
> 
> https://lore.kernel.org/lkml/20240104130123.37115-1-brgl@bgdev.pl/T/
> 
> v2: First real patch series (should have been PATCH v2) adding what I
>     referred to back then as PCI power sequencing:
> 
> https://lore.kernel.org/linux-arm-kernel/2024021413-grumbling-unlivable-c145@gregkh/T/
> 
> v3: RFC for the DT representation of the PMU supplying the WLAN and BT
>     modules inside the QCA6391 package (was largely separate from the
>     series but probably should have been called PATCH or RFC v3):
> 
> https://lore.kernel.org/all/CAMRc=Mc+GNoi57eTQg71DXkQKjdaoAmCpB=h2ndEpGnmdhVV-Q@mail.gmail.com/T/
> 
> v4: Second attempt at the full series with changed scope (introduction of
>     the pwrseq subsystem, should have been RFC v4)
> 
> https://lore.kernel.org/lkml/20240201155532.49707-1-brgl@bgdev.pl/T/
> 
> v5: Two different ways of handling QCA6390 and WCN7850:
> 
> https://lore.kernel.org/lkml/20240216203215.40870-1-brgl@bgdev.pl/
> 
> Bartosz Golaszewski (3):
>   arm64: dts: qcom: sm8550-qrd: add the Wifi node
>   arm64: dts: qcom: sm8650-qrd: add the Wifi node
>   arm64: dts: qcom: qrb5165-rb5: add the Wifi node
> 
> Neil Armstrong (1):
>   arm64: dts: qcom: sm8650-hdk: add the Wifi node
> 
>  arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 103 ++++++++++++++++++++---
>  arch/arm64/boot/dts/qcom/sm8250.dtsi     |   2 +-
>  arch/arm64/boot/dts/qcom/sm8550-qrd.dts  |  97 +++++++++++++++++++++
>  arch/arm64/boot/dts/qcom/sm8550.dtsi     |   2 +-
>  arch/arm64/boot/dts/qcom/sm8650-hdk.dts  |  89 ++++++++++++++++++++
>  arch/arm64/boot/dts/qcom/sm8650-qrd.dts  |  89 ++++++++++++++++++++
>  arch/arm64/boot/dts/qcom/sm8650.dtsi     |   2 +-
>  7 files changed, 370 insertions(+), 14 deletions(-)
> 
> --
> 2.40.1
> 
> 
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


New warnings running 'make CHECK_DTBS=y qcom/qrb5165-rb5.dtb qcom/sm8550-qrd.dtb qcom/sm8650-hdk.dtb qcom/sm8650-qrd.dtb' for 20240605122729.24283-1-brgl@bgdev.pl:

arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb: bluetooth: 'vddbtcmx-supply' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/net/bluetooth/qualcomm-bluetooth.yaml#
arch/arm64/boot/dts/qcom/sm8650-qrd.dtb: /wcn7850-pmu: failed to match any schema with compatible: ['qcom,wcn7850-pmu']
arch/arm64/boot/dts/qcom/sm8650-hdk.dtb: /wcn7850-pmu: failed to match any schema with compatible: ['qcom,wcn7850-pmu']
arch/arm64/boot/dts/qcom/sm8550-qrd.dtb: /wcn7850-pmu: failed to match any schema with compatible: ['qcom,wcn7850-pmu']
arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb: /qca6390-pmu: failed to match any schema with compatible: ['qcom,qca6390-pmu']
Bartosz Golaszewski June 5, 2024, 2:08 p.m. UTC | #2
On Wed, Jun 5, 2024 at 3:12 PM Rob Herring (Arm) <robh@kernel.org> wrote:
>
>
> On Wed, 05 Jun 2024 14:27:25 +0200, Bartosz Golaszewski wrote:
> > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> >
> > Hi!
> >
> > Here are the DTS changes for several Qualcomm boards from the
> > power-sequencing series. To keep the cover-letter short, I won't repeat
> > all the details, they can be found in the cover-letter for v8. Please
> > consider picking them up into the Qualcomm tree. They have all been
> > thorougly tested with the pwrseq series.
> >
> > Changelog:
> >
> > Since v8:
> > - split the DTS patches out into their own series
> > - Link to v8: https://lore.kernel.org/r/20240528-pwrseq-v8-0-d354d52b763c@linaro.org
> >
> > Since v7:
> > - added DTS changes for sm8650-hdk
> > - added circular dependency detection for pwrseq units
> > - fixed a KASAN reported use-after-free error in remove path
> > - improve Kconfig descriptions
> > - fix typos in bindings and Kconfig
> > - fixed issues reported by smatch
> > - fix the unbind path in PCI pwrctl
> > - lots of minor improvements to the pwrseq core
> >
> > Since v6:
> > - kernel doc fixes
> > - drop myself from the DT bindings maintainers list for ath12k
> > - wait until the PCI bridge device is fully added before creating the
> >   PCI pwrctl platform devices for its sub-nodes, otherwise we may see
> >   sysfs and procfs attribute failures (due to duplication, we're
> >   basically trying to probe the same device twice at the same time)
> > - I kept the regulators for QCA6390's ath11k as required as they only
> >   apply to this specific Qualcomm package
> >
> > Since v5:
> > - unify the approach to modelling the WCN WLAN/BT chips by always exposing
> >   the PMU node on the device tree and making the WLAN and BT nodes become
> >   consumers of its power outputs; this includes a major rework of the DT
> >   sources, bindings and driver code; there's no more a separate PCI
> >   pwrctl driver for WCN7850, instead its power-up sequence was moved
> >   into the pwrseq driver common for all WCN chips
> > - don't set load_uA from new regulator consumers
> > - fix reported kerneldoc issues
> > - drop voltage ranges for PMU outputs from DT
> > - many minor tweaks and reworks
> >
> > v1: Original RFC:
> >
> > https://lore.kernel.org/lkml/20240104130123.37115-1-brgl@bgdev.pl/T/
> >
> > v2: First real patch series (should have been PATCH v2) adding what I
> >     referred to back then as PCI power sequencing:
> >
> > https://lore.kernel.org/linux-arm-kernel/2024021413-grumbling-unlivable-c145@gregkh/T/
> >
> > v3: RFC for the DT representation of the PMU supplying the WLAN and BT
> >     modules inside the QCA6391 package (was largely separate from the
> >     series but probably should have been called PATCH or RFC v3):
> >
> > https://lore.kernel.org/all/CAMRc=Mc+GNoi57eTQg71DXkQKjdaoAmCpB=h2ndEpGnmdhVV-Q@mail.gmail.com/T/
> >
> > v4: Second attempt at the full series with changed scope (introduction of
> >     the pwrseq subsystem, should have been RFC v4)
> >
> > https://lore.kernel.org/lkml/20240201155532.49707-1-brgl@bgdev.pl/T/
> >
> > v5: Two different ways of handling QCA6390 and WCN7850:
> >
> > https://lore.kernel.org/lkml/20240216203215.40870-1-brgl@bgdev.pl/
> >
> > Bartosz Golaszewski (3):
> >   arm64: dts: qcom: sm8550-qrd: add the Wifi node
> >   arm64: dts: qcom: sm8650-qrd: add the Wifi node
> >   arm64: dts: qcom: qrb5165-rb5: add the Wifi node
> >
> > Neil Armstrong (1):
> >   arm64: dts: qcom: sm8650-hdk: add the Wifi node
> >
> >  arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 103 ++++++++++++++++++++---
> >  arch/arm64/boot/dts/qcom/sm8250.dtsi     |   2 +-
> >  arch/arm64/boot/dts/qcom/sm8550-qrd.dts  |  97 +++++++++++++++++++++
> >  arch/arm64/boot/dts/qcom/sm8550.dtsi     |   2 +-
> >  arch/arm64/boot/dts/qcom/sm8650-hdk.dts  |  89 ++++++++++++++++++++
> >  arch/arm64/boot/dts/qcom/sm8650-qrd.dts  |  89 ++++++++++++++++++++
> >  arch/arm64/boot/dts/qcom/sm8650.dtsi     |   2 +-
> >  7 files changed, 370 insertions(+), 14 deletions(-)
> >
> > --
> > 2.40.1
> >
> >
> >
>
>
> My bot found new DTB warnings on the .dts files added or changed in this
> series.
>
> Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
> are fixed by another series. Ultimately, it is up to the platform
> maintainer whether these warnings are acceptable or not. No need to reply
> unless the platform maintainer has comments.
>
> If you already ran DT checks and didn't see these error(s), then
> make sure dt-schema is up to date:
>
>   pip3 install dtschema --upgrade
>
>
> New warnings running 'make CHECK_DTBS=y qcom/qrb5165-rb5.dtb qcom/sm8550-qrd.dtb qcom/sm8650-hdk.dtb qcom/sm8650-qrd.dtb' for 20240605122729.24283-1-brgl@bgdev.pl:
>
> arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb: bluetooth: 'vddbtcmx-supply' does not match any of the regexes: 'pinctrl-[0-9]+'
>         from schema $id: http://devicetree.org/schemas/net/bluetooth/qualcomm-bluetooth.yaml#
> arch/arm64/boot/dts/qcom/sm8650-qrd.dtb: /wcn7850-pmu: failed to match any schema with compatible: ['qcom,wcn7850-pmu']
> arch/arm64/boot/dts/qcom/sm8650-hdk.dtb: /wcn7850-pmu: failed to match any schema with compatible: ['qcom,wcn7850-pmu']
> arch/arm64/boot/dts/qcom/sm8550-qrd.dtb: /wcn7850-pmu: failed to match any schema with compatible: ['qcom,wcn7850-pmu']
> arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb: /qca6390-pmu: failed to match any schema with compatible: ['qcom,qca6390-pmu']
>
>
>
>
>

Bindings for this were sent separately to for the regulator tree.

Bartosz
Bartosz Golaszewski June 17, 2024, 9:10 a.m. UTC | #3
On Wed, Jun 5, 2024 at 2:27 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>
> Hi!
>
> Here are the DTS changes for several Qualcomm boards from the
> power-sequencing series. To keep the cover-letter short, I won't repeat
> all the details, they can be found in the cover-letter for v8. Please
> consider picking them up into the Qualcomm tree. They have all been
> thorougly tested with the pwrseq series.
>
> Changelog:
>
> Since v8:
> - split the DTS patches out into their own series
> - Link to v8: https://lore.kernel.org/r/20240528-pwrseq-v8-0-d354d52b763c@linaro.org
>
> Since v7:
> - added DTS changes for sm8650-hdk
> - added circular dependency detection for pwrseq units
> - fixed a KASAN reported use-after-free error in remove path
> - improve Kconfig descriptions
> - fix typos in bindings and Kconfig
> - fixed issues reported by smatch
> - fix the unbind path in PCI pwrctl
> - lots of minor improvements to the pwrseq core
>
> Since v6:
> - kernel doc fixes
> - drop myself from the DT bindings maintainers list for ath12k
> - wait until the PCI bridge device is fully added before creating the
>   PCI pwrctl platform devices for its sub-nodes, otherwise we may see
>   sysfs and procfs attribute failures (due to duplication, we're
>   basically trying to probe the same device twice at the same time)
> - I kept the regulators for QCA6390's ath11k as required as they only
>   apply to this specific Qualcomm package
>
> Since v5:
> - unify the approach to modelling the WCN WLAN/BT chips by always exposing
>   the PMU node on the device tree and making the WLAN and BT nodes become
>   consumers of its power outputs; this includes a major rework of the DT
>   sources, bindings and driver code; there's no more a separate PCI
>   pwrctl driver for WCN7850, instead its power-up sequence was moved
>   into the pwrseq driver common for all WCN chips
> - don't set load_uA from new regulator consumers
> - fix reported kerneldoc issues
> - drop voltage ranges for PMU outputs from DT
> - many minor tweaks and reworks
>
> v1: Original RFC:
>
> https://lore.kernel.org/lkml/20240104130123.37115-1-brgl@bgdev.pl/T/
>
> v2: First real patch series (should have been PATCH v2) adding what I
>     referred to back then as PCI power sequencing:
>
> https://lore.kernel.org/linux-arm-kernel/2024021413-grumbling-unlivable-c145@gregkh/T/
>
> v3: RFC for the DT representation of the PMU supplying the WLAN and BT
>     modules inside the QCA6391 package (was largely separate from the
>     series but probably should have been called PATCH or RFC v3):
>
> https://lore.kernel.org/all/CAMRc=Mc+GNoi57eTQg71DXkQKjdaoAmCpB=h2ndEpGnmdhVV-Q@mail.gmail.com/T/
>
> v4: Second attempt at the full series with changed scope (introduction of
>     the pwrseq subsystem, should have been RFC v4)
>
> https://lore.kernel.org/lkml/20240201155532.49707-1-brgl@bgdev.pl/T/
>
> v5: Two different ways of handling QCA6390 and WCN7850:
>
> https://lore.kernel.org/lkml/20240216203215.40870-1-brgl@bgdev.pl/
>
> Bartosz Golaszewski (3):
>   arm64: dts: qcom: sm8550-qrd: add the Wifi node
>   arm64: dts: qcom: sm8650-qrd: add the Wifi node
>   arm64: dts: qcom: qrb5165-rb5: add the Wifi node
>
> Neil Armstrong (1):
>   arm64: dts: qcom: sm8650-hdk: add the Wifi node
>
>  arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 103 ++++++++++++++++++++---
>  arch/arm64/boot/dts/qcom/sm8250.dtsi     |   2 +-
>  arch/arm64/boot/dts/qcom/sm8550-qrd.dts  |  97 +++++++++++++++++++++
>  arch/arm64/boot/dts/qcom/sm8550.dtsi     |   2 +-
>  arch/arm64/boot/dts/qcom/sm8650-hdk.dts  |  89 ++++++++++++++++++++
>  arch/arm64/boot/dts/qcom/sm8650-qrd.dts  |  89 ++++++++++++++++++++
>  arch/arm64/boot/dts/qcom/sm8650.dtsi     |   2 +-
>  7 files changed, 370 insertions(+), 14 deletions(-)
>
> --
> 2.40.1
>

Gentle ping.

Bart
Bjorn Andersson June 21, 2024, 6:11 a.m. UTC | #4
On Wed, 05 Jun 2024 14:27:25 +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> 
> Hi!
> 
> Here are the DTS changes for several Qualcomm boards from the
> power-sequencing series. To keep the cover-letter short, I won't repeat
> all the details, they can be found in the cover-letter for v8. Please
> consider picking them up into the Qualcomm tree. They have all been
> thorougly tested with the pwrseq series.
> 
> [...]

Applied, thanks!

[1/4] arm64: dts: qcom: sm8550-qrd: add the Wifi node
      commit: 4908128724491de1feadee87aba9955eccaf5269
[2/4] arm64: dts: qcom: sm8650-qrd: add the Wifi node
      commit: a05737bf76316677ae1d7af93df6218dcf1ae494
[3/4] arm64: dts: qcom: sm8650-hdk: add the Wifi node
      commit: 4d76a2314810b78b0469c96bcb265af1af7e13a5
[4/4] arm64: dts: qcom: qrb5165-rb5: add the Wifi node
      commit: bd37ce2eeb84cd42ec8edebaa3cb8cffade2dc0c

Best regards,