[PATCH v4 0/7] ARM: qcom: msm8960: enable WCNSS (Bluetooth & Wi-Fi)

Antony Kurniawan Soemardi via B4 Relay posted 7 patches 2 months ago
Documentation/devicetree/bindings/mfd/syscon.yaml  |   2 +
.../boot/dts/qcom/qcom-msm8960-sony-huashan.dts    |  15 ++
arch/arm/boot/dts/qcom/qcom-msm8960.dtsi           | 169 ++++++++++++++++++++-
3 files changed, 184 insertions(+), 2 deletions(-)
[PATCH v4 0/7] ARM: qcom: msm8960: enable WCNSS (Bluetooth & Wi-Fi)
Posted by Antony Kurniawan Soemardi via B4 Relay 2 months ago
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 required QDSS clock resource for msm8960 RPM clock controller
- 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 series also fixes the dtbs_check warnings in msm8960.dtsi
introduced by:
  [2] "dt-bindings: usb: ci-hdrc-usb2: allow up to 3 clocks for
  qcom,ci-hdrc"

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-bbc11c0d4f24@smankusors.com/
[2] https://lore.kernel.org/all/20260516-qcom-ci-hdrc-clock-fix-v2-1-aaec8d33d0aa@smankusors.com/
[3] https://github.com/msm8916-mainline/linux/commit/cc4abc694fcf2c942410136bc58a61e79bf21e83
[4] https://github.com/msm8953-mainline/linux/commit/779c9627ec0b971bf466588e64fe530cf78a414d

Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
---
Changes in v4:
- Dropped the qcom,rpmcc-msm8960 patches, as msm8960.dtsi now uses
  qcom,rpmcc-apq8064 instead.
- Dropped the qcom_rpm MFD patch, as it has been merged upstream.
  (Commit 6b6e7e965a11f761a3b614f5ff3fa8d1d9c86b1e mfd: qcom_rpm: Add msm8960 QDSS clock resource)
- Swapped the iface and core USB clocks in the msm8960.dtsi
- Link to v3: https://patch.msgid.link/20260601-msm8960-wifi-v3-0-fec6ac8dba02@smankusors.com

Changes in v3:
- Dropped unnecessary pxo and cxo clock validations for
  qcom,rpmcc-msm8960
- Dropped unnecessary example for rpmcc bindings
- Reorder USB clock entries to match the updated ci-hdrc binding, using
  iface, core, fs order.
- Link to v2: https://patch.msgid.link/20260514-msm8960-wifi-v2-0-7cbae45dab5e@smankusors.com

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/20260414-msm8960-wifi-v1-0-007fda9d6134@smankusors.com
- Note: an incomplete v1 also exists at https://lore.kernel.org/all/20260414-msm8960-wifi-v1-0-01c081e54610@smankusors.com/
  due to SMTP rate limit. Please ignore that thread.

---
Antony Kurniawan Soemardi (7):
      dt-bindings: mfd: syscon: add qcom,msm8960-sps-sic
      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

 Documentation/devicetree/bindings/mfd/syscon.yaml  |   2 +
 .../boot/dts/qcom/qcom-msm8960-sony-huashan.dts    |  15 ++
 arch/arm/boot/dts/qcom/qcom-msm8960.dtsi           | 169 ++++++++++++++++++++-
 3 files changed, 184 insertions(+), 2 deletions(-)
---
base-commit: 2d2338c93da79b3bfe4b6099a931d9468d539952
change-id: 20251226-msm8960-wifi-beecd96c6646

Best regards,
--  
Antony Kurniawan Soemardi <linux@smankusors.com>
Re: (subset) [PATCH v4 0/7] ARM: qcom: msm8960: enable WCNSS (Bluetooth & Wi-Fi)
Posted by Bjorn Andersson 3 days, 6 hours ago
On Mon, 03 Aug 2026 02:03:44 +0700, Antony Kurniawan Soemardi wrote:
> 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.
> 
> [...]

Applied, thanks!

[2/7] ARM: dts: qcom: msm8960: add RPM clock controller and fix USB clocks
      commit: 852f2692b8ecb8ea48595ed24ade3b44cfc3f4ae
[3/7] ARM: dts: qcom: msm8960: add SCM
      commit: f3da0adc48f09ea11d38781e062a47f22c31d8fd
[4/7] ARM: dts: qcom: msm8960: add SMEM & hwlock
      commit: c55503516d8ac3957f2181de021ce97ec1b008f4
[5/7] ARM: dts: qcom: msm8960: add SMSM & SPS
      commit: 0abc6d0c187f390353559571aa7c57d0cb933b23
[6/7] ARM: dts: qcom: msm8960: add Riva
      commit: 6453789d4362f325cfe4f95afc34663e6966c4b6
[7/7] ARM: dts: qcom: msm8960: huashan: enable Wi-Fi and Bluetooth
      commit: 54d08947a7eb9163938853bf00588ebcf64f6561

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>