2018-05-04 06:56:47

by Sean Lanigan

[permalink] [raw]
Subject: [PATCH] brcmfmac: Add support for bcm43364 wireless chipset

Add support for the BCM43364 chipset via an SDIO interface, as used in
e.g. the Murata 1FX module.

The BCM43364 uses the same firmware as the BCM43430 (which is already
included), the only difference is the omission of Bluetooth.

However, the SDIO_ID for the BCM43364 is 02D0:A9A4, giving it a MODALIAS
of sdio:c00v02D0dA9A4, which doesn't get recognised and hence doesn't
load the brcmfmac module. Adding the 'A9A4' ID in the appropriate place
triggers the brcmfmac driver to load, and then correctly use the
firmware file 'brcmfmac43430-sdio.bin'.


Signed-off-by: Sean Lanigan <[email protected]>
---
drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 1 +
include/linux/mmc/sdio_ids.h | 1 +
2 files changed, 2 insertions(+)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
index 0b68240..4648a3d 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
@@ -963,6 +963,7 @@ static const struct sdio_device_id brcmf_sdmmc_ids[] = {
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43340),
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43341),
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43362),
+ BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43364),
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4335_4339),
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4339),
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43430),
diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h
index cdd66a5..0a7abe8 100644
--- a/include/linux/mmc/sdio_ids.h
+++ b/include/linux/mmc/sdio_ids.h
@@ -35,6 +35,7 @@
#define SDIO_DEVICE_ID_BROADCOM_4335_4339 0x4335
#define SDIO_DEVICE_ID_BROADCOM_4339 0x4339
#define SDIO_DEVICE_ID_BROADCOM_43362 0xa962
+#define SDIO_DEVICE_ID_BROADCOM_43364 0xa9a4
#define SDIO_DEVICE_ID_BROADCOM_43430 0xa9a6
#define SDIO_DEVICE_ID_BROADCOM_4345 0x4345
#define SDIO_DEVICE_ID_BROADCOM_43455 0xa9bf
--
2.7.4


2018-05-08 12:51:34

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] brcmfmac: Add support for bcm43364 wireless chipset

Arend van Spriel <[email protected]> writes:

> + Kalle (explicitly)
>
> On 5/8/2018 9:58 AM, Ulf Hansson wrote:
>> On 4 May 2018 at 08:48, Sean Lanigan <[email protected]> wrote:
>>> Add support for the BCM43364 chipset via an SDIO interface, as used in
>>> e.g. the Murata 1FX module.
>>>
>>> The BCM43364 uses the same firmware as the BCM43430 (which is already
>>> included), the only difference is the omission of Bluetooth.
>>>
>>> However, the SDIO_ID for the BCM43364 is 02D0:A9A4, giving it a MODALIAS
>>> of sdio:c00v02D0dA9A4, which doesn't get recognised and hence doesn't
>>> load the brcmfmac module. Adding the 'A9A4' ID in the appropriate place
>>> triggers the brcmfmac driver to load, and then correctly use the
>>> firmware file 'brcmfmac43430-sdio.bin'.
>>>
>>>
>>> Signed-off-by: Sean Lanigan <[email protected]>
>>
>> Acked-by: Ulf Hansson <[email protected]>
>>
>> Arend, I assume you want to pick this up? If not, just tell and I can do it.
>
> Not necessarily. I let Kalle do the leg work ;-) Given the change I do
> not expect any conflict so we can go either way with a slight
> preference for wl-drivers-next. Kalle?

Yeah, I would like to take this to wireless-drivers-next. Less conflicts
that way.

--
Kalle Valo

2018-05-08 07:58:36

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH] brcmfmac: Add support for bcm43364 wireless chipset

On 4 May 2018 at 08:48, Sean Lanigan <[email protected]> wrote:
> Add support for the BCM43364 chipset via an SDIO interface, as used in
> e.g. the Murata 1FX module.
>
> The BCM43364 uses the same firmware as the BCM43430 (which is already
> included), the only difference is the omission of Bluetooth.
>
> However, the SDIO_ID for the BCM43364 is 02D0:A9A4, giving it a MODALIAS
> of sdio:c00v02D0dA9A4, which doesn't get recognised and hence doesn't
> load the brcmfmac module. Adding the 'A9A4' ID in the appropriate place
> triggers the brcmfmac driver to load, and then correctly use the
> firmware file 'brcmfmac43430-sdio.bin'.
>
>
> Signed-off-by: Sean Lanigan <[email protected]>

