191f3fd11SBartosz Golaszewski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
291f3fd11SBartosz Golaszewski%YAML 1.2
391f3fd11SBartosz Golaszewski---
491f3fd11SBartosz Golaszewski$id: http://devicetree.org/schemas/net/mediatek,star-emac.yaml#
591f3fd11SBartosz Golaszewski$schema: http://devicetree.org/meta-schemas/core.yaml#
691f3fd11SBartosz Golaszewski
791f3fd11SBartosz Golaszewskititle: MediaTek STAR Ethernet MAC Controller
891f3fd11SBartosz Golaszewski
991f3fd11SBartosz Golaszewskimaintainers:
1091f3fd11SBartosz Golaszewski  - Bartosz Golaszewski <bgolaszewski@baylibre.com>
1191f3fd11SBartosz Golaszewski
1291f3fd11SBartosz Golaszewskidescription:
1391f3fd11SBartosz Golaszewski  This Ethernet MAC is used on the MT8* family of SoCs from MediaTek.
1491f3fd11SBartosz Golaszewski  It's compliant with 802.3 standards and supports half- and full-duplex
1591f3fd11SBartosz Golaszewski  modes with flow-control as well as CRC offloading and VLAN tags.
1691f3fd11SBartosz Golaszewski
1791f3fd11SBartosz GolaszewskiallOf:
1891f3fd11SBartosz Golaszewski  - $ref: "ethernet-controller.yaml#"
1991f3fd11SBartosz Golaszewski
2091f3fd11SBartosz Golaszewskiproperties:
2191f3fd11SBartosz Golaszewski  compatible:
2291f3fd11SBartosz Golaszewski    enum:
2391f3fd11SBartosz Golaszewski      - mediatek,mt8516-eth
2491f3fd11SBartosz Golaszewski      - mediatek,mt8518-eth
2591f3fd11SBartosz Golaszewski      - mediatek,mt8175-eth
2691f3fd11SBartosz Golaszewski
2791f3fd11SBartosz Golaszewski  reg:
2891f3fd11SBartosz Golaszewski    maxItems: 1
2991f3fd11SBartosz Golaszewski
3091f3fd11SBartosz Golaszewski  interrupts:
3191f3fd11SBartosz Golaszewski    maxItems: 1
3291f3fd11SBartosz Golaszewski
3391f3fd11SBartosz Golaszewski  clocks:
3491f3fd11SBartosz Golaszewski    minItems: 3
3591f3fd11SBartosz Golaszewski    maxItems: 3
3691f3fd11SBartosz Golaszewski
3791f3fd11SBartosz Golaszewski  clock-names:
3891f3fd11SBartosz Golaszewski    additionalItems: false
3991f3fd11SBartosz Golaszewski    items:
4091f3fd11SBartosz Golaszewski      - const: core
4191f3fd11SBartosz Golaszewski      - const: reg
4291f3fd11SBartosz Golaszewski      - const: trans
4391f3fd11SBartosz Golaszewski
4491f3fd11SBartosz Golaszewski  mediatek,pericfg:
4591f3fd11SBartosz Golaszewski    $ref: /schemas/types.yaml#definitions/phandle
4691f3fd11SBartosz Golaszewski    description:
4791f3fd11SBartosz Golaszewski      Phandle to the device containing the PERICFG register range. This is used
4891f3fd11SBartosz Golaszewski      to control the MII mode.
4991f3fd11SBartosz Golaszewski
5091f3fd11SBartosz Golaszewski  mdio:
5191f3fd11SBartosz Golaszewski    type: object
5291f3fd11SBartosz Golaszewski    description:
5391f3fd11SBartosz Golaszewski      Creates and registers an MDIO bus.
5491f3fd11SBartosz Golaszewski
5591f3fd11SBartosz Golaszewskirequired:
5691f3fd11SBartosz Golaszewski  - compatible
5791f3fd11SBartosz Golaszewski  - reg
5891f3fd11SBartosz Golaszewski  - interrupts
5991f3fd11SBartosz Golaszewski  - clocks
6091f3fd11SBartosz Golaszewski  - clock-names
6191f3fd11SBartosz Golaszewski  - mediatek,pericfg
6291f3fd11SBartosz Golaszewski  - phy-handle
6391f3fd11SBartosz Golaszewski
646fdc6e23SRob HerringunevaluatedProperties: false
656fdc6e23SRob Herring
6691f3fd11SBartosz Golaszewskiexamples:
6791f3fd11SBartosz Golaszewski  - |
6891f3fd11SBartosz Golaszewski    #include <dt-bindings/interrupt-controller/arm-gic.h>
6991f3fd11SBartosz Golaszewski    #include <dt-bindings/clock/mt8516-clk.h>
7091f3fd11SBartosz Golaszewski
7191f3fd11SBartosz Golaszewski    ethernet: ethernet@11180000 {
7291f3fd11SBartosz Golaszewski        compatible = "mediatek,mt8516-eth";
7391f3fd11SBartosz Golaszewski        reg = <0x11180000 0x1000>;
7491f3fd11SBartosz Golaszewski        mediatek,pericfg = <&pericfg>;
7591f3fd11SBartosz Golaszewski        interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_LOW>;
7691f3fd11SBartosz Golaszewski        clocks = <&topckgen CLK_TOP_RG_ETH>,
7791f3fd11SBartosz Golaszewski                 <&topckgen CLK_TOP_66M_ETH>,
7891f3fd11SBartosz Golaszewski                 <&topckgen CLK_TOP_133M_ETH>;
7991f3fd11SBartosz Golaszewski        clock-names = "core", "reg", "trans";
8091f3fd11SBartosz Golaszewski        phy-handle = <&eth_phy>;
8191f3fd11SBartosz Golaszewski        phy-mode = "rmii";
8291f3fd11SBartosz Golaszewski
8391f3fd11SBartosz Golaszewski        mdio {
8491f3fd11SBartosz Golaszewski            #address-cells = <1>;
8591f3fd11SBartosz Golaszewski            #size-cells = <0>;
8691f3fd11SBartosz Golaszewski
8791f3fd11SBartosz Golaszewski            eth_phy: ethernet-phy@0 {
8891f3fd11SBartosz Golaszewski                reg = <0>;
8991f3fd11SBartosz Golaszewski            };
9091f3fd11SBartosz Golaszewski        };
9191f3fd11SBartosz Golaszewski    };
92