2021-11-23 06:25:39

by Ian Lin

[permalink] [raw]
Subject: [PATCH] brcmfmac: add CYW43570 PCIE device

From: Soontak Lee <[email protected]>

CYW43570 is a 3-antenna, 2x2 MIMO,802.11a/b/g/n/ac, PCIe 3.0 for WLAN.
It is BT/WIFI combo.

Signed-off-by: Soontak Lee <[email protected]>
Signed-off-by: Chi-Hsien Lin <[email protected]>
Jira:SWLINUX-1213
---
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c       | 1 +
 drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
index 8b149996fc00..ceeb1f10752a 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
@@ -2106,6 +2106,7 @@ static const struct pci_device_id
brcmf_pcie_devid_table[] = {
     BRCMF_PCIE_DEVICE(BRCM_PCIE_4356_DEVICE_ID),
     BRCMF_PCIE_DEVICE(BRCM_PCIE_43567_DEVICE_ID),
     BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID),
+    BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_RAW_DEVICE_ID),
     BRCMF_PCIE_DEVICE(BRCM_PCIE_4358_DEVICE_ID),
     BRCMF_PCIE_DEVICE(BRCM_PCIE_4359_DEVICE_ID),
     BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_DEVICE_ID),
diff --git
a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
index 9d81320164ce..3bbe2388ec54 100644
--- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
+++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
@@ -71,6 +71,7 @@
 #define BRCM_PCIE_4356_DEVICE_ID    0x43ec
 #define BRCM_PCIE_43567_DEVICE_ID    0x43d3
 #define BRCM_PCIE_43570_DEVICE_ID    0x43d9
+#define BRCM_PCIE_43570_RAW_DEVICE_ID    0xaa31
 #define BRCM_PCIE_4358_DEVICE_ID    0x43e9
 #define BRCM_PCIE_4359_DEVICE_ID    0x43ef
 #define BRCM_PCIE_43602_DEVICE_ID    0x43ba
--
2.25.0


2021-11-23 12:32:51

by Arend Van Spriel

[permalink] [raw]
Subject: Re: [PATCH] brcmfmac: add CYW43570 PCIE device

On November 23, 2021 7:24:32 AM "Lin Ian (CSSITB CSS ICW SW WFS / EE)"
<[email protected]> wrote:

> From: Soontak Lee <[email protected]>
>
> CYW43570 is a 3-antenna, 2x2 MIMO,802.11a/b/g/n/ac, PCIe 3.0 for WLAN.
> It is BT/WIFI combo.
>
> Signed-off-by: Soontak Lee <[email protected]>
> Signed-off-by: Chi-Hsien Lin <[email protected]>

Missing signoff

> Jira:SWLINUX-1213

Meaningless to the public so remove it when submitting to the community.

> ---
> drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 1 +
> drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> index 8b149996fc00..ceeb1f10752a 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> @@ -2106,6 +2106,7 @@ static const struct pci_device_id
> brcmf_pcie_devid_table[] = {
> BRCMF_PCIE_DEVICE(BRCM_PCIE_4356_DEVICE_ID),
> BRCMF_PCIE_DEVICE(BRCM_PCIE_43567_DEVICE_ID),
> BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID),
> + BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_RAW_DEVICE_ID),
> BRCMF_PCIE_DEVICE(BRCM_PCIE_4358_DEVICE_ID),
> BRCMF_PCIE_DEVICE(BRCM_PCIE_4359_DEVICE_ID),
> BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_DEVICE_ID),
> diff --git
> a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
> b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
> index 9d81320164ce..3bbe2388ec54 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
> +++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
> @@ -71,6 +71,7 @@
> #define BRCM_PCIE_4356_DEVICE_ID 0x43ec
> #define BRCM_PCIE_43567_DEVICE_ID 0x43d3
> #define BRCM_PCIE_43570_DEVICE_ID 0x43d9
> +#define BRCM_PCIE_43570_RAW_DEVICE_ID 0xaa31

It is just a name, but what does RAW mean here? Also 0xaa31 is 43569 in
decimal. Is this really a valid device ID or is this an unprogrammed
device (without valid devid in OTP).

Regards,
Arend


Attachments:
smime.p7s (4.12 kB)
S/MIME Cryptographic Signature

