Message ID | 20230320104658.22186-2-johan+linaro@kernel.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp1144115wrt; Mon, 20 Mar 2023 03:57:03 -0700 (PDT) X-Google-Smtp-Source: AK7set/sPLkcnRow559/Nrd2hmraFx4yYX+geVEDVXu/adO6gpxePWUpY59q1txvslQJi9elHi8f X-Received: by 2002:a17:90a:355:b0:237:24a8:c5e2 with SMTP id 21-20020a17090a035500b0023724a8c5e2mr18231786pjf.40.1679309823072; Mon, 20 Mar 2023 03:57:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679309823; cv=none; d=google.com; s=arc-20160816; b=cxaTDeFymzzUrOtv2z+0LoPr4tHsPHdsSHv4X7oJLIasdsb6+oFh4I+IX7XkPlespS Ulp+mXhBNQdjjH/zj+6OQaCOegCOK0jxNSh7Ar9vTVJNGgrn2st6TdAI4fmdL0ox3Q/O w6jrmG0Kl6/xtuZ9KPMpASpiWKLVSNVgrFarXDTxa8a8YEnltywObJc8qtl2gr8SO+sF DmQCVYMvjmOFruVKsNcttMh777Vm/rzN0VI3uMGmCTaY4z8T4QhgAFvu9iDRQWLKCQAK 53FFqXbo7iag/H3qEOt92J9Z+OpO8bC8acO6PiSt6BiR1r4Yy5sgysik7wUkqihGH8gs hQzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=uOI/TIuDnjKfanPyCkVmxoBOcrF/mxSEQR6tF3PchME=; b=iY3SRQi/3qmnLE9JS/tS28+o/swl6XynWF14wvgrrI7nuCBsPhy5mQ686gXmR25A+z ftgUZuXxEceojtP0zZC48FH90UUeXhis2/CqrQiL9/313vPz+PORsPS6INfiirK++Qqb I8XlySJpLxxawARmLM7ob3RXfpmKKvs1iyk/vNLBI9+fef+OxpBSyfW+tR6JyGU7go1b dskxU5szV/HG9jfoZDwu6EtiWcWy0BPmipLvLd/9eavhrTdJq1JtqQTARD8VBGoXJD+D QU1JLIizD5dZu5jO3bx9r4fOrxAuuQlxU41TiHvVa+Y3mBS4D8l4lLlWojIPideWiYLv XfNw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nt29mlK4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g9-20020a636b09000000b005076410cb9asi10273797pgc.424.2023.03.20.03.56.50; Mon, 20 Mar 2023 03:57:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-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=@kernel.org header.s=k20201202 header.b=nt29mlK4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230452AbjCTKwV (ORCPT <rfc822;pusanteemu@gmail.com> + 99 others); Mon, 20 Mar 2023 06:52:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49638 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230395AbjCTKvq (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 20 Mar 2023 06:51:46 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A1FB7D90; Mon, 20 Mar 2023 03:49:16 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id A0BF7B80E13; Mon, 20 Mar 2023 10:48:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4F12AC4339B; Mon, 20 Mar 2023 10:48:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1679309288; bh=zg6KFoWKPsQYBqBkRYh2FlEcuFqO13EH3bpZOdx8gT4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nt29mlK44yFQE+lT87r0zxUIDWOsU9nAlO81XL1N2Hz1l3INT+uelPInkkCxOx9iC D4Dnegf+cR6nj2Z6zwVaFqzR37Xt9nZNcyiz5gcwsv0Ju1aTa20Z3ry3gwzC5Z7d7B fFgspF1CWgeE8ugj7Tk1czjnGRSzjpNcQpWlRdeevUHf0exY/w9s15NEZ/1M1AvWwD Z2HhknuejnF9AR6b9ijBezlu1qXkX+jHv5/eaUjIqvDAY7FI7P5051BwAvSDdKjnHF YHpKvO82/eOsEfzKyG8E4eiiybcQo9zarHtJg/lTXdJ4FnvHaZ+uqFH8O/3Wu1QmR/ C/eyyqeXc7U9g== Received: from johan by xi.lan with local (Exim 4.94.2) (envelope-from <johan+linaro@kernel.org>) id 1peD4z-0005nV-22; Mon, 20 Mar 2023 11:49:29 +0100 From: Johan Hovold <johan+linaro@kernel.org> To: Kalle Valo <kvalo@kernel.org>, Bjorn Andersson <andersson@kernel.org> Cc: "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Andy Gross <agross@kernel.org>, Konrad Dybcio <konrad.dybcio@linaro.org>, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Johan Hovold <johan+linaro@kernel.org> Subject: [PATCH 1/3] dt-bindings: wireless: add ath11k pcie bindings Date: Mon, 20 Mar 2023 11:46:56 +0100 Message-Id: <20230320104658.22186-2-johan+linaro@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230320104658.22186-1-johan+linaro@kernel.org> References: <20230320104658.22186-1-johan+linaro@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS 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: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1760883977358167787?= X-GMAIL-MSGID: =?utf-8?q?1760883977358167787?= |
Series |
arm64: dts: qcom: sc8280xp-x13s: add wifi calibration variant
|
|
Commit Message
Johan Hovold
March 20, 2023, 10:46 a.m. UTC
Add devicetree bindings for Qualcomm ath11k PCIe devices such as WCN6856
for which the calibration data variant may need to be described.
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
.../bindings/net/wireless/pci17cb,1103.yaml | 56 +++++++++++++++++++
1 file changed, 56 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml
Comments
Johan Hovold <johan+linaro@kernel.org> writes: > Add devicetree bindings for Qualcomm ath11k PCIe devices such as WCN6856 > for which the calibration data variant may need to be described. > > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > --- > .../bindings/net/wireless/pci17cb,1103.yaml | 56 +++++++++++++++++++ > 1 file changed, 56 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml I'm confused (as usual), how does this differ from bindings/net/wireless/qcom,ath11k.yaml? Why we need two .yaml files?
On Mon, Mar 20, 2023 at 02:22:12PM +0200, Kalle Valo wrote: > Johan Hovold <johan+linaro@kernel.org> writes: > > > Add devicetree bindings for Qualcomm ath11k PCIe devices such as WCN6856 > > for which the calibration data variant may need to be described. > > > > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > > --- > > .../bindings/net/wireless/pci17cb,1103.yaml | 56 +++++++++++++++++++ > > 1 file changed, 56 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml > > I'm confused (as usual), how does this differ from > bindings/net/wireless/qcom,ath11k.yaml? Why we need two .yaml files? Almost none of bindings/net/wireless/qcom,ath11k.yaml applies to WCN6856 when using PCIe (e.g. as most properties are then discoverable). We could try to encode everything in one file, but that would likely just result in a big mess of a schema with conditionals all over. Johan
+ ath11k list Johan Hovold <johan@kernel.org> writes: > On Mon, Mar 20, 2023 at 02:22:12PM +0200, Kalle Valo wrote: >> Johan Hovold <johan+linaro@kernel.org> writes: >> >> > Add devicetree bindings for Qualcomm ath11k PCIe devices such as WCN6856 >> > for which the calibration data variant may need to be described. >> > >> > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> >> > --- >> > .../bindings/net/wireless/pci17cb,1103.yaml | 56 +++++++++++++++++++ >> > 1 file changed, 56 insertions(+) >> > create mode 100644 >> > Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml >> >> I'm confused (as usual), how does this differ from >> bindings/net/wireless/qcom,ath11k.yaml? Why we need two .yaml files? > > Almost none of bindings/net/wireless/qcom,ath11k.yaml applies to WCN6856 > when using PCIe (e.g. as most properties are then discoverable). > > We could try to encode everything in one file, but that would likely > just result in a big mess of a schema with conditionals all over. Ah, so the current qcom,ath11k.yaml would be only for ath11k AHB devices and this new file is only for ath11k PCI devices? But why still the odd name pci17cb,1103.yaml? It's not really descriptive and I'm for sure will not remember that pci17cb,1103.yaml is for ath11k :) Also it doesn't look good that we have qcom,ath11k-calibration-variant documented twice now. I'm no DT expert but isn't there any other way? Is it possible to include other files? For example, if we would have three files: qcom,ath11k.yaml qcom,ath11k-ahb.yaml qcom,ath11k-pci.yaml Then have the common properties like ath11k-calibration-variant in the first file and ahb/pci files would include that.
On 20/03/2023 11:46, Johan Hovold wrote: > Add devicetree bindings for Qualcomm ath11k PCIe devices such as WCN6856 > for which the calibration data variant may need to be described. > > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > --- > .../bindings/net/wireless/pci17cb,1103.yaml | 56 +++++++++++++++++++ > 1 file changed, 56 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml > > diff --git a/Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml b/Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml > new file mode 100644 > index 000000000000..df67013822c6 > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml PCI devices are kind of exception in the naming, so this should be qcom,ath11k-pci.yaml or qcom,wcn6856.yaml (or something similar) > @@ -0,0 +1,56 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (c) 2023 Linaro Limited > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/wireless/pci17cb,1103.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm Technologies ath11k wireless devices (PCIe) > + > +maintainers: > + - Kalle Valo <kvalo@kernel.org> > + > +description: | > + Qualcomm Technologies IEEE 802.11ax PCIe devices. > + > +properties: > + compatible: > + enum: > + - pci17cb,1103 # WCN6856 > + > + reg: > + maxItems: 1 > + > + qcom,ath11k-calibration-variant: qcom,calibration-variant > + $ref: /schemas/types.yaml#/definitions/string > + description: calibration data variant Your description copies the name of property. Instead say something more... > + Best regards, Krzysztof
On 21/03/2023 09:14, Krzysztof Kozlowski wrote: > On 20/03/2023 11:46, Johan Hovold wrote: >> Add devicetree bindings for Qualcomm ath11k PCIe devices such as WCN6856 >> for which the calibration data variant may need to be described. >> >> Signed-off-by: Johan Hovold <johan+linaro@kernel.org> >> --- >> .../bindings/net/wireless/pci17cb,1103.yaml | 56 +++++++++++++++++++ >> 1 file changed, 56 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml >> >> diff --git a/Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml b/Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml >> new file mode 100644 >> index 000000000000..df67013822c6 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml > > PCI devices are kind of exception in the naming, so this should be > qcom,ath11k-pci.yaml or qcom,wcn6856.yaml (or something similar) > > >> @@ -0,0 +1,56 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +# Copyright (c) 2023 Linaro Limited >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/net/wireless/pci17cb,1103.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Qualcomm Technologies ath11k wireless devices (PCIe) >> + >> +maintainers: >> + - Kalle Valo <kvalo@kernel.org> >> + >> +description: | >> + Qualcomm Technologies IEEE 802.11ax PCIe devices. >> + >> +properties: >> + compatible: >> + enum: >> + - pci17cb,1103 # WCN6856 >> + >> + reg: >> + maxItems: 1 >> + >> + qcom,ath11k-calibration-variant: > > qcom,calibration-variant Ah, so there is already property with ath11k, then let's go with existing name. Best regards, Krzysztof
On Mon, Mar 20, 2023 at 08:41:21PM +0200, Kalle Valo wrote: > + ath11k list > > Johan Hovold <johan@kernel.org> writes: > > > On Mon, Mar 20, 2023 at 02:22:12PM +0200, Kalle Valo wrote: > >> Johan Hovold <johan+linaro@kernel.org> writes: > >> > >> > Add devicetree bindings for Qualcomm ath11k PCIe devices such as WCN6856 > >> > for which the calibration data variant may need to be described. > >> > > >> > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > >> > --- > >> > .../bindings/net/wireless/pci17cb,1103.yaml | 56 +++++++++++++++++++ > >> > 1 file changed, 56 insertions(+) > >> > create mode 100644 > >> > Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml > >> > >> I'm confused (as usual), how does this differ from > >> bindings/net/wireless/qcom,ath11k.yaml? Why we need two .yaml files? > > > > Almost none of bindings/net/wireless/qcom,ath11k.yaml applies to WCN6856 > > when using PCIe (e.g. as most properties are then discoverable). > > > > We could try to encode everything in one file, but that would likely > > just result in a big mess of a schema with conditionals all over. > > Ah, so the current qcom,ath11k.yaml would be only for ath11k AHB devices > and this new file is only for ath11k PCI devices? Right, there would two separate schema files for the two device classes. > But why still the odd > name pci17cb,1103.yaml? It's not really descriptive and I'm for sure > will not remember that pci17cb,1103.yaml is for ath11k :) Yeah, it's not the best name from that perspective, but it follows the current convention of naming the schema files after the first compatible added. That said, we don't have many schemas for PCI devices so perhaps we can establish a new convention for those. Perhaps by replacing the numerical ids with what we'd use if these were platform devices (e.g. 'qcom,wcn6855.yaml'). As long as the DT maintainers are OK with it, I'd also be happy with something like you suggest below: qcom,ath11k-ahb.yaml qcom,ath11k-pci.yaml (or simply not renaming the current file 'qcom,ath11k.yaml') but I have gotten push back on that in the past. > Also it doesn't look good that we have qcom,ath11k-calibration-variant > documented twice now. I'm no DT expert but isn't there any other way? Is > it possible to include other files? For example, if we would have three > files: > > qcom,ath11k.yaml > qcom,ath11k-ahb.yaml > qcom,ath11k-pci.yaml > > Then have the common properties like ath11k-calibration-variant in the > first file and ahb/pci files would include that. That should be possible, but it's not necessarily better as you'd then have to look up two files to see the bindings for either device class (and as far as I can tell there would not be much sharing beyond this single property). Note that the property could just have well have been named 'qcom,calibration-variant' and then it would be shared also with the ath10k set of devices which currently holds another definition of what is essentially the same property ('qcom,ath10k-calibration-variant'). Johan
On Tue, Mar 21, 2023 at 09:14:15AM +0100, Krzysztof Kozlowski wrote: > On 20/03/2023 11:46, Johan Hovold wrote: > > Add devicetree bindings for Qualcomm ath11k PCIe devices such as WCN6856 > > for which the calibration data variant may need to be described. > > > > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > > --- > > .../bindings/net/wireless/pci17cb,1103.yaml | 56 +++++++++++++++++++ > > 1 file changed, 56 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml > > > > diff --git a/Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml b/Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml > > new file mode 100644 > > index 000000000000..df67013822c6 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml > > PCI devices are kind of exception in the naming, so this should be > qcom,ath11k-pci.yaml or qcom,wcn6856.yaml (or something similar) Heh, I suggested something similar in my reply to Kalle. Let's go with 'qcom,ath11k-pci.yaml' then as he first suggested (and keeping the current schema file unchanged?). > > @@ -0,0 +1,56 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +# Copyright (c) 2023 Linaro Limited > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/net/wireless/pci17cb,1103.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Qualcomm Technologies ath11k wireless devices (PCIe) > > + > > +maintainers: > > + - Kalle Valo <kvalo@kernel.org> > > + > > +description: | > > + Qualcomm Technologies IEEE 802.11ax PCIe devices. > > + > > +properties: > > + compatible: > > + enum: > > + - pci17cb,1103 # WCN6856 > > + > > + reg: > > + maxItems: 1 > > + > > + qcom,ath11k-calibration-variant: > > qcom,calibration-variant This one is already in use as you noticed. > > + $ref: /schemas/types.yaml#/definitions/string > > + description: calibration data variant > > Your description copies the name of property. Instead say something more... Yeah, I was actively avoiding trying to say too much (e.g. mentioning the name of the current firmware file). See the definition in qcom,ath11k.yaml. I can try to find some middle ground unless you prefer copying the current definition. Johan
On 21/03/2023 09:27, Johan Hovold wrote: > >>> + $ref: /schemas/types.yaml#/definitions/string >>> + description: calibration data variant >> >> Your description copies the name of property. Instead say something more... > > Yeah, I was actively avoiding trying to say too much (e.g. mentioning > the name of the current firmware file). See the definition in > qcom,ath11k.yaml. > > I can try to find some middle ground unless you prefer copying the > current definition. So just copy the description or its parts. Best regards, Krzysztof
Johan Hovold <johan@kernel.org> writes: > On Mon, Mar 20, 2023 at 08:41:21PM +0200, Kalle Valo wrote: > >> + ath11k list >> >> Johan Hovold <johan@kernel.org> writes: >> >> > On Mon, Mar 20, 2023 at 02:22:12PM +0200, Kalle Valo wrote: >> >> Johan Hovold <johan+linaro@kernel.org> writes: >> >> >> >> > Add devicetree bindings for Qualcomm ath11k PCIe devices such as WCN6856 >> >> > for which the calibration data variant may need to be described. >> >> > >> >> > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> >> >> > --- >> >> > .../bindings/net/wireless/pci17cb,1103.yaml | 56 +++++++++++++++++++ >> >> > 1 file changed, 56 insertions(+) >> >> > create mode 100644 >> >> > Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml >> >> >> >> I'm confused (as usual), how does this differ from >> >> bindings/net/wireless/qcom,ath11k.yaml? Why we need two .yaml files? >> > >> > Almost none of bindings/net/wireless/qcom,ath11k.yaml applies to WCN6856 >> > when using PCIe (e.g. as most properties are then discoverable). >> > >> > We could try to encode everything in one file, but that would likely >> > just result in a big mess of a schema with conditionals all over. >> >> Ah, so the current qcom,ath11k.yaml would be only for ath11k AHB devices >> and this new file is only for ath11k PCI devices? > > Right, there would two separate schema files for the two device classes. > >> But why still the odd >> name pci17cb,1103.yaml? It's not really descriptive and I'm for sure >> will not remember that pci17cb,1103.yaml is for ath11k :) > > Yeah, it's not the best name from that perspective, but it follows the > current convention of naming the schema files after the first compatible > added. > > That said, we don't have many schemas for PCI devices so perhaps we can > establish a new convention for those. Perhaps by replacing the numerical > ids with what we'd use if these were platform devices (e.g. > 'qcom,wcn6855.yaml'). > > As long as the DT maintainers are OK with it, I'd also be happy with > something like you suggest below: > > qcom,ath11k-ahb.yaml > qcom,ath11k-pci.yaml > > (or simply not renaming the current file 'qcom,ath11k.yaml') but I have > gotten push back on that in the past. Ok, maybe it's then better not to try renaming qcom,ath11k.yaml and keep it as is. >> Also it doesn't look good that we have qcom,ath11k-calibration-variant >> documented twice now. I'm no DT expert but isn't there any other way? Is >> it possible to include other files? For example, if we would have three >> files: >> >> qcom,ath11k.yaml >> qcom,ath11k-ahb.yaml >> qcom,ath11k-pci.yaml >> >> Then have the common properties like ath11k-calibration-variant in the >> first file and ahb/pci files would include that. > > That should be possible, but it's not necessarily better as you'd then > have to look up two files to see the bindings for either device class > (and as far as I can tell there would not be much sharing beyond this > single property). > > Note that the property could just have well have been named > 'qcom,calibration-variant' and then it would be shared also with the > ath10k set of devices which currently holds another definition of what > is essentially the same property ('qcom,ath10k-calibration-variant'). Oh man, having it as 'qcom,calibration-variant' would have been so much better. Oh well, too late now :( Thanks for explaining all this.
diff --git a/Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml b/Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml new file mode 100644 index 000000000000..df67013822c6 --- /dev/null +++ b/Documentation/devicetree/bindings/net/wireless/pci17cb,1103.yaml @@ -0,0 +1,56 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (c) 2023 Linaro Limited +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/wireless/pci17cb,1103.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Technologies ath11k wireless devices (PCIe) + +maintainers: + - Kalle Valo <kvalo@kernel.org> + +description: | + Qualcomm Technologies IEEE 802.11ax PCIe devices. + +properties: + compatible: + enum: + - pci17cb,1103 # WCN6856 + + reg: + maxItems: 1 + + qcom,ath11k-calibration-variant: + $ref: /schemas/types.yaml#/definitions/string + description: calibration data variant + +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; + + bus-range = <0x01 0xff>; + + wifi@0 { + compatible = "pci17cb,1103"; + reg = <0x10000 0x0 0x0 0x0 0x0>; + + qcom,ath11k-calibration-variant = "LE_X13S"; + }; + }; + };