Subject: Re: [PATCH 1/2] dt-binding: bcm43xx-fmac: add optional brcm,ccode-map

From: Kalle Valo <[email-masked]>
Date: Mon, 12 Apr 2021 14:54:46 +0300

Shawn Guo <[email-masked]> writes:

> On Sun, Apr 11, 2021 at 10:57:54AM +0300, Kalle Valo wrote:
>> Shawn Guo <[email-masked]> writes:
>> 
>> > Add optional brcm,ccode-map property to support translation from ISO3166
>> > country code to brcmfmac firmware country code and revision.
>> >
>> > Signed-off-by: Shawn Guo <[email-masked]>
>> > ---
>> >  .../devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt | 7 +++++++
>> >  1 file changed, 7 insertions(+)
>> >
>> > diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> > index cffb2d6876e3..a65ac4384c04 100644
>> > --- a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> > +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
>> > @@ -15,6 +15,12 @@ Optional properties:
>> >  	When not specified the device will use in-band SDIO interrupts.
>> >   - interrupt-names : name of the out-of-band interrupt, which must be set
>> >  	to "host-wake".
>> > + - brcm,ccode-map : multiple strings for translating ISO3166 country code to
>> > +	brcmfmac firmware country code and revision.  Each string must be in
>> > +	format "AA-BB-num" where:
>> > +	  AA is the ISO3166 country code which must be 2 characters.
>> > +	  BB is the firmware country code which must be 2 characters.
>> > +	  num is the revision number which must fit into signed integer.
>> >  
>> >  Example:
>> >  
>> > @@ -34,5 +40,6 @@ mmc3: mmc@1c12000 {
>> >  		interrupt-parent = <&pio>;
>> >  		interrupts = <10 8>; /* PH10 / EINT10 */
>> >  		interrupt-names = "host-wake";
>> > +		brcm,ccode-map = "JP-JP-78", "US-Q2-86";
>> 
>> The commit log does not answer "Why?". Why this needs to be in device
>> tree and, for example, not hard coded in the driver?
>
> Thanks for the comment, Kalle.  Actually, this is something I need some
> input from driver maintainers.  I can see this country code mapping
> table is chipset specific, and can be hard coded in driver per chip id
> and revision.  But on the other hand, it makes some sense to have this
> table in device tree, as the country code that need to be supported
> could be a device specific configuration.

Could be? Does such a use case exist at the moment or are just guessing
future needs?

>From what I have learned so far I think this kind of data should be in
the driver, but of course I might be missing something.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

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