| # 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) <[email protected]> |
| |
| 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 <dt-bindings/interrupt-controller/arm-gic.h> |
| #include <dt-bindings/interrupt-controller/irq.h> |
| #include <dt-bindings/phy/phy.h> |
| 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 = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; |
| 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>; |
| }; |
| }; |
| }; |
| }; |