[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251029-ath11k-qcn6122-v1-1-58ed68eba333@outlook.com>
Date: Wed, 29 Oct 2025 18:26:22 +0400
From: George Moussalem via B4 Relay <devnull+george.moussalem.outlook.com@...nel.org>
To: Johannes Berg <johannes@...solutions.net>, 
 Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>, 
 Conor Dooley <conor+dt@...nel.org>, Jeff Johnson <jjohnson@...nel.org>
Cc: linux-wireless@...r.kernel.org, devicetree@...r.kernel.org, 
 ath11k@...ts.infradead.org, linux-kernel@...r.kernel.org, 
 George Moussalem <george.moussalem@...look.com>
Subject: [PATCH 1/6] dt: bindings: net: add bindings for QCN6122
From: George Moussalem <george.moussalem@...look.com>
QCN6122 is a PCIe based solution that is attached to and enumerated
by the WPSS (Wireless Processor SubSystem) Q6 processor.
Though it is a PCIe device, since it is not attached to APSS processor
(Application Processor SubSystem), APSS will be unaware of such a decice
so it is registered to the APSS processor as a platform device(AHB).
Because of this hybrid nature, it is called as a hybrid bus device as
introduced by WCN6750. It has 5 CE and 8 DP rings.
QCN6122 is similar to WCN6750 and follows the same codepath as for
WCN6750.
Signed-off-by: George Moussalem <george.moussalem@...look.com>
---
 .../bindings/net/wireless/qcom,ath11k.yaml         | 57 +++++++++++++++++++++-
 1 file changed, 56 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
index c089677702cf17f3016b054d21494d2a7706ce5d..4b0b282bb9231c8bc496fed42e0917b9d7d106d2 100644
--- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
+++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
@@ -21,12 +21,13 @@ properties:
       - qcom,ipq6018-wifi
       - qcom,wcn6750-wifi
       - qcom,ipq5018-wifi
+      - qcom,qcn6122-wifi
 
   reg:
     maxItems: 1
 
   interrupts:
-    minItems: 32
+    minItems: 13
     maxItems: 52
 
   interrupt-names:
@@ -87,6 +88,14 @@ properties:
     items:
       - const: wlan-smp2p-out
 
+  qcom,userpd:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [2, 3]
+    description: instance ID of user PD (protection domain) in multi-PD
+                 architectures to distinguish between multiple instances
+                 of the same wifi chip used by QMI in its interface with
+                 the firmware running on Q6.
+
 required:
   - compatible
   - reg
@@ -268,6 +277,31 @@ allOf:
             - description: interrupt event for ring DP20
             - description: interrupt event for ring DP21
             - description: interrupt event for ring DP22
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,qcn6122-wifi
+    then:
+      required:
+        - qcom,userpd
+      properties:
+        interrupts:
+          items:
+            - description: interrupt event for ring CE1
+            - description: interrupt event for ring CE2
+            - description: interrupt event for ring CE3
+            - description: interrupt event for ring CE4
+            - description: interrupt event for ring CE5
+            - description: interrupt event for ring DP1
+            - description: interrupt event for ring DP2
+            - description: interrupt event for ring DP3
+            - description: interrupt event for ring DP4
+            - description: interrupt event for ring DP5
+            - description: interrupt event for ring DP6
+            - description: interrupt event for ring DP7
+            - description: interrupt event for ring DP8
 
 examples:
   - |
@@ -467,3 +501,24 @@ examples:
             iommus = <&apps_smmu 0x1c02 0x1>;
         };
     };
+
+  - |
+    wifi1: wifi@...a040 {
+        reg = <0x0b00a040 0x0>;
+        compatible = "qcom,qcn6122-wifi";
+        interrupts = <GIC_SPI 416 IRQ_TYPE_EDGE_RISING>,
+                     <GIC_SPI 417 IRQ_TYPE_EDGE_RISING>,
+                     <GIC_SPI 418 IRQ_TYPE_EDGE_RISING>,
+                     <GIC_SPI 419 IRQ_TYPE_EDGE_RISING>,
+                     <GIC_SPI 420 IRQ_TYPE_EDGE_RISING>,
+                     <GIC_SPI 421 IRQ_TYPE_EDGE_RISING>,
+                     <GIC_SPI 422 IRQ_TYPE_EDGE_RISING>,
+                     <GIC_SPI 423 IRQ_TYPE_EDGE_RISING>,
+                     <GIC_SPI 424 IRQ_TYPE_EDGE_RISING>,
+                     <GIC_SPI 425 IRQ_TYPE_EDGE_RISING>,
+                     <GIC_SPI 426 IRQ_TYPE_EDGE_RISING>,
+                     <GIC_SPI 427 IRQ_TYPE_EDGE_RISING>,
+                     <GIC_SPI 428 IRQ_TYPE_EDGE_RISING>;
+        qcom,rproc = <&q6v5_wcss_pd2>;
+        qcom,userpd = <2>;
+    };
-- 
2.51.1
Powered by blists - more mailing lists
 
