Marvell Orion/Discovery ethernet controller
=============================================

The Marvell Discovery ethernet controller can be found on Marvell Orion SoCs
(Kirkwood, Dove, Orion5x, and Discovery Innovation) and as part of Marvell
Discovery system controller chips (mv64[345]60).

The Discovery ethernet controller is described with two levels of nodes. The
first level describes the ethernet controller itself and the second level
describes up to 3 ethernet port nodes within that controller. The reason for
the multiple levels is that the port registers are interleaved within a single
set of controller registers. Each port node describes port-specific properties.

Note: The above separation is only true for Discovery system controllers.
For Orion SoCs we stick to the separation, although there each controller has
only one port associated. Multiple ports are implemented as multiple single-port
controllers. As Kirkwood has some issues with proper initialization after reset,
an extra compatible string is added for it.

* Ethernet controller node

Required controller properties:
 - #address-cells: shall be 1.
 - #size-cells: shall be 0.
 - compatible: shall be one of "marvell,orion-eth", "marvell,kirkwood-eth".
 - reg: address and length of the controller registers.

Optional controller properties:
 - clocks: phandle reference to the controller clock.
 - marvell,tx-checksum-limit: max tx packet size for hardware checksum.

* Ethernet port node

Required port properties:
 - compatible: shall be one of "marvell,orion-eth-port",
      "marvell,kirkwood-eth-port".
 - reg: port number relative to ethernet controller, shall be 0, 1, or 2.
 - interrupts: port interrupt.
 - local-mac-address: See ethernet.txt file in the same directory.

Optional port properties:
 - marvell,tx-queue-size: size of the transmit ring buffer.
 - marvell,tx-sram-addr: address of transmit descriptor buffer located in SRAM.
 - marvell,tx-sram-size: size of transmit descriptor buffer located in SRAM.
 - marvell,rx-queue-size: size of the receive ring buffer.
 - marvell,rx-sram-addr: address of receive descriptor buffer located in SRAM.
 - marvell,rx-sram-size: size of receive descriptor buffer located in SRAM.

and

 - phy-handle: See ethernet.txt file in the same directory.

or

 - speed: port speed if no PHY connected.
 - duplex: port mode if no PHY connected.

* Node example:

mdio-bus {
	...
	ethphy: ethernet-phy@8 {
		...
	};
};

eth: ethernet-controller@72000 {
	compatible = "marvell,orion-eth";
	#address-cells = <1>;
	#size-cells = <0>;
	reg = <0x72000 0x2000>;
	clocks = <&gate_clk 2>;
	marvell,tx-checksum-limit = <1600>;

	ethernet@0 {
		compatible = "marvell,orion-eth-port";
		reg = <0>;
		interrupts = <29>;
		phy-handle = <&ethphy>;
		local-mac-address = [00 00 00 00 00 00];
	};
};
