From: Jeff Johnson <quic_jjohnson@quicinc.com>
To: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com>,
<ath12k@lists.infradead.org>
Cc: <linux-wireless@vger.kernel.org>, Kalle Valo <kvalo@kernel.org>,
"Rob Herring" <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
Jeff Johnson <jjohnson@kernel.org>,
"Bjorn Andersson" <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-arm-msm@vger.kernel.org>
Subject: Re: [RFC PATCH v2 1/5] dt-bindings: net: wireless: ath12k: describe WSI properties for QCN9274
Date: Wed, 30 Oct 2024 12:04:17 -0700 [thread overview]
Message-ID: <4d273cac-8955-4850-bd8a-0bad318c1e4f@quicinc.com> (raw)
In-Reply-To: <20241029173050.2188150-2-quic_rajkbhag@quicinc.com>
On 10/29/2024 10:30 AM, Raj Kumar Bhagat wrote:
> QCN9274 device has 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
>
> Hence, describe WSI interface supported in QCN9274 with the following
> properties:
>
> - qcom,wsi-group-id: It represents the identifier assigned to the WSI
> connection. All the ath12k devices connected to same WSI connection
> have the same wsi-group-id.
>
> - qcom,wsi-master: Indicates if this device is the WSI master.
>
> - ports: This is a graph ports schema that has two ports: TX (port@0)
> and RX (port@1). This represents the actual WSI connection among
> multiple devices.
>
> Also, describe the ath12k device property
> "qcom,ath12k-calibration-variant". This is a common property among
> ath12k devices.
>
> Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com>
> ---
> .../bindings/net/wireless/qcom,ath12k.yaml | 241 +++++++++++++++++-
> 1 file changed, 232 insertions(+), 9 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath12k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath12k.yaml
> index 1b5884015b15..42bcd73dd159 100644
> --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath12k.yaml
> +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath12k.yaml
> @@ -1,5 +1,6 @@
> # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> # Copyright (c) 2024 Linaro Limited
> +# Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
> %YAML 1.2
> ---
> $id: http://devicetree.org/schemas/net/wireless/qcom,ath12k.yaml#
> @@ -18,10 +19,17 @@ properties:
> compatible:
> enum:
> - pci17cb,1107 # WCN7850
> + - 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
> +
> vddaon-supply:
> description: VDD_AON supply regulator handle
>
> @@ -49,21 +57,100 @@ properties:
> vddpcie1p8-supply:
> description: VDD_PCIE_1P8 supply regulator handle
>
> + wsi:
> + type: object
> + description: |
> + 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.
> +
> + Diagram to represent one WSI connection (one WSI group) among
> + three devices.
> +
> + +-------+ +-------+ +-------+
> + | pcie2 | | pcie3 | | pcie1 |
is there a reason to not have these in some order?
> + | | | | | |
> + +----->| wsi |------->| wsi |------->| wsi |-----+
> + | | grp 0 | | grp 0 | | grp 2 | |
s/grp 2/grp 0/??? ^ typo?
> + | +-------+ +-------+ +-------+ |
> + +------------------------------------------------------+
> +
> + Diagram to represent two WSI connections (two separate WSI groups)
> + among four devices.
> +
> + +-------+ +-------+ +-------+ +-------+
> + | pcie2 | | pcie3 | | pcie1 | | pcie0 |
again seems strange to not have any logical (to me) order
> + | | | | | | | |
> + +-->| wsi |--->| wsi |--+ +-->| wsi |--->| wsi |--+
> + | | grp 0 | | grp 0 | | | | grp 1 | | grp 1 | |
> + | +-------+ +-------+ | | +-------+ +-------+ |
> + +---------------------------+ +---------------------------+
> +
> + properties:
> + qcom,wsi-group-id:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + It represents the identifier assigned to the WSI connection. All
> + the ath12k devices connected to same WSI connection have the
> + same wsi-group-id.
> +
> + qcom,wsi-master:
> + type: boolean
> + description:
> + Indicates if this device is the WSI master.
> +
> + ports:
> + $ref: /schemas/graph.yaml#/properties/ports
> + description:
> + These ports are used to connect multiple WSI supported devices to
> + form the WSI group.
> +
> + 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:
> + - qcom,wsi-group-id
> + - ports
> +
> + additionalProperties: false
> +
> required:
> - compatible
> - reg
> - - vddaon-supply
> - - vddwlcx-supply
> - - vddwlmx-supply
> - - vddrfacmn-supply
> - - vddrfa0p8-supply
> - - vddrfa1p2-supply
> - - vddrfa1p8-supply
> - - vddpcie0p9-supply
> - - vddpcie1p8-supply
>
> additionalProperties: false
>
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - pci17cb,1107
> + then:
> + required:
> + - vddaon-supply
> + - vddwlcx-supply
> + - vddwlmx-supply
> + - vddrfacmn-supply
> + - vddrfa0p8-supply
> + - vddrfa1p2-supply
> + - vddrfa1p8-supply
> + - vddpcie0p9-supply
> + - vddpcie1p8-supply
> +
> examples:
> - |
> #include <dt-bindings/clock/qcom,rpmh.h>
> @@ -97,3 +184,139 @@ examples:
> };
> };
> };
> +
> + - |
in the description above you have two different diagrams:
- one that shows 3 pcie* devices in a single group with apparently one port
per device
- one that shows 4 pcie* devices split into two groups of two, again with
apparently one port per device
but in the representation that follows you describe three pcie* devices, each
with two distinct ports, all 6 of which are part of group 0.
can we have diagrams that match the actual bindings. does the real product
actually have 6 ports in one group?
> + pcie1 {
> + #address-cells = <3>;
> + #size-cells = <2>;
> +
> + pcie@0 {
> + device_type = "pci";
> + reg = <0x0 0x0 0x0 0x0 0x0>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> + ranges;
> +
> + wifi1@0 {
> + compatible = "pci17cb,1109";
> + reg = <0x0 0x0 0x0 0x0 0x0>;
> +
> + qcom,ath12k-calibration-variant = "RDP433_1";
> +
> + wsi {
> + qcom,wsi-group-id = <0>;
> +
> + 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>;
> + };
> + };
> + };
> + };
> + };
> + };
> + };
> +
> + pcie2 {
> + #address-cells = <3>;
> + #size-cells = <2>;
> +
> + pcie@0 {
> + device_type = "pci";
> + reg = <0x0 0x0 0x0 0x0 0x0>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> + ranges;
> +
> + wifi2@0 {
> + compatible = "pci17cb,1109";
> + reg = <0x0 0x0 0x0 0x0 0x0>;
> +
> + qcom,ath12k-calibration-variant = "RDP433_2";
> +
> + wsi {
> + qcom,wsi-group-id = <0>;
> +
> + 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>;
> + };
> + };
> + };
> + };
> + };
> + };
> + };
> +
> + pcie3 {
> + #address-cells = <3>;
> + #size-cells = <2>;
> +
> + pcie@0 {
> + device_type = "pci";
> + reg = <0x0 0x0 0x0 0x0 0x0>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> + ranges;
> +
> + wifi3@0 {
> + compatible = "pci17cb,1109";
> + reg = <0x0 0x0 0x0 0x0 0x0>;
> +
> + qcom,ath12k-calibration-variant = "RDP433_3";
> +
> + wsi {
> + qcom,wsi-group-id = <0>;
> +
> + 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>;
> + };
> + };
> + };
> + };
> + };
> + };
> + };
next prev parent reply other threads:[~2024-10-30 19:04 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-29 17:30 [RFC PATCH v2 0/5] wifi: ath12k: Add WSI node for QCN9274 in RDP433 for MLO Raj Kumar Bhagat
2024-10-29 17:30 ` [RFC PATCH v2 1/5] dt-bindings: net: wireless: ath12k: describe WSI properties for QCN9274 Raj Kumar Bhagat
2024-10-29 17:52 ` Krzysztof Kozlowski
2024-11-04 18:44 ` Raj Kumar Bhagat
2024-11-05 7:24 ` Krzysztof Kozlowski
2024-10-30 19:04 ` Jeff Johnson [this message]
2024-10-30 20:48 ` Jeff Johnson
2024-11-04 18:55 ` Raj Kumar Bhagat
2024-10-29 17:30 ` [RFC PATCH v2 2/5] wifi: ath12k: parse multiple device information from device tree Raj Kumar Bhagat
2024-10-29 17:30 ` [RFC PATCH v2 3/5] wifi: ath12k: Send partner device details in QMI MLO capability Raj Kumar Bhagat
2024-10-29 17:30 ` [RFC PATCH v2 4/5] wifi: ath12k: assign unique hardware link IDs during QMI host cap Raj Kumar Bhagat
2024-10-29 17:30 ` [RFC PATCH v2 5/5] arm64: dts: qcom: ipq9574: Add WiFi nodes for RDP433 Raj Kumar Bhagat
2024-10-29 17:53 ` Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4d273cac-8955-4850-bd8a-0bad318c1e4f@quicinc.com \
--to=quic_jjohnson@quicinc.com \
--cc=andersson@kernel.org \
--cc=ath12k@lists.infradead.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jjohnson@kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kvalo@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=quic_rajkbhag@quicinc.com \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®