Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Caleb James DeLisle <cjd@cjdns.fr>
To: netdev@vger.kernel.org
Cc: andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
	kuba@kernel.org, pabeni@redhat.com, robh@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org, p.zabel@pengutronix.de,
	matthias.bgg@gmail.com, angelogioacchino.delregno@collabora.com,
	vadim.fedorenko@linux.dev, maxime.chevallier@bootlin.com,
	dong100@mucse.com, wangruikang@iscas.ac.cn,
	25181214217@stu.xidian.edu.cn, hkallweit1@gmail.com,
	han.junyang@zte.com.cn, xuanzhuo@linux.alibaba.com,
	enelsonmoore@gmail.com, jes@trained-monkey.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org, naseefkm@gmail.com,
	b.larsson@gmx.com, Caleb James DeLisle <cjd@cjdns.fr>
Subject: [PATCH net-next 1/2] dt-bindings: net: econet: add EN751221 ethernet
Date: Wed,  9 Sep 2026 21:21:45 +0000	[thread overview]
Message-ID: <20260909212146.3184077-2-cjd@cjdns.fr> (raw)
In-Reply-To: <20260909212146.3184077-1-cjd@cjdns.fr>

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@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@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@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@0 {
+          compatible = "econet,eth-mac";
+          reg = <0>;
+          phy-mode = "trgmii";
+          status = "disabled";
+
+          fixed-link {
+            speed = <1000>;
+            full-duplex;
+            pause;
+          };
+        };
+
+        gmac1: mac@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@cjdns.fr>
+L:	netdev@vger.kernel.org
+S:	Maintained
+F:	Documentation/devicetree/bindings/net/econet,en751221-eth.yaml
+
 ECONET PCIE PHY DRIVER
 M:	Caleb James DeLisle <cjd@cjdns.fr>
 L:	linux-mips@vger.kernel.org
-- 
2.39.5



  reply	other threads:[~2026-09-09 21:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-09 21:21 [PATCH net-next 0/2] net: econet: add EcoNet EN751221 ethernet driver Caleb James DeLisle
2026-09-09 21:21 ` Caleb James DeLisle [this message]
     [not found]   ` <45cb6035-4d15-426d-bb3f-45d20b4201da@gmail.com>
2026-09-10  0:40     ` [PATCH net-next 1/2] dt-bindings: net: econet: add EN751221 ethernet Caleb James DeLisle
2026-09-10  2:11   ` Andrew Lunn
2026-09-10  9:06     ` Caleb James DeLisle
2026-09-10 12:11     ` Matheus Sampaio Queiroga
     [not found] ` <20260909212146.3184077-3-cjd@cjdns.fr>
2026-09-12  0:07   ` [PATCH net-next 2/2] net: econet: add EcoNet EN751221 ethernet driver Jakub Kicinski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260909212146.3184077-2-cjd@cjdns.fr \
    --to=cjd@cjdns.fr \
    --cc=25181214217@stu.xidian.edu.cn \
    --cc=andrew+netdev@lunn.ch \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=b.larsson@gmx.com \
    --cc=conor+dt@kernel.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dong100@mucse.com \
    --cc=edumazet@google.com \
    --cc=enelsonmoore@gmail.com \
    --cc=han.junyang@zte.com.cn \
    --cc=hkallweit1@gmail.com \
    --cc=jes@trained-monkey.org \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=maxime.chevallier@bootlin.com \
    --cc=naseefkm@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=pabeni@redhat.com \
    --cc=robh@kernel.org \
    --cc=vadim.fedorenko@linux.dev \
    --cc=wangruikang@iscas.ac.cn \
    --cc=xuanzhuo@linux.alibaba.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox