Microsemi Ocelot network Switch
===============================

The Microsemi Ocelot network switch can be found on Microsemi SoCs (VSC7513,
VSC7514)

Required properties:
- compatible: Should be "mscc,vsc7514-switch"
- reg: Must contain an (offset, length) pair of the register set for each
  entry in reg-names.
- reg-names: Must include the following entries:
  - "sys"
  - "rew"
  - "qs"
  - "ptp" (optional due to backward compatibility)
  - "qsys"
  - "ana"
  - "portX" with X from 0 to the number of last port index available on that
    switch
- interrupts: Should contain the switch interrupts for frame extraction,
  frame injection and PTP ready.
- interrupt-names: should contain the interrupt names: "xtr", "inj". Can contain
  "ptp_rdy" which is optional due to backward compatibility.
- ethernet-ports: A container for child nodes representing switch ports.

The ethernet-ports container has the following properties

Required properties:

- #address-cells: Must be 1
- #size-cells: Must be 0

Each port node must have the following mandatory properties:
- reg: Describes the port address in the switch

Port nodes may also contain the following optional standardised
properties, described in binding documents:

- phy-handle: Phandle to a PHY on an MDIO bus. See
  Documentation/devicetree/bindings/net/ethernet.txt for details.

Example:

	switch@1010000 {
		compatible = "mscc,vsc7514-switch";
		reg = <0x1010000 0x10000>,
		      <0x1030000 0x10000>,
		      <0x1080000 0x100>,
		      <0x10e0000 0x10000>,
		      <0x11e0000 0x100>,
		      <0x11f0000 0x100>,
		      <0x1200000 0x100>,
		      <0x1210000 0x100>,
		      <0x1220000 0x100>,
		      <0x1230000 0x100>,
		      <0x1240000 0x100>,
		      <0x1250000 0x100>,
		      <0x1260000 0x100>,
		      <0x1270000 0x100>,
		      <0x1280000 0x100>,
		      <0x1800000 0x80000>,
		      <0x1880000 0x10000>;
		reg-names = "sys", "rew", "qs", "ptp", "port0", "port1",
			    "port2", "port3", "port4", "port5", "port6",
			    "port7", "port8", "port9", "port10", "qsys",
			    "ana";
		interrupts = <18 21 22>;
		interrupt-names = "ptp_rdy", "xtr", "inj";

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

			port0: port@0 {
				reg = <0>;
				phy-handle = <&phy0>;
			};
			port1: port@1 {
				reg = <1>;
				phy-handle = <&phy1>;
			};
		};
	};
