18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/net/mediatek,star-emac.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: MediaTek STAR Ethernet MAC Controller
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Bartosz Golaszewski <bgolaszewski@baylibre.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription:
138c2ecf20Sopenharmony_ci  This Ethernet MAC is used on the MT8* family of SoCs from MediaTek.
148c2ecf20Sopenharmony_ci  It's compliant with 802.3 standards and supports half- and full-duplex
158c2ecf20Sopenharmony_ci  modes with flow-control as well as CRC offloading and VLAN tags.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciallOf:
188c2ecf20Sopenharmony_ci  - $ref: "ethernet-controller.yaml#"
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciproperties:
218c2ecf20Sopenharmony_ci  compatible:
228c2ecf20Sopenharmony_ci    enum:
238c2ecf20Sopenharmony_ci      - mediatek,mt8516-eth
248c2ecf20Sopenharmony_ci      - mediatek,mt8518-eth
258c2ecf20Sopenharmony_ci      - mediatek,mt8175-eth
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci  reg:
288c2ecf20Sopenharmony_ci    maxItems: 1
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci  interrupts:
318c2ecf20Sopenharmony_ci    maxItems: 1
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci  clocks:
348c2ecf20Sopenharmony_ci    minItems: 3
358c2ecf20Sopenharmony_ci    maxItems: 3
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci  clock-names:
388c2ecf20Sopenharmony_ci    additionalItems: false
398c2ecf20Sopenharmony_ci    items:
408c2ecf20Sopenharmony_ci      - const: core
418c2ecf20Sopenharmony_ci      - const: reg
428c2ecf20Sopenharmony_ci      - const: trans
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci  mediatek,pericfg:
458c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#definitions/phandle
468c2ecf20Sopenharmony_ci    description:
478c2ecf20Sopenharmony_ci      Phandle to the device containing the PERICFG register range. This is used
488c2ecf20Sopenharmony_ci      to control the MII mode.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci  mdio:
518c2ecf20Sopenharmony_ci    type: object
528c2ecf20Sopenharmony_ci    description:
538c2ecf20Sopenharmony_ci      Creates and registers an MDIO bus.
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_cirequired:
568c2ecf20Sopenharmony_ci  - compatible
578c2ecf20Sopenharmony_ci  - reg
588c2ecf20Sopenharmony_ci  - interrupts
598c2ecf20Sopenharmony_ci  - clocks
608c2ecf20Sopenharmony_ci  - clock-names
618c2ecf20Sopenharmony_ci  - mediatek,pericfg
628c2ecf20Sopenharmony_ci  - phy-handle
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ciunevaluatedProperties: false
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciexamples:
678c2ecf20Sopenharmony_ci  - |
688c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
698c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/mt8516-clk.h>
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci    ethernet: ethernet@11180000 {
728c2ecf20Sopenharmony_ci        compatible = "mediatek,mt8516-eth";
738c2ecf20Sopenharmony_ci        reg = <0x11180000 0x1000>;
748c2ecf20Sopenharmony_ci        mediatek,pericfg = <&pericfg>;
758c2ecf20Sopenharmony_ci        interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_LOW>;
768c2ecf20Sopenharmony_ci        clocks = <&topckgen CLK_TOP_RG_ETH>,
778c2ecf20Sopenharmony_ci                 <&topckgen CLK_TOP_66M_ETH>,
788c2ecf20Sopenharmony_ci                 <&topckgen CLK_TOP_133M_ETH>;
798c2ecf20Sopenharmony_ci        clock-names = "core", "reg", "trans";
808c2ecf20Sopenharmony_ci        phy-handle = <&eth_phy>;
818c2ecf20Sopenharmony_ci        phy-mode = "rmii";
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci        mdio {
848c2ecf20Sopenharmony_ci            #address-cells = <1>;
858c2ecf20Sopenharmony_ci            #size-cells = <0>;
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci            eth_phy: ethernet-phy@0 {
888c2ecf20Sopenharmony_ci                reg = <0>;
898c2ecf20Sopenharmony_ci            };
908c2ecf20Sopenharmony_ci        };
918c2ecf20Sopenharmony_ci    };
92