devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/7] ARM: qcom: msm8960: enable WCNSS (Bluetooth & Wi-Fi)
@ 2026-08-02 19:03 Antony Kurniawan Soemardi via B4 Relay
  2026-08-02 19:03 ` [PATCH v4 1/7] dt-bindings: mfd: syscon: add qcom,msm8960-sps-sic Antony Kurniawan Soemardi via B4 Relay
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Antony Kurniawan Soemardi via B4 Relay @ 2026-08-02 19:03 UTC (permalink / raw)
  To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio
  Cc: phone-devel, Rudraksha Gupta, mfd, devicetree, linux-kernel,
	linux-arm-msm, Antony Kurniawan Soemardi, Krzysztof Kozlowski,
	Dmitry Baryshkov, Konrad Dybcio

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>



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH v4 1/7] dt-bindings: mfd: syscon: add qcom,msm8960-sps-sic
  2026-08-02 19:03 [PATCH v4 0/7] ARM: qcom: msm8960: enable WCNSS (Bluetooth & Wi-Fi) Antony Kurniawan Soemardi via B4 Relay
@ 2026-08-02 19:03 ` Antony Kurniawan Soemardi via B4 Relay
  2026-08-02 19:09   ` sashiko-bot
  2026-08-02 19:03 ` [PATCH v4 2/7] ARM: dts: qcom: msm8960: add RPM clock controller and fix USB clocks Antony Kurniawan Soemardi via B4 Relay
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Antony Kurniawan Soemardi via B4 Relay @ 2026-08-02 19:03 UTC (permalink / raw)
  To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio
  Cc: phone-devel, Rudraksha Gupta, mfd, devicetree, linux-kernel,
	linux-arm-msm, Antony Kurniawan Soemardi, Krzysztof Kozlowski

From: Antony Kurniawan Soemardi <linux@smankusors.com>

Add compat for Smart Peripheral System (SPS) Interrupt Controller (SIC)
present on Qualcomm MSM8960 SoC.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
---
 Documentation/devicetree/bindings/mfd/syscon.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml
index e22867088063..5f12ccf4483f 100644
--- a/Documentation/devicetree/bindings/mfd/syscon.yaml
+++ b/Documentation/devicetree/bindings/mfd/syscon.yaml
@@ -107,6 +107,7 @@ select:
           - nxp,s32g3-gpr
           - qcom,apq8064-mmss-sfpb
           - qcom,apq8064-sps-sic
+          - qcom,msm8960-sps-sic
           - rockchip,px30-qos
           - rockchip,rk3036-qos
           - rockchip,rk3066-qos
@@ -221,6 +222,7 @@ properties:
               - nxp,s32g3-gpr
               - qcom,apq8064-mmss-sfpb
               - qcom,apq8064-sps-sic
+              - qcom,msm8960-sps-sic
               - rockchip,px30-qos
               - rockchip,rk3036-qos
               - rockchip,rk3066-qos

-- 
2.34.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v4 2/7] ARM: dts: qcom: msm8960: add RPM clock controller and fix USB clocks
  2026-08-02 19:03 [PATCH v4 0/7] ARM: qcom: msm8960: enable WCNSS (Bluetooth & Wi-Fi) Antony Kurniawan Soemardi via B4 Relay
  2026-08-02 19:03 ` [PATCH v4 1/7] dt-bindings: mfd: syscon: add qcom,msm8960-sps-sic Antony Kurniawan Soemardi via B4 Relay
@ 2026-08-02 19:03 ` Antony Kurniawan Soemardi via B4 Relay
  2026-08-02 19:21   ` sashiko-bot
  2026-08-02 19:03 ` [PATCH v4 3/7] ARM: dts: qcom: msm8960: add SCM Antony Kurniawan Soemardi via B4 Relay
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Antony Kurniawan Soemardi via B4 Relay @ 2026-08-02 19:03 UTC (permalink / raw)
  To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio
  Cc: phone-devel, Rudraksha Gupta, mfd, devicetree, linux-kernel,
	linux-arm-msm, Antony Kurniawan Soemardi, Dmitry Baryshkov

From: Antony Kurniawan Soemardi <linux@smankusors.com>