Acked-by: Ulf Hansson <[email protected]>

Arend, I assume you want to pick this up? If not, just tell and I can do it.

Kind regards
Uffe

> ---
> drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 1 +
> include/linux/mmc/sdio_ids.h | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
> index 0b68240..4648a3d 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
> @@ -963,6 +963,7 @@ static const struct sdio_device_id brcmf_sdmmc_ids[] = {
> BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43340),
> BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43341),
> BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43362),
> + BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43364),
> BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4335_4339),
> BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4339),
> BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43430),
> diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h
> index cdd66a5..0a7abe8 100644
> --- a/include/linux/mmc/sdio_ids.h
> +++ b/include/linux/mmc/sdio_ids.h
> @@ -35,6 +35,7 @@
> #define SDIO_DEVICE_ID_BROADCOM_4335_4339 0x4335
> #define SDIO_DEVICE_ID_BROADCOM_4339 0x4339
> #define SDIO_DEVICE_ID_BROADCOM_43362 0xa962
> +#define SDIO_DEVICE_ID_BROADCOM_43364 0xa9a4
> #define SDIO_DEVICE_ID_BROADCOM_43430 0xa9a6
> #define SDIO_DEVICE_ID_BROADCOM_4345 0x4345
> #define SDIO_DEVICE_ID_BROADCOM_43455 0xa9bf
> --
> 2.7.4
>

2018-05-09 10:25:12

by Kalle Valo

[permalink] [raw]
Subject: Re: brcmfmac: Add support for bcm43364 wireless chipset

Sean Lanigan <[email protected]> wrote:

> Add support for the BCM43364 chipset via an SDIO interface, as used in
> e.g. the Murata 1FX module.
>
> The BCM43364 uses the same firmware as the BCM43430 (which is already
> included), the only difference is the omission of Bluetooth.
>
> However, the SDIO_ID for the BCM43364 is 02D0:A9A4, giving it a MODALIAS
> of sdio:c00v02D0dA9A4, which doesn't get recognised and hence doesn't
> load the brcmfmac module. Adding the 'A9A4' ID in the appropriate place
> triggers the brcmfmac driver to load, and then correctly use the
> firmware file 'brcmfmac43430-sdio.bin'.
>
>
> Signed-off-by: Sean Lanigan <[email protected]>
> Acked-by: Ulf Hansson <[email protected]>

Patch applied to wireless-drivers-next.git, thanks.

9c4a121e8263 brcmfmac: Add support for bcm43364 wireless chipset

--
https://patchwork.kernel.org/patch/10380047/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

2018-05-08 12:11:41

by Arend Van Spriel

[permalink] [raw]
Subject: Re: [PATCH] brcmfmac: Add support for bcm43364 wireless chipset

+ Kalle (explicitly)

On 5/8/2018 9:58 AM, Ulf Hansson wrote:
> On 4 May 2018 at 08:48, Sean Lanigan <[email protected]> wrote:
>> Add support for the BCM43364 chipset via an SDIO interface, as used in
>> e.g. the Murata 1FX module.
>>
>> The BCM43364 uses the same firmware as the BCM43430 (which is already
>> included), the only difference is the omission of Bluetooth.
>>
>> However, the SDIO_ID for the BCM43364 is 02D0:A9A4, giving it a MODALIAS
>> of sdio:c00v02D0dA9A4, which doesn't get recognised and hence doesn't
>> load the brcmfmac module. Adding the 'A9A4' ID in the appropriate place
>> triggers the brcmfmac driver to load, and then correctly use the
>> firmware file 'brcmfmac43430-sdio.bin'.
>>
>>
>> Signed-off-by: Sean Lanigan <[email protected]>
>
> Acked-by: Ulf Hansson <[email protected]>
>
> Arend, I assume you want to pick this up? If not, just tell and I can do it.

Not necessarily. I let Kalle do the leg work ;-) Given the change I do
not expect any conflict so we can go either way with a slight preference
for wl-drivers-next. Kalle?

Regards,
Arend