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,ath12k-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,wsi-controller: 62 $ref: /schemas/types.yaml#/definitions/flag 63 description: 64 The WSI controller device in the WSI group aids (is capable) to 65 synchronize the Timing Synchronization Function (TSF) clock across 66 all devices in the WSI group. 67 68 ports: 69 $ref: /schemas/graph.yaml#/properties/ports 70 properties: 71 port@0: 72 $ref: /schemas/graph.yaml#/properties/port 73 description: 74 This is the TX port of WSI interface. It is attached to the RX 75 port of the next device in the WSI connection. 76 77 port@1: 78 $ref: /schemas/graph.yaml#/properties/port 79 description: 80 This is the RX port of WSI interface. It is attached to the TX 81 port of the previous device in the WSI connection. 82 83required: 84 - compatible 85 - reg 86 87additionalProperties: false 88 89examples: 90 - | 91 pcie { 92 #address-cells = <3>; 93 #size-cells = <2>; 94 95 pcie@0 { 96 device_type = "pci"; 97 reg = <0x0 0x0 0x0 0x0 0x0>; 98 #address-cells = <3>; 99 #size-cells = <2>; 100 ranges; 101 102 wifi@0 { 103 compatible = "pci17cb,1109"; 104 reg = <0x0 0x0 0x0 0x0 0x0>; 105 106 qcom,ath12k-calibration-variant = "RDP433_1"; 107 108 ports { 109 #address-cells = <1>; 110 #size-cells = <0>; 111 112 port@0 { 113 reg = <0>; 114 115 wifi1_wsi_tx: endpoint { 116 remote-endpoint = <&wifi2_wsi_rx>; 117 }; 118 }; 119 120 port@1 { 121 reg = <1>; 122 123 wifi1_wsi_rx: endpoint { 124 remote-endpoint = <&wifi3_wsi_tx>; 125 }; 126 }; 127 }; 128 }; 129 }; 130 131 pcie@1 { 132 device_type = "pci"; 133 reg = <0x0 0x0 0x1 0x0 0x0>; 134 #address-cells = <3>; 135 #size-cells = <2>; 136 ranges; 137 138 wifi@0 { 139 compatible = "pci17cb,1109"; 140 reg = <0x0 0x0 0x0 0x0 0x0>; 141 142 qcom,ath12k-calibration-variant = "RDP433_2"; 143 qcom,wsi-controller; 144 145 ports { 146 #address-cells = <1>; 147 #size-cells = <0>; 148 149 port@0 { 150 reg = <0>; 151 152 wifi2_wsi_tx: endpoint { 153 remote-endpoint = <&wifi3_wsi_rx>; 154 }; 155 }; 156 157 port@1 { 158 reg = <1>; 159 160 wifi2_wsi_rx: endpoint { 161 remote-endpoint = <&wifi1_wsi_tx>; 162 }; 163 }; 164 }; 165 }; 166 }; 167 168 pcie@2 { 169 device_type = "pci"; 170 reg = <0x0 0x0 0x2 0x0 0x0>; 171 #address-cells = <3>; 172 #size-cells = <2>; 173 ranges; 174 175 wifi@0 { 176 compatible = "pci17cb,1109"; 177 reg = <0x0 0x0 0x0 0x0 0x0>; 178 179 qcom,ath12k-calibration-variant = "RDP433_3"; 180 181 ports { 182 #address-cells = <1>; 183 #size-cells = <0>; 184 185 port@0 { 186 reg = <0>; 187 188 wifi3_wsi_tx: endpoint { 189 remote-endpoint = <&wifi1_wsi_rx>; 190 }; 191 }; 192 193 port@1 { 194 reg = <1>; 195 196 wifi3_wsi_rx: endpoint { 197 remote-endpoint = <&wifi2_wsi_tx>; 198 }; 199 }; 200 }; 201 }; 202 }; 203 }; 204