Re: [PATCH net-next v3 1/4] dt-bindings: net: mscc,vsc7514-switch: convert txt bindings to yaml
From: Vladimir Oltean <vladimir.oltean@nxp.com>
Date: 2021-11-26 18:06:39
Also in:
linux-devicetree, lkml
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 [off-list ref] a écrit :quoted
On Fri, Nov 26, 2021 at 06:27:36PM +0100, Clément Léger wrote:quoted
+ 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-linkAre 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,quoted
quoted
+ +required: + - compatible + - reg + - reg-names + - interrupts + - interrupt-names + - ethernet-port-- Clément Léger, Embedded Linux and Kernel engineer at Bootlin https://bootlin.com/