Message ID | 20230131112840.14017-2-marcan@marcan.st |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp2698437wrn; Tue, 31 Jan 2023 03:36:21 -0800 (PST) X-Google-Smtp-Source: AK7set+VBhLR51ajZXg1An+bqxThMOh5oj3Ne2fGVeqXJqQAuv1Ygk+tSr/qOpqI/j1dyAFC8pJQ X-Received: by 2002:a05:6a00:14d6:b0:592:6522:edd with SMTP id w22-20020a056a0014d600b0059265220eddmr17889586pfu.29.1675164981261; Tue, 31 Jan 2023 03:36:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675164981; cv=none; d=google.com; s=arc-20160816; b=gAip2l/PSEoX7IRKSpOgKInVukTnvdzMARboMau94pVD80AN2g5zf+4iNemUACk4Po ZEZCs28mB3bZJ/yM/yY5k5vTV/4yquNQ0cGDYtApez/9Nuw9pe23Oej8dGsHXkJrNnXE 9GcTpK354eikUiH2O9ljmOFKrZDqbSd5olBQAq2pLvelfbfStcjLUqkabDq+uOcu1U5N 869QzWMN8oIdHM+2gyvDuUtdUZuqoUOJKj5x38F0k3f/hd24ZTH51iKIceSN8wIjdyDc OCmf69+CBOwDsnyaeobyPZi0LWBXuRxIhQOaFZN2oHcsKwCkWAhgw4PC+5PnxOvbIy3m 3t+w== 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=beJ747NUtuhIq1seGz/HlssxUQTTWnhau6f/EJui1Qk=; b=XTLlSmJ4XE6CCZ79es2Lfn5zzs3qogI+YQYnye5h/DHVK6CSJWd6LtzF828OYiFFs2 XhhSyCQVLBow0jzfqXt+qR48Zm0kBnqq+JdSoCXhVuOzejFG3sBOrufkFirzE4eGcpF1 Ca1qQqIchSl6Wb9nXhEDZff9mo9c+aMf7PKAflhtHzV2OpTl94SXC9jWyL3NzlGMF71D NdL7ExksSqIdAP7RTwbOs0kl+c/PHyZzXR2kASSh38RfrNL/bhlxG91dh7k34GjGZKT0 lWeCW56NdRcEzdVaALuVZK9cfF7Hs/7gkhV3xV4dkXPRvn8Iza67cWCtlELnkK1fu7qp 8VOQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@marcan.st header.s=default header.b="Q/RZ2cdR"; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=marcan.st Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x29-20020aa7941d000000b00593cbf483f7si5102789pfo.184.2023.01.31.03.36.08; Tue, 31 Jan 2023 03:36:21 -0800 (PST) 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=@marcan.st header.s=default header.b="Q/RZ2cdR"; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=marcan.st Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231571AbjAaLaY (ORCPT <rfc822;maxin.john@gmail.com> + 99 others); Tue, 31 Jan 2023 06:30:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59178 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231485AbjAaLaR (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Tue, 31 Jan 2023 06:30:17 -0500 Received: from mail.marcansoft.com (marcansoft.com [212.63.210.85]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 71BEC4B898; Tue, 31 Jan 2023 03:30:16 -0800 (PST) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: sendonly@marcansoft.com) by mail.marcansoft.com (Postfix) with ESMTPSA id E8E6041A36; Tue, 31 Jan 2023 11:30:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=marcan.st; s=default; t=1675164615; bh=5gnsaR4FOCkWyPrei8p2FxTptYOhZoOOen1N58kwQSk=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Q/RZ2cdRDe3TsB/aQJ5VzDPNFsFaSH6KMIbBxhm/8hf0gGeJMTZAf7UdKNFQsE/fz BsMtDecgp1UzaAIRdRqO9emk/lmSEr4Sn3CFj+Z/9eVe/HgE0ZjNW9G9K9e9eflnjE q7cib2jY/rUlFN+0+kM1/3lwZLk/smZOMOfUwD4wtSNA9W8QVwGq0uKdTEtnxczwK0 snJEUWbWm+1AtbITcpXT6X8n25k0MNRzM1NGBgHkjrYux4jKjyhRFJNF6DwwqQ9eWB 14F7LTJwQ24mJsRkyyS1NlWK1cH6lFaTpDMcjNqbh+gH3TvvBxUdBIjvgHz3MximC3 BfaIUaBXFkFbA== From: Hector Martin <marcan@marcan.st> To: Arend van Spriel <aspriel@gmail.com>, Franky Lin <franky.lin@broadcom.com>, Hante Meuleman <hante.meuleman@broadcom.com>, Kalle Valo <kvalo@kernel.org>, "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com> Cc: Alexander Prutskov <alep@cypress.com>, Chi-Hsien Lin <chi-hsien.lin@cypress.com>, Wright Feng <wright.feng@cypress.com>, Ian Lin <ian.lin@infineon.com>, Soontak Lee <soontak.lee@cypress.com>, Joseph chuang <jiac@cypress.com>, Sven Peter <sven@svenpeter.dev>, Alyssa Rosenzweig <alyssa@rosenzweig.io>, Aditya Garg <gargaditya08@live.com>, asahi@lists.linux.dev, linux-wireless@vger.kernel.org, brcm80211-dev-list.pdl@broadcom.com, SHA-cyfmac-dev-list@infineon.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Hector Martin <marcan@marcan.st> Subject: [PATCH v2 1/5] brcmfmac: Drop all the RAW device IDs Date: Tue, 31 Jan 2023 20:28:36 +0900 Message-Id: <20230131112840.14017-2-marcan@marcan.st> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230131112840.14017-1-marcan@marcan.st> References: <20230131112840.14017-1-marcan@marcan.st> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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?1756537795077750113?= X-GMAIL-MSGID: =?utf-8?q?1756537795077750113?= |
Series |
BCM4355/4364/4377 support & identification fixes
|
|
Commit Message
Hector Martin
Jan. 31, 2023, 11:28 a.m. UTC
These device IDs are only supposed to be visible internally, in devices
without a proper OTP. They should never be seen in devices in the wild,
so drop them to avoid confusion.
Signed-off-by: Hector Martin <marcan@marcan.st>
---
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 4 ----
drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 4 ----
2 files changed, 8 deletions(-)
Comments
On 1/31/2023 12:28 PM, 'Hector Martin' via BRCM80211-DEV-LIST,PDL wrote: > These device IDs are only supposed to be visible internally, in devices > without a proper OTP. They should never be seen in devices in the wild, > so drop them to avoid confusion. Thanks for this cleanup. Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com> > Signed-off-by: Hector Martin <marcan@marcan.st> > --- > drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 4 ---- > drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 4 ---- > 2 files changed, 8 deletions(-) > > diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c > index ae57a9a3ab05..93f961d484c3 100644 > --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c > +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c > @@ -2589,17 +2589,14 @@ static const struct dev_pm_ops brcmf_pciedrvr_pm = { > static const struct pci_device_id brcmf_pcie_devid_table[] = { > BRCMF_PCIE_DEVICE(BRCM_PCIE_4350_DEVICE_ID, WCC), > BRCMF_PCIE_DEVICE_SUB(0x4355, BRCM_PCIE_VENDOR_ID_BROADCOM, 0x4355, WCC), > - BRCMF_PCIE_DEVICE(BRCM_PCIE_4354_RAW_DEVICE_ID, WCC), > BRCMF_PCIE_DEVICE(BRCM_PCIE_4356_DEVICE_ID, WCC), > BRCMF_PCIE_DEVICE(BRCM_PCIE_43567_DEVICE_ID, WCC), > BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID, WCC), > - BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_RAW_DEVICE_ID, WCC), > BRCMF_PCIE_DEVICE(BRCM_PCIE_4358_DEVICE_ID, WCC), > BRCMF_PCIE_DEVICE(BRCM_PCIE_4359_DEVICE_ID, WCC), > BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_DEVICE_ID, WCC), > BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_2G_DEVICE_ID, WCC), > BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_5G_DEVICE_ID, WCC), > - BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_RAW_DEVICE_ID, WCC), > BRCMF_PCIE_DEVICE(BRCM_PCIE_4364_DEVICE_ID, BCA), > BRCMF_PCIE_DEVICE(BRCM_PCIE_4365_DEVICE_ID, BCA), > BRCMF_PCIE_DEVICE(BRCM_PCIE_4365_2G_DEVICE_ID, BCA), > @@ -2611,7 +2608,6 @@ static const struct pci_device_id brcmf_pcie_devid_table[] = { > BRCMF_PCIE_DEVICE(BRCM_PCIE_4371_DEVICE_ID, WCC), > BRCMF_PCIE_DEVICE(BRCM_PCIE_4378_DEVICE_ID, WCC), > BRCMF_PCIE_DEVICE(CY_PCIE_89459_DEVICE_ID, CYW), > - BRCMF_PCIE_DEVICE(CY_PCIE_89459_RAW_DEVICE_ID, CYW), > { /* end: all zeroes */ } > }; > > diff --git a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h > index f4939cf62767..a211a72fca42 100644 > --- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h > +++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h > @@ -71,17 +71,14 @@ > /* PCIE Device IDs */ > #define BRCM_PCIE_4350_DEVICE_ID 0x43a3 > #define BRCM_PCIE_4354_DEVICE_ID 0x43df > -#define BRCM_PCIE_4354_RAW_DEVICE_ID 0x4354 > #define BRCM_PCIE_4356_DEVICE_ID 0x43ec > #define BRCM_PCIE_43567_DEVICE_ID 0x43d3 > #define BRCM_PCIE_43570_DEVICE_ID 0x43d9 > -#define BRCM_PCIE_43570_RAW_DEVICE_ID 0xaa31 > #define BRCM_PCIE_4358_DEVICE_ID 0x43e9 > #define BRCM_PCIE_4359_DEVICE_ID 0x43ef > #define BRCM_PCIE_43602_DEVICE_ID 0x43ba > #define BRCM_PCIE_43602_2G_DEVICE_ID 0x43bb > #define BRCM_PCIE_43602_5G_DEVICE_ID 0x43bc > -#define BRCM_PCIE_43602_RAW_DEVICE_ID 43602 > #define BRCM_PCIE_4364_DEVICE_ID 0x4464 > #define BRCM_PCIE_4365_DEVICE_ID 0x43ca > #define BRCM_PCIE_4365_2G_DEVICE_ID 0x43cb > @@ -92,7 +89,6 @@ > #define BRCM_PCIE_4371_DEVICE_ID 0x440d > #define BRCM_PCIE_4378_DEVICE_ID 0x4425 > #define CY_PCIE_89459_DEVICE_ID 0x4415 > -#define CY_PCIE_89459_RAW_DEVICE_ID 0x4355 > > /* brcmsmac IDs */ > #define BCM4313_D11N2G_ID 0x4727 /* 4313 802.11n 2.4G device */
On Tue, 31 Jan 2023 at 12:36, Hector Martin <marcan@marcan.st> wrote: > > These device IDs are only supposed to be visible internally, in devices > without a proper OTP. They should never be seen in devices in the wild, > so drop them to avoid confusion. I think these can still show up in embedded platforms where the OTP/SPROM is provided on-flash. E.g. https://forum.archive.openwrt.org/viewtopic.php?id=55367&p=4 shows this bootlog on an BCM4709A0 router with two BCM43602 wifis: [ 3.237132] pci 0000:01:00.0: [14e4:aa52] type 00 class 0x028000 [ 3.237174] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] [ 3.237199] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] [ 3.237302] pci 0000:01:00.0: supports D1 D2 ... [ 3.782384] pci 0001:03:00.0: [14e4:aa52] type 00 class 0x028000 [ 3.782440] pci 0001:03:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] [ 3.782474] pci 0001:03:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] [ 3.782649] pci 0001:03:00.0: supports D1 D2 0xaa52 == 43602 (BRCM_PCIE_43602_RAW_DEVICE_ID) Rafał can probably provide more info there. Regards Jonas
On 31/01/2023 23.17, Jonas Gorski wrote: > On Tue, 31 Jan 2023 at 12:36, Hector Martin <marcan@marcan.st> wrote: >> >> These device IDs are only supposed to be visible internally, in devices >> without a proper OTP. They should never be seen in devices in the wild, >> so drop them to avoid confusion. > > I think these can still show up in embedded platforms where the > OTP/SPROM is provided on-flash. > > E.g. https://forum.archive.openwrt.org/viewtopic.php?id=55367&p=4 > shows this bootlog on an BCM4709A0 router with two BCM43602 wifis: > > [ 3.237132] pci 0000:01:00.0: [14e4:aa52] type 00 class 0x028000 > [ 3.237174] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] > [ 3.237199] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] > [ 3.237302] pci 0000:01:00.0: supports D1 D2 > ... > [ 3.782384] pci 0001:03:00.0: [14e4:aa52] type 00 class 0x028000 > [ 3.782440] pci 0001:03:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] > [ 3.782474] pci 0001:03:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] > [ 3.782649] pci 0001:03:00.0: supports D1 D2 > > 0xaa52 == 43602 (BRCM_PCIE_43602_RAW_DEVICE_ID) > > Rafał can probably provide more info there. > > Regards > Jonas > Arend, any comments on these platforms? - Hector
On February 2, 2023 6:25:28 AM "'Hector Martin' via BRCM80211-DEV-LIST,PDL" <brcm80211-dev-list.pdl@broadcom.com> wrote: > On 31/01/2023 23.17, Jonas Gorski wrote: >> On Tue, 31 Jan 2023 at 12:36, Hector Martin <marcan@marcan.st> wrote: >>> >>> These device IDs are only supposed to be visible internally, in devices >>> without a proper OTP. They should never be seen in devices in the wild, >>> so drop them to avoid confusion. >> >> I think these can still show up in embedded platforms where the >> OTP/SPROM is provided on-flash. >> >> E.g. https://forum.archive.openwrt.org/viewtopic.php?id=55367&p=4 >> shows this bootlog on an BCM4709A0 router with two BCM43602 wifis: >> >> [ 3.237132] pci 0000:01:00.0: [14e4:aa52] type 00 class 0x028000 >> [ 3.237174] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] >> [ 3.237199] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] >> [ 3.237302] pci 0000:01:00.0: supports D1 D2 >> ... >> [ 3.782384] pci 0001:03:00.0: [14e4:aa52] type 00 class 0x028000 >> [ 3.782440] pci 0001:03:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] >> [ 3.782474] pci 0001:03:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] >> [ 3.782649] pci 0001:03:00.0: supports D1 D2 >> >> 0xaa52 == 43602 (BRCM_PCIE_43602_RAW_DEVICE_ID) >> >> Rafał can probably provide more info there. >> >> Regards >> Jonas > > Arend, any comments on these platforms? Huh? I already replied to that couple of days ago or did I only imagine doing that. Regards, Arend
On 03/02/2023 02.19, Arend Van Spriel wrote: > On February 2, 2023 6:25:28 AM "'Hector Martin' via BRCM80211-DEV-LIST,PDL" > <brcm80211-dev-list.pdl@broadcom.com> wrote: > >> On 31/01/2023 23.17, Jonas Gorski wrote: >>> On Tue, 31 Jan 2023 at 12:36, Hector Martin <marcan@marcan.st> wrote: >>>> >>>> These device IDs are only supposed to be visible internally, in devices >>>> without a proper OTP. They should never be seen in devices in the wild, >>>> so drop them to avoid confusion. >>> >>> I think these can still show up in embedded platforms where the >>> OTP/SPROM is provided on-flash. >>> >>> E.g. https://forum.archive.openwrt.org/viewtopic.php?id=55367&p=4 >>> shows this bootlog on an BCM4709A0 router with two BCM43602 wifis: >>> >>> [ 3.237132] pci 0000:01:00.0: [14e4:aa52] type 00 class 0x028000 >>> [ 3.237174] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] >>> [ 3.237199] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] >>> [ 3.237302] pci 0000:01:00.0: supports D1 D2 >>> ... >>> [ 3.782384] pci 0001:03:00.0: [14e4:aa52] type 00 class 0x028000 >>> [ 3.782440] pci 0001:03:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] >>> [ 3.782474] pci 0001:03:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] >>> [ 3.782649] pci 0001:03:00.0: supports D1 D2 >>> >>> 0xaa52 == 43602 (BRCM_PCIE_43602_RAW_DEVICE_ID) >>> >>> Rafał can probably provide more info there. >>> >>> Regards >>> Jonas >> >> Arend, any comments on these platforms? > > Huh? I already replied to that couple of days ago or did I only imagine > doing that. I don't see any replies from you on the lists (or my inbox) to Jonas' email. - Hector
- stale Cypress emails On February 5, 2023 3:50:41 AM Hector Martin <marcan@marcan.st> wrote: > On 03/02/2023 02.19, Arend Van Spriel wrote: >> On February 2, 2023 6:25:28 AM "'Hector Martin' via BRCM80211-DEV-LIST,PDL" >> <brcm80211-dev-list.pdl@broadcom.com> wrote: >> >>> On 31/01/2023 23.17, Jonas Gorski wrote: >>>> On Tue, 31 Jan 2023 at 12:36, Hector Martin <marcan@marcan.st> wrote: >>>>> >>>>> These device IDs are only supposed to be visible internally, in devices >>>>> without a proper OTP. They should never be seen in devices in the wild, >>>>> so drop them to avoid confusion. >>>> >>>> I think these can still show up in embedded platforms where the >>>> OTP/SPROM is provided on-flash. >>>> >>>> E.g. https://forum.archive.openwrt.org/viewtopic.php?id=55367&p=4 >>>> shows this bootlog on an BCM4709A0 router with two BCM43602 wifis: >>>> >>>> [ 3.237132] pci 0000:01:00.0: [14e4:aa52] type 00 class 0x028000 >>>> [ 3.237174] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] >>>> [ 3.237199] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] >>>> [ 3.237302] pci 0000:01:00.0: supports D1 D2 >>>> ... >>>> [ 3.782384] pci 0001:03:00.0: [14e4:aa52] type 00 class 0x028000 >>>> [ 3.782440] pci 0001:03:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] >>>> [ 3.782474] pci 0001:03:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] >>>> [ 3.782649] pci 0001:03:00.0: supports D1 D2 >>>> >>>> 0xaa52 == 43602 (BRCM_PCIE_43602_RAW_DEVICE_ID) >>>> >>>> Rafał can probably provide more info there. >>>> >>>> Regards >>>> Jonas >>> >>> Arend, any comments on these platforms? >> >> Huh? I already replied to that couple of days ago or did I only imagine >> doing that. > > I don't see any replies from you on the lists (or my inbox) to Jonas' email. Accidentally sent that reply to internal mailing list. So quoting myself here: """ Shaking the tree helps ;-) What is meant by "OTP/SPROM is provided on-flash"? I assume you mean that it is on the host side and the wifi PCIe device can not access it when it gets powered up. Maybe for this scenario we should have a devicetree compatible to configure the device id, but that does not help any current users of these platforms. Thanks for providing this info. """ Regards, Arend
On Sun, 5 Feb 2023 at 07:58, Arend Van Spriel <arend.vanspriel@broadcom.com> wrote: > > - stale Cypress emails > > On February 5, 2023 3:50:41 AM Hector Martin <marcan@marcan.st> wrote: > > > On 03/02/2023 02.19, Arend Van Spriel wrote: > >> On February 2, 2023 6:25:28 AM "'Hector Martin' via BRCM80211-DEV-LIST,PDL" > >> <brcm80211-dev-list.pdl@broadcom.com> wrote: > >> > >>> On 31/01/2023 23.17, Jonas Gorski wrote: > >>>> On Tue, 31 Jan 2023 at 12:36, Hector Martin <marcan@marcan.st> wrote: > >>>>> > >>>>> These device IDs are only supposed to be visible internally, in devices > >>>>> without a proper OTP. They should never be seen in devices in the wild, > >>>>> so drop them to avoid confusion. > >>>> > >>>> I think these can still show up in embedded platforms where the > >>>> OTP/SPROM is provided on-flash. > >>>> > >>>> E.g. https://forum.archive.openwrt.org/viewtopic.php?id=55367&p=4 > >>>> shows this bootlog on an BCM4709A0 router with two BCM43602 wifis: > >>>> > >>>> [ 3.237132] pci 0000:01:00.0: [14e4:aa52] type 00 class 0x028000 > >>>> [ 3.237174] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] > >>>> [ 3.237199] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] > >>>> [ 3.237302] pci 0000:01:00.0: supports D1 D2 > >>>> ... > >>>> [ 3.782384] pci 0001:03:00.0: [14e4:aa52] type 00 class 0x028000 > >>>> [ 3.782440] pci 0001:03:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] > >>>> [ 3.782474] pci 0001:03:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] > >>>> [ 3.782649] pci 0001:03:00.0: supports D1 D2 > >>>> > >>>> 0xaa52 == 43602 (BRCM_PCIE_43602_RAW_DEVICE_ID) > >>>> > >>>> Rafał can probably provide more info there. > >>>> > >>>> Regards > >>>> Jonas > >>> > >>> Arend, any comments on these platforms? > >> > >> Huh? I already replied to that couple of days ago or did I only imagine > >> doing that. > > > > I don't see any replies from you on the lists (or my inbox) to Jonas' email. > > Accidentally sent that reply to internal mailing list. So quoting myself here: > > """ > Shaking the tree helps ;-) What is meant by "OTP/SPROM is provided > on-flash"? I assume you mean that it is on the host side and the wifi PCIe > device can not access it when it gets powered up. Maybe for this scenario > we should have a devicetree compatible to configure the device id, but that > does not help any current users of these platforms. Thanks for providing > this info. That's what I meant, the wifi chip itself does not have any (valid) OTP/SPROM attached/populated, and requires the driver to setup the values at runtime based on the host SoC's flash contents (most likely NVRAM contents). This was the case in about 99% of embedded systems based on MIPS bcm47xx/bcm63xx, where the wifi chips then always identified themselves with their raw chip IDs as PCI device IDs (even leading to one or two ID conflicts ...). I have to admit I don't know how much this is still an issue on current (ARM) systems, but at least that one BCM4709A one suggests this is still happening in "recent" designs. Probably because it saves half a cent per board or so ;-) Regards Jonas
On 05/02/2023 21.44, Jonas Gorski wrote: > On Sun, 5 Feb 2023 at 07:58, Arend Van Spriel > <arend.vanspriel@broadcom.com> wrote: >> >> - stale Cypress emails >> >> On February 5, 2023 3:50:41 AM Hector Martin <marcan@marcan.st> wrote: >> >>> On 03/02/2023 02.19, Arend Van Spriel wrote: >>>> On February 2, 2023 6:25:28 AM "'Hector Martin' via BRCM80211-DEV-LIST,PDL" >>>> <brcm80211-dev-list.pdl@broadcom.com> wrote: >>>> >>>>> On 31/01/2023 23.17, Jonas Gorski wrote: >>>>>> On Tue, 31 Jan 2023 at 12:36, Hector Martin <marcan@marcan.st> wrote: >>>>>>> >>>>>>> These device IDs are only supposed to be visible internally, in devices >>>>>>> without a proper OTP. They should never be seen in devices in the wild, >>>>>>> so drop them to avoid confusion. >>>>>> >>>>>> I think these can still show up in embedded platforms where the >>>>>> OTP/SPROM is provided on-flash. >>>>>> >>>>>> E.g. https://forum.archive.openwrt.org/viewtopic.php?id=55367&p=4 >>>>>> shows this bootlog on an BCM4709A0 router with two BCM43602 wifis: >>>>>> >>>>>> [ 3.237132] pci 0000:01:00.0: [14e4:aa52] type 00 class 0x028000 >>>>>> [ 3.237174] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] >>>>>> [ 3.237199] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] >>>>>> [ 3.237302] pci 0000:01:00.0: supports D1 D2 >>>>>> ... >>>>>> [ 3.782384] pci 0001:03:00.0: [14e4:aa52] type 00 class 0x028000 >>>>>> [ 3.782440] pci 0001:03:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] >>>>>> [ 3.782474] pci 0001:03:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] >>>>>> [ 3.782649] pci 0001:03:00.0: supports D1 D2 >>>>>> >>>>>> 0xaa52 == 43602 (BRCM_PCIE_43602_RAW_DEVICE_ID) >>>>>> >>>>>> Rafał can probably provide more info there. >>>>>> >>>>>> Regards >>>>>> Jonas >>>>> >>>>> Arend, any comments on these platforms? >>>> >>>> Huh? I already replied to that couple of days ago or did I only imagine >>>> doing that. >>> >>> I don't see any replies from you on the lists (or my inbox) to Jonas' email. >> >> Accidentally sent that reply to internal mailing list. So quoting myself here: >> >> """ >> Shaking the tree helps ;-) What is meant by "OTP/SPROM is provided >> on-flash"? I assume you mean that it is on the host side and the wifi PCIe >> device can not access it when it gets powered up. Maybe for this scenario >> we should have a devicetree compatible to configure the device id, but that >> does not help any current users of these platforms. Thanks for providing >> this info. > > That's what I meant, the wifi chip itself does not have any (valid) > OTP/SPROM attached/populated, and requires the driver to setup the > values at runtime based on the host SoC's flash contents (most likely > NVRAM contents). > > This was the case in about 99% of embedded systems based on MIPS > bcm47xx/bcm63xx, where the wifi chips then always identified > themselves with their raw chip IDs as PCI device IDs (even leading to > one or two ID conflicts ...). > > I have to admit I don't know how much this is still an issue on > current (ARM) systems, but at least that one BCM4709A one suggests > this is still happening in "recent" designs. Probably because it saves > half a cent per board or so ;-) > > Regards > Jonas > As far as I know the OTP is built into the chips themselves, and even Apple (who refuses to put per-device calibration data in OTP these days and loads it from DT) still manages to burn in the proper device ID and basic info at least... so I'm not sure how this saves any money. I thought chips weren't supposed to even leave Broadcom without at least an ID burned in? - Hector
On 05/02/2023 22.02, Hector Martin wrote: > On 05/02/2023 21.44, Jonas Gorski wrote: >> On Sun, 5 Feb 2023 at 07:58, Arend Van Spriel >> <arend.vanspriel@broadcom.com> wrote: >>> >>> - stale Cypress emails >>> >>> On February 5, 2023 3:50:41 AM Hector Martin <marcan@marcan.st> wrote: >>> >>>> On 03/02/2023 02.19, Arend Van Spriel wrote: >>>>> On February 2, 2023 6:25:28 AM "'Hector Martin' via BRCM80211-DEV-LIST,PDL" >>>>> <brcm80211-dev-list.pdl@broadcom.com> wrote: >>>>> >>>>>> On 31/01/2023 23.17, Jonas Gorski wrote: >>>>>>> On Tue, 31 Jan 2023 at 12:36, Hector Martin <marcan@marcan.st> wrote: >>>>>>>> >>>>>>>> These device IDs are only supposed to be visible internally, in devices >>>>>>>> without a proper OTP. They should never be seen in devices in the wild, >>>>>>>> so drop them to avoid confusion. >>>>>>> >>>>>>> I think these can still show up in embedded platforms where the >>>>>>> OTP/SPROM is provided on-flash. >>>>>>> >>>>>>> E.g. https://forum.archive.openwrt.org/viewtopic.php?id=55367&p=4 >>>>>>> shows this bootlog on an BCM4709A0 router with two BCM43602 wifis: >>>>>>> >>>>>>> [ 3.237132] pci 0000:01:00.0: [14e4:aa52] type 00 class 0x028000 >>>>>>> [ 3.237174] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] >>>>>>> [ 3.237199] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] >>>>>>> [ 3.237302] pci 0000:01:00.0: supports D1 D2 >>>>>>> ... >>>>>>> [ 3.782384] pci 0001:03:00.0: [14e4:aa52] type 00 class 0x028000 >>>>>>> [ 3.782440] pci 0001:03:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] >>>>>>> [ 3.782474] pci 0001:03:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] >>>>>>> [ 3.782649] pci 0001:03:00.0: supports D1 D2 >>>>>>> >>>>>>> 0xaa52 == 43602 (BRCM_PCIE_43602_RAW_DEVICE_ID) >>>>>>> >>>>>>> Rafał can probably provide more info there. >>>>>>> >>>>>>> Regards >>>>>>> Jonas >>>>>> >>>>>> Arend, any comments on these platforms? >>>>> >>>>> Huh? I already replied to that couple of days ago or did I only imagine >>>>> doing that. >>>> >>>> I don't see any replies from you on the lists (or my inbox) to Jonas' email. >>> >>> Accidentally sent that reply to internal mailing list. So quoting myself here: >>> >>> """ >>> Shaking the tree helps ;-) What is meant by "OTP/SPROM is provided >>> on-flash"? I assume you mean that it is on the host side and the wifi PCIe >>> device can not access it when it gets powered up. Maybe for this scenario >>> we should have a devicetree compatible to configure the device id, but that >>> does not help any current users of these platforms. Thanks for providing >>> this info. >> >> That's what I meant, the wifi chip itself does not have any (valid) >> OTP/SPROM attached/populated, and requires the driver to setup the >> values at runtime based on the host SoC's flash contents (most likely >> NVRAM contents). >> >> This was the case in about 99% of embedded systems based on MIPS >> bcm47xx/bcm63xx, where the wifi chips then always identified >> themselves with their raw chip IDs as PCI device IDs (even leading to >> one or two ID conflicts ...). >> >> I have to admit I don't know how much this is still an issue on >> current (ARM) systems, but at least that one BCM4709A one suggests >> this is still happening in "recent" designs. Probably because it saves >> half a cent per board or so ;-) >> >> Regards >> Jonas >> > > As far as I know the OTP is built into the chips themselves, and even > Apple (who refuses to put per-device calibration data in OTP these days > and loads it from DT) still manages to burn in the proper device ID and > basic info at least... so I'm not sure how this saves any money. I > thought chips weren't supposed to even leave Broadcom without at least > an ID burned in? > > - Hector I'd like to move forward with this. Should I send a v3 without the RAW ID removal? - Hector
On February 8, 2023 5:02:32 AM Hector Martin <marcan@marcan.st> wrote: > On 05/02/2023 22.02, Hector Martin wrote: >> On 05/02/2023 21.44, Jonas Gorski wrote: >>> On Sun, 5 Feb 2023 at 07:58, Arend Van Spriel >>> <arend.vanspriel@broadcom.com> wrote: >>>> >>>> - stale Cypress emails >>>> >>>> On February 5, 2023 3:50:41 AM Hector Martin <marcan@marcan.st> wrote: >>>> >>>>> On 03/02/2023 02.19, Arend Van Spriel wrote: >>>>>> On February 2, 2023 6:25:28 AM "'Hector Martin' via BRCM80211-DEV-LIST,PDL" >>>>>> <brcm80211-dev-list.pdl@broadcom.com> wrote: >>>>>> >>>>>>> On 31/01/2023 23.17, Jonas Gorski wrote: >>>>>>>> On Tue, 31 Jan 2023 at 12:36, Hector Martin <marcan@marcan.st> wrote: >>>>>>>>> >>>>>>>>> These device IDs are only supposed to be visible internally, in devices >>>>>>>>> without a proper OTP. They should never be seen in devices in the wild, >>>>>>>>> so drop them to avoid confusion. >>>>>>>> >>>>>>>> I think these can still show up in embedded platforms where the >>>>>>>> OTP/SPROM is provided on-flash. >>>>>>>> >>>>>>>> E.g. https://forum.archive.openwrt.org/viewtopic.php?id=55367&p=4 >>>>>>>> shows this bootlog on an BCM4709A0 router with two BCM43602 wifis: >>>>>>>> >>>>>>>> [ 3.237132] pci 0000:01:00.0: [14e4:aa52] type 00 class 0x028000 >>>>>>>> [ 3.237174] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] >>>>>>>> [ 3.237199] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] >>>>>>>> [ 3.237302] pci 0000:01:00.0: supports D1 D2 >>>>>>>> ... >>>>>>>> [ 3.782384] pci 0001:03:00.0: [14e4:aa52] type 00 class 0x028000 >>>>>>>> [ 3.782440] pci 0001:03:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] >>>>>>>> [ 3.782474] pci 0001:03:00.0: reg 0x18: [mem 0x00000000-0x003fffff 64bit] >>>>>>>> [ 3.782649] pci 0001:03:00.0: supports D1 D2 >>>>>>>> >>>>>>>> 0xaa52 == 43602 (BRCM_PCIE_43602_RAW_DEVICE_ID) >>>>>>>> >>>>>>>> Rafał can probably provide more info there. >>>>>>>> >>>>>>>> Regards >>>>>>>> Jonas >>>>>>> >>>>>>> Arend, any comments on these platforms? >>>>>> >>>>>> Huh? I already replied to that couple of days ago or did I only imagine >>>>>> doing that. >>>>> >>>>> I don't see any replies from you on the lists (or my inbox) to Jonas' email. >>>> >>>> Accidentally sent that reply to internal mailing list. So quoting myself here: >>>> >>>> """ >>>> Shaking the tree helps ;-) What is meant by "OTP/SPROM is provided >>>> on-flash"? I assume you mean that it is on the host side and the wifi PCIe >>>> device can not access it when it gets powered up. Maybe for this scenario >>>> we should have a devicetree compatible to configure the device id, but that >>>> does not help any current users of these platforms. Thanks for providing >>>> this info. >>> >>> That's what I meant, the wifi chip itself does not have any (valid) >>> OTP/SPROM attached/populated, and requires the driver to setup the >>> values at runtime based on the host SoC's flash contents (most likely >>> NVRAM contents). >>> >>> This was the case in about 99% of embedded systems based on MIPS >>> bcm47xx/bcm63xx, where the wifi chips then always identified >>> themselves with their raw chip IDs as PCI device IDs (even leading to >>> one or two ID conflicts ...). >>> >>> I have to admit I don't know how much this is still an issue on >>> current (ARM) systems, but at least that one BCM4709A one suggests >>> this is still happening in "recent" designs. Probably because it saves >>> half a cent per board or so ;-) >>> >>> Regards >>> Jonas >> >> As far as I know the OTP is built into the chips themselves, and even >> Apple (who refuses to put per-device calibration data in OTP these days >> and loads it from DT) still manages to burn in the proper device ID and >> basic info at least... so I'm not sure how this saves any money. I >> thought chips weren't supposed to even leave Broadcom without at least >> an ID burned in? >> >> - Hector > > I'd like to move forward with this. Should I send a v3 without the RAW > ID removal? Yeah. Need to consider the options for solving this. Programming the OTP is a manufacturing step done by OEM so I think they save having to implement that step in production and it is not so much chip cost saving. Our proprietary driver is setup so it is probed for any PCI device with network class and then it uses NVRAM to obtain the PCI devid. Regards, Arend
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c index ae57a9a3ab05..93f961d484c3 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c @@ -2589,17 +2589,14 @@ static const struct dev_pm_ops brcmf_pciedrvr_pm = { static const struct pci_device_id brcmf_pcie_devid_table[] = { BRCMF_PCIE_DEVICE(BRCM_PCIE_4350_DEVICE_ID, WCC), BRCMF_PCIE_DEVICE_SUB(0x4355, BRCM_PCIE_VENDOR_ID_BROADCOM, 0x4355, WCC), - BRCMF_PCIE_DEVICE(BRCM_PCIE_4354_RAW_DEVICE_ID, WCC), BRCMF_PCIE_DEVICE(BRCM_PCIE_4356_DEVICE_ID, WCC), BRCMF_PCIE_DEVICE(BRCM_PCIE_43567_DEVICE_ID, WCC), BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID, WCC), - BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_RAW_DEVICE_ID, WCC), BRCMF_PCIE_DEVICE(BRCM_PCIE_4358_DEVICE_ID, WCC), BRCMF_PCIE_DEVICE(BRCM_PCIE_4359_DEVICE_ID, WCC), BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_DEVICE_ID, WCC), BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_2G_DEVICE_ID, WCC), BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_5G_DEVICE_ID, WCC), - BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_RAW_DEVICE_ID, WCC), BRCMF_PCIE_DEVICE(BRCM_PCIE_4364_DEVICE_ID, BCA), BRCMF_PCIE_DEVICE(BRCM_PCIE_4365_DEVICE_ID, BCA), BRCMF_PCIE_DEVICE(BRCM_PCIE_4365_2G_DEVICE_ID, BCA), @@ -2611,7 +2608,6 @@ static const struct pci_device_id brcmf_pcie_devid_table[] = { BRCMF_PCIE_DEVICE(BRCM_PCIE_4371_DEVICE_ID, WCC), BRCMF_PCIE_DEVICE(BRCM_PCIE_4378_DEVICE_ID, WCC), BRCMF_PCIE_DEVICE(CY_PCIE_89459_DEVICE_ID, CYW), - BRCMF_PCIE_DEVICE(CY_PCIE_89459_RAW_DEVICE_ID, CYW), { /* end: all zeroes */ } }; diff --git a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h index f4939cf62767..a211a72fca42 100644 --- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h +++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h @@ -71,17 +71,14 @@ /* PCIE Device IDs */ #define BRCM_PCIE_4350_DEVICE_ID 0x43a3 #define BRCM_PCIE_4354_DEVICE_ID 0x43df -#define BRCM_PCIE_4354_RAW_DEVICE_ID 0x4354 #define BRCM_PCIE_4356_DEVICE_ID 0x43ec #define BRCM_PCIE_43567_DEVICE_ID 0x43d3 #define BRCM_PCIE_43570_DEVICE_ID 0x43d9 -#define BRCM_PCIE_43570_RAW_DEVICE_ID 0xaa31 #define BRCM_PCIE_4358_DEVICE_ID 0x43e9 #define BRCM_PCIE_4359_DEVICE_ID 0x43ef #define BRCM_PCIE_43602_DEVICE_ID 0x43ba #define BRCM_PCIE_43602_2G_DEVICE_ID 0x43bb #define BRCM_PCIE_43602_5G_DEVICE_ID 0x43bc -#define BRCM_PCIE_43602_RAW_DEVICE_ID 43602 #define BRCM_PCIE_4364_DEVICE_ID 0x4464 #define BRCM_PCIE_4365_DEVICE_ID 0x43ca #define BRCM_PCIE_4365_2G_DEVICE_ID 0x43cb @@ -92,7 +89,6 @@ #define BRCM_PCIE_4371_DEVICE_ID 0x440d #define BRCM_PCIE_4378_DEVICE_ID 0x4425 #define CY_PCIE_89459_DEVICE_ID 0x4415 -#define CY_PCIE_89459_RAW_DEVICE_ID 0x4355 /* brcmsmac IDs */ #define BCM4313_D11N2G_ID 0x4727 /* 4313 802.11n 2.4G device */