[PATCH net-next 1/2] dt-bindings: net: Add Siflower SF19A2890 GMAC
Joseph Telaak via B4 Relay
devnull+joseph.telaak.dev at kernel.org
Tue Nov 3 23:22:24 PST 2026
From: Joseph Telaak <joseph at telaak.dev>
The Siflower SF19A2890 has a DesignWare GMAC 3.73a whose interface
type and RGMII clock delays are set in a configuration block of their
own, next to its clock and reset manager. It takes a fourth clock, the
RGMII transmit reference.
Signed-off-by: Joseph Telaak <joseph at telaak.dev>
---
.../bindings/net/siflower,sf19a2890-gmac.yaml | 110 +++++++++++++++++++++
.../devicetree/bindings/net/snps,dwmac.yaml | 1 +
2 files changed, 111 insertions(+)
diff --git a/Documentation/devicetree/bindings/net/siflower,sf19a2890-gmac.yaml b/Documentation/devicetree/bindings/net/siflower,sf19a2890-gmac.yaml
new file mode 100644
index 000000000..377f24a65
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/siflower,sf19a2890-gmac.yaml
@@ -0,0 +1,110 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/siflower,sf19a2890-gmac.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Siflower SF19A2890 GMAC
+
+maintainers:
+ - Joseph Telaak <joseph at telaak.dev>
+
+description:
+ The Siflower SF19A2890 has a Synopsys DesignWare GMAC 3.73a. Its
+ interface type and RGMII clock delays are set in a configuration block
+ of their own. The MAC adds an RGMII delay only where the
+ rx-internal-delay-ps or tx-internal-delay-ps property says so.
+
+select:
+ properties:
+ compatible:
+ contains:
+ const: siflower,sf19a2890-gmac
+ required:
+ - compatible
+
+properties:
+ compatible:
+ items:
+ - const: siflower,sf19a2890-gmac
+ - const: snps,dwmac
+
+ reg:
+ items:
+ - description: MAC registers
+ - description: Interface configuration registers
+
+ interrupts:
+ maxItems: 3
+
+ interrupt-names:
+ items:
+ - const: macirq
+ - const: eth_wake_irq
+ - const: eth_lpi
+
+ clocks:
+ items:
+ - description: GMAC main clock
+ - description: Peripheral registers interface clock
+ - description: PTP reference clock
+ - description: RGMII transmit reference clock
+
+ clock-names:
+ items:
+ - const: stmmaceth
+ - const: pclk
+ - const: ptp_ref
+ - const: byp_ref
+
+ rx-internal-delay-ps:
+ description:
+ Applied in steps of about 55 ps, rounded to the nearest step.
+ maximum: 14025
+
+ tx-internal-delay-ps:
+ description:
+ Applied in steps of about 55 ps, rounded to the nearest step.
+ maximum: 14025
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - interrupt-names
+ - clocks
+ - clock-names
+ - resets
+ - reset-names
+
+allOf:
+ - $ref: snps,dwmac.yaml#
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/interrupt-controller/mips-gic.h>
+
+ ethernet at 10800000 {
+ compatible = "siflower,sf19a2890-gmac", "snps,dwmac";
+ reg = <0x10800000 0x200000>, <0x19e04440 0x10>;
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_SHARED 32 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SHARED 34 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SHARED 33 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
+ clocks = <&gmac_crm 0>, <&gmac_crm 1>, <&gmac_crm 3>, <&gmac_crm 2>;
+ clock-names = "stmmaceth", "pclk", "ptp_ref", "byp_ref";
+ resets = <&gmac_crm 0>;
+ reset-names = "stmmaceth";
+ phy-mode = "rgmii-id";
+ rx-internal-delay-ps = <550>;
+ tx-internal-delay-ps = <935>;
+
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
index 2c4842404..c3d96d58a 100644
--- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
+++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
@@ -98,6 +98,7 @@ properties:
- rockchip,rk3588-gmac
- rockchip,rv1108-gmac
- rockchip,rv1126-gmac
+ - siflower,sf19a2890-gmac
- snps,dwmac
- snps,dwmac-3.40a
- snps,dwmac-3.50a
--
Git-155)
More information about the linux-arm-kernel
mailing list