The GMAC IP on SG2044 is almost a standard Synopsys DesignWare
MAC (version 5.30a) with some extra clock.
Add necessary compatible string for this device.
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
.../devicetree/bindings/net/snps,dwmac.yaml | 4 +
.../bindings/net/sophgo,sg2044-dwmac.yaml | 126 ++++++++++++++++++
2 files changed, 130 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml
diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
index 91e75eb3f329..02ab6a9aded2 100644
--- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
+++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
@@ -32,6 +32,7 @@ select:
- snps,dwmac-4.20a
- snps,dwmac-5.10a
- snps,dwmac-5.20
+ - snps,dwmac-5.30a
- snps,dwxgmac
- snps,dwxgmac-2.10
@@ -98,8 +99,10 @@ properties:
- snps,dwmac-4.20a
- snps,dwmac-5.10a
- snps,dwmac-5.20
+ - snps,dwmac-5.30a
- snps,dwxgmac
- snps,dwxgmac-2.10
+ - sophgo,sg2044-dwmac
- starfive,jh7100-dwmac
- starfive,jh7110-dwmac
- thead,th1520-gmac
@@ -631,6 +634,7 @@ allOf:
- snps,dwmac-4.20a
- snps,dwmac-5.10a
- snps,dwmac-5.20
+ - snps,dwmac-5.30a
- snps,dwxgmac
- snps,dwxgmac-2.10
- st,spear600-gmac
diff --git a/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml b/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml
new file mode 100644
index 000000000000..4dd2dc9c678b
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml
@@ -0,0 +1,126 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/sophgo,sg2044-dwmac.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Sophgo SG2044 DWMAC glue layer
+
+maintainers:
+ - Inochi Amaoto <inochiama@gmail.com>
+
+select:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - sophgo,sg2044-dwmac
+ required:
+ - compatible
+
+properties:
+ compatible:
+ items:
+ - const: sophgo,sg2044-dwmac
+ - const: snps,dwmac-5.30a
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ items:
+ - description: GMAC main clock
+ - description: PTP clock
+ - description: TX clock
+
+ clock-names:
+ items:
+ - const: stmmaceth
+ - const: ptp_ref
+ - const: tx
+
+ dma-noncoherent: true
+
+ interrupts:
+ maxItems: 1
+
+ interrupt-names:
+ maxItems: 1
+
+ resets:
+ maxItems: 1
+
+ reset-names:
+ const: stmmaceth
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - interrupts
+ - interrupt-names
+ - resets
+ - reset-names
+
+allOf:
+ - $ref: snps,dwmac.yaml#
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ ethernet@30006000 {
+ compatible = "sophgo,sg2044-dwmac", "snps,dwmac-5.30a";
+ reg = <0x30006000 0x4000>;
+ clocks = <&clk 151>, <&clk 152>, <&clk 154>;
+ clock-names = "stmmaceth", "ptp_ref", "tx";
+ interrupt-parent = <&intc>;
+ interrupts = <296 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "macirq";
+ resets = <&rst 30>;
+ reset-names = "stmmaceth";
+ snps,multicast-filter-bins = <0>;
+ snps,perfect-filter-entries = <1>;
+ snps,aal;
+ snps,tso;
+ snps,txpbl = <32>;
+ snps,rxpbl = <32>;
+ snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
+ snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
+ snps,axi-config = <&gmac0_stmmac_axi_setup>;
+ status = "disabled";
+
+ gmac0_mtl_rx_setup: rx-queues-config {
+ snps,rx-queues-to-use = <8>;
+ snps,rx-sched-wsp;
+ queue0 {};
+ queue1 {};
+ queue2 {};
+ queue3 {};
+ queue4 {};
+ queue5 {};
+ queue6 {};
+ queue7 {};
+ };
+
+ gmac0_mtl_tx_setup: tx-queues-config {
+ snps,tx-queues-to-use = <8>;
+ queue0 {};
+ queue1 {};
+ queue2 {};
+ queue3 {};
+ queue4 {};
+ queue5 {};
+ queue6 {};
+ queue7 {};
+ };
+
+ gmac0_stmmac_axi_setup: stmmac-axi-config {
+ snps,blen = <16 8 4 0 0 0 0>;
+ snps,wr_osr_lmt = <1>;
+ snps,rd_osr_lmt = <2>;
+ };
+ };
--
2.48.1
On Wed, Mar 05, 2025 at 02:39:13PM +0800, Inochi Amaoto wrote: > The GMAC IP on SG2044 is almost a standard Synopsys DesignWare > MAC (version 5.30a) with some extra clock. > > Add necessary compatible string for this device. > > Signed-off-by: Inochi Amaoto <inochiama@gmail.com> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > .../devicetree/bindings/net/snps,dwmac.yaml | 4 + > .../bindings/net/sophgo,sg2044-dwmac.yaml | 126 ++++++++++++++++++ > 2 files changed, 130 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml > > diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml > index 91e75eb3f329..02ab6a9aded2 100644 > --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml > +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml > @@ -32,6 +32,7 @@ select: > - snps,dwmac-4.20a > - snps,dwmac-5.10a > - snps,dwmac-5.20 > + - snps,dwmac-5.30a > - snps,dwxgmac > - snps,dwxgmac-2.10 > > @@ -98,8 +99,10 @@ properties: > - snps,dwmac-4.20a > - snps,dwmac-5.10a > - snps,dwmac-5.20 > + - snps,dwmac-5.30a > - snps,dwxgmac > - snps,dwxgmac-2.10 > + - sophgo,sg2044-dwmac > - starfive,jh7100-dwmac > - starfive,jh7110-dwmac > - thead,th1520-gmac > @@ -631,6 +634,7 @@ allOf: > - snps,dwmac-4.20a > - snps,dwmac-5.10a > - snps,dwmac-5.20 > + - snps,dwmac-5.30a > - snps,dwxgmac > - snps,dwxgmac-2.10 > - st,spear600-gmac > diff --git a/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml b/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml > new file mode 100644 > index 000000000000..4dd2dc9c678b > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml > @@ -0,0 +1,126 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/sophgo,sg2044-dwmac.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Sophgo SG2044 DWMAC glue layer > + > +maintainers: > + - Inochi Amaoto <inochiama@gmail.com> > + > +select: > + properties: > + compatible: > + contains: > + enum: > + - sophgo,sg2044-dwmac > + required: > + - compatible > + > +properties: > + compatible: > + items: > + - const: sophgo,sg2044-dwmac > + - const: snps,dwmac-5.30a > + > + reg: > + maxItems: 1 > + > + clocks: > + items: > + - description: GMAC main clock > + - description: PTP clock > + - description: TX clock > + > + clock-names: > + items: > + - const: stmmaceth > + - const: ptp_ref > + - const: tx > + > + dma-noncoherent: true Hi, Krzysztof, I add this property due to the discussion on PCIe binding of SG2044, it can be found on link [1]. As a similar change (at link [2]) was acked by Conor. I preserve your tag on this binding. If you have any further requirement, please let me know. I will appreciate it. [1] https://lore.kernel.org/all/20250221013758.370936-2-inochiama@gmail.com/ [2] https://lore.kernel.org/all/20250303065649.937233-1-inochiama@gmail.com/ Regards, Inochi
© 2016 - 2026 Red Hat, Inc.