brcmfmac: use separate firmware for 43430 revision 2

Message ID 20210509233010.2477973-1-mike.rudenko@gmail.com
State New
Headers show
Series
  • brcmfmac: use separate firmware for 43430 revision 2
Related show

Commit Message

Mikhail Rudenko May 9, 2021, 11:30 p.m.
A separate firmware is needed for Broadcom 43430 revision 2.  This
chip can be found in e.g. certain revisions of Ampak AP6212 wireless
IC. Original firmware file from IC vendor is named
'fw_bcm43436b0.bin', but brcmfmac and also btbcm drivers report chip
id 43430, so requested firmware file name is
'brcmfmac43430b0-sdio.bin' in line with other 43430 revisions.

Signed-off-by: Mikhail Rudenko <mike.rudenko@gmail.com>
---
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Arend van Spriel May 10, 2021, 8:06 a.m. | #1
On 5/10/2021 1:30 AM, Mikhail Rudenko wrote:
> A separate firmware is needed for Broadcom 43430 revision 2.  This

> chip can be found in e.g. certain revisions of Ampak AP6212 wireless

> IC. Original firmware file from IC vendor is named

> 'fw_bcm43436b0.bin', but brcmfmac and also btbcm drivers report chip


That is bad naming. There already is a 43436 USB device.

> id 43430, so requested firmware file name is

> 'brcmfmac43430b0-sdio.bin' in line with other 43430 revisions.


As always there is the question about who will be publishing this 
particular firmware file to linux-firmware.

Regards,
Arend
Mikhail Rudenko May 14, 2021, 9:41 a.m. | #2
On 2021-05-10 at 11:06 MSK, Arend van Spriel <arend.vanspriel@broadcom.com> wrote:
> On 5/10/2021 1:30 AM, Mikhail Rudenko wrote:

>> A separate firmware is needed for Broadcom 43430 revision 2.  This

>> chip can be found in e.g. certain revisions of Ampak AP6212 wireless

>> IC. Original firmware file from IC vendor is named

>> 'fw_bcm43436b0.bin', but brcmfmac and also btbcm drivers report chip

>

> That is bad naming. There already is a 43436 USB device.

>

>> id 43430, so requested firmware file name is

>> 'brcmfmac43430b0-sdio.bin' in line with other 43430 revisions.

>

> As always there is the question about who will be publishing this

> particular firmware file to linux-firmware.


The above mentioned file can be easily found by web search. Also, the
corresponding patch for the bluetooth part has just been accepted
[1]. Is it strictly necessary to have firmware file in linux-firmware in
order to have this patch accepted?

--
Regards,
Mikhail

[1] https://lore.kernel.org/linux-bluetooth/E8A21908-1D48-4B89-8A88-7E82A71E0DA4@holtmann.org/
Mikhail Rudenko May 21, 2021, 1:22 p.m. | #3
On 2021-05-14 at 12:41 MSK, Mikhail Rudenko <mike.rudenko@gmail.com> wrote:
> On 2021-05-10 at 11:06 MSK, Arend van Spriel <arend.vanspriel@broadcom.com> wrote:

>> On 5/10/2021 1:30 AM, Mikhail Rudenko wrote:

>>> A separate firmware is needed for Broadcom 43430 revision 2.  This

>>> chip can be found in e.g. certain revisions of Ampak AP6212 wireless

>>> IC. Original firmware file from IC vendor is named

>>> 'fw_bcm43436b0.bin', but brcmfmac and also btbcm drivers report chip

>>

>> That is bad naming. There already is a 43436 USB device.

>>

>>> id 43430, so requested firmware file name is

>>> 'brcmfmac43430b0-sdio.bin' in line with other 43430 revisions.

>>

>> As always there is the question about who will be publishing this

>> particular firmware file to linux-firmware.

>

> The above mentioned file can be easily found by web search. Also, the

> corresponding patch for the bluetooth part has just been accepted

> [1]. Is it strictly necessary to have firmware file in linux-firmware in

> order to have this patch accepted?


Ping. Is this definitely no-go?

--
Regards,
Mikhail

Patch

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
index 16ed325795a8..f0c22b5bb57c 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -617,6 +617,7 @@  BRCMF_FW_DEF(4339, "brcmfmac4339-sdio");
 BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
 /* Note the names are not postfixed with a1 for backward compatibility */
 BRCMF_FW_DEF(43430A1, "brcmfmac43430-sdio");
+BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio");
 BRCMF_FW_DEF(43455, "brcmfmac43455-sdio");
 BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
 BRCMF_FW_DEF(4354, "brcmfmac4354-sdio");
@@ -643,7 +644,8 @@  static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
 	BRCMF_FW_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362),
 	BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
 	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
-	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFE, 43430A1),
+	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1),
+	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43430B0),
 	BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0x00000200, 43456),
 	BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0xFFFFFDC0, 43455),
 	BRCMF_FW_ENTRY(BRCM_CC_4354_CHIP_ID, 0xFFFFFFFF, 4354),