2021-11-25 09:31:49

by Ian Lin

[permalink] [raw]
Subject: Re: [PATCH] brcmfmac: add CYW43570 PCIE device



On 11/23/2021 8:32 PM, Arend van Spriel wrote:
> On November 23, 2021 7:24:32 AM "Lin Ian (CSSITB CSS ICW SW WFS / EE)"
> <[email protected]> wrote:
>
>> From: Soontak Lee <[email protected]>
>>
>> CYW43570 is a 3-antenna, 2x2 MIMO,802.11a/b/g/n/ac, PCIe 3.0 for WLAN.
>> It is BT/WIFI combo.
>>
>> Signed-off-by: Soontak Lee <[email protected]>
>> Signed-off-by: Chi-Hsien Lin <[email protected]>
>
> Missing signoff
>
>> Jira:SWLINUX-1213
>
> Meaningless to the public so remove it when submitting to the community.
I will send a new patch mail that modified the commit message, thank you.

>> ---
>>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c       | 1 +
>>  drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 1 +
>>  2 files changed, 2 insertions(+)
>>
>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>> index 8b149996fc00..ceeb1f10752a 100644
>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>> @@ -2106,6 +2106,7 @@ static const struct pci_device_id
>> brcmf_pcie_devid_table[] = {
>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_4356_DEVICE_ID),
>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_43567_DEVICE_ID),
>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID),
>> +    BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_RAW_DEVICE_ID),
>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_4358_DEVICE_ID),
>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_4359_DEVICE_ID),
>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_DEVICE_ID),
>> diff --git
>> a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
>> b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
>> index 9d81320164ce..3bbe2388ec54 100644
>> --- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
>> +++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
>> @@ -71,6 +71,7 @@
>>  #define BRCM_PCIE_4356_DEVICE_ID    0x43ec
>>  #define BRCM_PCIE_43567_DEVICE_ID    0x43d3
>>  #define BRCM_PCIE_43570_DEVICE_ID    0x43d9
>> +#define BRCM_PCIE_43570_RAW_DEVICE_ID    0xaa31
>
> It is just a name, but what does RAW mean here? Also 0xaa31 is 43569
> in decimal. Is this really a valid device ID or is this an
> unprogrammed device (without valid devid in OTP).
It's a unprogrammed device, basically 0xaa31 is the id with blank OTP.


2021-11-25 09:46:30

by Arend Van Spriel

[permalink] [raw]
Subject: Re: [PATCH] brcmfmac: add CYW43570 PCIE device

On 11/25/2021 10:29 AM, Lin Ian (CSSITB CSS ICW SW WFS / EE) wrote:
>
>
> On 11/23/2021 8:32 PM, Arend van Spriel wrote:
>> On November 23, 2021 7:24:32 AM "Lin Ian (CSSITB CSS ICW SW WFS / EE)"
>> <[email protected]> wrote:
>>
>>> From: Soontak Lee <[email protected]>
>>>
>>> CYW43570 is a 3-antenna, 2x2 MIMO,802.11a/b/g/n/ac, PCIe 3.0 for WLAN.
>>> It is BT/WIFI combo.
>>>
>>> Signed-off-by: Soontak Lee <[email protected]>
>>> Signed-off-by: Chi-Hsien Lin <[email protected]>
>>
>> Missing signoff
>>
>>> Jira:SWLINUX-1213
>>
>> Meaningless to the public so remove it when submitting to the community.
> I will send a new patch mail that modified the commit message, thank you.

great.

>>> ---
>>>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c       | 1 +
>>>  drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 1 +
>>>  2 files changed, 2 insertions(+)
>>>
>>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>>> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>>> index 8b149996fc00..ceeb1f10752a 100644
>>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>>> @@ -2106,6 +2106,7 @@ static const struct pci_device_id
>>> brcmf_pcie_devid_table[] = {
>>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_4356_DEVICE_ID),
>>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_43567_DEVICE_ID),
>>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID),
>>> +    BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_RAW_DEVICE_ID),
>>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_4358_DEVICE_ID),
>>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_4359_DEVICE_ID),
>>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_DEVICE_ID),
>>> diff --git
>>> a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
>>> b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
>>> index 9d81320164ce..3bbe2388ec54 100644
>>> --- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
>>> +++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
>>> @@ -71,6 +71,7 @@
>>>  #define BRCM_PCIE_4356_DEVICE_ID    0x43ec
>>>  #define BRCM_PCIE_43567_DEVICE_ID    0x43d3
>>>  #define BRCM_PCIE_43570_DEVICE_ID    0x43d9
>>> +#define BRCM_PCIE_43570_RAW_DEVICE_ID    0xaa31
>>
>> It is just a name, but what does RAW mean here? Also 0xaa31 is 43569
>> in decimal. Is this really a valid device ID or is this an
>> unprogrammed device (without valid devid in OTP).
> It's a unprogrammed device, basically 0xaa31 is the id with blank OTP.

