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