Skip to content

Commit

Permalink
Merge tag 'ath-next-20250114' of git://git.kernel.org/pub/scm/linux/k…
Browse files Browse the repository at this point in the history
…ernel/git/ath/ath

ath.git patches for v6.14

This development cycle again featured multiple patchsets to ath12k to
support the new 802.11be MLO feature, this time including the device
grouping infrastructure, and the advertisement of MLO support to the
wireless core. However the MLO feature is still considered to be
incomplete.

In addition, there was the usual set of bug fixes and cleanups, mostly
in ath12k, but also in ath9k.
  • Loading branch information
Kalle Valo committed Jan 15, 2025
2 parents 208dea9 + 336097d commit 89d62bc
Show file tree
Hide file tree
Showing 33 changed files with 2,723 additions and 547 deletions.
204 changes: 204 additions & 0 deletions Documentation/devicetree/bindings/net/wireless/qcom,ath12k-wsi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/wireless/qcom,ath12k-wsi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Technologies ath12k wireless devices (PCIe) with WSI interface

maintainers:
- Jeff Johnson <jjohnson@kernel.org>
- Kalle Valo <kvalo@kernel.org>

description: |
Qualcomm Technologies IEEE 802.11be PCIe devices with WSI interface.
The ath12k devices (QCN9274) feature WSI support. WSI stands for
WLAN Serial Interface. It is used for the exchange of specific
control information across radios based on the doorbell mechanism.
This WSI connection is essential to exchange control information
among these devices.
The WSI interface includes TX and RX ports, which are used to connect
multiple WSI-supported devices together, forming a WSI group.
Diagram to represent one WSI connection (one WSI group) among
three devices.
+-------+ +-------+ +-------+
| pcie1 | | pcie2 | | pcie3 |
| | | | | |
+----->| wsi |------->| wsi |------->| wsi |-----+
| | grp 0 | | grp 0 | | grp 0 | |
| +-------+ +-------+ +-------+ |
+------------------------------------------------------+
Diagram to represent two WSI connections (two separate WSI groups)
among four devices.
+-------+ +-------+ +-------+ +-------+
| pcie0 | | pcie1 | | pcie2 | | pcie3 |
| | | | | | | |
+-->| wsi |--->| wsi |--+ +-->| wsi |--->| wsi |--+
| | grp 0 | | grp 0 | | | | grp 1 | | grp 1 | |
| +-------+ +-------+ | | +-------+ +-------+ |
+---------------------------+ +---------------------------+
properties:
compatible:
enum:
- pci17cb,1109 # QCN9274

reg:
maxItems: 1

qcom,ath12k-calibration-variant:
$ref: /schemas/types.yaml#/definitions/string
description:
String to uniquely identify variant of the calibration data for designs
with colliding bus and device ids

qcom,wsi-controller:
$ref: /schemas/types.yaml#/definitions/flag
description:
The WSI controller device in the WSI group aids (is capable) to
synchronize the Timing Synchronization Function (TSF) clock across
all devices in the WSI group.

ports:
$ref: /schemas/graph.yaml#/properties/ports
properties:
port@0:
$ref: /schemas/graph.yaml#/properties/port
description:
This is the TX port of WSI interface. It is attached to the RX
port of the next device in the WSI connection.

port@1:
$ref: /schemas/graph.yaml#/properties/port
description:
This is the RX port of WSI interface. It is attached to the TX
port of the previous device in the WSI connection.

required:
- compatible
- reg

additionalProperties: false

examples:
- |
pcie {
#address-cells = <3>;
#size-cells = <2>;
pcie@0 {
device_type = "pci";
reg = <0x0 0x0 0x0 0x0 0x0>;
#address-cells = <3>;
#size-cells = <2>;
ranges;
wifi@0 {
compatible = "pci17cb,1109";
reg = <0x0 0x0 0x0 0x0 0x0>;
qcom,ath12k-calibration-variant = "RDP433_1";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
wifi1_wsi_tx: endpoint {
remote-endpoint = <&wifi2_wsi_rx>;
};
};
port@1 {
reg = <1>;
wifi1_wsi_rx: endpoint {
remote-endpoint = <&wifi3_wsi_tx>;
};
};
};
};
};
pcie@1 {
device_type = "pci";
reg = <0x0 0x0 0x1 0x0 0x0>;
#address-cells = <3>;
#size-cells = <2>;
ranges;
wifi@0 {
compatible = "pci17cb,1109";
reg = <0x0 0x0 0x0 0x0 0x0>;
qcom,ath12k-calibration-variant = "RDP433_2";
qcom,wsi-controller;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
wifi2_wsi_tx: endpoint {
remote-endpoint = <&wifi3_wsi_rx>;
};
};
port@1 {
reg = <1>;
wifi2_wsi_rx: endpoint {
remote-endpoint = <&wifi1_wsi_tx>;
};
};
};
};
};
pcie@2 {
device_type = "pci";
reg = <0x0 0x0 0x2 0x0 0x0>;
#address-cells = <3>;
#size-cells = <2>;
ranges;
wifi@0 {
compatible = "pci17cb,1109";
reg = <0x0 0x0 0x0 0x0 0x0>;
qcom,ath12k-calibration-variant = "RDP433_3";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
wifi3_wsi_tx: endpoint {
remote-endpoint = <&wifi1_wsi_rx>;
};
};
port@1 {
reg = <1>;
wifi3_wsi_rx: endpoint {
remote-endpoint = <&wifi2_wsi_tx>;
};
};
};
};
};
};
Loading

0 comments on commit 89d62bc

Please sign in to comment.