The RPM clock controller manages clocks shared between the application
processor and the RPM firmware, including fabric and bus clocks required
by several peripherals.

With the RPM clock controller now available in the device tree, the USB
controller must explicitly declare its dependency on
RPM_DAYTONA_FABRIC_CLK. Without this declaration, the clock framework
would consider it unused and disable it, breaking USB functionality.

This also corrects the previous misuse of USB_HS1_XCVR_CLK as the core
clock. The XCVR clock is in fact used for PHY/reset handling rather than
as the main core clock.

A similar issue has been observed on APQ8064, where missing the RPM
fabric clock dependency leads to broken USB.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
---
 arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
index fd28401cebb5..6ead9fec557a 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
@@ -5,6 +5,7 @@
 #include <dt-bindings/clock/qcom,gcc-msm8960.h>
 #include <dt-bindings/reset/qcom,gcc-msm8960.h>
 #include <dt-bindings/clock/qcom,lcc-msm8960.h>
+#include <dt-bindings/clock/qcom,rpmcc.h>
 #include <dt-bindings/mfd/qcom-rpm.h>
 #include <dt-bindings/soc/qcom,gsbi.h>
 
@@ -98,6 +99,16 @@ rpm: rpm@108000 {
 			interrupt-names = "ack",
 					  "err",
 					  "wakeup";
+
+			rpmcc: clock-controller {
+				compatible = "qcom,rpmcc-apq8064",
+					     "qcom,rpmcc";
+				#clock-cells = <1>;
+				clocks = <&pxo_board>,
+					 <&cxo_board>;
+				clock-names = "pxo",
+					      "cxo";
+			};
 		};
 
 		ssbi: ssbi@500000 {
@@ -507,8 +518,12 @@ usb1: usb@12500000 {
 			reg = <0x12500000 0x200>,
 			      <0x12500200 0x200>;
 			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
-			clocks = <&gcc USB_HS1_XCVR_CLK>, <&gcc USB_HS1_H_CLK>;
-			clock-names = "core", "iface";
+			clocks = <&rpmcc RPM_DAYTONA_FABRIC_CLK>,
+				 <&gcc USB_HS1_H_CLK>,
+				 <&gcc USB_HS1_XCVR_CLK>;
+			clock-names = "iface",
+				      "core",
+				      "fs";
 			assigned-clocks = <&gcc USB_HS1_XCVR_CLK>;
 			assigned-clock-rates = <60000000>;
 			resets = <&gcc USB_HS1_RESET>;

-- 
2.34.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v4 3/7] ARM: dts: qcom: msm8960: add SCM
  2026-08-02 19:03 [PATCH v4 0/7] ARM: qcom: msm8960: enable WCNSS (Bluetooth & Wi-Fi) Antony Kurniawan Soemardi via B4 Relay
  2026-08-02 19:03 ` [PATCH v4 1/7] dt-bindings: mfd: syscon: add qcom,msm8960-sps-sic Antony Kurniawan Soemardi via B4 Relay
  2026-08-02 19:03 ` [PATCH v4 2/7] ARM: dts: qcom: msm8960: add RPM clock controller and fix USB clocks Antony Kurniawan Soemardi via B4 Relay
@ 2026-08-02 19:03 ` Antony Kurniawan Soemardi via B4 Relay
  2026-08-02 19:22   ` sashiko-bot
  2026-08-02 19:03 ` [PATCH v4 4/7] ARM: dts: qcom: msm8960: add SMEM & hwlock Antony Kurniawan Soemardi via B4 Relay
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Antony Kurniawan Soemardi via B4 Relay @ 2026-08-02 19:03 UTC (permalink / raw)
  To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio
  Cc: phone-devel, Rudraksha Gupta, mfd, devicetree, linux-kernel,
	linux-arm-msm, Antony Kurniawan Soemardi, Dmitry Baryshkov

From: Antony Kurniawan Soemardi <linux@smankusors.com>

Add the Secure Channel Manager firmware device node to the MSM8960
device tree. The SCM is required for secure communication between the
application processor and other subsystems.

Tested-by: Rudraksha Gupta <guptarud@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
---
 arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
index 6ead9fec557a..00957482dee6 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
@@ -77,6 +77,15 @@ l2: l2-cache {
 		};
 	};
 
+	firmware {
+		scm {
+			compatible = "qcom,scm-msm8960", "qcom,scm";
+
+			clocks = <&rpmcc RPM_DAYTONA_FABRIC_CLK>;
+			clock-names = "core";
+		};
+	};
+
 	memory@80000000 {
 		device_type = "memory";
 		reg = <0x80000000 0>;

-- 
2.34.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v4 4/7] ARM: dts: qcom: msm8960: add SMEM & hwlock
  2026-08-02 19:03 [PATCH v4 0/7] ARM: qcom: msm8960: enable WCNSS (Bluetooth & Wi-Fi) Antony Kurniawan Soemardi via B4 Relay
                   ` (2 preceding siblings ...)
  2026-08-02 19:03 ` [PATCH v4 3/7] ARM: dts: qcom: msm8960: add SCM Antony Kurniawan Soemardi via B4 Relay
@ 2026-08-02 19:03 ` Antony Kurniawan Soemardi via B4 Relay
  2026-08-02 19:08   ` sashiko-bot
  2026-08-02 19:03 ` [PATCH v4 5/7] ARM: dts: qcom: msm8960: add SMSM & SPS Antony Kurniawan Soemardi via B4 Relay
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Antony Kurniawan Soemardi via B4 Relay @ 2026-08-02 19:03 UTC (permalink / raw)
  To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio
  Cc: phone-devel, Rudraksha Gupta, mfd, devicetree, linux-kernel,
	linux-arm-msm, Antony Kurniawan Soemardi, Dmitry Baryshkov,
	Konrad Dybcio

From: Antony Kurniawan Soemardi <linux@smankusors.com>

Enable shared memory communication and add the SFPB lock for MSM8960.
These provide the foundation for inter-processor communication with the
Riva (BT + Wi-Fi) subsystem.

Tested-by: Rudraksha Gupta <guptarud@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
---
 arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
index 00957482dee6..9389b6358d8d 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
@@ -91,6 +91,24 @@ memory@80000000 {
 		reg = <0x80000000 0>;
 	};
 
+	reserved-memory {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		smem_region: smem@80000000 {
+			reg = <0x80000000 0x200000>;
+			no-map;
+		};
+	};
+
+	smem {
+		compatible = "qcom,smem";
+		memory-region = <&smem_region>;
+
+		hwlocks = <&sfpb_mutex 3>;
+	};
+
 	soc: soc {
 		compatible = "simple-bus";
 		ranges;
@@ -343,6 +361,12 @@ tsens: thermal-sensor {
 			};
 		};
 
+		sfpb_mutex: hwlock@1200600 {
+			compatible = "qcom,sfpb-mutex";
+			reg = <0x01200600 0x100>;
+			#hwlock-cells = <1>;
+		};
+
 		intc: interrupt-controller@2000000 {
 			compatible = "qcom,msm-qgic2";
 			reg = <0x02000000 0x1000>,

-- 
2.34.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v4 5/7] ARM: dts: qcom: msm8960: add SMSM & SPS
  2026-08-02 19:03 [PATCH v4 0/7] ARM: qcom: msm8960: enable WCNSS (Bluetooth & Wi-Fi) Antony Kurniawan Soemardi via B4 Relay
                   ` (3 preceding siblings ...)
  2026-08-02 19:03 ` [PATCH v4 4/7] ARM: dts: qcom: msm8960: add SMEM & hwlock Antony Kurniawan Soemardi via B4 Relay
@ 2026-08-02 19:03 ` Antony Kurniawan Soemardi via B4 Relay
  2026-08-02 19:14   ` sashiko-bot
  2026-08-02 19:03 ` [PATCH v4 6/7] ARM: dts: qcom: msm8960: add Riva Antony Kurniawan Soemardi via B4 Relay
  2026-08-02 19:03 ` [PATCH v4 7/7] ARM: dts: qcom: msm8960: huashan: enable Wi-Fi and Bluetooth Antony Kurniawan Soemardi via B4 Relay
  6 siblings, 1 reply; 15+ messages in thread
From: Antony Kurniawan Soemardi via B4 Relay @ 2026-08-02 19:03 UTC (permalink / raw)
  To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio
  Cc: phone-devel, Rudraksha Gupta, mfd, devicetree, linux-kernel,
	linux-arm-msm, Antony Kurniawan Soemardi, Konrad Dybcio,
	Dmitry Baryshkov

From: Antony Kurniawan Soemardi <linux@smankusors.com>

Add the Shared Memory State Machine node to coordinate state transitions
between the Applications processor and the Riva subsystem.

Tested-by: Rudraksha Gupta <guptarud@gmail.com>
Acked-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
---
 arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
index 9389b6358d8d..0088381d77ea 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
@@ -109,6 +109,31 @@ smem {
 		hwlocks = <&sfpb_mutex 3>;
 	};
 
+	smsm {
+		compatible = "qcom,smsm";
+
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		qcom,ipc-1 = <&l2cc 8 4>;
+		qcom,ipc-2 = <&l2cc 8 14>;
+		qcom,ipc-3 = <&l2cc 8 23>;
+		qcom,ipc-4 = <&sps_sic_non_secure 0x4094 0>;
+
+		apps_smsm: apps@0 {
+			reg = <0>;
+			#qcom,smem-state-cells = <1>;
+		};
+
+		wcnss_smsm: wcnss@3 {
+			reg = <3>;
+			interrupts = <GIC_SPI 204 IRQ_TYPE_EDGE_RISING>;
+
+			interrupt-controller;
+			#interrupt-cells = <2>;
+		};
+	};
+
 	soc: soc {
 		compatible = "simple-bus";
 		ranges;
@@ -458,6 +483,11 @@ clock-controller@4000000 {
 				      "hdmipll";
 		};
 
+		sps_sic_non_secure: interrupt-controller@12100000 {
+			compatible = "qcom,msm8960-sps-sic", "syscon";
+			reg = <0x12100000 0x10000>;
+		};
+
 		sdcc3: mmc@12180000 {
 			compatible = "arm,pl18x", "arm,primecell";
 			reg = <0x12180000 0x2000>;

-- 
2.34.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v4 6/7] ARM: dts: qcom: msm8960: add Riva
  2026-08-02 19:03 [PATCH v4 0/7] ARM: qcom: msm8960: enable WCNSS (Bluetooth & Wi-Fi) Antony Kurniawan Soemardi via B4 Relay
                   ` (4 preceding siblings ...)
  2026-08-02 19:03 ` [PATCH v4 5/7] ARM: dts: qcom: msm8960: add SMSM & SPS Antony Kurniawan Soemardi via B4 Relay
@ 2026-08-02 19:03 ` Antony Kurniawan Soemardi via B4 Relay
  2026-08-02 19:14   ` sashiko-bot
  2026-08-02 19:03 ` [PATCH v4 7/7] ARM: dts: qcom: msm8960: huashan: enable Wi-Fi and Bluetooth Antony Kurniawan Soemardi via B4 Relay
  6 siblings, 1 reply; 15+ messages in thread
From: Antony Kurniawan Soemardi via B4 Relay @ 2026-08-02 19:03 UTC (permalink / raw)
  To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio
  Cc: phone-devel, Rudraksha Gupta, mfd, devicetree, linux-kernel,
	linux-arm-msm, Antony Kurniawan Soemardi, Dmitry Baryshkov

From: Antony Kurniawan Soemardi <linux@smankusors.com>

Add the Riva Peripheral Image Loader node to support the Wireless
Connectivity and Networking Subsystem on MSM8960. This includes:

- Reserved memory region for WCNSS firmware
- WCN3660 iris radio controller
- Bluetooth and Wi-Fi sub-devices exposed via the SMD edge
- Pinctrl states for Bluetooth and Wi-Fi power management

Tested-by: Rudraksha Gupta <guptarud@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
---
 arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 87 ++++++++++++++++++++++++++++++++
 1 file changed, 87 insertions(+)

diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
index 0088381d77ea..b9c28e468d32 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
@@ -100,6 +100,11 @@ smem_region: smem@80000000 {
 			reg = <0x80000000 0x200000>;
 			no-map;
 		};
+
+		wcnss_mem: wcnss@8f000000 {
+			reg = <0x8f000000 0x700000>;
+			no-map;
+		};
 	};
 
 	smem {
@@ -320,6 +325,34 @@ i2c12-pins {
 				};
 			};
 
+			riva_bt_default_state: riva-bt-active-state {
+				pins = "gpio28", "gpio29";
+				function = "bt";
+				drive-strength = <2>;
+				bias-disable;
+			};
+
+			riva_bt_sleep_state: riva-bt-sleep-state {
+				pins = "gpio28", "gpio29";
+				function = "bt";
+				drive-strength = <2>;
+				bias-pull-down;
+			};
+
+			riva_wlan_default_state: riva-wlan-active-state {
+				pins = "gpio84", "gpio85", "gpio86", "gpio87", "gpio88";
+				function = "wlan";
+				drive-strength = <6>;
+				bias-pull-down;
+			};
+
+			riva_wlan_sleep_state: riva-wlan-sleep-state {
+				pins = "gpio84", "gpio85", "gpio86", "gpio87", "gpio88";
+				function = "wlan";
+				drive-strength = <2>;
+				bias-pull-up;
+			};
+
 			sdcc3_default_state: sdcc3-default-state {
 				clk-pins {
 					pins = "sdc3_clk";
@@ -459,6 +492,60 @@ saw1_vreg: regulator {
 			};
 		};
 
+		riva: riva-pil@3200800 {
+			compatible = "qcom,riva-pil";
+			reg = <0x03200800 0x1000>,
+			      <0x03202000 0x2000>,
+			      <0x03204000 0x100>;
+			reg-names = "ccu",
+				    "dxe",
+				    "pmu";
+			pinctrl-0 = <&riva_wlan_default_state>, <&riva_bt_default_state>;
+			pinctrl-1 = <&riva_wlan_sleep_state>, <&riva_bt_sleep_state>;
+			pinctrl-names = "default", "sleep";
+			interrupts-extended = <&intc GIC_SPI 199 IRQ_TYPE_EDGE_RISING>,
+					      <&wcnss_smsm 6 IRQ_TYPE_EDGE_RISING>;
+			interrupt-names = "wdog", "fatal";
+			memory-region = <&wcnss_mem>;
+
+			status = "disabled";
+
+			iris {
+				compatible = "qcom,wcn3660";
+				clocks = <&cxo_board>;
+				clock-names = "xo";
+			};
+
+			smd-edge {
+				interrupts = <GIC_SPI 198 IRQ_TYPE_EDGE_RISING>;
+				label = "riva";
+				qcom,ipc = <&l2cc 8 25>;
+				qcom,smd-edge = <6>;
+
+				wcnss {
+					compatible = "qcom,wcnss";
+					qcom,smd-channels = "WCNSS_CTRL";
+					qcom,mmio = <&riva>;
+
+					bluetooth {
+						compatible = "qcom,wcnss-bt";
+					};
+
+					wifi {
+						compatible = "qcom,wcnss-wlan";
+						interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>,
+							     <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>;
+						interrupt-names = "tx",
+								  "rx";
+						qcom,smem-states = <&apps_smsm 10>,
+								   <&apps_smsm 9>;
+						qcom,smem-state-names = "tx-enable",
+									"tx-rings-empty";
+					};
+				};
+			};
+		};
+
 		clock-controller@4000000 {
 			compatible = "qcom,mmcc-msm8960";
 			reg = <0x4000000 0x1000>;

-- 
2.34.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v4 7/7] ARM: dts: qcom: msm8960: huashan: enable Wi-Fi and Bluetooth
  2026-08-02 19:03 [PATCH v4 0/7] ARM: qcom: msm8960: enable WCNSS (Bluetooth & Wi-Fi) Antony Kurniawan Soemardi via B4 Relay
                   ` (5 preceding siblings ...)
  2026-08-02 19:03 ` [PATCH v4 6/7] ARM: dts: qcom: msm8960: add Riva Antony Kurniawan Soemardi via B4 Relay
@ 2026-08-02 19:03 ` Antony Kurniawan Soemardi via B4 Relay
  2026-08-02 19:10   ` sashiko-bot
  6 siblings, 1 reply; 15+ messages in thread
From: Antony Kurniawan Soemardi via B4 Relay @ 2026-08-02 19:03 UTC (permalink / raw)
  To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio
  Cc: phone-devel, Rudraksha Gupta, mfd, devicetree, linux-kernel,
	linux-arm-msm, Antony Kurniawan Soemardi, Konrad Dybcio,
	Dmitry Baryshkov

From: Antony Kurniawan Soemardi <linux@smankusors.com>

Add Wi-Fi and Bluetooth support for Sony Xperia SP.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>
---
 arch/arm/boot/dts/qcom/qcom-msm8960-sony-huashan.dts | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960-sony-huashan.dts b/arch/arm/boot/dts/qcom/qcom-msm8960-sony-huashan.dts
index 591dc837e600..7d54ced3641f 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960-sony-huashan.dts
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960-sony-huashan.dts
@@ -95,6 +95,21 @@ MATRIX_KEY(1, 1, KEY_CAMERA)
 	status = "okay";
 };
 
+&riva {
+	vddcx-supply = <&pm8921_s3>;
+	vddmx-supply = <&pm8921_l24>;
+	vddpx-supply = <&pm8921_s4>;
+
+	status = "okay";
+
+	iris {
+		vdddig-supply = <&pm8921_lvs2>;
+		vddpa-supply = <&pm8921_l10>;
+		vddrfa-supply = <&pm8921_s2>;
+		vddxo-supply = <&pm8921_l4>;
+	};
+};
+
 &rpm {
 	regulators {
 		compatible = "qcom,rpm-pm8921-regulators";

-- 
2.34.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 4/7] ARM: dts: qcom: msm8960: add SMEM & hwlock
  2026-08-02 19:03 ` [PATCH v4 4/7] ARM: dts: qcom: msm8960: add SMEM & hwlock Antony Kurniawan Soemardi via B4 Relay
@ 2026-08-02 19:08   ` sashiko-bot
  0 siblings, 0 replies; 15+ messages in thread
From: sashiko-bot @ 2026-08-02 19:08 UTC (permalink / raw)
  To: Antony Kurniawan Soemardi; +Cc: lee, devicetree, mfd, conor+dt, robh

> From: Antony Kurniawan Soemardi <linux@smankusors.com>
> 
> Enable shared memory communication and add the SFPB lock for MSM8960.
> These provide the foundation for inter-processor communication with the
> Riva (BT + Wi-Fi) subsystem.
> 
> Tested-by: Rudraksha Gupta <guptarud@gmail.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260803-msm8960-wifi-v4-0-5ffa27aea39d@smankusors.com?part=4


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 1/7] dt-bindings: mfd: syscon: add qcom,msm8960-sps-sic
  2026-08-02 19:03 ` [PATCH v4 1/7] dt-bindings: mfd: syscon: add qcom,msm8960-sps-sic Antony Kurniawan Soemardi via B4 Relay
@ 2026-08-02 19:09   ` sashiko-bot
  0 siblings, 0 replies; 15+ messages in thread
From: sashiko-bot @ 2026-08-02 19:09 UTC (permalink / raw)
  To: Antony Kurniawan Soemardi; +Cc: conor+dt, devicetree, lee, robh, mfd

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The commit message description starts with a lowercase letter, which violates the MFD subsystem guidelines for commit message capitalization.
--

--- Patch [1]: [PATCH v4 1/7] dt-bindings: mfd: syscon: add qcom,msm8960-sps-sic ---
commit 1cfd706762cb6881d8994b3ced230db695470176
Author: Antony Kurniawan Soemardi <linux@smankusors.com>

dt-bindings: mfd: syscon: add qcom,msm8960-sps-sic

This commit adds the compatible string for the Smart Peripheral System (SPS)
Interrupt Controller (SIC) on the Qualcomm MSM8960 SoC to the syscon
dt-bindings.

> dt-bindings: mfd: syscon: add qcom,msm8960-sps-sic

[Severity: Low]
This isn't a bug, but the description after the subsystem prefix is lowercase.
Could "add" be capitalized to "Add" to align with the MFD subsystem commit
message conventions?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260803-msm8960-wifi-v4-0-5ffa27aea39d@smankusors.com?part=1

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 7/7] ARM: dts: qcom: msm8960: huashan: enable Wi-Fi and Bluetooth
  2026-08-02 19:03 ` [PATCH v4 7/7] ARM: dts: qcom: msm8960: huashan: enable Wi-Fi and Bluetooth Antony Kurniawan Soemardi via B4 Relay
@ 2026-08-02 19:10   ` sashiko-bot
  0 siblings, 0 replies; 15+ messages in thread
From: sashiko-bot @ 2026-08-02 19:10 UTC (permalink / raw)
  To: Antony Kurniawan Soemardi; +Cc: conor+dt, robh, mfd, lee, devicetree

> From: Antony Kurniawan Soemardi <linux@smankusors.com>
> 
> Add Wi-Fi and Bluetooth support for Sony Xperia SP.
> 
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260803-msm8960-wifi-v4-0-5ffa27aea39d@smankusors.com?part=7


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 6/7] ARM: dts: qcom: msm8960: add Riva
  2026-08-02 19:03 ` [PATCH v4 6/7] ARM: dts: qcom: msm8960: add Riva Antony Kurniawan Soemardi via B4 Relay
@ 2026-08-02 19:14   ` sashiko-bot
  0 siblings, 0 replies; 15+ messages in thread
From: sashiko-bot @ 2026-08-02 19:14 UTC (permalink / raw)
  To: Antony Kurniawan Soemardi; +Cc: robh, conor+dt, lee, mfd, devicetree

> From: Antony Kurniawan Soemardi <linux@smankusors.com>
> 
> Add the Riva Peripheral Image Loader node to support the Wireless
> Connectivity and Networking Subsystem on MSM8960. This includes:
> 
> - Reserved memory region for WCNSS firmware
> - WCN3660 iris radio controller
> - Bluetooth and Wi-Fi sub-devices exposed via the SMD edge
> - Pinctrl states for Bluetooth and Wi-Fi power management
> 
> Tested-by: Rudraksha Gupta <guptarud@gmail.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260803-msm8960-wifi-v4-0-5ffa27aea39d@smankusors.com?part=6


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 5/7] ARM: dts: qcom: msm8960: add SMSM & SPS
  2026-08-02 19:03 ` [PATCH v4 5/7] ARM: dts: qcom: msm8960: add SMSM & SPS Antony Kurniawan Soemardi via B4 Relay
@ 2026-08-02 19:14   ` sashiko-bot
  0 siblings, 0 replies; 15+ messages in thread
From: sashiko-bot @ 2026-08-02 19:14 UTC (permalink / raw)
  To: Antony Kurniawan Soemardi; +Cc: robh, devicetree, mfd, conor+dt, lee

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The `sps_sic_non_secure` node is named `interrupt-controller@12100000` but lacks the required `interrupt-controller;` and `#interrupt-cells` properties, which will trigger a dtbs_check warning.
--

--- Patch [5]: [PATCH v4 5/7] ARM: dts: qcom: msm8960: add SMSM & SPS ---
commit b1991478faae0d83b35d683654faa3614f645d90
Author: Antony Kurniawan Soemardi <linux@smankusors.com>

ARM: dts: qcom: msm8960: add SMSM & SPS

This commit adds the Shared Memory State Machine (SMSM) node to coordinate
state transitions between the Applications processor and the Riva subsystem.
It also introduces the SPS SIC non-secure node as a syscon.

> diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
> index 9389b6358d8d2..0088381d77ea0 100644
> --- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
> +++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi

[ ... ]

> @@ -458,6 +483,11 @@ clock-controller@4000000 {
>  				      "hdmipll";
>  		};
>  
> +		sps_sic_non_secure: interrupt-controller@12100000 {
> +			compatible = "qcom,msm8960-sps-sic", "syscon";
> +			reg = <0x12100000 0x10000>;
> +		};

[Severity: Low]
Would it be better to name this node syscon@12100000 or
system-controller@12100000?

Because it is named interrupt-controller, dtbs_check will emit a warning since
the schema mandates that nodes with this name must include the
interrupt-controller; and #interrupt-cells properties, which are not present
here.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260803-msm8960-wifi-v4-0-5ffa27aea39d@smankusors.com?part=5

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 2/7] ARM: dts: qcom: msm8960: add RPM clock controller and fix USB clocks
  2026-08-02 19:03 ` [PATCH v4 2/7] ARM: dts: qcom: msm8960: add RPM clock controller and fix USB clocks Antony Kurniawan Soemardi via B4 Relay
@ 2026-08-02 19:21   ` sashiko-bot
  0 siblings, 0 replies; 15+ messages in thread
From: sashiko-bot @ 2026-08-02 19:21 UTC (permalink / raw)
  To: Antony Kurniawan Soemardi; +Cc: conor+dt, mfd, robh, devicetree, lee

> From: Antony Kurniawan Soemardi <linux@smankusors.com>
> 
> The RPM clock controller manages clocks shared between the application
> processor and the RPM firmware, including fabric and bus clocks required
> by several peripherals.
> 
> With the RPM clock controller now available in the device tree, the USB
> controller must explicitly declare its dependency on
> RPM_DAYTONA_FABRIC_CLK. Without this declaration, the clock framework
> would consider it unused and disable it, breaking USB functionality.
> 
> This also corrects the previous misuse of USB_HS1_XCVR_CLK as the core
> clock. The XCVR clock is in fact used for PHY/reset handling rather than
> as the main core clock.
> 
> A similar issue has been observed on APQ8064, where missing the RPM
> fabric clock dependency leads to broken USB.
> 
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260803-msm8960-wifi-v4-0-5ffa27aea39d@smankusors.com?part=2


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 3/7] ARM: dts: qcom: msm8960: add SCM
  2026-08-02 19:03 ` [PATCH v4 3/7] ARM: dts: qcom: msm8960: add SCM Antony Kurniawan Soemardi via B4 Relay
@ 2026-08-02 19:22   ` sashiko-bot
  0 siblings, 0 replies; 15+ messages in thread
