diff mbox series

[04/10] ARM: dts: BCM5301X: Add a default compatible for switch node

Message ID 20201110033113.31090-5-f.fainelli@gmail.com
State Superseded
Headers show
Series Broadcom b53 YAML bindings | expand

Commit Message

Florian Fainelli Nov. 10, 2020, 3:31 a.m. UTC
Provide a default compatible string which is based on the 53010 SRAB
compatible, this allows us to have sane defaults and silences the
following warnings:

arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dt.yaml:
ethernet-switch@18007000: compatible: 'oneOf' conditional failed, one
must be fixed:
        ['brcm,bcm5301x-srab'] is too short
        'brcm,bcm5325' was expected
        'brcm,bcm53115' was expected
        'brcm,bcm53125' was expected
        'brcm,bcm53128' was expected
        'brcm,bcm5365' was expected
        'brcm,bcm5395' was expected
        'brcm,bcm5389' was expected
        'brcm,bcm5397' was expected
        'brcm,bcm5398' was expected
        'brcm,bcm11360-srab' was expected
        'brcm,bcm5301x-srab' is not one of ['brcm,bcm53010-srab',
'brcm,bcm53011-srab', 'brcm,bcm53012-srab', 'brcm,bcm53018-srab',
'brcm,bcm53019-srab']
        'brcm,bcm5301x-srab' is not one of ['brcm,bcm11404-srab',
'brcm,bcm11407-srab', 'brcm,bcm11409-srab', 'brcm,bcm58310-srab',
'brcm,bcm58311-srab', 'brcm,bcm58313-srab']
        'brcm,bcm5301x-srab' is not one of ['brcm,bcm58522-srab',
'brcm,bcm58523-srab', 'brcm,bcm58525-srab', 'brcm,bcm58622-srab',
'brcm,bcm58623-srab', 'brcm,bcm58625-srab', 'brcm,bcm88312-srab']
        'brcm,bcm5301x-srab' is not one of ['brcm,bcm3384-switch',
'brcm,bcm6328-switch', 'brcm,bcm6368-switch']
        From schema:
Documentation/devicetree/bindings/net/dsa/b53.yaml

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 arch/arm/boot/dts/bcm5301x.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Vladimir Oltean Nov. 10, 2020, 10:06 p.m. UTC | #1
On Mon, Nov 09, 2020 at 07:31:07PM -0800, Florian Fainelli wrote:
> Provide a default compatible string which is based on the 53010 SRAB
> compatible, this allows us to have sane defaults and silences the
> following warnings:
> 
> arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dt.yaml:
> ethernet-switch@18007000: compatible: 'oneOf' conditional failed, one
> must be fixed:
>         ['brcm,bcm5301x-srab'] is too short
>         'brcm,bcm5325' was expected
>         'brcm,bcm53115' was expected
>         'brcm,bcm53125' was expected
>         'brcm,bcm53128' was expected
>         'brcm,bcm5365' was expected
>         'brcm,bcm5395' was expected
>         'brcm,bcm5389' was expected
>         'brcm,bcm5397' was expected
>         'brcm,bcm5398' was expected
>         'brcm,bcm11360-srab' was expected
>         'brcm,bcm5301x-srab' is not one of ['brcm,bcm53010-srab',
> 'brcm,bcm53011-srab', 'brcm,bcm53012-srab', 'brcm,bcm53018-srab',
> 'brcm,bcm53019-srab']
>         'brcm,bcm5301x-srab' is not one of ['brcm,bcm11404-srab',
> 'brcm,bcm11407-srab', 'brcm,bcm11409-srab', 'brcm,bcm58310-srab',
> 'brcm,bcm58311-srab', 'brcm,bcm58313-srab']
>         'brcm,bcm5301x-srab' is not one of ['brcm,bcm58522-srab',
> 'brcm,bcm58523-srab', 'brcm,bcm58525-srab', 'brcm,bcm58622-srab',
> 'brcm,bcm58623-srab', 'brcm,bcm58625-srab', 'brcm,bcm88312-srab']
>         'brcm,bcm5301x-srab' is not one of ['brcm,bcm3384-switch',
> 'brcm,bcm6328-switch', 'brcm,bcm6368-switch']
>         From schema:
> Documentation/devicetree/bindings/net/dsa/b53.yaml
> 
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---

