xref: /linux/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-wsi.yaml (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1f86e09fdSRaj Kumar Bhagat# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2f86e09fdSRaj Kumar Bhagat# Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
3f86e09fdSRaj Kumar Bhagat%YAML 1.2
4f86e09fdSRaj Kumar Bhagat---
5f86e09fdSRaj Kumar Bhagat$id: http://devicetree.org/schemas/net/wireless/qcom,ath12k-wsi.yaml#
6f86e09fdSRaj Kumar Bhagat$schema: http://devicetree.org/meta-schemas/core.yaml#
7f86e09fdSRaj Kumar Bhagat
8f86e09fdSRaj Kumar Bhagattitle: Qualcomm Technologies ath12k wireless devices (PCIe) with WSI interface
9f86e09fdSRaj Kumar Bhagat
10f86e09fdSRaj Kumar Bhagatmaintainers:
11f86e09fdSRaj Kumar Bhagat  - Jeff Johnson <jjohnson@kernel.org>
12f86e09fdSRaj Kumar Bhagat
13f86e09fdSRaj Kumar Bhagatdescription: |
14f86e09fdSRaj Kumar Bhagat  Qualcomm Technologies IEEE 802.11be PCIe devices with WSI interface.
15f86e09fdSRaj Kumar Bhagat
16f86e09fdSRaj Kumar Bhagat  The ath12k devices (QCN9274) feature WSI support. WSI stands for
17f86e09fdSRaj Kumar Bhagat  WLAN Serial Interface. It is used for the exchange of specific
18f86e09fdSRaj Kumar Bhagat  control information across radios based on the doorbell mechanism.
19f86e09fdSRaj Kumar Bhagat  This WSI connection is essential to exchange control information
20f86e09fdSRaj Kumar Bhagat  among these devices.
21f86e09fdSRaj Kumar Bhagat
22f86e09fdSRaj Kumar Bhagat  The WSI interface includes TX and RX ports, which are used to connect
23f86e09fdSRaj Kumar Bhagat  multiple WSI-supported devices together, forming a WSI group.
24f86e09fdSRaj Kumar Bhagat
25f86e09fdSRaj Kumar Bhagat  Diagram to represent one WSI connection (one WSI group) among
26f86e09fdSRaj Kumar Bhagat  three devices.
27f86e09fdSRaj Kumar Bhagat
28f86e09fdSRaj Kumar Bhagat           +-------+        +-------+        +-------+
29f86e09fdSRaj Kumar Bhagat           | pcie1 |        | pcie2 |        | pcie3 |
30f86e09fdSRaj Kumar Bhagat           |       |        |       |        |       |
31f86e09fdSRaj Kumar Bhagat    +----->|  wsi  |------->|  wsi  |------->|  wsi  |-----+
32f86e09fdSRaj Kumar Bhagat    |      | grp 0 |        | grp 0 |        | grp 0 |     |
33f86e09fdSRaj Kumar Bhagat    |      +-------+        +-------+        +-------+     |
34f86e09fdSRaj Kumar Bhagat    +------------------------------------------------------+
35f86e09fdSRaj Kumar Bhagat
36f86e09fdSRaj Kumar Bhagat  Diagram to represent two WSI connections (two separate WSI groups)
37f86e09fdSRaj Kumar Bhagat  among four devices.
38f86e09fdSRaj Kumar Bhagat
39f86e09fdSRaj Kumar Bhagat       +-------+    +-------+          +-------+    +-------+
40f86e09fdSRaj Kumar Bhagat       | pcie0 |    | pcie1 |          | pcie2 |    | pcie3 |
41f86e09fdSRaj Kumar Bhagat       |       |    |       |          |       |    |       |
42f86e09fdSRaj Kumar Bhagat   +-->|  wsi  |--->|  wsi  |--+   +-->|  wsi  |--->|  wsi  |--+
43f86e09fdSRaj Kumar Bhagat   |   | grp 0 |    | grp 0 |  |   |   | grp 1 |    | grp 1 |  |
44f86e09fdSRaj Kumar Bhagat   |   +-------+    +-------+  |   |   +-------+    +-------+  |
45f86e09fdSRaj Kumar Bhagat   +---------------------------+   +---------------------------+
46f86e09fdSRaj Kumar Bhagat
47f86e09fdSRaj Kumar Bhagatproperties:
48f86e09fdSRaj Kumar Bhagat  compatible:
49f86e09fdSRaj Kumar Bhagat    enum:
50f86e09fdSRaj Kumar Bhagat      - pci17cb,1109  # QCN9274
51f86e09fdSRaj Kumar Bhagat
52f86e09fdSRaj Kumar Bhagat  reg:
53f86e09fdSRaj Kumar Bhagat    maxItems: 1
54f86e09fdSRaj Kumar Bhagat
55*64e37c19SKrzysztof Kozlowski  qcom,calibration-variant:
56*64e37c19SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/string
57*64e37c19SKrzysztof Kozlowski    description:
58*64e37c19SKrzysztof Kozlowski      String to uniquely identify variant of the calibration data for designs
59*64e37c19SKrzysztof Kozlowski      with colliding bus and device ids
60*64e37c19SKrzysztof Kozlowski
61f86e09fdSRaj Kumar Bhagat  qcom,ath12k-calibration-variant:
62f86e09fdSRaj Kumar Bhagat    $ref: /schemas/types.yaml#/definitions/string
63*64e37c19SKrzysztof Kozlowski    deprecated: true
64f86e09fdSRaj Kumar Bhagat    description:
65f86e09fdSRaj Kumar Bhagat      String to uniquely identify variant of the calibration data for designs
66f86e09fdSRaj Kumar Bhagat      with colliding bus and device ids
67f86e09fdSRaj Kumar Bhagat
68f86e09fdSRaj Kumar Bhagat  qcom,wsi-controller:
69f86e09fdSRaj Kumar Bhagat    $ref: /schemas/types.yaml#/definitions/flag
70f86e09fdSRaj Kumar Bhagat    description:
71f86e09fdSRaj Kumar Bhagat      The WSI controller device in the WSI group aids (is capable) to
72f86e09fdSRaj Kumar Bhagat      synchronize the Timing Synchronization Function (TSF) clock across
73f86e09fdSRaj Kumar Bhagat      all devices in the WSI group.
74f86e09fdSRaj Kumar Bhagat
75f86e09fdSRaj Kumar Bhagat  ports:
76f86e09fdSRaj Kumar Bhagat    $ref: /schemas/graph.yaml#/properties/ports
77f86e09fdSRaj Kumar Bhagat    properties:
78f86e09fdSRaj Kumar Bhagat      port@0:
79f86e09fdSRaj Kumar Bhagat        $ref: /schemas/graph.yaml#/properties/port
80f86e09fdSRaj Kumar Bhagat        description:
81f86e09fdSRaj Kumar Bhagat          This is the TX port of WSI interface. It is attached to the RX
82f86e09fdSRaj Kumar Bhagat          port of the next device in the WSI connection.
83f86e09fdSRaj Kumar Bhagat
84f86e09fdSRaj Kumar Bhagat      port@1:
85f86e09fdSRaj Kumar Bhagat        $ref: /schemas/graph.yaml#/properties/port
86f86e09fdSRaj Kumar Bhagat        description:
87f86e09fdSRaj Kumar Bhagat          This is the RX port of WSI interface. It is attached to the TX
88f86e09fdSRaj Kumar Bhagat          port of the previous device in the WSI connection.
89f86e09fdSRaj Kumar Bhagat
90f86e09fdSRaj Kumar Bhagatrequired:
91f86e09fdSRaj Kumar Bhagat  - compatible
92f86e09fdSRaj Kumar Bhagat  - reg
93f86e09fdSRaj Kumar Bhagat
94f86e09fdSRaj Kumar BhagatadditionalProperties: false
95f86e09fdSRaj Kumar Bhagat
96f86e09fdSRaj Kumar Bhagatexamples:
97f86e09fdSRaj Kumar Bhagat  - |
98f86e09fdSRaj Kumar Bhagat    pcie {
99f86e09fdSRaj Kumar Bhagat        #address-cells = <3>;
100f86e09fdSRaj Kumar Bhagat        #size-cells = <2>;
101f86e09fdSRaj Kumar Bhagat
102f86e09fdSRaj Kumar Bhagat        pcie@0 {
103f86e09fdSRaj Kumar Bhagat            device_type = "pci";
104f86e09fdSRaj Kumar Bhagat            reg = <0x0 0x0 0x0 0x0 0x0>;
105f86e09fdSRaj Kumar Bhagat            #address-cells = <3>;
106f86e09fdSRaj Kumar Bhagat            #size-cells = <2>;
107f86e09fdSRaj Kumar Bhagat            ranges;
108f86e09fdSRaj Kumar Bhagat
109f86e09fdSRaj Kumar Bhagat            wifi@0 {
110f86e09fdSRaj Kumar Bhagat                compatible = "pci17cb,1109";
111f86e09fdSRaj Kumar Bhagat                reg = <0x0 0x0 0x0 0x0 0x0>;
112f86e09fdSRaj Kumar Bhagat
113*64e37c19SKrzysztof Kozlowski                qcom,calibration-variant = "RDP433_1";
114f86e09fdSRaj Kumar Bhagat
115f86e09fdSRaj Kumar Bhagat                ports {
116f86e09fdSRaj Kumar Bhagat                    #address-cells = <1>;
117f86e09fdSRaj Kumar Bhagat                    #size-cells = <0>;
118f86e09fdSRaj Kumar Bhagat
119f86e09fdSRaj Kumar Bhagat                    port@0 {
120f86e09fdSRaj Kumar Bhagat                        reg = <0>;
121f86e09fdSRaj Kumar Bhagat
122f86e09fdSRaj Kumar Bhagat                        wifi1_wsi_tx: endpoint {
123f86e09fdSRaj Kumar Bhagat                            remote-endpoint = <&wifi2_wsi_rx>;
124f86e09fdSRaj Kumar Bhagat                        };
125f86e09fdSRaj Kumar Bhagat                    };
126f86e09fdSRaj Kumar Bhagat
127f86e09fdSRaj Kumar Bhagat                    port@1 {
128f86e09fdSRaj Kumar Bhagat                        reg = <1>;
129f86e09fdSRaj Kumar Bhagat
130f86e09fdSRaj Kumar Bhagat                        wifi1_wsi_rx: endpoint {
131f86e09fdSRaj Kumar Bhagat                            remote-endpoint = <&wifi3_wsi_tx>;
132f86e09fdSRaj Kumar Bhagat                        };
133f86e09fdSRaj Kumar Bhagat                    };
134f86e09fdSRaj Kumar Bhagat                };
135f86e09fdSRaj Kumar Bhagat            };
136f86e09fdSRaj Kumar Bhagat        };
137f86e09fdSRaj Kumar Bhagat
138f86e09fdSRaj Kumar Bhagat        pcie@1 {
139f86e09fdSRaj Kumar Bhagat            device_type = "pci";
140f86e09fdSRaj Kumar Bhagat            reg = <0x0 0x0 0x1 0x0 0x0>;
141f86e09fdSRaj Kumar Bhagat            #address-cells = <3>;
142f86e09fdSRaj Kumar Bhagat            #size-cells = <2>;
143f86e09fdSRaj Kumar Bhagat            ranges;
144f86e09fdSRaj Kumar Bhagat
145f86e09fdSRaj Kumar Bhagat            wifi@0 {
146f86e09fdSRaj Kumar Bhagat                compatible = "pci17cb,1109";
147f86e09fdSRaj Kumar Bhagat                reg = <0x0 0x0 0x0 0x0 0x0>;
148f86e09fdSRaj Kumar Bhagat
149*64e37c19SKrzysztof Kozlowski                qcom,calibration-variant = "RDP433_2";
150f86e09fdSRaj Kumar Bhagat                qcom,wsi-controller;
151f86e09fdSRaj Kumar Bhagat
152f86e09fdSRaj Kumar Bhagat                ports {
153f86e09fdSRaj Kumar Bhagat                    #address-cells = <1>;
154f86e09fdSRaj Kumar Bhagat                    #size-cells = <0>;
155f86e09fdSRaj Kumar Bhagat
156f86e09fdSRaj Kumar Bhagat                    port@0 {
157f86e09fdSRaj Kumar Bhagat                        reg = <0>;
158f86e09fdSRaj Kumar Bhagat
159f86e09fdSRaj Kumar Bhagat                        wifi2_wsi_tx: endpoint {
160f86e09fdSRaj Kumar Bhagat                            remote-endpoint = <&wifi3_wsi_rx>;
161f86e09fdSRaj Kumar Bhagat                        };
162f86e09fdSRaj Kumar Bhagat                    };
163f86e09fdSRaj Kumar Bhagat
164f86e09fdSRaj Kumar Bhagat                    port@1 {
165f86e09fdSRaj Kumar Bhagat                        reg = <1>;
166f86e09fdSRaj Kumar Bhagat
167f86e09fdSRaj Kumar Bhagat                        wifi2_wsi_rx: endpoint {
168f86e09fdSRaj Kumar Bhagat                            remote-endpoint = <&wifi1_wsi_tx>;
169f86e09fdSRaj Kumar Bhagat                        };
170f86e09fdSRaj Kumar Bhagat                    };
171f86e09fdSRaj Kumar Bhagat                };
172f86e09fdSRaj Kumar Bhagat            };
173f86e09fdSRaj Kumar Bhagat        };
174f86e09fdSRaj Kumar Bhagat
175f86e09fdSRaj Kumar Bhagat        pcie@2 {
176f86e09fdSRaj Kumar Bhagat            device_type = "pci";
177f86e09fdSRaj Kumar Bhagat            reg = <0x0 0x0 0x2 0x0 0x0>;
178f86e09fdSRaj Kumar Bhagat            #address-cells = <3>;
179f86e09fdSRaj Kumar Bhagat            #size-cells = <2>;
180f86e09fdSRaj Kumar Bhagat            ranges;
181f86e09fdSRaj Kumar Bhagat
182f86e09fdSRaj Kumar Bhagat            wifi@0 {
183f86e09fdSRaj Kumar Bhagat                compatible = "pci17cb,1109";
184f86e09fdSRaj Kumar Bhagat                reg = <0x0 0x0 0x0 0x0 0x0>;
185f86e09fdSRaj Kumar Bhagat
186*64e37c19SKrzysztof Kozlowski                qcom,calibration-variant = "RDP433_3";
187f86e09fdSRaj Kumar Bhagat
188f86e09fdSRaj Kumar Bhagat                ports {
189f86e09fdSRaj Kumar Bhagat                    #address-cells = <1>;
190f86e09fdSRaj Kumar Bhagat                    #size-cells = <0>;
191f86e09fdSRaj Kumar Bhagat
192f86e09fdSRaj Kumar Bhagat                    port@0 {
193f86e09fdSRaj Kumar Bhagat                        reg = <0>;
194f86e09fdSRaj Kumar Bhagat
195f86e09fdSRaj Kumar Bhagat                        wifi3_wsi_tx: endpoint {
196f86e09fdSRaj Kumar Bhagat                            remote-endpoint = <&wifi1_wsi_rx>;
197f86e09fdSRaj Kumar Bhagat                        };
198f86e09fdSRaj Kumar Bhagat                    };
199f86e09fdSRaj Kumar Bhagat
200f86e09fdSRaj Kumar Bhagat                    port@1 {
201f86e09fdSRaj Kumar Bhagat                        reg = <1>;
202f86e09fdSRaj Kumar Bhagat
203f86e09fdSRaj Kumar Bhagat                        wifi3_wsi_rx: endpoint {
204f86e09fdSRaj Kumar Bhagat                            remote-endpoint = <&wifi2_wsi_tx>;
205f86e09fdSRaj Kumar Bhagat                        };
206f86e09fdSRaj Kumar Bhagat                    };
207f86e09fdSRaj Kumar Bhagat                };
208f86e09fdSRaj Kumar Bhagat            };
209f86e09fdSRaj Kumar Bhagat        };
210f86e09fdSRaj Kumar Bhagat    };
211