From: sashiko-bot @ 2026-08-02 19:22 UTC (permalink / raw)
  To: Antony Kurniawan Soemardi; +Cc: conor+dt, mfd, robh, devicetree, lee

> From: Antony Kurniawan Soemardi <linux@smankusors.com>
> 
> Add the Secure Channel Manager firmware device node to the MSM8960
> device tree. The SCM is required for secure communication between the
> application processor and other subsystems.
> 
> Tested-by: Rudraksha Gupta <guptarud@gmail.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Signed-off-by: Antony Kurniawan Soemardi <linux@smankusors.com>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260803-msm8960-wifi-v4-0-5ffa27aea39d@smankusors.com?part=3


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2026-08-02 19:22 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-02 19:03 [PATCH v4 0/7] ARM: qcom: msm8960: enable WCNSS (Bluetooth & Wi-Fi) Antony Kurniawan Soemardi via B4 Relay
2026-08-02 19:03 ` [PATCH v4 1/7] dt-bindings: mfd: syscon: add qcom,msm8960-sps-sic Antony Kurniawan Soemardi via B4 Relay
2026-08-02 19:09   ` sashiko-bot
2026-08-02 19:03 ` [PATCH v4 2/7] ARM: dts: qcom: msm8960: add RPM clock controller and fix USB clocks Antony Kurniawan Soemardi via B4 Relay
2026-08-02 19:21   ` sashiko-bot
2026-08-02 19:03 ` [PATCH v4 3/7] ARM: dts: qcom: msm8960: add SCM Antony Kurniawan Soemardi via B4 Relay
2026-08-02 19:22   ` sashiko-bot
2026-08-02 19:03 ` [PATCH v4 4/7] ARM: dts: qcom: msm8960: add SMEM & hwlock Antony Kurniawan Soemardi via B4 Relay
2026-08-02 19:08   ` sashiko-bot
2026-08-02 19:03 ` [PATCH v4 5/7] ARM: dts: qcom: msm8960: add SMSM & SPS Antony Kurniawan Soemardi via B4 Relay
2026-08-02 19:14   ` sashiko-bot
2026-08-02 19:03 ` [PATCH v4 6/7] ARM: dts: qcom: msm8960: add Riva Antony Kurniawan Soemardi via B4 Relay
2026-08-02 19:14   ` sashiko-bot
2026-08-02 19:03 ` [PATCH v4 7/7] ARM: dts: qcom: msm8960: huashan: enable Wi-Fi and Bluetooth Antony Kurniawan Soemardi via B4 Relay
2026-08-02 19:10   ` sashiko-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).