diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2020-06-19 20:56:24 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2020-06-19 20:56:24 +0000 |
commit | 2c7ffdbc2e4236f5372d879a5b4a722685b78ccf (patch) | |
tree | a95ea32e13fef8e7ad443d5e121c542a1bf2e188 | |
parent | 9c90a6181b59107aabc591ff134792d44f585fca (diff) |
Add support for BCM4359 SDIO variants such as the AP6359SA module found
on the RockPro64 WiFi module.
Note that there is no fiirmware for this chip in the bwfm-firmware package
at the moment.
ok patrick@
-rw-r--r-- | sys/dev/ic/bwfm.c | 9 | ||||
-rw-r--r-- | sys/dev/sdmmc/if_bwfm_sdio.c | 6 |
2 files changed, 12 insertions, 3 deletions
diff --git a/sys/dev/ic/bwfm.c b/sys/dev/ic/bwfm.c index 93564fa3482..15f1bbfb510 100644 --- a/sys/dev/ic/bwfm.c +++ b/sys/dev/ic/bwfm.c @@ -1,4 +1,4 @@ -/* $OpenBSD: bwfm.c,v 1.71 2020/05/15 14:09:14 patrick Exp $ */ +/* $OpenBSD: bwfm.c,v 1.72 2020/06/19 20:56:23 kettenis Exp $ */ /* * Copyright (c) 2010-2016 Broadcom Corporation * Copyright (c) 2016,2017 Patrick Wildt <patrick@blueri.se> @@ -1417,11 +1417,16 @@ bwfm_chip_tcm_rambase(struct bwfm_softc *sc) case BRCM_CC_43569_CHIP_ID: case BRCM_CC_43570_CHIP_ID: case BRCM_CC_4358_CHIP_ID: - case BRCM_CC_4359_CHIP_ID: case BRCM_CC_43602_CHIP_ID: case BRCM_CC_4371_CHIP_ID: sc->sc_chip.ch_rambase = 0x180000; break; + case BRCM_CC_4359_CHIP_ID: + if (sc->sc_chip.ch_chiprev < 9) + sc->sc_chip.ch_rambase = 0x180000; + else + sc->sc_chip.ch_rambase = 0x160000; + break; case BRCM_CC_43465_CHIP_ID: case BRCM_CC_43525_CHIP_ID: case BRCM_CC_4365_CHIP_ID: diff --git a/sys/dev/sdmmc/if_bwfm_sdio.c b/sys/dev/sdmmc/if_bwfm_sdio.c index 7b1e534017e..799c9b37117 100644 --- a/sys/dev/sdmmc/if_bwfm_sdio.c +++ b/sys/dev/sdmmc/if_bwfm_sdio.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_bwfm_sdio.c,v 1.37 2020/05/15 14:09:14 patrick Exp $ */ +/* $OpenBSD: if_bwfm_sdio.c,v 1.38 2020/06/19 20:56:23 kettenis Exp $ */ /* * Copyright (c) 2010-2016 Broadcom Corporation * Copyright (c) 2016,2017 Patrick Wildt <patrick@blueri.se> @@ -222,6 +222,7 @@ bwfm_sdio_match(struct device *parent, void *match, void *aux) case 0x4345: case 0x4354: case 0x4356: + case 0x4359: case 0xa887: /* BCM43143 */ case 0xa94c: /* BCM43340 */ case 0xa94d: /* BCM43341 */ @@ -421,6 +422,9 @@ bwfm_sdio_preinit(struct bwfm_softc *bwfm) case BRCM_CC_4356_CHIP_ID: chip = "4356"; break; + case BRCM_CC_4359_CHIP_ID: + chip = "4359"; + break; default: printf("%s: unknown firmware for chip %s\n", DEVNAME(sc), bwfm->sc_chip.ch_name); |