mac80211: backport brcmfmac changes from kernel 4.18
[openwrt/staging/wigyori.git] / package / kernel / mac80211 / patches / 331-v4.18-0001-brcmfmac-Add-support-for-bcm43364-wireless-chipset.patch
1 From 9c4a121e82634aa000a702c98cd6f05b27d6e186 Mon Sep 17 00:00:00 2001
2 From: Sean Lanigan <sean@lano.id.au>
3 Date: Fri, 4 May 2018 16:48:23 +1000
4 Subject: [PATCH] brcmfmac: Add support for bcm43364 wireless chipset
5
6 Add support for the BCM43364 chipset via an SDIO interface, as used in
7 e.g. the Murata 1FX module.
8
9 The BCM43364 uses the same firmware as the BCM43430 (which is already
10 included), the only difference is the omission of Bluetooth.
11
12 However, the SDIO_ID for the BCM43364 is 02D0:A9A4, giving it a MODALIAS
13 of sdio:c00v02D0dA9A4, which doesn't get recognised and hence doesn't
14 load the brcmfmac module. Adding the 'A9A4' ID in the appropriate place
15 triggers the brcmfmac driver to load, and then correctly use the
16 firmware file 'brcmfmac43430-sdio.bin'.
17
18 Signed-off-by: Sean Lanigan <sean@lano.id.au>
19 Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
20 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
21 ---
22 drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 1 +
23 include/linux/mmc/sdio_ids.h | 1 +
24 2 files changed, 2 insertions(+)
25
26 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
27 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
28 @@ -963,6 +963,7 @@ static const struct sdio_device_id brcmf
29 BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43340),
30 BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43341),
31 BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43362),
32 + BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43364),
33 BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4335_4339),
34 BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4339),
35 BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43430),
36 --- a/include/linux/mmc/sdio_ids.h
37 +++ b/include/linux/mmc/sdio_ids.h
38 @@ -34,6 +34,7 @@
39 #define SDIO_DEVICE_ID_BROADCOM_4335_4339 0x4335
40 #define SDIO_DEVICE_ID_BROADCOM_4339 0x4339
41 #define SDIO_DEVICE_ID_BROADCOM_43362 0xa962
42 +#define SDIO_DEVICE_ID_BROADCOM_43364 0xa9a4
43 #define SDIO_DEVICE_ID_BROADCOM_43430 0xa9a6
44 #define SDIO_DEVICE_ID_BROADCOM_4345 0x4345
45 #define SDIO_DEVICE_ID_BROADCOM_43455 0xa9bf