From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CFD70C433FE for ; Fri, 25 Feb 2022 11:34:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240147AbiBYLek (ORCPT ); Fri, 25 Feb 2022 06:34:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49158 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236989AbiBYLek (ORCPT ); Fri, 25 Feb 2022 06:34:40 -0500 Received: from alexa-out.qualcomm.com (alexa-out.qualcomm.com [129.46.98.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 100511DD0FF; Fri, 25 Feb 2022 03:34:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1645788848; x=1677324848; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=BdrGyltJtUlZ5LIwA5cwkZigYOj/ztYa0eMdV+3luBM=; b=Ogj/ei0aujMNe7ZWLOn0GUrs2MRi8yN6j+6vxOpJQnsJCWnuDMm6XOj3 t319453ewDdUe1DCyV5ZQKGx2bGxuI1jbrAZQs1addK577bAuP6FkcIs6 0bUUg6gtBFMW2EkoArUZbc+GJ2qDKpAVFnYsFQessVs+WxnxRJj76z5Gm M=; Received: from ironmsg07-lv.qualcomm.com ([10.47.202.151]) by alexa-out.qualcomm.com with ESMTP; 25 Feb 2022 03:34:08 -0800 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg07-lv.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Feb 2022 03:34:07 -0800 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.15; Fri, 25 Feb 2022 03:34:07 -0800 Received: from [10.216.32.247] (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.15; Fri, 25 Feb 2022 03:34:04 -0800 Message-ID: <678de1cc-9756-ef27-e071-d8c1d3a55d45@quicinc.com> Date: Fri, 25 Feb 2022 17:04:00 +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 v2 19/19] dt: bindings: net: add bindings of WCN6750 for ath11k Content-Language: en-US To: Rob Herring CC: , , References: <1642337235-8618-1-git-send-email-quic_mpubbise@quicinc.com> <1642337235-8618-20-git-send-email-quic_mpubbise@quicinc.com> From: Manikanta Pubbisetty In-Reply-To: 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) Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On 2/8/2022 3:43 AM, Rob Herring wrote: > On Sun, Jan 16, 2022 at 06:17:15PM +0530, Manikanta Pubbisetty wrote: >> Add WCN6750 wireless driver support, its based on ath11k driver. > > As mentioned, provide a better commit message answering 'why'? > >> >> Signed-off-by: Manikanta Pubbisetty >> --- >> .../bindings/net/wireless/qcom,ath11k.yaml | 365 +++++++++++++++------ >> 1 file changed, 257 insertions(+), 108 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml >> index cdf7b87..dba1434 100644 >> --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml >> +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml >> @@ -20,120 +20,21 @@ 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 >> + reg-names: >> + maxItems: 1 > > Need to define the names though for 1 entry, -names is kind of > pointless. Makes sense, I'll remove this in the next revision. > >> >> + interrupts: >> + 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 >> + minItems: 32 >> + maxItems: 52 > > But you didn't define any names for the new chip. > In the case of new chip, interrupts are not tied for a specific purpose unlike the case of IPQ8074/IPQ6018 where the driver searches an IRQ based on name. That is the reason why interrupt-names are omitted for the new chip. >> >> qcom,rproc: >> $ref: /schemas/types.yaml#/definitions/phandle >> @@ -156,15 +57,201 @@ properties: >> phandle to a node describing reserved memory (System RAM memory) >> used by ath11k firmware (see bindings/reserved-memory/reserved-memory.txt) >> >> + iommus: >> + maxItems: 1 >> + >> + 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. > > Trustzone > I'll change it. >> + properties: >> + iommus: >> + maxItems: 1 > > If this is the only property, then just make parent 'iommus' 1 or 2 > entries. > You mean something like this shown below? 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: >> + - 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 +396,65 @@ 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>; >> + reg-names = "msi_addr"; >> + iommus = <&apps_smmu 0x1C00 0x1>; >> + interrupts = , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + ; >> + qcom,rproc = <&remoteproc_wpss>; >> + memory-region = <&wlan_fw_mem &wlan_ce_mem>; > > memory-region = <&wlan_fw_mem>, <&wlan_ce_mem>; > Okay. >> + wifi-firmware { >> + iommus = <&apps_smmu 0x1C02 0x1>; >> + }; >> + }; >> -- >> 2.7.4 >> >> From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2C34DC433FE for ; Fri, 25 Feb 2022 11:34:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:CC:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=l02RIksbpps7N4+fELvyOd0agUYfKLGF3t0NfxZ7YuQ=; b=IGHw8VE1ZL7F6m 4MbNrKUKzDqULaIseuNBHhSaU1x53HCaa4r242gZhFl3saqTinQSJbrIBpflxhR7JjlpkVWEgdySF rjQ8GjfQDBKnXcZn09zIhs1szhnr3+CDeFamm5z+4cw4DHyNrY28B8V1o0flQS4rqJdmUwT8rev0p MCiakQftuRCd5IZQifQ1Lq+n4UM3xbXk9Jur47Gz5KxxYw9oxW5/75WjA9H2L83Xj5L3sSpn7KULv 1O4Ut3SQntwTXblA4LzIkmP1ZUmPngVq1wtlMmKCVcAcT0wi7Ole2xR0U2CZ8QsSDmDIDJzwS/IBC wVBX6T5SYKmPj62Muf7A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nNYrV-004hP1-30; Fri, 25 Feb 2022 11:34:13 +0000 Received: from alexa-out.qualcomm.com ([129.46.98.28]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nNYrQ-004hNu-Rs for ath11k@lists.infradead.org; Fri, 25 Feb 2022 11:34:11 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1645788849; x=1677324849; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=BdrGyltJtUlZ5LIwA5cwkZigYOj/ztYa0eMdV+3luBM=; b=W1hioEl0IdpyhkIWYYp0gm76oEP0m/QS46LduO2GsqR2vhss6Pk98zqA SXv3KmSve+2n6wJNbletGv4zhA/e0Qv/LLZg7ACXByir2p5vZrjoLpKsa eSHTRnrQNQ7imJJB4GqRGMxwL9OhtZYxniTs2eKoYOq3vvlU6fo8sCR2G k=; Received: from ironmsg07-lv.qualcomm.com ([10.47.202.151]) by alexa-out.qualcomm.com with ESMTP; 25 Feb 2022 03:34:08 -0800 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg07-lv.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Feb 2022 03:34:07 -0800 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.15; Fri, 25 Feb 2022 03:34:07 -0800 Received: from [10.216.32.247] (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.15; Fri, 25 Feb 2022 03:34:04 -0800 Message-ID: <678de1cc-9756-ef27-e071-d8c1d3a55d45@quicinc.com> Date: Fri, 25 Feb 2022 17:04:00 +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 v2 19/19] dt: bindings: net: add bindings of WCN6750 for ath11k Content-Language: en-US To: Rob Herring CC: , , References: <1642337235-8618-1-git-send-email-quic_mpubbise@quicinc.com> <1642337235-8618-20-git-send-email-quic_mpubbise@quicinc.com> From: Manikanta Pubbisetty In-Reply-To: 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-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220225_033409_007654_B483D63C X-CRM114-Status: GOOD ( 16.15 ) X-BeenThere: ath11k@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "ath11k" Errors-To: ath11k-bounces+ath11k=archiver.kernel.org@lists.infradead.org On 2/8/2022 3:43 AM, Rob Herring wrote: > On Sun, Jan 16, 2022 at 06:17:15PM +0530, Manikanta Pubbisetty wrote: >> Add WCN6750 wireless driver support, its based on ath11k driver. > > As mentioned, provide a better commit message answering 'why'? > >> >> Signed-off-by: Manikanta Pubbisetty >> --- >> .../bindings/net/wireless/qcom,ath11k.yaml | 365 +++++++++++++++------ >> 1 file changed, 257 insertions(+), 108 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml >> index cdf7b87..dba1434 100644 >> --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml >> +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml >> @@ -20,120 +20,21 @@ 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 >> + reg-names: >> + maxItems: 1 > > Need to define the names though for 1 entry, -names is kind of > pointless. Makes sense, I'll remove this in the next revision. > >> >> + interrupts: >> + 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 >> + minItems: 32 >> + maxItems: 52 > > But you didn't define any names for the new chip. > In the case of new chip, interrupts are not tied for a specific purpose unlike the case of IPQ8074/IPQ6018 where the driver searches an IRQ based on name. That is the reason why interrupt-names are omitted for the new chip. >> >> qcom,rproc: >> $ref: /schemas/types.yaml#/definitions/phandle >> @@ -156,15 +57,201 @@ properties: >> phandle to a node describing reserved memory (System RAM memory) >> used by ath11k firmware (see bindings/reserved-memory/reserved-memory.txt) >> >> + iommus: >> + maxItems: 1 >> + >> + 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. > > Trustzone > I'll change it. >> + properties: >> + iommus: >> + maxItems: 1 > > If this is the only property, then just make parent 'iommus' 1 or 2 > entries. > You mean something like this shown below? 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: >> + - 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 +396,65 @@ 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>; >> + reg-names = "msi_addr"; >> + iommus = <&apps_smmu 0x1C00 0x1>; >> + interrupts = , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + , >> + ; >> + qcom,rproc = <&remoteproc_wpss>; >> + memory-region = <&wlan_fw_mem &wlan_ce_mem>; > > memory-region = <&wlan_fw_mem>, <&wlan_ce_mem>; > Okay. >> + wifi-firmware { >> + iommus = <&apps_smmu 0x1C02 0x1>; >> + }; >> + }; >> -- >> 2.7.4 >> >> -- ath11k mailing list ath11k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath11k