Re: [RFC PATCH 6/6] arm64: dts: qcom: ipq9574: Add WiFi nodes for RDP433

Krzysztof Kozlowski
2024-10-23T06:41:15Z

On 23/10/2024 08:03, Raj Kumar Bhagat wrote:
> The RDP433 is a Qualcomm Reference Design Platform based on the
> IPQ9574. It has three QCN9274 WiFi devices connected to PCIe1, PCIe2,
> and PCIe3. These devices are also connected among themselves via
> WSI connection. This WSI connection is essential to exchange control
> information among these devices
>
> The WSI connection in RDP433 is represented below:
>
> +-------+ +-------+ +-------+
> | pcie2 | | pcie3 | | pcie1 |
> | | | | | |
> +----->| wsi |------->| wsi |------->| wsi |-----+
> | | idx 0 | | idx 1 | | idx 2 | |
> | +-------+ +-------+ +-------+ |
> +------------------------------------------------------+
>
> Based on the above, the WSI properties for QCN9274 at pcie2 are:
> qcom,wsi-group-id = 0
> qcom,wsi-index = 0
> qcom,wsi-num-devices = 3;
>
> Hence, add WiFi nodes with WSI properties for all three QCN9274
> devices connected to RDP433.
>
> Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/ipq9574-rdp433.dts | 62 ++++++++++++++++++++-
> 1 file changed, 61 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/ipq9574-rdp433.dts b/arch/arm64/boot/dts/qcom/ipq9574-rdp433.dts
> index 165ebbb59511..2241e20ad42a 100644
> --- a/arch/arm64/boot/dts/qcom/ipq9574-rdp433.dts
> +++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp433.dts
> @@ -3,7 +3,7 @@
> * IPQ9574 RDP433 board device tree source
> *
> * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
> - * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
> + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
> */
>
> /dts-v1/;
> @@ -27,6 +27,26 @@ &pcie1 {
> perst-gpios = <&tlmm 26 GPIO_ACTIVE_LOW>;
> wake-gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
> status = "okay";
> +
> + 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>;
> + status = "okay";

Why?

> +
> + wsi {
> + qcom,wsi-group-id = <0>;

So all devices have the same group id? No other group id? So hard-code
it at 0?

> + qcom,wsi-index = <2>;
> + qcom,wsi-num-devices = <3>;

All this looks opposite how we organize usually DTS. Instead of phandles
you pass some sort of indices. Instead of re-using some existing
properties for remoteproc-related stuff, you add three more.

Best regards,
Krzysztof