[PATCH 3/7] dt-bindings: net: dsa: mediatek,mt7530: add port bindings for MT7988

Arınç ÜNAL arinc.unal at arinc9.com
Fri Apr 7 02:46:14 PDT 2023


On 7.04.2023 12:07, Krzysztof Kozlowski wrote:
> On 06/04/2023 21:18, Arınç ÜNAL wrote:
>> On 6.04.2023 22:07, Krzysztof Kozlowski wrote:
>>> On 06/04/2023 10:01, arinc9.unal at gmail.com wrote:
>>>> From: Arınç ÜNAL <arinc.unal at arinc9.com>
>>>>
>>>> The switch on MT7988 has got only port 6 as a CPU port. The only phy-mode
>>>> to be used is internal. Add this.
>>>>
>>>> Some bindings are incorrect for this switch now, so move them to more
>>>> specific places.
>>>>
>>>> Address the incorrect information of which ports can be used as a user
>>>> port. Any port can be used as a user port.
>>>>
>>>> Signed-off-by: Arınç ÜNAL <arinc.unal at arinc9.com>
>>>> ---
>>>>    .../bindings/net/dsa/mediatek,mt7530.yaml     | 63 ++++++++++++++-----
>>>>    1 file changed, 46 insertions(+), 17 deletions(-)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
>>>> index 7045a98d9593..605888ce2bc6 100644
>>>> --- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
>>>> +++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
>>>> @@ -160,22 +160,6 @@ patternProperties:
>>>>          "^(ethernet-)?port@[0-9]+$":
>>>>            type: object
>>>>    
>>>> -        properties:
>>>> -          reg:
>>>> -            description:
>>>> -              Port address described must be 5 or 6 for CPU port and from 0 to 5
>>>> -              for user ports.
>>>> -
>>>> -        allOf:
>>>> -          - if:
>>>> -              required: [ ethernet ]
>>>> -            then:
>>>> -              properties:
>>>> -                reg:
>>>> -                  enum:
>>>> -                    - 5
>>>> -                    - 6
>>>> -
>>>
>>> I have doubts that the binding is still maintainable/reviewable. First,
>>> why do you need all above patterns after removal of entire contents?
>>
>> The 'type: object' item is still globally used. I'd have to define that
>> on each definitions, I suppose?
> 
> Doesn't it come from dsa.yaml/dsa-port.yaml schema?

It comes from dsa.yaml#/$defs/ethernet-ports which this schema already 
refers to. I'll remove the patterns above.

Though 'type: object' is not there for "^(ethernet-)?port@[0-9]+$". I 
think I should add it there as the dsa-port.yaml schema defines the 
properties of the DSA switch port object. So the value matching the 
"^(ethernet-)?port@[0-9]+$" regular expression is expected to be an 
object conforming to the structure defined in dsa-port.yaml.

Does that make sense?

> 
>>
>>>
>>> Second, amount of if-then-if-then located in existing blocks (not
>>> top-level) is quite big. I counted if-then-using defs, where defs has
>>> patternProps-patternProps-if-then-if-then-properties.... OMG. :)
>>
>> Yup, not much to do if we want to keep the information. I'm still
>> maintaining this though. ¯\_(ツ)_/¯
> 
> Maybe it should be split into few bindings sharing common part.

Agreed, I think it makes sense to split this to MT7530, MT7531, and 
MT7988. I will do this after this series.

Arınç



More information about the Linux-mediatek mailing list