Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp4959576pxb; Mon, 28 Mar 2022 06:10:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyVT+n27sv2pB9KEoXL6y/FeCsApfySnIl3av5qXbrjeWV/49YKiU5n8swFiDZJgutRsE4c X-Received: by 2002:a05:6870:4182:b0:da:b3f:322c with SMTP id y2-20020a056870418200b000da0b3f322cmr10757085oac.220.1648473052748; Mon, 28 Mar 2022 06:10:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648473052; cv=none; d=google.com; s=arc-20160816; b=fMgCVSMAw5nbXbaa+78PSH7RUrzrS0XanWJS9N9k1kDfKYZCBGim+xq4jrKyHF0KKy qp8OMjMtcFUrb4NV1bbizuNeELhpk18ihiS8D02XFwYVWX8d28Q66BOrmQBWZrTNRhCE jlCzRj3ZU02MlKB8HBezE/OhTnAwsE1pBDIA78GSZD7u+51RekXtIUvKRkdMayFVw3SI GOKF87eAjVCeSfN4l7ED3wkMi1xzQPBFt8px/XCIDi2yc4UFmTfhZMuaL2F/QJ7CUl8X GWPSxgFy/F0qN6uGWOVzyxSTPfvLcx0RYzG2vVqeJCllsp+bylaite9ZLguSz6Hinjm3 11mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=U+9ZmkhDUhcI5YakNfhr8qMLDH56rv8dZA8vCaxq8SA=; b=wq6u6NhxkgjQqWDOFe2Ig2Jn8etZCzIAVcBxEP473hpbheUpB9idYixgLBp+UBJPZ1 yXJ0kfwxbMeunJ9Vtzb88QKtYLfiGkSlmeOOT1f6iPFmzhkcpY1eMt5sI9SVKbbvokZn vFs+l0wArrWb+JCCuLRS5Wf3P5LvozjO2pacY5m4dwv4pc4woKw8+ACvDVjK9l1HBKss 6v5/fQ62XuODbULsG35mRNRPoOf+JFpDyEN5P9CbREXMPDXDJtDyaJafMPKHXBvRsWv9 GAJAfX2KBogRlUVrmzARbHbhXKA2qX9eaiDmuD4Zb8ROWftJGb7TXmQKkNLdEN6nrstz LR+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b=Xi25gid1; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k4-20020a056870958400b000da716e620fsi10201716oao.152.2022.03.28.06.10.41; Mon, 28 Mar 2022 06:10:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b=Xi25gid1; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236753AbiC1GPg (ORCPT + 68 others); Mon, 28 Mar 2022 02:15:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54002 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232223AbiC1GPe (ORCPT ); Mon, 28 Mar 2022 02:15:34 -0400 Received: from alexa-out-sd-02.qualcomm.com (alexa-out-sd-02.qualcomm.com [199.106.114.39]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B05C01EED1; Sun, 27 Mar 2022 23:13:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1648448033; x=1679984033; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=U+9ZmkhDUhcI5YakNfhr8qMLDH56rv8dZA8vCaxq8SA=; b=Xi25gid1cncupS2xdT5Yx0CilsJebNH5StoTvTdCh7YmPE2V+Rp+DydP wqs4YrV+Z51sV1hYiwkgyw/bKr++s60XWVyuXXCq7AKGM0D5Iy5Um+jyv TtEUGMQlcidowRjCgjY4rposFoEW0pYGHiVGyPTVwidTE2IlblKb0/qoP A=; Received: from unknown (HELO ironmsg02-sd.qualcomm.com) ([10.53.140.142]) by alexa-out-sd-02.qualcomm.com with ESMTP; 27 Mar 2022 23:13:53 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg02-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Mar 2022 23:13:53 -0700 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Sun, 27 Mar 2022 23:13:52 -0700 Received: from [10.50.8.132] (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Sun, 27 Mar 2022 23:13:50 -0700 Message-ID: <0256a6c6-088b-a7d5-68c4-b99238bbb0f4@quicinc.com> Date: Mon, 28 Mar 2022 11:43:47 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1 Subject: Re: [PATCH v3 01/12] dt: bindings: net: add bindings of WCN6750 for ath11k Content-Language: en-US To: CC: , , "Rob Herring" References: <20220328060937.16738-1-quic_mpubbise@quicinc.com> <20220328060937.16738-2-quic_mpubbise@quicinc.com> From: Manikanta Pubbisetty In-Reply-To: <20220328060937.16738-2-quic_mpubbise@quicinc.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01a.na.qualcomm.com (10.47.209.196) X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org Sorry for top posting, missed to add device tree mail aliases. Adding them now. On 3/28/2022 11:39 AM, Manikanta Pubbisetty wrote: > WCN6750 is the WLAN chip on Qualcomm Snapdragon SoC SC7280; > Though being a PCIe based solution, it is not attached to > the APSS processor (Application Processor SubSystem), it is > instead attached to another tiny processor called WPSS Q6 > processor (Wireless Processor SubSystem) on the SC7280 MSM, > where the WLAN firmware runs, and it is the WLAN firmware > running on the Q6 processor which enumerates WCN6750, as a > result APPS processor would never know such a device being > present in the system and would not detect the WCN6750 > hardware unless and otherwise WCN6750 is registered as a > platform device. This is the reason behind adding WCN6750 > WLAN node in the device tree. > > Add WCN6750 wireless driver support, its based on ath11k driver. > > Signed-off-by: Manikanta Pubbisetty > --- > .../bindings/net/wireless/qcom,ath11k.yaml | 361 ++++++++++++------ > 1 file changed, 252 insertions(+), 109 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml > index cdf7b873b419..67104d69fd72 100644 > --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml > +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml > @@ -20,120 +20,17 @@ properties: > enum: > - qcom,ipq8074-wifi > - qcom,ipq6018-wifi > + - qcom,wcn6750-wifi > > reg: > maxItems: 1 > > interrupts: > - items: > - - description: misc-pulse1 interrupt events > - - description: misc-latch interrupt events > - - description: sw exception interrupt events > - - description: watchdog interrupt events > - - description: interrupt event for ring CE0 > - - description: interrupt event for ring CE1 > - - description: interrupt event for ring CE2 > - - description: interrupt event for ring CE3 > - - description: interrupt event for ring CE4 > - - description: interrupt event for ring CE5 > - - description: interrupt event for ring CE6 > - - description: interrupt event for ring CE7 > - - description: interrupt event for ring CE8 > - - description: interrupt event for ring CE9 > - - description: interrupt event for ring CE10 > - - description: interrupt event for ring CE11 > - - description: interrupt event for ring host2wbm-desc-feed > - - description: interrupt event for ring host2reo-re-injection > - - description: interrupt event for ring host2reo-command > - - description: interrupt event for ring host2rxdma-monitor-ring3 > - - description: interrupt event for ring host2rxdma-monitor-ring2 > - - description: interrupt event for ring host2rxdma-monitor-ring1 > - - description: interrupt event for ring reo2ost-exception > - - description: interrupt event for ring wbm2host-rx-release > - - description: interrupt event for ring reo2host-status > - - description: interrupt event for ring reo2host-destination-ring4 > - - description: interrupt event for ring reo2host-destination-ring3 > - - description: interrupt event for ring reo2host-destination-ring2 > - - description: interrupt event for ring reo2host-destination-ring1 > - - description: interrupt event for ring rxdma2host-monitor-destination-mac3 > - - description: interrupt event for ring rxdma2host-monitor-destination-mac2 > - - description: interrupt event for ring rxdma2host-monitor-destination-mac1 > - - description: interrupt event for ring ppdu-end-interrupts-mac3 > - - description: interrupt event for ring ppdu-end-interrupts-mac2 > - - description: interrupt event for ring ppdu-end-interrupts-mac1 > - - description: interrupt event for ring rxdma2host-monitor-status-ring-mac3 > - - description: interrupt event for ring rxdma2host-monitor-status-ring-mac2 > - - description: interrupt event for ring rxdma2host-monitor-status-ring-mac1 > - - description: interrupt event for ring host2rxdma-host-buf-ring-mac3 > - - description: interrupt event for ring host2rxdma-host-buf-ring-mac2 > - - description: interrupt event for ring host2rxdma-host-buf-ring-mac1 > - - description: interrupt event for ring rxdma2host-destination-ring-mac3 > - - description: interrupt event for ring rxdma2host-destination-ring-mac2 > - - description: interrupt event for ring rxdma2host-destination-ring-mac1 > - - description: interrupt event for ring host2tcl-input-ring4 > - - description: interrupt event for ring host2tcl-input-ring3 > - - description: interrupt event for ring host2tcl-input-ring2 > - - description: interrupt event for ring host2tcl-input-ring1 > - - description: interrupt event for ring wbm2host-tx-completions-ring3 > - - description: interrupt event for ring wbm2host-tx-completions-ring2 > - - description: interrupt event for ring wbm2host-tx-completions-ring1 > - - description: interrupt event for ring tcl2host-status-ring > - > + minItems: 32 > + maxItems: 52 > > interrupt-names: > - items: > - - const: misc-pulse1 > - - const: misc-latch > - - const: sw-exception > - - const: watchdog > - - const: ce0 > - - const: ce1 > - - const: ce2 > - - const: ce3 > - - const: ce4 > - - const: ce5 > - - const: ce6 > - - const: ce7 > - - const: ce8 > - - const: ce9 > - - const: ce10 > - - const: ce11 > - - const: host2wbm-desc-feed > - - const: host2reo-re-injection > - - const: host2reo-command > - - const: host2rxdma-monitor-ring3 > - - const: host2rxdma-monitor-ring2 > - - const: host2rxdma-monitor-ring1 > - - const: reo2ost-exception > - - const: wbm2host-rx-release > - - const: reo2host-status > - - const: reo2host-destination-ring4 > - - const: reo2host-destination-ring3 > - - const: reo2host-destination-ring2 > - - const: reo2host-destination-ring1 > - - const: rxdma2host-monitor-destination-mac3 > - - const: rxdma2host-monitor-destination-mac2 > - - const: rxdma2host-monitor-destination-mac1 > - - const: ppdu-end-interrupts-mac3 > - - const: ppdu-end-interrupts-mac2 > - - const: ppdu-end-interrupts-mac1 > - - const: rxdma2host-monitor-status-ring-mac3 > - - const: rxdma2host-monitor-status-ring-mac2 > - - const: rxdma2host-monitor-status-ring-mac1 > - - const: host2rxdma-host-buf-ring-mac3 > - - const: host2rxdma-host-buf-ring-mac2 > - - const: host2rxdma-host-buf-ring-mac1 > - - const: rxdma2host-destination-ring-mac3 > - - const: rxdma2host-destination-ring-mac2 > - - const: rxdma2host-destination-ring-mac1 > - - const: host2tcl-input-ring4 > - - const: host2tcl-input-ring3 > - - const: host2tcl-input-ring2 > - - const: host2tcl-input-ring1 > - - const: wbm2host-tx-completions-ring3 > - - const: wbm2host-tx-completions-ring2 > - - const: wbm2host-tx-completions-ring1 > - - const: tcl2host-status-ring > + maxItems: 52 > > qcom,rproc: > $ref: /schemas/types.yaml#/definitions/phandle > @@ -151,20 +48,205 @@ properties: > board-2.bin for designs with colliding bus and device specific ids > > memory-region: > - maxItems: 1 > + minItems: 1 > + maxItems: 2 > description: > phandle to a node describing reserved memory (System RAM memory) > used by ath11k firmware (see bindings/reserved-memory/reserved-memory.txt) > > + iommus: > + minItems: 1 > + maxItems: 2 > + > + wifi-firmware: > + type: object > + description: | > + WCN6750 wifi node can contain one optional firmware subnode. > + Firmware subnode is needed when the platform does not have Tustzone. > + required: > + - iommus > + > required: > - compatible > - reg > - interrupts > - - interrupt-names > - qcom,rproc > > additionalProperties: false > > +allOf: > + - if: > + properties: > + compatible: > + contains: > + enum: > + - qcom,ipq8074-wifi > + - qcom,ipq6018-wifi > + then: > + properties: > + interrupts: > + items: > + - description: misc-pulse1 interrupt events > + - description: misc-latch interrupt events > + - description: sw exception interrupt events > + - description: watchdog interrupt events > + - description: interrupt event for ring CE0 > + - description: interrupt event for ring CE1 > + - description: interrupt event for ring CE2 > + - description: interrupt event for ring CE3 > + - description: interrupt event for ring CE4 > + - description: interrupt event for ring CE5 > + - description: interrupt event for ring CE6 > + - description: interrupt event for ring CE7 > + - description: interrupt event for ring CE8 > + - description: interrupt event for ring CE9 > + - description: interrupt event for ring CE10 > + - description: interrupt event for ring CE11 > + - description: interrupt event for ring host2wbm-desc-feed > + - description: interrupt event for ring host2reo-re-injection > + - description: interrupt event for ring host2reo-command > + - description: interrupt event for ring host2rxdma-monitor-ring3 > + - description: interrupt event for ring host2rxdma-monitor-ring2 > + - description: interrupt event for ring host2rxdma-monitor-ring1 > + - description: interrupt event for ring reo2ost-exception > + - description: interrupt event for ring wbm2host-rx-release > + - description: interrupt event for ring reo2host-status > + - description: interrupt event for ring reo2host-destination-ring4 > + - description: interrupt event for ring reo2host-destination-ring3 > + - description: interrupt event for ring reo2host-destination-ring2 > + - description: interrupt event for ring reo2host-destination-ring1 > + - description: interrupt event for ring rxdma2host-monitor-destination-mac3 > + - description: interrupt event for ring rxdma2host-monitor-destination-mac2 > + - description: interrupt event for ring rxdma2host-monitor-destination-mac1 > + - description: interrupt event for ring ppdu-end-interrupts-mac3 > + - description: interrupt event for ring ppdu-end-interrupts-mac2 > + - description: interrupt event for ring ppdu-end-interrupts-mac1 > + - description: interrupt event for ring rxdma2host-monitor-status-ring-mac3 > + - description: interrupt event for ring rxdma2host-monitor-status-ring-mac2 > + - description: interrupt event for ring rxdma2host-monitor-status-ring-mac1 > + - description: interrupt event for ring host2rxdma-host-buf-ring-mac3 > + - description: interrupt event for ring host2rxdma-host-buf-ring-mac2 > + - description: interrupt event for ring host2rxdma-host-buf-ring-mac1 > + - description: interrupt event for ring rxdma2host-destination-ring-mac3 > + - description: interrupt event for ring rxdma2host-destination-ring-mac2 > + - description: interrupt event for ring rxdma2host-destination-ring-mac1 > + - description: interrupt event for ring host2tcl-input-ring4 > + - description: interrupt event for ring host2tcl-input-ring3 > + - description: interrupt event for ring host2tcl-input-ring2 > + - description: interrupt event for ring host2tcl-input-ring1 > + - description: interrupt event for ring wbm2host-tx-completions-ring3 > + - description: interrupt event for ring wbm2host-tx-completions-ring2 > + - description: interrupt event for ring wbm2host-tx-completions-ring1 > + - description: interrupt event for ring tcl2host-status-ring > + interrupt-names: > + items: > + - const: misc-pulse1 > + - const: misc-latch > + - const: sw-exception > + - const: watchdog > + - const: ce0 > + - const: ce1 > + - const: ce2 > + - const: ce3 > + - const: ce4 > + - const: ce5 > + - const: ce6 > + - const: ce7 > + - const: ce8 > + - const: ce9 > + - const: ce10 > + - const: ce11 > + - const: host2wbm-desc-feed > + - const: host2reo-re-injection > + - const: host2reo-command > + - const: host2rxdma-monitor-ring3 > + - const: host2rxdma-monitor-ring2 > + - const: host2rxdma-monitor-ring1 > + - const: reo2ost-exception > + - const: wbm2host-rx-release > + - const: reo2host-status > + - const: reo2host-destination-ring4 > + - const: reo2host-destination-ring3 > + - const: reo2host-destination-ring2 > + - const: reo2host-destination-ring1 > + - const: rxdma2host-monitor-destination-mac3 > + - const: rxdma2host-monitor-destination-mac2 > + - const: rxdma2host-monitor-destination-mac1 > + - const: ppdu-end-interrupts-mac3 > + - const: ppdu-end-interrupts-mac2 > + - const: ppdu-end-interrupts-mac1 > + - const: rxdma2host-monitor-status-ring-mac3 > + - const: rxdma2host-monitor-status-ring-mac2 > + - const: rxdma2host-monitor-status-ring-mac1 > + - const: host2rxdma-host-buf-ring-mac3 > + - const: host2rxdma-host-buf-ring-mac2 > + - const: host2rxdma-host-buf-ring-mac1 > + - const: rxdma2host-destination-ring-mac3 > + - const: rxdma2host-destination-ring-mac2 > + - const: rxdma2host-destination-ring-mac1 > + - const: host2tcl-input-ring4 > + - const: host2tcl-input-ring3 > + - const: host2tcl-input-ring2 > + - const: host2tcl-input-ring1 > + - const: wbm2host-tx-completions-ring3 > + - const: wbm2host-tx-completions-ring2 > + - const: wbm2host-tx-completions-ring1 > + - const: tcl2host-status-ring > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - qcom,ipq8074-wifi > + - qcom,ipq6018-wifi > + then: > + required: > + - interrupt-names > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - qcom,wcn6750-wifi > + then: > + properties: > + interrupts: > + items: > + - description: interrupt event for ring CE1 > + - description: interrupt event for ring CE2 > + - description: interrupt event for ring CE3 > + - description: interrupt event for ring CE4 > + - description: interrupt event for ring CE5 > + - description: interrupt event for ring CE6 > + - description: interrupt event for ring CE7 > + - description: interrupt event for ring CE8 > + - description: interrupt event for ring CE9 > + - description: interrupt event for ring CE10 > + - description: interrupt event for ring DP1 > + - description: interrupt event for ring DP2 > + - description: interrupt event for ring DP3 > + - description: interrupt event for ring DP4 > + - description: interrupt event for ring DP5 > + - description: interrupt event for ring DP6 > + - description: interrupt event for ring DP7 > + - description: interrupt event for ring DP8 > + - description: interrupt event for ring DP9 > + - description: interrupt event for ring DP10 > + - description: interrupt event for ring DP11 > + - description: interrupt event for ring DP12 > + - description: interrupt event for ring DP13 > + - description: interrupt event for ring DP14 > + - description: interrupt event for ring DP15 > + - description: interrupt event for ring DP16 > + - description: interrupt event for ring DP17 > + - description: interrupt event for ring DP18 > + - description: interrupt event for ring DP19 > + - description: interrupt event for ring DP20 > + - description: interrupt event for ring DP21 > + - description: interrupt event for ring DP22 > + > examples: > - | > > @@ -309,3 +391,64 @@ examples: > }; > }; > }; > + > + - | > + #include > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + > + wlan_ce_mem: wlan_ce_mem@4cd000 { > + no-map; > + reg = <0x0 0x4cd000 0x0 0x1000>; > + }; > + > + wlan_fw_mem: wlan_fw_mem@80c00000 { > + no-map; > + reg = <0x0 0x80c00000 0x0 0xc00000>; > + }; > + }; > + > + wifi: wifi@17a10040 { > + compatible = "qcom,wcn6750-wifi"; > + reg = <0x17A10040 0x0>; > + iommus = <&apps_smmu 0x1C00 0x1>; > + interrupts = , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + , > + ; > + qcom,rproc = <&remoteproc_wpss>; > + memory-region = <&wlan_fw_mem>, <&wlan_ce_mem>; > + wifi-firmware { > + iommus = <&apps_smmu 0x1C02 0x1>; > + }; > + };