]> www.infradead.org Git - users/hch/misc.git/commitdiff
dt-bindings: net: Convert apm,xgene-enet to DT schema
authorRob Herring (Arm) <robh@kernel.org>
Mon, 8 Sep 2025 23:10:13 +0000 (18:10 -0500)
committerJakub Kicinski <kuba@kernel.org>
Fri, 12 Sep 2025 01:35:45 +0000 (18:35 -0700)
Convert the APM XGene Ethernet binding to DT schema format.

Add the missing apm,xgene2-sgenet and apm,xgene2-xgenet compatibles.
Drop "reg-names" as required. Add support for up to 16 interrupts.

Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20250908231016.2070305-1-robh@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Documentation/devicetree/bindings/net/apm,xgene-enet.yaml [new file with mode: 0644]
Documentation/devicetree/bindings/net/apm-xgene-enet.txt [deleted file]
MAINTAINERS

diff --git a/Documentation/devicetree/bindings/net/apm,xgene-enet.yaml b/Documentation/devicetree/bindings/net/apm,xgene-enet.yaml
new file mode 100644 (file)
index 0000000..1c767ef
--- /dev/null
@@ -0,0 +1,115 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/apm,xgene-enet.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: APM X-Gene SoC Ethernet
+
+maintainers:
+  - Iyappan Subramanian <iyappan@os.amperecomputing.com>
+  - Keyur Chudgar <keyur@os.amperecomputing.com>
+  - Quan Nguyen <quan@os.amperecomputing.com>
+
+allOf:
+  - $ref: ethernet-controller.yaml#
+
+properties:
+  compatible:
+    enum:
+      - apm,xgene-enet
+      - apm,xgene1-sgenet
+      - apm,xgene1-xgenet
+      - apm,xgene2-sgenet
+      - apm,xgene2-xgenet
+
+  reg:
+    maxItems: 3
+
+  reg-names:
+    items:
+      - const: enet_csr
+      - const: ring_csr
+      - const: ring_cmd
+
+  clocks:
+    maxItems: 1
+
+  dma-coherent: true
+
+  interrupts:
+    description: An rx and tx completion interrupt pair per queue
+    minItems: 1
+    maxItems: 16
+
+  channel:
+    description: Ethernet to CPU start channel number
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  port-id:
+    description: Port number
+    $ref: /schemas/types.yaml#/definitions/uint32
+    maximum: 1
+
+  tx-delay:
+    description: Delay value for RGMII bridge TX clock
+    $ref: /schemas/types.yaml#/definitions/uint32
+    maximum: 7
+    default: 4
+
+  rx-delay:
+    description: Delay value for RGMII bridge RX clock
+    $ref: /schemas/types.yaml#/definitions/uint32
+    maximum: 7
+    default: 2
+
+  rxlos-gpios:
+    description: Input GPIO from SFP+ module indicating incoming signal
+    maxItems: 1
+
+  mdio:
+    description: MDIO bus subnode
+    $ref: mdio.yaml#
+    unevaluatedProperties: false
+
+    properties:
+      compatible:
+        const: apm,xgene-mdio
+
+    required:
+      - compatible
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    ethernet@17020000 {
+        compatible = "apm,xgene-enet";
+        reg = <0x17020000 0xd100>,
+              <0x17030000 0x400>,
+              <0x10000000 0x200>;
+        reg-names = "enet_csr", "ring_csr", "ring_cmd";
+        interrupts = <0x0 0x3c 0x4>;
+        channel = <0>;
+        port-id = <0>;
+        clocks = <&menetclk 0>;
+        local-mac-address = [00 01 73 00 00 01];
+        phy-connection-type = "rgmii";
+        phy-handle = <&menetphy>;
+
+        mdio {
+            compatible = "apm,xgene-mdio";
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            menetphy: ethernet-phy@3 {
+                compatible = "ethernet-phy-id001c.c915";
+                reg = <3>;
+            };
+        };
+    };
diff --git a/Documentation/devicetree/bindings/net/apm-xgene-enet.txt b/Documentation/devicetree/bindings/net/apm-xgene-enet.txt
deleted file mode 100644 (file)
index f591ab7..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-APM X-Gene SoC Ethernet nodes
-
-Ethernet nodes are defined to describe on-chip ethernet interfaces in
-APM X-Gene SoC.
-
-Required properties for all the ethernet interfaces:
-- compatible: Should state binding information from the following list,
-  - "apm,xgene-enet":    RGMII based 1G interface
-  - "apm,xgene1-sgenet": SGMII based 1G interface
-  - "apm,xgene1-xgenet": XFI based 10G interface
-- reg: Address and length of the register set for the device. It contains the
-  information of registers in the same order as described by reg-names
-- reg-names: Should contain the register set names
-  - "enet_csr": Ethernet control and status register address space
-  - "ring_csr": Descriptor ring control and status register address space
-  - "ring_cmd": Descriptor ring command register address space
-- interrupts: Two interrupt specifiers can be specified.
-  - First is the Rx interrupt.  This irq is mandatory.
-  - Second is the Tx completion interrupt.
-    This is supported only on SGMII based 1GbE and 10GbE interfaces.
-- channel: Ethernet to CPU, start channel (prefetch buffer) number
-  - Must map to the first irq and irqs must be sequential
-- port-id: Port number (0 or 1)
-- clocks: Reference to the clock entry.
-- local-mac-address: MAC address assigned to this device
-- phy-connection-type: Interface type between ethernet device and PHY device
-
-Required properties for ethernet interfaces that have external PHY:
-- phy-handle: Reference to a PHY node connected to this device
-
-- mdio: Device tree subnode with the following required properties:
-  - compatible: Must be "apm,xgene-mdio".
-  - #address-cells: Must be <1>.
-  - #size-cells: Must be <0>.
-
-  For the phy on the mdio bus, there must be a node with the following fields:
-  - compatible: PHY identifier.  Please refer ./phy.txt for the format.
-  - reg: The ID number for the phy.
-
-Optional properties:
-- status: Should be "ok" or "disabled" for enabled/disabled. Default is "ok".
-- tx-delay: Delay value for RGMII bridge TX clock.
-           Valid values are between 0 to 7, that maps to
-           417, 717, 1020, 1321, 1611, 1913, 2215, 2514 ps
-           Default value is 4, which corresponds to 1611 ps
-- rx-delay: Delay value for RGMII bridge RX clock.
-           Valid values are between 0 to 7, that maps to
-           273, 589, 899, 1222, 1480, 1806, 2147, 2464 ps
-           Default value is 2, which corresponds to 899 ps
-- rxlos-gpios: Input gpio from SFP+ module to indicate availability of
-              incoming signal.
-
-
-Example:
-       menetclk: menetclk {
-               compatible = "apm,xgene-device-clock";
-               clock-output-names = "menetclk";
-               status = "ok";
-       };
-
-       menet: ethernet@17020000 {
-               compatible = "apm,xgene-enet";
-               status = "disabled";
-               reg = <0x0 0x17020000 0x0 0xd100>,
-                     <0x0 0x17030000 0x0 0x400>,
-                     <0x0 0x10000000 0x0 0x200>;
-               reg-names = "enet_csr", "ring_csr", "ring_cmd";
-               interrupts = <0x0 0x3c 0x4>;
-               port-id = <0>;
-               clocks = <&menetclk 0>;
-               local-mac-address = [00 01 73 00 00 01];
-               phy-connection-type = "rgmii";
-               phy-handle = <&menetphy>;
-               mdio {
-                       compatible = "apm,xgene-mdio";
-                       #address-cells = <1>;
-                       #size-cells = <0>;
-                       menetphy: menetphy@3 {
-                               compatible = "ethernet-phy-id001c.c915";
-                               reg = <0x3>;
-                       };
-
-               };
-       };
-
-/* Board-specific peripheral configurations */
-&menet {
-       tx-delay = <4>;
-       rx-delay = <2>;
-        status = "ok";
-};
index ebf9bf188f8735d2dccfe438fbeed711d49a900d..6b82739e26c82ced996d162573ca38a920ec454d 100644 (file)
@@ -1886,7 +1886,7 @@ M:        Iyappan Subramanian <iyappan@os.amperecomputing.com>
 M:     Keyur Chudgar <keyur@os.amperecomputing.com>
 M:     Quan Nguyen <quan@os.amperecomputing.com>
 S:     Maintained
-F:     Documentation/devicetree/bindings/net/apm-xgene-enet.txt
+F:     Documentation/devicetree/bindings/net/apm,xgene-enet.yaml
 F:     Documentation/devicetree/bindings/net/apm-xgene-mdio.txt
 F:     drivers/net/ethernet/apm/xgene/
 F:     drivers/net/mdio/mdio-xgene.c