15f62a964SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 25f62a964SEmmanuel Vadot%YAML 1.2 35f62a964SEmmanuel Vadot--- 45f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/net/thead,th1520-gmac.yaml# 55f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65f62a964SEmmanuel Vadot 75f62a964SEmmanuel Vadottitle: T-HEAD TH1520 GMAC Ethernet controller 85f62a964SEmmanuel Vadot 95f62a964SEmmanuel Vadotmaintainers: 105f62a964SEmmanuel Vadot - Drew Fustini <dfustini@tenstorrent.com> 115f62a964SEmmanuel Vadot 125f62a964SEmmanuel Vadotdescription: | 135f62a964SEmmanuel Vadot The TH1520 GMAC is described in the TH1520 Peripheral Interface User Manual 145f62a964SEmmanuel Vadot https://git.beagleboard.org/beaglev-ahead/beaglev-ahead/-/tree/main/docs 155f62a964SEmmanuel Vadot 165f62a964SEmmanuel Vadot Features include 175f62a964SEmmanuel Vadot - Compliant with IEEE802.3 Specification 185f62a964SEmmanuel Vadot - IEEE 1588-2008 standard for precision networked clock synchronization 195f62a964SEmmanuel Vadot - Supports 10/100/1000Mbps data transfer rate 205f62a964SEmmanuel Vadot - Supports RGMII/MII interface 215f62a964SEmmanuel Vadot - Preamble and start of frame data (SFD) insertion in Transmit path 225f62a964SEmmanuel Vadot - Preamble and SFD deletion in the Receive path 235f62a964SEmmanuel Vadot - Automatic CRC and pad generation options for receive frames 245f62a964SEmmanuel Vadot - MDIO master interface for PHY device configuration and management 255f62a964SEmmanuel Vadot 265f62a964SEmmanuel Vadot The GMAC Registers consists of two parts 275f62a964SEmmanuel Vadot - APB registers are used to configure clock frequency/clock enable/clock 285f62a964SEmmanuel Vadot direction/PHY interface type. 295f62a964SEmmanuel Vadot - AHB registers are use to configure GMAC core (DesignWare Core part). 305f62a964SEmmanuel Vadot GMAC core register consists of DMA registers and GMAC registers. 315f62a964SEmmanuel Vadot 325f62a964SEmmanuel Vadotselect: 335f62a964SEmmanuel Vadot properties: 345f62a964SEmmanuel Vadot compatible: 355f62a964SEmmanuel Vadot contains: 365f62a964SEmmanuel Vadot enum: 375f62a964SEmmanuel Vadot - thead,th1520-gmac 385f62a964SEmmanuel Vadot required: 395f62a964SEmmanuel Vadot - compatible 405f62a964SEmmanuel Vadot 415f62a964SEmmanuel VadotallOf: 425f62a964SEmmanuel Vadot - $ref: snps,dwmac.yaml# 435f62a964SEmmanuel Vadot 445f62a964SEmmanuel Vadotproperties: 455f62a964SEmmanuel Vadot compatible: 465f62a964SEmmanuel Vadot items: 475f62a964SEmmanuel Vadot - enum: 485f62a964SEmmanuel Vadot - thead,th1520-gmac 495f62a964SEmmanuel Vadot - const: snps,dwmac-3.70a 505f62a964SEmmanuel Vadot 515f62a964SEmmanuel Vadot reg: 525f62a964SEmmanuel Vadot items: 535f62a964SEmmanuel Vadot - description: DesignWare GMAC IP core registers 545f62a964SEmmanuel Vadot - description: GMAC APB registers 555f62a964SEmmanuel Vadot 565f62a964SEmmanuel Vadot reg-names: 575f62a964SEmmanuel Vadot items: 585f62a964SEmmanuel Vadot - const: dwmac 595f62a964SEmmanuel Vadot - const: apb 605f62a964SEmmanuel Vadot 615f62a964SEmmanuel Vadot clocks: 625f62a964SEmmanuel Vadot items: 635f62a964SEmmanuel Vadot - description: GMAC main clock 645f62a964SEmmanuel Vadot - description: Peripheral registers interface clock 65*833e5d42SEmmanuel Vadot - description: APB glue registers interface clock 665f62a964SEmmanuel Vadot 675f62a964SEmmanuel Vadot clock-names: 685f62a964SEmmanuel Vadot items: 695f62a964SEmmanuel Vadot - const: stmmaceth 705f62a964SEmmanuel Vadot - const: pclk 71*833e5d42SEmmanuel Vadot - const: apb 725f62a964SEmmanuel Vadot 735f62a964SEmmanuel Vadot interrupts: 745f62a964SEmmanuel Vadot items: 755f62a964SEmmanuel Vadot - description: Combined signal for various interrupt events 765f62a964SEmmanuel Vadot 775f62a964SEmmanuel Vadot interrupt-names: 785f62a964SEmmanuel Vadot items: 795f62a964SEmmanuel Vadot - const: macirq 805f62a964SEmmanuel Vadot 815f62a964SEmmanuel Vadotrequired: 825f62a964SEmmanuel Vadot - clocks 835f62a964SEmmanuel Vadot - clock-names 845f62a964SEmmanuel Vadot 855f62a964SEmmanuel VadotunevaluatedProperties: false 865f62a964SEmmanuel Vadot 875f62a964SEmmanuel Vadotexamples: 885f62a964SEmmanuel Vadot - | 895f62a964SEmmanuel Vadot gmac0: ethernet@e7070000 { 905f62a964SEmmanuel Vadot compatible = "thead,th1520-gmac", "snps,dwmac-3.70a"; 915f62a964SEmmanuel Vadot reg = <0xe7070000 0x2000>, <0xec003000 0x1000>; 925f62a964SEmmanuel Vadot reg-names = "dwmac", "apb"; 93*833e5d42SEmmanuel Vadot clocks = <&clk 1>, <&clk 2>, <&clk 3>; 94*833e5d42SEmmanuel Vadot clock-names = "stmmaceth", "pclk", "apb"; 955f62a964SEmmanuel Vadot interrupts = <66>; 965f62a964SEmmanuel Vadot interrupt-names = "macirq"; 975f62a964SEmmanuel Vadot phy-mode = "rgmii-id"; 985f62a964SEmmanuel Vadot snps,fixed-burst; 995f62a964SEmmanuel Vadot snps,axi-config = <&stmmac_axi_setup>; 1005f62a964SEmmanuel Vadot snps,pbl = <32>; 1015f62a964SEmmanuel Vadot phy-handle = <&phy0>; 1025f62a964SEmmanuel Vadot 1035f62a964SEmmanuel Vadot mdio { 1045f62a964SEmmanuel Vadot #address-cells = <1>; 1055f62a964SEmmanuel Vadot #size-cells = <0>; 1065f62a964SEmmanuel Vadot compatible = "snps,dwmac-mdio"; 1075f62a964SEmmanuel Vadot 1085f62a964SEmmanuel Vadot phy0: ethernet-phy@0 { 1095f62a964SEmmanuel Vadot reg = <0>; 1105f62a964SEmmanuel Vadot }; 1115f62a964SEmmanuel Vadot }; 1125f62a964SEmmanuel Vadot }; 113