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