Nice, I didn't know DSA supported the switch inside this device. In the
default AsusWRT, the switch is well hidden from the kernel :)

Not that it makes any difference as far as I can see, but how do you
know this a BCM53010 SRAB specifically?

>  arch/arm/boot/dts/bcm5301x.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
> index ee23c0841699..807580dd89f5 100644
> --- a/arch/arm/boot/dts/bcm5301x.dtsi
> +++ b/arch/arm/boot/dts/bcm5301x.dtsi
> @@ -483,7 +483,7 @@ thermal: thermal@1800c2c0 {
>  	};
>  
>  	srab: ethernet-switch@18007000 {
> -		compatible = "brcm,bcm5301x-srab";
> +		compatible = "brcm,bcm53010-srab", "brcm,bcm5301x-srab";
>  		reg = <0x18007000 0x1000>;
>  
>  		status = "disabled";
> -- 
> 2.25.1
>
Florian Fainelli Nov. 10, 2020, 10:11 p.m. UTC | #2
On 11/10/20 2:06 PM, Vladimir Oltean wrote:
> On Mon, Nov 09, 2020 at 07:31:07PM -0800, Florian Fainelli wrote:
>> Provide a default compatible string which is based on the 53010 SRAB
>> compatible, this allows us to have sane defaults and silences the
>> following warnings:
>>
>> arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dt.yaml:
>> ethernet-switch@18007000: compatible: 'oneOf' conditional failed, one
>> must be fixed:
>>         ['brcm,bcm5301x-srab'] is too short
>>         'brcm,bcm5325' was expected
>>         'brcm,bcm53115' was expected
>>         'brcm,bcm53125' was expected
>>         'brcm,bcm53128' was expected
>>         'brcm,bcm5365' was expected
>>         'brcm,bcm5395' was expected
>>         'brcm,bcm5389' was expected
>>         'brcm,bcm5397' was expected
>>         'brcm,bcm5398' was expected
>>         'brcm,bcm11360-srab' was expected
>>         'brcm,bcm5301x-srab' is not one of ['brcm,bcm53010-srab',
>> 'brcm,bcm53011-srab', 'brcm,bcm53012-srab', 'brcm,bcm53018-srab',
>> 'brcm,bcm53019-srab']
>>         'brcm,bcm5301x-srab' is not one of ['brcm,bcm11404-srab',
>> 'brcm,bcm11407-srab', 'brcm,bcm11409-srab', 'brcm,bcm58310-srab',
>> 'brcm,bcm58311-srab', 'brcm,bcm58313-srab']
>>         'brcm,bcm5301x-srab' is not one of ['brcm,bcm58522-srab',
>> 'brcm,bcm58523-srab', 'brcm,bcm58525-srab', 'brcm,bcm58622-srab',
>> 'brcm,bcm58623-srab', 'brcm,bcm58625-srab', 'brcm,bcm88312-srab']
>>         'brcm,bcm5301x-srab' is not one of ['brcm,bcm3384-switch',
>> 'brcm,bcm6328-switch', 'brcm,bcm6368-switch']
>>         From schema:
>> Documentation/devicetree/bindings/net/dsa/b53.yaml
>>
>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>> ---
> 
> Nice, I didn't know DSA supported the switch inside this device. In the
> default AsusWRT, the switch is well hidden from the kernel :)

Yeah right :) The YAML validation works even when the nodes are
disabled, so we somehow need to account for all of these devices' DTS.

> 
> Not that it makes any difference as far as I can see, but how do you
> know this a BCM53010 SRAB specifically?

