The GMAC IP on Spacemit K3 is almost a standard Synopsys DesignWare
MAC (version 5.40a) with some extra clock.
Add necessary compatible string for this device.
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
---
.../devicetree/bindings/net/snps,dwmac.yaml | 2 +
.../bindings/net/spacemit,k3-dwmac.yaml | 102 ++++++++++++++++++
2 files changed, 104 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/spacemit,k3-dwmac.yaml
diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
index 38bc34dc4f09..98ebb6276bc6 100644
--- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
+++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
@@ -109,6 +109,7 @@ properties:
- snps,dwmac-5.10a
- snps,dwmac-5.20
- snps,dwmac-5.30a
+ - snps,dwmac-5.40a
- snps,dwxgmac
- snps,dwxgmac-2.10
- sophgo,sg2042-dwmac
@@ -656,6 +657,7 @@ allOf:
- snps,dwmac-5.10a
- snps,dwmac-5.20
- snps,dwmac-5.30a
+ - snps,dwmac-5.40a
- snps,dwxgmac
- snps,dwxgmac-2.10
- st,spear600-gmac
diff --git a/Documentation/devicetree/bindings/net/spacemit,k3-dwmac.yaml b/Documentation/devicetree/bindings/net/spacemit,k3-dwmac.yaml
new file mode 100644
index 000000000000..678eccf044f9
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/spacemit,k3-dwmac.yaml
@@ -0,0 +1,102 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/spacemit,k3-dwmac.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Spacemit K3 DWMAC glue layer
+
+maintainers:
+ - Inochi Amaoto <inochiama@gmail.com>
+
+select:
+ properties:
+ compatible:
+ contains:
+ const: spacemit,k3-dwmac
+ required:
+ - compatible
+
+properties:
+ compatible:
+ items:
+ - const: spacemit,k3-dwmac
+ - const: snps,dwmac-5.40a
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ items:
+ - description: GMAC application clock
+ - description: PTP clock
+ - description: TX clock
+
+ clock-names:
+ items:
+ - const: stmmaceth
+ - const: ptp_ref
+ - const: tx
+
+ interrupts:
+ minItems: 1
+ items:
+ - description: MAC interrupt
+ - description: MAC wake interrupt
+
+ interrupt-names:
+ minItems: 1
+ items:
+ - const: macirq
+ - const: eth_wake_irq
+
+ resets:
+ maxItems: 1
+
+ reset-names:
+ const: stmmaceth
+
+ spacemit,apmu:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ items:
+ - items:
+ - description: phandle to the syscon node which control the glue register
+ - description: offset of the control register
+ - description: offset of the dline register
+ description:
+ A phandle to syscon with offset to control registers for this MAC
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - interrupts
+ - interrupt-names
+ - resets
+ - reset-names
+ - spacemit,apmu
+
+allOf:
+ - $ref: snps,dwmac.yaml#
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ ethernet@cac80000 {
+ compatible = "spacemit,k3-dwmac", "snps,dwmac-5.40a";
+ reg = <0xcac80000 0x2000>;
+ clocks = <&syscon_apmu 66>, <&syscon_apmu 68>,
+ <&syscon_apmu 69>;
+ clock-names = "stmmaceth", "ptp_ref", "tx";
+ interrupts = <131 IRQ_TYPE_LEVEL_HIGH>, <276 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "macirq", "eth_wake_irq";
+ phy-mode = "rgmii-id";
+ phy-handle = <&phy0>;
+ resets = <&syscon_apmu 67>;
+ reset-names = "stmmaceth";
+ spacemit,apmu = <&syscon_apmu 0x384 0x38c>;
+ };
--
2.53.0
On Mon, 16 Mar 2026 09:00:37 +0800 Inochi Amaoto wrote: > The GMAC IP on Spacemit K3 is almost a standard Synopsys DesignWare > MAC (version 5.40a) with some extra clock. > > Add necessary compatible string for this device. In the previous version the AI reviewer complained that we're not adding the new entry to the select at the top of the file. Other compatibles appear in 3 places in Documentation/devicetree/bindings/net/snps,dwmac.yaml Also I asked whether we can drop the "default m" Did you disagree with those comments or did you miss them? stmmac is a strange beast I don't really know what's going on in the binding, so just double checking this is intentional..
On Mon, Mar 16, 2026 at 08:21:47PM -0700, Jakub Kicinski wrote: > On Mon, 16 Mar 2026 09:00:37 +0800 Inochi Amaoto wrote: > > The GMAC IP on Spacemit K3 is almost a standard Synopsys DesignWare > > MAC (version 5.40a) with some extra clock. > > > > Add necessary compatible string for this device. > > In the previous version the AI reviewer complained that we're not > adding the new entry to the select at the top of the file. Other > compatibles appear in 3 places in > Documentation/devicetree/bindings/net/snps,dwmac.yaml > > Also I asked whether we can drop the "default m" > For the Kconfig, I think it is better to keep the thing the same as others. And I guess this question may be related to some compromise that I do not know, and it is a hard thing for me to answer. > Did you disagree with those comments or did you miss them? > stmmac is a strange beast I don't really know what's going on in > the binding, so just double checking this is intentional.. Oh, I have forgot to reply to the binding. Currently, I disagree to add something in the select, as a new binding is always required for a new device. Even if it is already supported in the existing kernel, the new device is required to add at least a new compatiable string for it. Regards, Inochi
© 2016 - 2026 Red Hat, Inc.