1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/net/mediatek,star-emac.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: MediaTek STAR Ethernet MAC Controller 8 9maintainers: 10 - Bartosz Golaszewski <bgolaszewski@baylibre.com> 11 12description: 13 This Ethernet MAC is used on the MT8* family of SoCs from MediaTek. 14 It's compliant with 802.3 standards and supports half- and full-duplex 15 modes with flow-control as well as CRC offloading and VLAN tags. 16 17allOf: 18 - $ref: ethernet-controller.yaml# 19 20properties: 21 compatible: 22 enum: 23 - mediatek,mt8516-eth 24 - mediatek,mt8518-eth 25 - mediatek,mt8175-eth 26 - mediatek,mt8365-eth 27 28 reg: 29 maxItems: 1 30 31 interrupts: 32 maxItems: 1 33 34 clocks: 35 minItems: 3 36 maxItems: 3 37 38 clock-names: 39 additionalItems: false 40 items: 41 - const: core 42 - const: reg 43 - const: trans 44 45 mediatek,pericfg: 46 $ref: /schemas/types.yaml#/definitions/phandle 47 description: 48 Phandle to the device containing the PERICFG register range. This is used 49 to control the MII mode. 50 51 mediatek,rmii-rxc: 52 type: boolean 53 description: 54 If present, indicates that the RMII reference clock, which is from external 55 PHYs, is connected to RXC pin. Otherwise, is connected to TXC pin. 56 57 mediatek,rxc-inverse: 58 type: boolean 59 description: 60 If present, indicates that clock on RXC pad will be inversed. 61 62 mediatek,txc-inverse: 63 type: boolean 64 description: 65 If present, indicates that clock on TXC pad will be inversed. 66 67 mdio: 68 $ref: mdio.yaml# 69 unevaluatedProperties: false 70 71required: 72 - compatible 73 - reg 74 - interrupts 75 - clocks 76 - clock-names 77 - mediatek,pericfg 78 - phy-handle 79 80unevaluatedProperties: false 81 82examples: 83 - | 84 #include <dt-bindings/interrupt-controller/arm-gic.h> 85 #include <dt-bindings/clock/mt8516-clk.h> 86 87 ethernet: ethernet@11180000 { 88 compatible = "mediatek,mt8516-eth"; 89 reg = <0x11180000 0x1000>; 90 mediatek,pericfg = <&pericfg>; 91 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_LOW>; 92 clocks = <&topckgen CLK_TOP_RG_ETH>, 93 <&topckgen CLK_TOP_66M_ETH>, 94 <&topckgen CLK_TOP_133M_ETH>; 95 clock-names = "core", "reg", "trans"; 96 phy-handle = <ð_phy>; 97 phy-mode = "rmii"; 98 99 mdio { 100 #address-cells = <1>; 101 #size-cells = <0>; 102 103 eth_phy: ethernet-phy@0 { 104 reg = <0>; 105 }; 106 }; 107 }; 108