diff mbox series

brcmfmac: use separate firmware for 43430 revision 2

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

Commit Message

Mikhail Rudenko May 9, 2021, 11:30 p.m. UTC
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. UTC | #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. UTC | #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. UTC | #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
Arend van Spriel June 28, 2021, 10:11 a.m. UTC | #4
On 6/24/2021 6:39 PM, Kalle Valo wrote:
> Mikhail Rudenko <mike.rudenko@gmail.com> writes:

> 

>> 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?

> 

> This patch is a bit in the gray area. We have a rule that firmware

> images should be in linux-firmware, but as the vendor won't submit one

> and I assume the license doesn't approve the community submit it either,

> there is not really any solution for the firmware problem.


At the moment I am not sure which company/division is shipping the 43430 
rev 2 or 43436. Having it in linux-firmware is still preferred.

> On the other hand some community members have access to the firmware

> somehow so this patch is useful to the community, and I think taking an

> exception to the rule in this case is justified. So I am inclined

> towards applying the patch.


As an end-user community members using the device are allowed to use the 
firmware to run on that device. So I tend to agree with you.

> Thoughts? I also have another similar patch in the queue:

> 

> https://patchwork.kernel.org/project/linux-wireless/patch/20210307113550.7720-1-konrad.dybcio@somainline.org/


I will review both and comment/ack them.

Regards,
Arend
Mikhail Rudenko June 28, 2021, 2:05 p.m. UTC | #5
On 2021-06-28 at 15:16 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

>> id 43430, so requested firmware file name is

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

>

> Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com>

>> 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(-)

>> 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),

>

> Please follow the existing strategy, ie. support higher chip revisions

> unless proven otherwise. So 0xFFFFFFFC iso 0x00000004.


Will fix in v2, thanks.

>>   	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),

>>


--
Regards,
Mikhail
diff mbox series

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),