Re: [PATCH net-next v3 1/4] dt-bindings: net: mscc,vsc7514-switch: convert txt bindings to yaml

From: Vladimir Oltean
Date: Fri Nov 26 2021 - 13:06:40 EST


On Fri, Nov 26, 2021 at 07:00:55PM +0100, Clément Léger wrote:
> Le Fri, 26 Nov 2021 17:50:05 +0000,
> Vladimir Oltean <vladimir.oltean@xxxxxxx> a écrit :
>
> > On Fri, Nov 26, 2021 at 06:27:36PM +0100, Clément Léger wrote:
> > > + ethernet-ports:
> > > + type: object
> > > +
> > > + properties:
> > > + '#address-cells':
> > > + const: 1
> > > + '#size-cells':
> > > + const: 0
> > > +
> > > + additionalProperties: false
> > > +
> > > + patternProperties:
> > > + "^port@[0-9a-f]+$":
> > > + type: object
> > > + description: Ethernet ports handled by the switch
> > > +
> > > + $ref: ethernet-controller.yaml#
> > > +
> > > + unevaluatedProperties: false
> > > +
> > > + properties:
> > > + reg:
> > > + description: Switch port number
> > > +
> > > + phy-handle: true
> > > +
> > > + phy-mode: true
> > > +
> > > + fixed-link: true
> > > +
> > > + mac-address: true
> > > +
> > > + required:
> > > + - reg
> > > +
> > > + oneOf:
> > > + - required:
> > > + - phy-handle
> > > + - phy-mode
> > > + - required:
> > > + - fixed-link
> >
> > Are you practically saying that a phy-mode would not be required with
> > fixed-link? Because it still is...
>
> I tried to get it right by looking at a binding you probably know
> (dsa.yaml), but none of them are using a oneOf property for these
> properties so I tried to guess what was really required or not. I will
> add the phy-mode property in the required field since it seems always
> needed:

So if it works without a phy-mode it is probably because of this in
ocelot_port_phylink_create():

/* DT bindings of internal PHY ports are broken and don't
* specify a phy-mode
*/
if (phy_mode == PHY_INTERFACE_MODE_NA)
phy_mode = PHY_INTERFACE_MODE_INTERNAL;

but yeah, remove that and try out a fixed-link with no phy-mode, see
that you'll get an error.

>
> + required:
> + - reg
> + - phy-mode
> +
> + oneOf:
> + - required:
> + - phy-handle
> + - required:
> + - fixed-link

Looks good to me.

>
> Does it looks good to you ?
>
> Thanks,
>
> >
> > > +
> > > +required:
> > > + - compatible
> > > + - reg
> > > + - reg-names
> > > + - interrupts
> > > + - interrupt-names
> > > + - ethernet-port
>
>
>
> --
> Clément Léger,
> Embedded Linux and Kernel engineer at Bootlin
> https://bootlin.com/