So do we expect linux end-users to come across such a device. As far as
I know a device with unprogrammed OTP will use the chip id as the PCI
devid. If this is needed to enable development with unprogrammed devices
I would suggest to have these under Kconfig option.

Regards,
Arend


Attachments:
smime.p7s (4.12 kB)
S/MIME Cryptographic Signature

2021-11-29 07:41:47

by Ian Lin

[permalink] [raw]
Subject: Re: [PATCH] brcmfmac: add CYW43570 PCIE device



On 11/25/2021 5:44 PM, Arend van Spriel wrote:
> On 11/25/2021 10:29 AM, Lin Ian (CSSITB CSS ICW SW WFS / EE) wrote:
>>
>>
>> On 11/23/2021 8:32 PM, Arend van Spriel wrote:
>>> On November 23, 2021 7:24:32 AM "Lin Ian (CSSITB CSS ICW SW WFS /
>>> EE)" <[email protected]> wrote:
>>>
>>>> From: Soontak Lee <[email protected]>
>>>>
>>>> CYW43570 is a 3-antenna, 2x2 MIMO,802.11a/b/g/n/ac, PCIe 3.0 for WLAN.
>>>> It is BT/WIFI combo.
>>>>
>>>> Signed-off-by: Soontak Lee <[email protected]>
>>>> Signed-off-by: Chi-Hsien Lin <[email protected]>
>>>
>>> Missing signoff
>>>
>>>> Jira:SWLINUX-1213
>>>
>>> Meaningless to the public so remove it when submitting to the
>>> community.
>> I will send a new patch mail that modified the commit message, thank
>> you.
>
> great.
>
>>>> ---
>>>>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c       | 1 +
>>>>  drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 1 +
>>>>  2 files changed, 2 insertions(+)
>>>>
>>>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>>>> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>>>> index 8b149996fc00..ceeb1f10752a 100644
>>>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>>>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>>>> @@ -2106,6 +2106,7 @@ static const struct pci_device_id
>>>> brcmf_pcie_devid_table[] = {
>>>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_4356_DEVICE_ID),
>>>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_43567_DEVICE_ID),
>>>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID),
>>>> +    BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_RAW_DEVICE_ID),
>>>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_4358_DEVICE_ID),
>>>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_4359_DEVICE_ID),
>>>>      BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_DEVICE_ID),
>>>> diff --git
>>>> a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
>>>> b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
>>>> index 9d81320164ce..3bbe2388ec54 100644
>>>> --- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
>>>> +++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
>>>> @@ -71,6 +71,7 @@
>>>>  #define BRCM_PCIE_4356_DEVICE_ID    0x43ec
>>>>  #define BRCM_PCIE_43567_DEVICE_ID    0x43d3
>>>>  #define BRCM_PCIE_43570_DEVICE_ID    0x43d9
>>>> +#define BRCM_PCIE_43570_RAW_DEVICE_ID    0xaa31
>>>
>>> It is just a name, but what does RAW mean here? Also 0xaa31 is 43569
>>> in decimal. Is this really a valid device ID or is this an
>>> unprogrammed device (without valid devid in OTP).
>> It's a unprogrammed device, basically 0xaa31 is the id with blank OTP.
>
> So do we expect linux end-users to come across such a device. As far
> as I know a device with unprogrammed OTP will use the chip id as the
> PCI devid. If this is needed to enable development with unprogrammed
> devices I would suggest to have these under Kconfig option.
Some end-users use the driver to do MFG process, so the RAW device ID is
supposed to be supported.
We don't expect user should modify kconfig for this, so directly add in
driver is reasonable.