# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/dsa/marvell,mv88e6060.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Marvell MV88E6060 DSA switch

maintainers:
  - Andrew Lunn <andrew@lunn.ch>

description:
  The Marvell MV88E6060 switch has been produced and sold by Marvell
  since at least 2008. The switch has one pin ADDR4 that controls the
  MDIO address of the switch to be 0x10 or 0x00, and on the MDIO bus
  connected to the switch, the PHYs inside the switch appear as
  independent devices on address 0x00-0x04 or 0x10-0x14, so in difference
  from many other DSA switches this switch does not have an internal
  MDIO bus for the PHY devices.

properties:
  compatible:
    const: marvell,mv88e6060
    description:
      The MV88E6060 is the oldest Marvell DSA switch product, and
      as such a bit limited in features compared to later hardware.

  reg:
    maxItems: 1

  reset-gpios:
    description:
      GPIO to be used to reset the whole device
    maxItems: 1

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

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    mdio {
        #address-cells = <1>;
        #size-cells = <0>;

        ethernet-switch@16 {
            compatible = "marvell,mv88e6060";
            reg = <16>;

            ethernet-ports {
                #address-cells = <1>;
                #size-cells = <0>;

                ethernet-port@0 {
                    reg = <0>;
                    label = "lan1";
                };
                ethernet-port@1 {
                    reg = <1>;
                    label = "lan2";
                };
                ethernet-port@2 {
                    reg = <2>;
                    label = "lan3";
                };
                ethernet-port@3 {
                    reg = <3>;
                    label = "lan4";
                };
                ethernet-port@5 {
                    reg = <5>;
                    phy-mode = "rev-mii";
                    ethernet = <&ethc>;
                    fixed-link {
                        speed = <100>;
                        full-duplex;
                    };
                };
            };
        };
    };
