# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) # Copyright 2021-2024 NXP %YAML 1.2 --- $id: http://devicetree.org/schemas/net/nxp,s32-dwmac.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: NXP S32G2xx/S32G3xx/S32R45 GMAC ethernet controller maintainers: - Jan Petrous (OSS) description: This device is a Synopsys DWC IP, integrated on NXP S32G/R SoCs. The SoC series S32G2xx and S32G3xx feature one DWMAC instance, the SoC S32R45 has two instances. The devices can use RGMII/RMII/MII interface over Pinctrl device or the output can be routed to the embedded SerDes for SGMII connectivity. properties: compatible: oneOf: - const: nxp,s32g2-dwmac - items: - enum: - nxp,s32g3-dwmac - nxp,s32r45-dwmac - const: nxp,s32g2-dwmac reg: items: - description: Main GMAC registers - description: GMAC PHY mode control register interrupts: maxItems: 1 interrupt-names: const: macirq clocks: items: - description: Main GMAC clock - description: Transmit clock - description: Receive clock - description: PTP reference clock clock-names: items: - const: stmmaceth - const: tx - const: rx - const: ptp_ref required: - clocks - clock-names allOf: - $ref: snps,dwmac.yaml# unevaluatedProperties: false examples: - | #include #include #include bus { #address-cells = <2>; #size-cells = <2>; ethernet@4033c000 { compatible = "nxp,s32g2-dwmac"; reg = <0x0 0x4033c000 0x0 0x2000>, /* gmac IP */ <0x0 0x4007c004 0x0 0x4>; /* GMAC_0_CTRL_STS */ interrupt-parent = <&gic>; interrupts = ; interrupt-names = "macirq"; snps,mtl-rx-config = <&mtl_rx_setup>; snps,mtl-tx-config = <&mtl_tx_setup>; clocks = <&clks 24>, <&clks 17>, <&clks 16>, <&clks 15>; clock-names = "stmmaceth", "tx", "rx", "ptp_ref"; phy-mode = "rgmii-id"; phy-handle = <&phy0>; mtl_rx_setup: rx-queues-config { snps,rx-queues-to-use = <5>; }; mtl_tx_setup: tx-queues-config { snps,tx-queues-to-use = <5>; }; mdio { #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwmac-mdio"; phy0: ethernet-phy@0 { reg = <0>; }; }; }; };