| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/net/thead,th1520-gmac.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: T-HEAD TH1520 GMAC Ethernet controller |
| |
| maintainers: |
| - Drew Fustini <[email protected]> |
| |
| description: | |
| The TH1520 GMAC is described in the TH1520 Peripheral Interface User Manual |
| https://git.beagleboard.org/beaglev-ahead/beaglev-ahead/-/tree/main/docs |
| |
| Features include |
| - Compliant with IEEE802.3 Specification |
| - IEEE 1588-2008 standard for precision networked clock synchronization |
| - Supports 10/100/1000Mbps data transfer rate |
| - Supports RGMII/MII interface |
| - Preamble and start of frame data (SFD) insertion in Transmit path |
| - Preamble and SFD deletion in the Receive path |
| - Automatic CRC and pad generation options for receive frames |
| - MDIO master interface for PHY device configuration and management |
| |
| The GMAC Registers consists of two parts |
| - APB registers are used to configure clock frequency/clock enable/clock |
| direction/PHY interface type. |
| - AHB registers are use to configure GMAC core (DesignWare Core part). |
| GMAC core register consists of DMA registers and GMAC registers. |
| |
| select: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - thead,th1520-gmac |
| required: |
| - compatible |
| |
| allOf: |
| - $ref: snps,dwmac.yaml# |
| |
| properties: |
| compatible: |
| items: |
| - enum: |
| - thead,th1520-gmac |
| - const: snps,dwmac-3.70a |
| |
| reg: |
| items: |
| - description: DesignWare GMAC IP core registers |
| - description: GMAC APB registers |
| |
| reg-names: |
| items: |
| - const: dwmac |
| - const: apb |
| |
| clocks: |
| items: |
| - description: GMAC main clock |
| - description: Peripheral registers interface clock |
| |
| clock-names: |
| items: |
| - const: stmmaceth |
| - const: pclk |
| |
| interrupts: |
| items: |
| - description: Combined signal for various interrupt events |
| |
| interrupt-names: |
| items: |
| - const: macirq |
| |
| required: |
| - clocks |
| - clock-names |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| gmac0: ethernet@e7070000 { |
| compatible = "thead,th1520-gmac", "snps,dwmac-3.70a"; |
| reg = <0xe7070000 0x2000>, <0xec003000 0x1000>; |
| reg-names = "dwmac", "apb"; |
| clocks = <&clk 1>, <&clk 2>; |
| clock-names = "stmmaceth", "pclk"; |
| interrupts = <66>; |
| interrupt-names = "macirq"; |
| phy-mode = "rgmii-id"; |
| snps,fixed-burst; |
| snps,axi-config = <&stmmac_axi_setup>; |
| snps,pbl = <32>; |
| phy-handle = <&phy0>; |
| |
| mdio { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| compatible = "snps,dwmac-mdio"; |
| |
| phy0: ethernet-phy@0 { |
| reg = <0>; |
| }; |
| }; |
| }; |