xref: /linux/Documentation/devicetree/bindings/net/mediatek,star-emac.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
11d1ba146SBartosz Golaszewski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
21d1ba146SBartosz Golaszewski%YAML 1.2
31d1ba146SBartosz Golaszewski---
491f3fd11SBartosz Golaszewski$id: http://devicetree.org/schemas/net/mediatek,star-emac.yaml#
51d1ba146SBartosz Golaszewski$schema: http://devicetree.org/meta-schemas/core.yaml#
61d1ba146SBartosz Golaszewski
71d1ba146SBartosz Golaszewskititle: MediaTek STAR Ethernet MAC Controller
81d1ba146SBartosz Golaszewski
91d1ba146SBartosz Golaszewskimaintainers:
101d1ba146SBartosz Golaszewski  - Bartosz Golaszewski <bgolaszewski@baylibre.com>
111d1ba146SBartosz Golaszewski
121d1ba146SBartosz Golaszewskidescription:
131d1ba146SBartosz Golaszewski  This Ethernet MAC is used on the MT8* family of SoCs from MediaTek.
141d1ba146SBartosz Golaszewski  It's compliant with 802.3 standards and supports half- and full-duplex
151d1ba146SBartosz Golaszewski  modes with flow-control as well as CRC offloading and VLAN tags.
161d1ba146SBartosz Golaszewski
171d1ba146SBartosz GolaszewskiallOf:
183079bfdbSRob Herring  - $ref: ethernet-controller.yaml#
191d1ba146SBartosz Golaszewski
201d1ba146SBartosz Golaszewskiproperties:
211d1ba146SBartosz Golaszewski  compatible:
221d1ba146SBartosz Golaszewski    enum:
231d1ba146SBartosz Golaszewski      - mediatek,mt8516-eth
241d1ba146SBartosz Golaszewski      - mediatek,mt8518-eth
251d1ba146SBartosz Golaszewski      - mediatek,mt8175-eth
2643360697SBiao Huang      - mediatek,mt8365-eth
271d1ba146SBartosz Golaszewski
281d1ba146SBartosz Golaszewski  reg:
291d1ba146SBartosz Golaszewski    maxItems: 1
301d1ba146SBartosz Golaszewski
311d1ba146SBartosz Golaszewski  interrupts:
321d1ba146SBartosz Golaszewski    maxItems: 1
331d1ba146SBartosz Golaszewski
341d1ba146SBartosz Golaszewski  clocks:
351d1ba146SBartosz Golaszewski    minItems: 3
361d1ba146SBartosz Golaszewski    maxItems: 3
371d1ba146SBartosz Golaszewski
381d1ba146SBartosz Golaszewski  clock-names:
391d1ba146SBartosz Golaszewski    additionalItems: false
401d1ba146SBartosz Golaszewski    items:
411d1ba146SBartosz Golaszewski      - const: core
421d1ba146SBartosz Golaszewski      - const: reg
431d1ba146SBartosz Golaszewski      - const: trans
441d1ba146SBartosz Golaszewski
451d1ba146SBartosz Golaszewski  mediatek,pericfg:
46d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
471d1ba146SBartosz Golaszewski    description:
481d1ba146SBartosz Golaszewski      Phandle to the device containing the PERICFG register range. This is used
491d1ba146SBartosz Golaszewski      to control the MII mode.
501d1ba146SBartosz Golaszewski
51320c49feSBiao Huang  mediatek,rmii-rxc:
52320c49feSBiao Huang    type: boolean
53320c49feSBiao Huang    description:
54320c49feSBiao Huang      If present, indicates that the RMII reference clock, which is from external
55320c49feSBiao Huang      PHYs, is connected to RXC pin. Otherwise, is connected to TXC pin.
56320c49feSBiao Huang
57320c49feSBiao Huang  mediatek,rxc-inverse:
58320c49feSBiao Huang    type: boolean
59320c49feSBiao Huang    description:
60320c49feSBiao Huang      If present, indicates that clock on RXC pad will be inversed.
61320c49feSBiao Huang
62320c49feSBiao Huang  mediatek,txc-inverse:
63320c49feSBiao Huang    type: boolean
64320c49feSBiao Huang    description:
65320c49feSBiao Huang      If present, indicates that clock on TXC pad will be inversed.
66320c49feSBiao Huang
671d1ba146SBartosz Golaszewski  mdio:
68b2d28642SRob Herring    $ref: mdio.yaml#
69b2d28642SRob Herring    unevaluatedProperties: false
701d1ba146SBartosz Golaszewski
711d1ba146SBartosz Golaszewskirequired:
721d1ba146SBartosz Golaszewski  - compatible
731d1ba146SBartosz Golaszewski  - reg
741d1ba146SBartosz Golaszewski  - interrupts
751d1ba146SBartosz Golaszewski  - clocks
761d1ba146SBartosz Golaszewski  - clock-names
771d1ba146SBartosz Golaszewski  - mediatek,pericfg
781d1ba146SBartosz Golaszewski  - phy-handle
791d1ba146SBartosz Golaszewski
806fdc6e23SRob HerringunevaluatedProperties: false
816fdc6e23SRob Herring
821d1ba146SBartosz Golaszewskiexamples:
831d1ba146SBartosz Golaszewski  - |
841d1ba146SBartosz Golaszewski    #include <dt-bindings/interrupt-controller/arm-gic.h>
851d1ba146SBartosz Golaszewski    #include <dt-bindings/clock/mt8516-clk.h>
861d1ba146SBartosz Golaszewski
871d1ba146SBartosz Golaszewski    ethernet: ethernet@11180000 {
881d1ba146SBartosz Golaszewski        compatible = "mediatek,mt8516-eth";
891d1ba146SBartosz Golaszewski        reg = <0x11180000 0x1000>;
901d1ba146SBartosz Golaszewski        mediatek,pericfg = <&pericfg>;
911d1ba146SBartosz Golaszewski        interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_LOW>;
921d1ba146SBartosz Golaszewski        clocks = <&topckgen CLK_TOP_RG_ETH>,
931d1ba146SBartosz Golaszewski                 <&topckgen CLK_TOP_66M_ETH>,
941d1ba146SBartosz Golaszewski                 <&topckgen CLK_TOP_133M_ETH>;
951d1ba146SBartosz Golaszewski        clock-names = "core", "reg", "trans";
961d1ba146SBartosz Golaszewski        phy-handle = <&eth_phy>;
971d1ba146SBartosz Golaszewski        phy-mode = "rmii";
981d1ba146SBartosz Golaszewski
991d1ba146SBartosz Golaszewski        mdio {
1001d1ba146SBartosz Golaszewski            #address-cells = <1>;
1011d1ba146SBartosz Golaszewski            #size-cells = <0>;
1021d1ba146SBartosz Golaszewski
1031d1ba146SBartosz Golaszewski            eth_phy: ethernet-phy@0 {
1041d1ba146SBartosz Golaszewski                reg = <0>;
1051d1ba146SBartosz Golaszewski            };
1061d1ba146SBartosz Golaszewski        };
1071d1ba146SBartosz Golaszewski    };
108