Commit 53313ed2 authored by Linus Walleij's avatar Linus Walleij Committed by David S. Miller
Browse files

dt-bindings: marvell: Add Marvell MV88E6060 DSA schema



The Marvell MV88E6060 is one of the oldest DSA switches from
Marvell, and it has DT bindings used in the wild. Let's define
them properly.

It is different enough from the rest of the MV88E6xxx switches
that it deserves its own binding.

Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Reviewed-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0f35369b
Loading
Loading
Loading
Loading
+88 −0
Original line number Diff line number Diff line
# 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;
                    };
                };
            };
        };
    };
+1 −0
Original line number Diff line number Diff line
@@ -12626,6 +12626,7 @@ MARVELL 88E6XXX ETHERNET SWITCH FABRIC DRIVER
M:	Andrew Lunn <andrew@lunn.ch>
L:	netdev@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/net/dsa/marvell,mv88e6060.yaml
F:	Documentation/devicetree/bindings/net/dsa/marvell,mv88e6xxx.yaml
F:	Documentation/networking/devlink/mv88e6xxx.rst
F:	drivers/net/dsa/mv88e6xxx/