Message ID | 20210408113022.18180-2-shawn.guo@linaro.org |
---|---|
State | New |
Headers | show |
Series | brcmfmac: support parse country code map from DT | expand |
On Thu, Apr 08, 2021 at 07:30:21PM +0800, Shawn Guo wrote: > 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 <shawn.guo@linaro.org> > --- > .../devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt | 7 +++++++ > 1 file changed, 7 insertions(+) Can you convert this to schema first. > > 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. Signed? So "AA-BB--num"? You should be able to do something like: items: pattern: '^[A-Z][A-Z]-[A-Z][A-Z]-[0-9]+$' > > 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"; > }; > }; > -- > 2.17.1 >
Shawn Guo <shawn.guo@linaro.org> 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 <shawn.guo@linaro.org> > --- > .../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?
On Fri, Apr 09, 2021 at 01:46:06PM -0500, Rob Herring wrote: > On Thu, Apr 08, 2021 at 07:30:21PM +0800, Shawn Guo wrote: > > 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 <shawn.guo@linaro.org> > > --- > > .../devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt | 7 +++++++ > > 1 file changed, 7 insertions(+) > > Can you convert this to schema first. Yes. Will do, after driver maintainers agree with the direction. > > > > > 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. > > Signed? So "AA-BB--num"? Hmm, for some reason, kernel driver uses signed integer to hold the revision. It's just a reflecting of that. > > You should be able to do something like: > > items: > pattern: '^[A-Z][A-Z]-[A-Z][A-Z]-[0-9]+$' Ah, yes, that's much better and distinct. Thanks for the suggestion. Shawn > > > > > 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"; > > }; > > }; > > -- > > 2.17.1 > >
On Sun, Apr 11, 2021 at 10:57:54AM +0300, Kalle Valo wrote: > Shawn Guo <shawn.guo@linaro.org> 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 <shawn.guo@linaro.org> > > --- > > .../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. Shawn
On 08-04-2021 13:30, Shawn Guo wrote: > Add optional brcm,ccode-map property to support translation from ISO3166 > country code to brcmfmac firmware country code and revision. Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com> > Signed-off-by: Shawn Guo <shawn.guo@linaro.org> > --- > .../devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt | 7 +++++++ > 1 file changed, 7 insertions(+)
Shawn Guo <shawn.guo@linaro.org> writes: > On Sun, Apr 11, 2021 at 10:57:54AM +0300, Kalle Valo wrote: >> Shawn Guo <shawn.guo@linaro.org> 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 <shawn.guo@linaro.org> >> > --- >> > .../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?
On 09-04-2021 20:46, Rob Herring wrote: > On Thu, Apr 08, 2021 at 07:30:21PM +0800, Shawn Guo wrote: >> 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<shawn.guo@linaro.org> >> --- >> .../devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt | 7 +++++++ >> 1 file changed, 7 insertions(+) > Can you convert this to schema first. Hi Rob, You mean to change it to YAML, right? You already applied a patch for that a few weeks ago: https://lore.kernel.org/linux-devicetree/20210324174737.GA3319687@robh.at.kernel.org/ Regards, Arend
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"; }; };
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 <shawn.guo@linaro.org> --- .../devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt | 7 +++++++ 1 file changed, 7 insertions(+)