[PATCH 2/4] dt-bindings: net: dsa: document internal MDIO bus

Arınç ÜNAL arinc.unal at arinc9.com
Sun Aug 13 05:58:55 PDT 2023


On 13.08.2023 14:15, Vladimir Oltean wrote:
> On Sat, Aug 12, 2023 at 12:17:06PM +0300, Arınç ÜNAL wrote:
>> Add the schema to document the internal MDIO bus. Adjust realtek.yaml
>> accordingly.
>>
>> Signed-off-by: Arınç ÜNAL <arinc.unal at arinc9.com>
>> ---
>>   .../devicetree/bindings/net/dsa/dsa.yaml      | 18 +++++
>>   .../devicetree/bindings/net/dsa/realtek.yaml  | 66 +++++++++----------
>>   2 files changed, 50 insertions(+), 34 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.yaml b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
>> index ec74a660beda..03ccedbc49dc 100644
>> --- a/Documentation/devicetree/bindings/net/dsa/dsa.yaml
>> +++ b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
>> @@ -31,6 +31,24 @@ properties:
>>         (single device hanging off a CPU port) must not specify this property
>>       $ref: /schemas/types.yaml#/definitions/uint32-array
>>   
>> +  mdio:
>> +    description: The internal MDIO bus of the switch
>> +    $ref: /schemas/net/mdio.yaml#
>> +
>> +if:
>> +  required: [ mdio ]
>> +then:
>> +  patternProperties:
>> +    "^(ethernet-)?ports$":
>> +      patternProperties:
>> +        "^(ethernet-)?port@[0-9]+$":
>> +          if:
>> +            not:
>> +              required: [ ethernet ]
> 
> To match only on user ports, this must also exclude DSA ports ("required: [ link ]").
> 
>> +          then:
>> +            required:
>> +              - phy-handle
> 
> No. The only thing permitted by the slave_mii_bus is to do something meaningful
> when phylink bindings ("phy-handle", "fixed-link" or "managed") are absent. But
> the presence of slave_mii_bus does not imply that user ports have a required
> phy-handle. They might be SerDes ports or xMII ports. So they might use "managed"
> or "fixed-link". The only thing that you can enforce is that, if the slave_mii_bus
> has an OF presence, then user ports must have phylink bindings.

Got it. This should be the correct schema then. I don't check for ethernet
or link as when the mdio property is used, these bindings apply to all
ports. DSA and CPU ports are then further restricted with the dsa-port.yaml
schema.

if:
   required: [ mdio ]
then:
   patternProperties:
     "^(ethernet-)?ports$":
       patternProperties:
         "^(ethernet-)?port@[0-9]+$":
           oneOf:
             - required:
                 - fixed-link
             - required:
                 - phy-handle
             - required:
                 - managed

Arınç



More information about the Linux-mediatek mailing list