Documentation / devicetree / bindings / net / dsa / marvell,mv88e6060.yaml


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

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
# 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;
                    };
                };
            };
        };
    };