From bb818c30de60e2c66c4c615737b529c260c6a1b6 Mon Sep 17 00:00:00 2001 From: patrick Date: Mon, 27 Dec 2021 17:32:14 +0000 Subject: [PATCH] Map the chip ids used on Apple M1 Pro/Max and Apple T2 Macs to firmware names. --- sys/dev/pci/if_bwfm_pci.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/sys/dev/pci/if_bwfm_pci.c b/sys/dev/pci/if_bwfm_pci.c index 173db2d4008..db9949427d8 100644 --- a/sys/dev/pci/if_bwfm_pci.c +++ b/sys/dev/pci/if_bwfm_pci.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_bwfm_pci.c,v 1.62 2021/12/27 17:12:34 patrick Exp $ */ +/* $OpenBSD: if_bwfm_pci.c,v 1.63 2021/12/27 17:32:14 patrick Exp $ */ /* * Copyright (c) 2010-2016 Broadcom Corporation * Copyright (c) 2017 Patrick Wildt @@ -460,26 +460,40 @@ bwfm_pci_preinit(struct bwfm_softc *bwfm) bus_space_write_4(sc->sc_reg_iot, sc->sc_reg_ioh, BWFM_PCI_PCIE2REG_CONFIGDATA, reg); - switch (bwfm->sc_chip.ch_chip) - { + switch (bwfm->sc_chip.ch_chip) { case BRCM_CC_4350_CHIP_ID: - if (bwfm->sc_chip.ch_chiprev > 7) - chip = "4350"; - else + if (bwfm->sc_chip.ch_chiprev <= 7) chip = "4350c2"; + else + chip = "4350"; + break; + case BRCM_CC_4355_CHIP_ID: + chip = "4355c1"; break; case BRCM_CC_4356_CHIP_ID: chip = "4356"; break; + case BRCM_CC_4364_CHIP_ID: + if (bwfm->sc_chip.ch_chiprev <= 3) + chip = "4364b2"; + else + chip = "4364b3"; + break; case BRCM_CC_43602_CHIP_ID: chip = "43602"; break; case BRCM_CC_4371_CHIP_ID: chip = "4371"; break; + case BRCM_CC_4377_CHIP_ID: + chip = "4377b3"; + break; case BRCM_CC_4378_CHIP_ID: chip = "4378"; break; + case BRCM_CC_4387_CHIP_ID: + chip = "4387c2"; + break; default: printf("%s: unknown firmware for chip %s\n", DEVNAME(sc), bwfm->sc_chip.ch_name); -- 2.20.1