Thread (18 messages) 18 messages, 4 authors, 2021-12-03

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-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,
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/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help