The 4708 is effectively a 53010 which is why this is valid as a
fallback. Any node that defines switch ports and uses a SoC different
than the 53010 should use an appropriate "compatible" string though.
That's what is done for NSP.
--
Florian
Rafał Miłecki Nov. 11, 2020, 1:06 p.m. UTC | #3
On 10.11.2020 04:31, Florian Fainelli wrote:
> Provide a default compatible string which is based on the 53010 SRAB
> compatible, this allows us to have sane defaults and silences the
> following warnings:
> 
> arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dt.yaml:
> ethernet-switch@18007000: compatible: 'oneOf' conditional failed, one
> must be fixed:
>          ['brcm,bcm5301x-srab'] is too short
>          'brcm,bcm5325' was expected
>          'brcm,bcm53115' was expected
>          'brcm,bcm53125' was expected
>          'brcm,bcm53128' was expected
>          'brcm,bcm5365' was expected
>          'brcm,bcm5395' was expected
>          'brcm,bcm5389' was expected
>          'brcm,bcm5397' was expected
>          'brcm,bcm5398' was expected
>          'brcm,bcm11360-srab' was expected
>          'brcm,bcm5301x-srab' is not one of ['brcm,bcm53010-srab',
> 'brcm,bcm53011-srab', 'brcm,bcm53012-srab', 'brcm,bcm53018-srab',
> 'brcm,bcm53019-srab']
>          'brcm,bcm5301x-srab' is not one of ['brcm,bcm11404-srab',
> 'brcm,bcm11407-srab', 'brcm,bcm11409-srab', 'brcm,bcm58310-srab',
> 'brcm,bcm58311-srab', 'brcm,bcm58313-srab']
>          'brcm,bcm5301x-srab' is not one of ['brcm,bcm58522-srab',
> 'brcm,bcm58523-srab', 'brcm,bcm58525-srab', 'brcm,bcm58622-srab',
> 'brcm,bcm58623-srab', 'brcm,bcm58625-srab', 'brcm,bcm88312-srab']
>          'brcm,bcm5301x-srab' is not one of ['brcm,bcm3384-switch',
> 'brcm,bcm6328-switch', 'brcm,bcm6368-switch']
>          From schema:
> Documentation/devicetree/bindings/net/dsa/b53.yaml
> 
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
>   arch/arm/boot/dts/bcm5301x.dtsi | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
> index ee23c0841699..807580dd89f5 100644
> --- a/arch/arm/boot/dts/bcm5301x.dtsi
> +++ b/arch/arm/boot/dts/bcm5301x.dtsi
> @@ -483,7 +483,7 @@ thermal: thermal@1800c2c0 {
>   	};
>   
>   	srab: ethernet-switch@18007000 {
> -		compatible = "brcm,bcm5301x-srab";
> +		compatible = "brcm,bcm53010-srab", "brcm,bcm5301x-srab";

I've never seen Northstar device with BCM53010, see below list.


*** BCM47081 ***

Buffalo WZR-600DHP2
[    1.816948] b53_common: found switch: BCM53011, rev 2

Luxul XWR-1200 V1
[    2.602445] b53_common: found switch: BCM53011, rev 5

TP-LINK Archer C5 V2
[    0.606353] b53_common: found switch: BCM53011, rev 5


*** BCM4708 ***

Buffalo WZR-1750DHP
[    1.961584] b53_common: found switch: BCM53011, rev 2

Netgear R6250 V1
[    2.445594] b53_common: found switch: BCM53011, rev 2

SmartRG SR400ac
[    4.258116] b53_common: found switch: BCM53011, rev 5


*** BCM4709 ***

TP-LINK Archer C9 V1
[    0.640041] b53_common: found switch: BCM53012, rev 5


*** BCM47094 ***

D-Link DIR-885L
[    1.373423] b53_common: found switch: BCM53012, rev 0

Luxul XWR-3150 V1
[    5.893989] b53_common: found switch: BCM53012, rev 0

Luxul XAP-1610 V1
[    0.761285] b53_common: found switch: BCM53012, rev 0
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
index ee23c0841699..807580dd89f5 100644
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -483,7 +483,7 @@  thermal: thermal@1800c2c0 {
 	};
 
 	srab: ethernet-switch@18007000 {
-		compatible = "brcm,bcm5301x-srab";
+		compatible = "brcm,bcm53010-srab", "brcm,bcm5301x-srab";
 		reg = <0x18007000 0x1000>;
 
 		status = "disabled";