Enable the WCNSS (Riva) subsystem on MSM8960-based devices to support Bluetooth and Wi-Fi.
Add the required device tree nodes and resources, including memory regions, clocks, interconnects, and communication interfaces used by the WCNSS firmware and drivers. Changes: - Add Riva (WCNSS) nodes: firmware memory, WCN3660 iris radio, Bluetooth and Wi-Fi subdevices, and pinctrl states - Add SMSM and SPS nodes for coordination with the WCNSS subsystem - Add shared memory and hardware lock for inter-processor communication - Add SCM node for secure channel manager interaction - Add RPM clock controller and required QDSS clock resource - Add bindings for SPS interrupt controller and RPM clocks This series supersedes the earlier dt-bindings-only submission [1] and includes the corresponding driver and DT integration changes. This patch series depends on: [2] "dt-bindings: usb: ci-hdrc-usb2: allow up to 3 clocks for qcom,ci-hdrc" for fixing the USB controller clock configuration on MSM8960. Tested on: - Sony Xperia SP - Samsung Galaxy Express (SGH-I437) - requires additional work for firmware loading (separate series pending) Known limitations (not addressed in this series): The wcn36xx driver appears to misclassify 2.4 GHz networks as 5 GHz during hardware scanning, preventing association with 2.4 GHz networks. This issue has also been observed on MSM8916 and MSM8953 platforms using WCN3620 [3][4]. [1] https://lore.kernel.org/all/20260218-msm8960-sps-rpm-bindings-v1-0-bbc11c0d4...@smankusors.com/ [2] https://lore.kernel.org/all/[email protected]/ [3] https://github.com/msm8916-mainline/linux/commit/cc4abc694fcf2c942410136bc58a61e79bf21e83 [4] https://github.com/msm8953-mainline/linux/commit/779c9627ec0b971bf466588e64fe530cf78a414d Signed-off-by: Antony Kurniawan Soemardi <[email protected]> --- Changes in v2: - Updated cover letter about the previous dt-bindings only submission and the dependency on the USB controller clock fix series - Drop the apq8064 reference from the commit message for adding msm8960 QDSS clock resource - Add fallback compatible "qcom,rpmcc-apq8064" in the rpmcc node - Updated qcom,rpmcc dt-bindings to allow for fallback compatible - Put clocks, clock-names, reg, reg-names, interrupt-names, & smem-states entries one per line in the rpmcc, riva, and wifi nodes - Move riva pinctrl assignments to SoC DTSI - Renamed hwmutex to hwlock for consistency with the dt-bindings - Link to v1: https://patch.msgid.link/[email protected] - Note: an incomplete v1 also exists at https://lore.kernel.org/all/[email protected]/ due to SMTP rate limit. Please ignore that thread. --- Antony Kurniawan Soemardi (10): dt-bindings: clock: qcom,rpmcc: add msm8960 compatible dt-bindings: mfd: syscon: add qcom,msm8960-sps-sic mfd: qcom_rpm: add msm8960 QDSS clock resource clk: qcom: clk-rpm: add msm8960 compatible ARM: dts: qcom: msm8960: add RPM clock controller and fix USB clocks ARM: dts: qcom: msm8960: add SCM ARM: dts: qcom: msm8960: add SMEM & hwlock ARM: dts: qcom: msm8960: add SMSM & SPS ARM: dts: qcom: msm8960: add Riva ARM: dts: qcom: msm8960: huashan: enable Wi-Fi and Bluetooth .../devicetree/bindings/clock/qcom,rpmcc.yaml | 77 ++++++---- Documentation/devicetree/bindings/mfd/syscon.yaml | 2 + .../boot/dts/qcom/qcom-msm8960-sony-huashan.dts | 15 ++ arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 170 ++++++++++++++++++++- drivers/clk/qcom/clk-rpm.c | 1 + drivers/mfd/qcom_rpm.c | 1 + 6 files changed, 234 insertions(+), 32 deletions(-) --- base-commit: 028ef9c96e96197026887c0f092424679298aae8 change-id: 20251226-msm8960-wifi-beecd96c6646 Best regards, -- Antony Kurniawan Soemardi <[email protected]>

