[PATCH net-next 1/2] dt-bindings: net: econet: add EN751221 ethernet

Caleb James DeLisle cjd at cjdns.fr
Wed Sep 9 14:21:45 PDT 2026


The EN751221 ethernet controller is somewhat similar to the
airoha,en7581-eth but it has a different register layout and different
capabilities of the QDMA engines.

The engine is roughly made up of two "QDMA" modules (which provide QoS
and also DMA), two GDM modules which service the two ports, a PPE
(packet processing engine) similar to that in mediatek,net, and an
overall "frame engine" which coordinates the components.

The QDMA modules provide both communication with the CPU and QoS
prioritized forwarding. For example GDM0 -> QDMA0 -> GDM1 forwarding
path is possible.

Add DT documentation for the EN751221 ethernet system.

Signed-off-by: Caleb James DeLisle <cjd at cjdns.fr>
---
 .../bindings/net/econet,en751221-eth.yaml     | 127 ++++++++++++++++++
 MAINTAINERS                                   |   6 +
 2 files changed, 133 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/econet,en751221-eth.yaml

diff --git a/Documentation/devicetree/bindings/net/econet,en751221-eth.yaml b/Documentation/devicetree/bindings/net/econet,en751221-eth.yaml
new file mode 100644
index 000000000000..5d953eaa16e5
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/econet,en751221-eth.yaml
@@ -0,0 +1,127 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/econet,en751221-eth.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: EcoNet EN751221 Frame Engine Ethernet controller
+
+maintainers:
+  - Caleb James DeLisle <cjd at cjdns.fr>
+
+description:
+  The frame engine ethernet controller can be found on EcoNet chips
+  based on the EN751221 SoC.
+
+properties:
+  compatible:
+    enum:
+      - econet,en751221-eth
+      - econet,en7528-eth
+
+  reg:
+    items:
+      - description: Ethernet device
+
+  interrupts:
+    items:
+      - description: QDMA0 IRQ
+      - description: QDMA1 IRQ
+
+  resets:
+    items:
+      - description: Frame engine
+      - description: QDMA0
+      - description: QDMA1
+      - description: xPON MAC
+      - description: xPON PHY
+
+  reset-names:
+    items:
+      - const: fe
+      - const: qdma0
+      - const: qdma1
+      - const: xpon-mac
+      - const: xpon-phy
+
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 0
+
+patternProperties:
+  "^mac@[0-1]$":
+    type: object
+    unevaluatedProperties: false
+    $ref: ethernet-controller.yaml#
+    description:
+      Ethernet GMAC port associated to the MAC controller
+    properties:
+      compatible:
+        const: econet,eth-mac
+
+      reg:
+        items:
+          - description: GMAC port number
+
+    required:
+      - reg
+      - compatible
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - resets
+  - reset-names
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/reset/econet,en751221-scu.h>
+
+    soc {
+      #address-cells = <1>;
+      #size-cells = <1>;
+
+      ethernet: ethernet at 1fb50000 {
+        compatible = "econet,en751221-eth";
+        reg = <0x1fb50000 0x8000>;
+
+        resets = <&scuclk EN751221_FE_RST>,
+          <&scuclk EN751221_FE_QDMA1_RST>,
+          <&scuclk EN751221_FE_QDMA2_RST>,
+          <&scuclk EN751221_XPON_MAC_RST>,
+          <&scuclk EN751221_XPON_PHY_RST>;
+        reset-names = "fe", "qdma0", "qdma1",
+                "xpon-mac", "xpon-phy";
+
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        interrupt-parent = <&intc>;
+        interrupts = <21>, <22>;
+
+        gmac0: mac at 0 {
+          compatible = "econet,eth-mac";
+          reg = <0>;
+          phy-mode = "trgmii";
+          status = "disabled";
+
+          fixed-link {
+            speed = <1000>;
+            full-duplex;
+            pause;
+          };
+        };
+
+        gmac1: mac at 1 {
+          compatible = "econet,eth-mac";
+          reg = <1>;
+          status = "disabled";
+          phy-mode = "rgmii-rxid";
+        };
+      };
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index b23fb6f2f4ef..7417ca4ccc79 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9330,6 +9330,12 @@ F:	drivers/irqchip/irq-econet-en751221.c
 F:	include/dt-bindings/clock/econet,en751221-scu.h
 F:	include/dt-bindings/reset/econet,en751221-scu.h
 
+ECONET ETHERNET DRIVER
+M:	Caleb James DeLisle <cjd at cjdns.fr>
+L:	netdev at vger.kernel.org
+S:	Maintained
+F:	Documentation/devicetree/bindings/net/econet,en751221-eth.yaml
+
 ECONET PCIE PHY DRIVER
 M:	Caleb James DeLisle <cjd at cjdns.fr>
 L:	linux-mips at vger.kernel.org
-- 
2.39.5




More information about the Linux-mediatek mailing list