lkml.org 
[lkml]   [2022]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 14/35] brcmfmac: pcie: Add IDs/properties for BCM4378
    Date
    This chip is present on Apple M1 (t8103) platforms:

    * atlantisb (apple,j274): Mac mini (M1, 2020)
    * honshu (apple,j293): MacBook Pro (13-inch, M1, 2020)
    * shikoku (apple,j313): MacBook Air (M1, 2020)
    * capri (apple,j456): iMac (24-inch, 4x USB-C, M1, 2020)
    * santorini (apple,j457): iMac (24-inch, 2x USB-C, M1, 2020)

    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Hector Martin <marcan@marcan.st>
    ---
    drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c | 2 ++
    drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 8 ++++++++
    .../net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 2 ++
    3 files changed, 12 insertions(+)

    diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
    index 1ee49f9e325d..56a6f41685c1 100644
    --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
    +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
    @@ -731,6 +731,8 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
    return 0x160000;
    case CY_CC_43752_CHIP_ID:
    return 0x170000;
    + case BRCM_CC_4378_CHIP_ID:
    + return 0x352000;
    default:
    brcmf_err("unknown chip: %s\n", ci->pub.name);
    break;
    diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
    index f3744e806157..cc76f00724e6 100644
    --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
    +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
    @@ -58,6 +58,7 @@ BRCMF_FW_DEF(4365C, "brcmfmac4365c-pcie");
    BRCMF_FW_DEF(4366B, "brcmfmac4366b-pcie");
    BRCMF_FW_DEF(4366C, "brcmfmac4366c-pcie");
    BRCMF_FW_DEF(4371, "brcmfmac4371-pcie");
    +BRCMF_FW_CLM_DEF(4378B1, "brcmfmac4378b1-pcie");

    /* firmware config files */
    MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcmfmac*-pcie.txt");
    @@ -87,6 +88,7 @@ static const struct brcmf_firmware_mapping brcmf_pcie_fwnames[] = {
    BRCMF_FW_ENTRY(BRCM_CC_43664_CHIP_ID, 0xFFFFFFF0, 4366C),
    BRCMF_FW_ENTRY(BRCM_CC_43666_CHIP_ID, 0xFFFFFFF0, 4366C),
    BRCMF_FW_ENTRY(BRCM_CC_4371_CHIP_ID, 0xFFFFFFFF, 4371),
    + BRCMF_FW_ENTRY(BRCM_CC_4378_CHIP_ID, 0xFFFFFFFF, 4378B1), /* 3 */
    };

    #define BRCMF_PCIE_FW_UP_TIMEOUT 5000 /* msec */
    @@ -2010,6 +2012,11 @@ static int brcmf_pcie_read_otp(struct brcmf_pciedev_info *devinfo)
    int ret;

    switch (devinfo->ci->chip) {
    + case BRCM_CC_4378_CHIP_ID:
    + coreid = BCMA_CORE_GCI;
    + base = 0x1120;
    + words = 0x170;
    + break;
    default:
    /* OTP not supported on this chip */
    return 0;
    @@ -2509,6 +2516,7 @@ static const struct pci_device_id brcmf_pcie_devid_table[] = {
    BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_2G_DEVICE_ID),
    BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_5G_DEVICE_ID),
    BRCMF_PCIE_DEVICE(BRCM_PCIE_4371_DEVICE_ID),
    + BRCMF_PCIE_DEVICE(BRCM_PCIE_4378_DEVICE_ID),
    { /* 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 9d81320164ce..8f552b53f3bc 100644
    --- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
    +++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
    @@ -50,6 +50,7 @@
    #define BRCM_CC_43664_CHIP_ID 43664
    #define BRCM_CC_43666_CHIP_ID 43666
    #define BRCM_CC_4371_CHIP_ID 0x4371
    +#define BRCM_CC_4378_CHIP_ID 0x4378
    #define CY_CC_4373_CHIP_ID 0x4373
    #define CY_CC_43012_CHIP_ID 43012
    #define CY_CC_43752_CHIP_ID 43752
    @@ -85,6 +86,7 @@
    #define BRCM_PCIE_4366_2G_DEVICE_ID 0x43c4
    #define BRCM_PCIE_4366_5G_DEVICE_ID 0x43c5
    #define BRCM_PCIE_4371_DEVICE_ID 0x440d
    +#define BRCM_PCIE_4378_DEVICE_ID 0x4425


    /* brcmsmac IDs */
    --
    2.33.0
    \
     
     \ /
      Last update: 2022-01-04 08:30    [W:4.116 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site