Thread (3 messages) 3 messages, 3 authors, 2d ago
WARM2d

[PATCH] dt-bindings: net: convert microchip,lan78xx.txt to YAML schema

From: Mikhail Lukianchikov <hidden>
Date: 2026-07-07 16:59:15
Also in: linux-devicetree, lkml
Subsystem: networking drivers, open firmware and flattened device tree bindings, the rest, usb lan78xx ethernet driver · Maintainers: Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Linus Torvalds, Thangaraj Samynathan, Rengarajan Sundararajan

Convert the Microchip LAN78xx family (LAN7800, LAN7801, LAN7850) binding
documentation from plain text to DT schema format using YAML.

The conversion was validated with 'make dt_binding_check'

Signed-off-by: Mikhail Lukianchikov <redacted>
---
 .../bindings/net/microchip,lan78xx.txt        |  53 --------
 .../bindings/net/microchip,lan78xx.yaml       | 113 ++++++++++++++++++
 2 files changed, 113 insertions(+), 53 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/net/microchip,lan78xx.txt
 create mode 100644 Documentation/devicetree/bindings/net/microchip,lan78xx.yaml
diff --git a/Documentation/devicetree/bindings/net/microchip,lan78xx.txt b/Documentation/devicetree/bindings/net/microchip,lan78xx.txt
deleted file mode 100644
index 11a679530ae6..000000000000
--- a/Documentation/devicetree/bindings/net/microchip,lan78xx.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-Microchip LAN78xx Gigabit Ethernet controller
-
-The LAN78XX devices are usually configured by programming their OTP or with
-an external EEPROM, but some platforms (e.g. Raspberry Pi 3 B+) have neither.
-The Device Tree properties, if present, override the OTP and EEPROM.
-
-Required properties:
-- compatible: Should be one of "usb424,7800", "usb424,7801" or "usb424,7850".
-
-The MAC address will be determined using the optional properties
-defined in ethernet.txt.
-
-Optional properties of the embedded PHY:
-- microchip,led-modes: a 0..4 element vector, with each element configuring
-  the operating mode of an LED. Omitted LEDs are turned off. Allowed values
-  are defined in "include/dt-bindings/net/microchip-lan78xx.h".
-
-Example:
-
-/* Based on the configuration for a Raspberry Pi 3 B+ */
-&usb {
-	usb-port@1 {
-		compatible = "usb424,2514";
-		reg = <1>;
-		#address-cells = <1>;
-		#size-cells = <0>;
-
-		usb-port@1 {
-			compatible = "usb424,2514";
-			reg = <1>;
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			ethernet: ethernet@1 {
-				compatible = "usb424,7800";
-				reg = <1>;
-				local-mac-address = [ 00 11 22 33 44 55 ];
-
-				mdio {
-					#address-cells = <0x1>;
-					#size-cells = <0x0>;
-					eth_phy: ethernet-phy@1 {
-						reg = <1>;
-						microchip,led-modes = <
-							LAN78XX_LINK_1000_ACTIVITY
-							LAN78XX_LINK_10_100_ACTIVITY
-						>;
-					};
-				};
-			};
-		};
-	};
-};
diff --git a/Documentation/devicetree/bindings/net/microchip,lan78xx.yaml b/Documentation/devicetree/bindings/net/microchip,lan78xx.yaml
new file mode 100644
index 000000000000..743667c1e761
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/microchip,lan78xx.yaml
@@ -0,0 +1,113 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/microchip,lan78xx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Microchip LAN78xx Gigabit Ethernet controller
+
+maintainers:
+  - Rengarajan Sundararajan <Rengarajan.S@microchip.com>
+  - UNGLinuxDriver <UNGLinuxDriver@microchip.com>
+
+description:
+  The LAN78XX devices are usually configured by programming their OTP or with
+  an external EEPROM, but some platforms (e.g. Raspberry Pi 3 B+) have neither.
+  The Device Tree properties, if present, override the OTP and EEPROM.
+
+allOf:
+  - $ref: /schemas/usb/usb-device.yaml#
+  - $ref: /schemas/net/ethernet-controller.yaml#
+
+properties:
+  compatible:
+    enum:
+      - usb424,7800
+      - usb424,7801
+      - usb424,7850
+  reg:
+    maxItems: 1
+    description: USB port number
+  local-mac-address:
+    $ref: /schemas/types.yaml#/definitions/uint8-array
+    minItems: 6
+    maxItems: 6
+    description:
+      MAC address to use if not stored in OTP or EEPROM. If present,
+      overrides OTP/EEPROM.
+  mdio:
+    $ref: /schemas/net/mdio.yaml#
+    unevaluatedProperties: false
+
+patternProperties:
+  "^ethernet-phy(@[0-9a-f]+)?$":
+    type: object
+    description: |
+      PHY node for the embedded or external PHY. The PHY address is
+      given by the 'reg' property.
+    properties:
+      reg:
+        maxItems: 1
+        description: PHY address.
+      microchip,led-modes:
+        $ref: /schemas/types.yaml#/definitions/uint32-array
+        minItems: 1
+        maxItems: 4
+        description:
+          Array of LED mode values for each of up to 4 LEDs.
+          Omitted LEDs are turned off. Allowed values are defined
+          in include/dt-bindings/net/microchip-lan78xx.h.
+    required:
+      - reg
+    additionalProperties: false
+
+required:
+  - compatible
+  - reg
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/net/microchip-lan78xx.h>
+    / {
+        usb: usb {
+            compatible = "usb-host";
+            #address-cells = <1>;
+            #size-cells = <0>;
+        };
+    };
+    &usb {
+        usb-port@1 {
+            compatible = "usb424,2514";
+            reg = <1>;
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            usb-port@1 {
+                compatible = "usb424,2514";
+                reg = <1>;
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                ethernet@1 {
+                    compatible = "usb424,7800";
+                    reg = <1>;
+                    local-mac-address = [00 11 22 33 44 55];
+
+                    mdio {
+                        #address-cells = <1>;
+                        #size-cells = <0>;
+                        ethernet-phy@1 {
+                            reg = <1>;
+                            microchip,led-modes = <
+                                LAN78XX_LINK_1000_ACTIVITY
+                                LAN78XX_LINK_10_100_ACTIVITY
+                            >;
+                        };
+                    };
+                };
+            };
+        };
+    };
+...
-- 
2.52.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help