Qualcomm WCN3950, WCN3988 and WCN399x families of WiFi/BT chips preceed the later WCN / QCA devices, but they still incorporate a very simple PMU on die. It controls internal on-chip power networks, but, most importantly, it also requires a certain start-up procedure (first bring up VDD_IO, then bring up other voltages). In order to further unify code supporting different families of QCA / WCN chips and in order to maintain the required power up sequence, properly represent these chips in DTs and modify drivers to use power sequencing for these chips.
Backwards compatibility with the existing DTs is retained by keeping the regulator&clock code in the drivers as a fallback. As a part of the series I've converted only several boards, verifying that all known instances of WCN39xx family works (fixing the issues meanwhile). The rest of devices might follow the pattern later. Signed-off-by: Dmitry Baryshkov <[email protected]> --- Dmitry Baryshkov (14): regulator: dt-bindings: qcom,qca6390-pmu: describe PMUs on WCN39xx Bluetooth: qca: enable pwrseq support for WCN39xx devices Bluetooth: qca: fix ROM version reading on WCN3998 chips wifi: ath10k: snoc: support powering on the device via pwrseq power: sequencing: qcom-wcn: add support for WCN39xx arm64: dts: qcom: qrb4210-rb2: Fix UART3 wakeup IRQ storm arm64: dts: qcom: sdm845-db845c: drop CS from SPIO0 arm64: dts: qcom: sdm845-db845c: specify power for WiFi CH1 arm64: dts: qcom: sm8150: add uart13 arm64: dts: qcom: qrb2210-rb1: describe WiFi/BT properly arm64: dts: qcom: qrb4210-rb2: describe WiFi/BT properly arm64: dts: qcom: sda660-ifc6560: describe WiFi/BT properly arm64: dts: qcom: sdm845-db845c: describe WiFi/BT properly arm64: dts: qcom: sm8150-hdk: describe WiFi/BT properly .../bindings/regulator/qcom,qca6390-pmu.yaml | 36 ++++++ arch/arm64/boot/dts/qcom/qrb2210-rb1.dts | 60 +++++++-- arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 62 +++++++-- .../arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts | 66 ++++++++-- arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 75 +++++++++-- arch/arm64/boot/dts/qcom/sm8150-hdk.dts | 141 ++++++++++++++++++++- arch/arm64/boot/dts/qcom/sm8150.dtsi | 9 ++ drivers/bluetooth/btqca.c | 2 + drivers/bluetooth/hci_qca.c | 26 ++-- drivers/net/wireless/ath/ath10k/snoc.c | 43 ++++++- drivers/net/wireless/ath/ath10k/snoc.h | 2 + drivers/power/sequencing/pwrseq-qcom-wcn.c | 130 ++++++++++++++++++- 12 files changed, 596 insertions(+), 56 deletions(-) --- base-commit: cc3aa43b44bdb43dfbac0fcb51c56594a11338a8 change-id: 20251229-wcn3990-pwrctl-cfa64f9d8167 Best regards, -- With best wishes Dmitry
