From patchwork Tue Jan 31 11:28:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hector Martin X-Patchwork-Id: 50781 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp2698873wrn; Tue, 31 Jan 2023 03:37:32 -0800 (PST) X-Google-Smtp-Source: AK7set9OtF0PwbMmbe6Yw9h4I2dB4At0ZY5ZxU7PFtK170OGD7tWYRB1Fbx+/pW+KTBuefyBbjph X-Received: by 2002:a17:907:2d0e:b0:885:b1e5:b089 with SMTP id gs14-20020a1709072d0e00b00885b1e5b089mr3391819ejc.45.1675165052117; Tue, 31 Jan 2023 03:37:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675165052; cv=none; d=google.com; s=arc-20160816; b=0EBye92DZZNsi9LFPvpVCF3uLFOahR2Id9IoWdlbyxpUgOBWbdrLXPF1+vJrDrUTg7 xelSZqLlMaY+4mK/ek+glZ4RW+t0g5IESkH7d3OufCqvGXLNEHFqc0mFQaitQhloVXXY jsYRYJdyzHKxidIc6lEzfbouTQ7WtullaWbCr05fzbKpgcAt282PwpYt7xVLOODwpM6K HpyG6mOLY/C4TK/mVwmbS/GlgkbBmlEMclaW9KWkjFs77bUFk7LX+XB92eAaagINCYwc w2WTOMWld2ys7N4JagFwEjhn6V96Y1LIdaAEnK9DeaOkQoqC7c0DnDfXvYlw4ziOR5yO /cbg== 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=6Kf3xIRqZpUbOOM9UNsAmv0Ct/3F6fimyPLAbX6KMhA=; b=jvm1aKFZQfbGPWg5S2ew3Atrs0HOOHmy1Rd0W7aayGSXdfHt8pdAEpFULY0u6q8VkC FpWpPWk9eeSVzbcw9tdpEWk+RMCOqxoxN0XjWb0mbVfaJ9mXMxOCxRLRF3GETC9GDZ0a e/N+oV6HciCN1maR/4tJ3/yI+jeB2BXeadhsb4Lhf1yaiGCrF2WzLoet4qylIRiy+odh hvnVwQceEevBXkg2GoTrKcWqUsVIH3fEFQEOrz86jua5vKTSJBKNJO4Oxw7tal7Fm7ct y2k48/ZLkuWxmmzlnOaA9d7bpdfirXWhy1KhR6W2+uSup0YteRwVuYoiTpRSXZgOInA+ ECSQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@marcan.st header.s=default header.b=VfU4DY0h; 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 22-20020a170906015600b008709928f35asi17987047ejh.367.2023.01.31.03.37.08; Tue, 31 Jan 2023 03:37:32 -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=VfU4DY0h; 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 S231766AbjAaLat (ORCPT + 99 others); Tue, 31 Jan 2023 06:30:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60186 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231624AbjAaLak (ORCPT ); Tue, 31 Jan 2023 06:30:40 -0500 Received: from mail.marcansoft.com (marcansoft.com [212.63.210.85]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 356194C6E5; Tue, 31 Jan 2023 03:30:30 -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 58A303FA55; Tue, 31 Jan 2023 11:30:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=marcan.st; s=default; t=1675164628; bh=RAI0h2lA4o/hdKqi2ZNI6zElQfxA1ktCWmEhVcxOT5A=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=VfU4DY0hc8q3MiPg5rUSDHSZ+ihX5G17z1SNmO1/wMQDSRFMrqdnWJFt0b76ApyqZ k2vXnousHaa3m7+JE+s4iawa+QsGieXRw7FlBQ1JjAcYPVPv4uljqN09empGad5uQm gHrBt797b+A8PRW+D7NvtF1Fz21RRDjRGpCYrzAMwfzv4Q8fTzkybA5VpYiv+kFfNu 0oXG6npRqUA8FbQTT6aRRcuiA3tchj0HQgSe8PZdG4Ua/Nc1F7wzDgkuRl4Neqoaf6 92dZCY+dANR6w4EtYh9M0x+dVmCUK+8KhlaqHLIZp0j+SeUXBPGLAdNTAa6XiPjz1E Yv/DjjklNXPzw== From: Hector Martin To: Arend van Spriel , Franky Lin , Hante Meuleman , Kalle Valo , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: Alexander Prutskov , Chi-Hsien Lin , Wright Feng , Ian Lin , Soontak Lee , Joseph chuang , Sven Peter , Alyssa Rosenzweig , Aditya Garg , 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 , Arend van Spriel Subject: [PATCH v2 3/5] brcmfmac: pcie: Add IDs/properties for BCM4355 Date: Tue, 31 Jan 2023 20:28:38 +0900 Message-Id: <20230131112840.14017-4-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 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: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756537869498232771?= X-GMAIL-MSGID: =?utf-8?q?1756537869498232771?= This chip is present on at least these Apple T2 Macs: * hawaii: MacBook Air 13" (Late 2018) * hawaii: MacBook Air 13" (True Tone, 2019) Users report seeing PCI revision ID 12 for this chip, which Arend reports should be revision C2, but Apple has the firmware tagged as revision C1. Assume the right cutoff point for firmware versions is revision ID 11 then, and leave older revisions using the non-versioned firmware filename (Apple only uses C1 firmware builds). Reviewed-by: Arend van Spriel Signed-off-by: Hector Martin --- .../net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 10 +++++++++- .../wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c index 6b57cb9444db..2b7da248fd93 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c @@ -52,6 +52,7 @@ BRCMF_FW_DEF(43602, "brcmfmac43602-pcie"); BRCMF_FW_DEF(4350, "brcmfmac4350-pcie"); BRCMF_FW_DEF(4350C, "brcmfmac4350c2-pcie"); BRCMF_FW_CLM_DEF(4355, "brcmfmac4355-pcie"); +BRCMF_FW_CLM_DEF(4355C1, "brcmfmac4355c1-pcie"); BRCMF_FW_CLM_DEF(4356, "brcmfmac4356-pcie"); BRCMF_FW_CLM_DEF(43570, "brcmfmac43570-pcie"); BRCMF_FW_DEF(4358, "brcmfmac4358-pcie"); @@ -78,7 +79,8 @@ static const struct brcmf_firmware_mapping brcmf_pcie_fwnames[] = { BRCMF_FW_ENTRY(BRCM_CC_4350_CHIP_ID, 0x000000FF, 4350C), BRCMF_FW_ENTRY(BRCM_CC_4350_CHIP_ID, 0xFFFFFF00, 4350), BRCMF_FW_ENTRY(BRCM_CC_43525_CHIP_ID, 0xFFFFFFF0, 4365C), - BRCMF_FW_ENTRY(BRCM_CC_4355_CHIP_ID, 0xFFFFFFFF, 4355), + BRCMF_FW_ENTRY(BRCM_CC_4355_CHIP_ID, 0x000007FF, 4355), + BRCMF_FW_ENTRY(BRCM_CC_4355_CHIP_ID, 0xFFFFF800, 4355C1), /* rev ID 12/C2 seen */ BRCMF_FW_ENTRY(BRCM_CC_4356_CHIP_ID, 0xFFFFFFFF, 4356), BRCMF_FW_ENTRY(BRCM_CC_43567_CHIP_ID, 0xFFFFFFFF, 43570), BRCMF_FW_ENTRY(BRCM_CC_43569_CHIP_ID, 0xFFFFFFFF, 43570), @@ -1994,6 +1996,11 @@ static int brcmf_pcie_read_otp(struct brcmf_pciedev_info *devinfo) int ret; switch (devinfo->ci->chip) { + case BRCM_CC_4355_CHIP_ID: + coreid = BCMA_CORE_CHIPCOMMON; + base = 0x8c0; + words = 0xb2; + break; case BRCM_CC_4378_CHIP_ID: coreid = BCMA_CORE_GCI; base = 0x1120; @@ -2589,6 +2596,7 @@ 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_4355_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), 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 eae609d5f42d..f73ca914256f 100644 --- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h +++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h @@ -71,6 +71,7 @@ /* PCIE Device IDs */ #define BRCM_PCIE_4350_DEVICE_ID 0x43a3 #define BRCM_PCIE_4354_DEVICE_ID 0x43df +#define BRCM_PCIE_4355_DEVICE_ID 0x43dc #define BRCM_PCIE_4356_DEVICE_ID 0x43ec #define BRCM_PCIE_43567_DEVICE_ID 0x43d3 #define BRCM_PCIE_43570_DEVICE_ID 0x43d9