1150b6addSBiao Huang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2150b6addSBiao Huang%YAML 1.2 3150b6addSBiao Huang--- 4150b6addSBiao Huang$id: http://devicetree.org/schemas/net/mediatek-dwmac.yaml# 5150b6addSBiao Huang$schema: http://devicetree.org/meta-schemas/core.yaml# 6150b6addSBiao Huang 7150b6addSBiao Huangtitle: MediaTek DWMAC glue layer controller 8150b6addSBiao Huang 9150b6addSBiao Huangmaintainers: 10150b6addSBiao Huang - Biao Huang <biao.huang@mediatek.com> 11150b6addSBiao Huang 12150b6addSBiao Huangdescription: 13150b6addSBiao Huang This file documents platform glue layer for stmmac. 14150b6addSBiao Huang 15150b6addSBiao Huang# We need a select here so we don't match all nodes with 'snps,dwmac' 16150b6addSBiao Huangselect: 17150b6addSBiao Huang properties: 18150b6addSBiao Huang compatible: 19150b6addSBiao Huang contains: 20150b6addSBiao Huang enum: 21150b6addSBiao Huang - mediatek,mt2712-gmac 22c827b7a3SJianguo Zhang - mediatek,mt8188-gmac 23ee410d51SBiao Huang - mediatek,mt8195-gmac 24150b6addSBiao Huang required: 25150b6addSBiao Huang - compatible 26150b6addSBiao Huang 27150b6addSBiao HuangallOf: 2861ab5a06SKrzysztof Kozlowski - $ref: snps,dwmac.yaml# 29150b6addSBiao Huang 30150b6addSBiao Huangproperties: 31150b6addSBiao Huang compatible: 32ee410d51SBiao Huang oneOf: 33ee410d51SBiao Huang - items: 34150b6addSBiao Huang - enum: 35150b6addSBiao Huang - mediatek,mt2712-gmac 36150b6addSBiao Huang - const: snps,dwmac-4.20a 37ee410d51SBiao Huang - items: 38ee410d51SBiao Huang - enum: 39ee410d51SBiao Huang - mediatek,mt8195-gmac 40ee410d51SBiao Huang - const: snps,dwmac-5.10a 41c827b7a3SJianguo Zhang - items: 42c827b7a3SJianguo Zhang - enum: 43c827b7a3SJianguo Zhang - mediatek,mt8188-gmac 44c827b7a3SJianguo Zhang - const: mediatek,mt8195-gmac 45c827b7a3SJianguo Zhang - const: snps,dwmac-5.10a 46150b6addSBiao Huang 47150b6addSBiao Huang clocks: 48ee410d51SBiao Huang minItems: 5 49150b6addSBiao Huang items: 50150b6addSBiao Huang - description: AXI clock 51150b6addSBiao Huang - description: APB clock 52150b6addSBiao Huang - description: MAC Main clock 53150b6addSBiao Huang - description: PTP clock 54150b6addSBiao Huang - description: RMII reference clock provided by MAC 55ee410d51SBiao Huang - description: MAC clock gate 56150b6addSBiao Huang 57150b6addSBiao Huang clock-names: 58ee410d51SBiao Huang minItems: 5 59150b6addSBiao Huang items: 60150b6addSBiao Huang - const: axi 61150b6addSBiao Huang - const: apb 62150b6addSBiao Huang - const: mac_main 63150b6addSBiao Huang - const: ptp_ref 64150b6addSBiao Huang - const: rmii_internal 65ee410d51SBiao Huang - const: mac_cg 66150b6addSBiao Huang 670a1e19c8SRob Herring power-domains: 680a1e19c8SRob Herring maxItems: 1 690a1e19c8SRob Herring 70150b6addSBiao Huang mediatek,pericfg: 71150b6addSBiao Huang $ref: /schemas/types.yaml#/definitions/phandle 72150b6addSBiao Huang description: 73150b6addSBiao Huang The phandle to the syscon node that control ethernet 74150b6addSBiao Huang interface and timing delay. 75150b6addSBiao Huang 76150b6addSBiao Huang mediatek,tx-delay-ps: 77150b6addSBiao Huang description: 78150b6addSBiao Huang The internal TX clock delay (provided by this driver) in nanoseconds. 79150b6addSBiao Huang For MT2712 RGMII interface, Allowed value need to be a multiple of 170, 80150b6addSBiao Huang or will round down. Range 0~31*170. 81150b6addSBiao Huang For MT2712 RMII/MII interface, Allowed value need to be a multiple of 550, 82150b6addSBiao Huang or will round down. Range 0~31*550. 83c827b7a3SJianguo Zhang For MT8188/MT8195 RGMII/RMII/MII interface, Allowed value need to be a multiple of 290, 84ee410d51SBiao Huang or will round down. Range 0~31*290. 85150b6addSBiao Huang 86150b6addSBiao Huang mediatek,rx-delay-ps: 87150b6addSBiao Huang description: 88150b6addSBiao Huang The internal RX clock delay (provided by this driver) in nanoseconds. 89150b6addSBiao Huang For MT2712 RGMII interface, Allowed value need to be a multiple of 170, 90150b6addSBiao Huang or will round down. Range 0~31*170. 91150b6addSBiao Huang For MT2712 RMII/MII interface, Allowed value need to be a multiple of 550, 92150b6addSBiao Huang or will round down. Range 0~31*550. 93c827b7a3SJianguo Zhang For MT8188/MT8195 RGMII/RMII/MII interface, Allowed value need to be a multiple 94ee410d51SBiao Huang of 290, or will round down. Range 0~31*290. 95150b6addSBiao Huang 96150b6addSBiao Huang mediatek,rmii-rxc: 97150b6addSBiao Huang type: boolean 98150b6addSBiao Huang description: 99150b6addSBiao Huang If present, indicates that the RMII reference clock, which is from external 100150b6addSBiao Huang PHYs, is connected to RXC pin. Otherwise, is connected to TXC pin. 101150b6addSBiao Huang 102150b6addSBiao Huang mediatek,rmii-clk-from-mac: 103150b6addSBiao Huang type: boolean 104150b6addSBiao Huang description: 105150b6addSBiao Huang If present, indicates that MAC provides the RMII reference clock, which 106150b6addSBiao Huang outputs to TXC pin only. 107150b6addSBiao Huang 108150b6addSBiao Huang mediatek,txc-inverse: 109150b6addSBiao Huang type: boolean 110150b6addSBiao Huang description: 111150b6addSBiao Huang If present, indicates that 112150b6addSBiao Huang 1. tx clock will be inversed in MII/RGMII case, 113150b6addSBiao Huang 2. tx clock inside MAC will be inversed relative to reference clock 114150b6addSBiao Huang which is from external PHYs in RMII case, and it rarely happen. 115150b6addSBiao Huang 3. the reference clock, which outputs to TXC pin will be inversed in RMII case 116150b6addSBiao Huang when the reference clock is from MAC. 117150b6addSBiao Huang 118150b6addSBiao Huang mediatek,rxc-inverse: 119150b6addSBiao Huang type: boolean 120150b6addSBiao Huang description: 121150b6addSBiao Huang If present, indicates that 122150b6addSBiao Huang 1. rx clock will be inversed in MII/RGMII case. 123150b6addSBiao Huang 2. reference clock will be inversed when arrived at MAC in RMII case, when 124150b6addSBiao Huang the reference clock is from external PHYs. 125150b6addSBiao Huang 3. the inside clock, which be sent to MAC, will be inversed in RMII case when 126150b6addSBiao Huang the reference clock is from MAC. 127150b6addSBiao Huang 128ee410d51SBiao Huang mediatek,mac-wol: 129ee410d51SBiao Huang type: boolean 130ee410d51SBiao Huang description: 131ee410d51SBiao Huang If present, indicates that MAC supports WOL(Wake-On-LAN), and MAC WOL will be enabled. 132*47aab533SBjorn Helgaas Otherwise, PHY WOL is preferred. 133ee410d51SBiao Huang 134150b6addSBiao Huangrequired: 135150b6addSBiao Huang - compatible 136150b6addSBiao Huang - reg 137150b6addSBiao Huang - interrupts 138150b6addSBiao Huang - interrupt-names 139150b6addSBiao Huang - clocks 140150b6addSBiao Huang - clock-names 141150b6addSBiao Huang - phy-mode 142150b6addSBiao Huang - mediatek,pericfg 143150b6addSBiao Huang 144150b6addSBiao HuangunevaluatedProperties: false 145150b6addSBiao Huang 146150b6addSBiao Huangexamples: 147150b6addSBiao Huang - | 148150b6addSBiao Huang #include <dt-bindings/clock/mt2712-clk.h> 149150b6addSBiao Huang #include <dt-bindings/gpio/gpio.h> 150150b6addSBiao Huang #include <dt-bindings/interrupt-controller/arm-gic.h> 151150b6addSBiao Huang #include <dt-bindings/interrupt-controller/irq.h> 152150b6addSBiao Huang #include <dt-bindings/power/mt2712-power.h> 153150b6addSBiao Huang 154150b6addSBiao Huang eth: ethernet@1101c000 { 155150b6addSBiao Huang compatible = "mediatek,mt2712-gmac", "snps,dwmac-4.20a"; 156150b6addSBiao Huang reg = <0x1101c000 0x1300>; 157150b6addSBiao Huang interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_LOW>; 158150b6addSBiao Huang interrupt-names = "macirq"; 159150b6addSBiao Huang phy-mode = "rgmii-rxid"; 160150b6addSBiao Huang mac-address = [00 55 7b b5 7d f7]; 161150b6addSBiao Huang clock-names = "axi", 162150b6addSBiao Huang "apb", 163150b6addSBiao Huang "mac_main", 164150b6addSBiao Huang "ptp_ref", 165150b6addSBiao Huang "rmii_internal"; 166150b6addSBiao Huang clocks = <&pericfg CLK_PERI_GMAC>, 167150b6addSBiao Huang <&pericfg CLK_PERI_GMAC_PCLK>, 168150b6addSBiao Huang <&topckgen CLK_TOP_ETHER_125M_SEL>, 169150b6addSBiao Huang <&topckgen CLK_TOP_ETHER_50M_SEL>, 170150b6addSBiao Huang <&topckgen CLK_TOP_ETHER_50M_RMII_SEL>; 171150b6addSBiao Huang assigned-clocks = <&topckgen CLK_TOP_ETHER_125M_SEL>, 172150b6addSBiao Huang <&topckgen CLK_TOP_ETHER_50M_SEL>, 173150b6addSBiao Huang <&topckgen CLK_TOP_ETHER_50M_RMII_SEL>; 174150b6addSBiao Huang assigned-clock-parents = <&topckgen CLK_TOP_ETHERPLL_125M>, 175150b6addSBiao Huang <&topckgen CLK_TOP_APLL1_D3>, 176150b6addSBiao Huang <&topckgen CLK_TOP_ETHERPLL_50M>; 177150b6addSBiao Huang power-domains = <&scpsys MT2712_POWER_DOMAIN_AUDIO>; 178150b6addSBiao Huang mediatek,pericfg = <&pericfg>; 179150b6addSBiao Huang mediatek,tx-delay-ps = <1530>; 180150b6addSBiao Huang snps,txpbl = <1>; 181150b6addSBiao Huang snps,rxpbl = <1>; 182150b6addSBiao Huang snps,reset-gpio = <&pio 87 GPIO_ACTIVE_LOW>; 183150b6addSBiao Huang snps,reset-delays-us = <0 10000 10000>; 184150b6addSBiao Huang }; 185