Documentation / devicetree / bindings / net / dsa / mediatek,mt7628-esw.yaml


Based on kernel version 7.3. Page generated on 2026-10-19 13:17 EDT.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/dsa/mediatek,mt7628-esw.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Mediatek MT7628 Embedded Ethernet Switch

maintainers:
  - Joris Vaisvila <joey@tinyisr.com>

description:
  The MT7628 SoC's built-in Ethernet Switch has five user ports and one
  internally connected CPU port. The user ports are all connected to the SoC's
  integrated Fast Ethernet PHYs. The switch registers are directly mapped in
  the SoC's memory.

allOf:
  - $ref: dsa.yaml#/$defs/ethernet-ports

properties:
  compatible:
    const: mediatek,mt7628-esw

  reg:
    maxItems: 1

  resets:
    items:
      - description: internal switch block reset
      - description: internal phy package reset

  reset-names:
    items:
      - const: esw
      - const: ephy

required:
  - compatible
  - reg
  - resets
  - reset-names
  - ethernet-ports

unevaluatedProperties: false

examples:
  - |
    switch@10110000 {
        compatible = "mediatek,mt7628-esw";
        reg = <0x10110000 0x8000>;
 
        resets = <&sysc 23>, <&sysc 24>;
        reset-names = "esw", "ephy";
 
        ethernet-ports {
            #address-cells = <1>;
            #size-cells = <0>;
 
            ethernet-port@0 {
                reg = <0>;
                phy-mode = "internal";
            };
 
            ethernet-port@1 {
                reg = <1>;
                phy-mode = "internal";
            };
 
            ethernet-port@2 {
                reg = <2>;
                phy-mode = "internal";
            };
 
            ethernet-port@3 {
                reg = <3>;
                phy-mode = "internal";
            };
 
            ethernet-port@4 {
                reg = <4>;
                phy-mode = "internal";
            };
 
            ethernet-port@6 {
                reg = <6>;
                phy-mode = "internal";
                ethernet = <&ethernet>;
 
                fixed-link {
                    speed = <1000>;
                    full-duplex;
                };
            };
        };
    };