On 09/07/2024 14:18, Bartosz Golaszewski wrote:
> The following series extend the usage of the power sequencing subsystem
> in the hci_qca driver.
>
> The end goal is to convert the entire driver to be exclusively pwrseq-based
> and simplify it in the process. However due to a large number of users we
> need to be careful and consider every case separately.
>
> Right now the only model that fully uses the power sequencer is QCA6390 on
> the RB5 board. The next steps are enabling pwrseq for Bluetooth on sm8650
> and the X13s laptop. To that end we need to make wcn7850 and wcn6855 aware
> of the power sequencing but also keep backward compatibility with older
> device trees.
>
> This series contains changes to mainline DT bindings for wcn7850, some
> refactoring of the hci_qca driver, making pwrseq the default for the two
> models mentioned above and finally modifies the device-tree for sm8650-qrd
> to correctly represent the way the Bluetooth module is powered.
>
> I made the last patch part of this series as it has a run-time dependency
> on previous changes in it and bluetooth support on the board will break
> without them.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> ---
> Changes in v3:
> - Add a missing break in a switch case
> - Link to v2: https://lore.kernel.org/r/20240708-hci_qca_refactor-v2-0-b6e83b3d1ca5@linaro.org
>
> Changes in v2:
> - Fix a switch issue reported by the test bot
> - Link to v1: https://lore.kernel.org/r/20240705-hci_qca_refactor-v1-0-e2442121c13e@linaro.org
>
> ---
> Bartosz Golaszewski (6):
> dt-bindings: bluetooth: qualcomm: describe the inputs from PMU for wcn7850
> Bluetooth: hci_qca: schedule a devm action for disabling the clock
> Bluetooth: hci_qca: unduplicate calls to hci_uart_register_device()
> Bluetooth: hci_qca: make pwrseq calls the default if available
> Bluetooth: hci_qca: use the power sequencer for wcn7850 and wcn6855
> arm64: dts: qcom: sm8650-qrd: use the PMU to power up bluetooth
>
> .../bindings/net/bluetooth/qualcomm-bluetooth.yaml | 18 +++--
> arch/arm64/boot/dts/qcom/sm8650-qrd.dts | 28 +++----
> drivers/bluetooth/hci_qca.c | 87 +++++++++++++---------
> 3 files changed, 72 insertions(+), 61 deletions(-)
> ---
> base-commit: 0b58e108042b0ed28a71cd7edf5175999955b233
> change-id: 20240704-hci_qca_refactor-0770e9931fb4
>
> Best regards,
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-QRD
Still works on SM8550-QRD, and properly works with power sequencer on SM8650-QRD
Thanks,
Neil