* MDIO IO device

The MDIO is a bus to which the PHY devices are connected.  For each
device that exists on this bus, a child node should be created.  See
the definition of the PHY node in booting-without-of.txt for an example
of how to define a PHY.

Required properties:
  - reg : Offset and length of the register set for the device, and optionally
          the offset and length of the TBIPA register (TBI PHY address
	  register).  If TBIPA register is not specified, the driver will
	  attempt to infer it from the register set specified (your mileage may
	  vary).
  - compatible : Should define the compatible device type for the
    mdio. Currently supported strings/devices are:
	- "fsl,gianfar-tbi"
	- "fsl,gianfar-mdio"
	- "fsl,etsec2-tbi"
	- "fsl,etsec2-mdio"
	- "fsl,ucc-mdio"
	- "fsl,fman-mdio"
    When device_type is "mdio", the following strings are also considered:
	- "gianfar"
	- "ucc_geth_phy"

Example:

	mdio@24520 {
		reg = <24520 20>;
		compatible = "fsl,gianfar-mdio";

		ethernet-phy@0 {
			......
		};
	};

* TBI Internal MDIO bus

As of this writing, every tsec is associated with an internal TBI PHY.
This PHY is accessed through the local MDIO bus.  These buses are defined
similarly to the mdio buses, except they are compatible with "fsl,gianfar-tbi".
The TBI PHYs underneath them are similar to normal PHYs, but the reg property
is considered instructive, rather than descriptive.  The reg property should
be chosen so it doesn't interfere with other PHYs on the bus.

* Gianfar-compatible ethernet nodes

Properties:

  - device_type : Should be "network"
  - model : Model of the device.  Can be "TSEC", "eTSEC", or "FEC"
  - compatible : Should be "gianfar"
  - reg : Offset and length of the register set for the device
  - interrupts : For FEC devices, the first interrupt is the device's
    interrupt.  For TSEC and eTSEC devices, the first interrupt is
    transmit, the second is receive, and the third is error.
  - phy-handle : See ethernet.txt file in the same directory.
  - fixed-link : See fixed-link.txt in the same directory.
  - phy-connection-type : See ethernet.txt file in the same directory.
    This property is only really needed if the connection is of type
    "rgmii-id", as all other connection types are detected by hardware.
  - fsl,magic-packet : If present, indicates that the hardware supports
    waking up via magic packet.
  - fsl,wake-on-filer : If present, indicates that the hardware supports
    waking up by Filer General Purpose Interrupt (FGPI) asserted on the
    Rx int line.  This is an advanced power management capability allowing
    certain packet types (user) defined by filer rules to wake up the system.
  - bd-stash : If present, indicates that the hardware supports stashing
    buffer descriptors in the L2.
  - rx-stash-len : Denotes the number of bytes of a received buffer to stash
    in the L2.
  - rx-stash-idx : Denotes the index of the first byte from the received
    buffer to stash in the L2.

Example:
	ethernet@24000 {
		device_type = "network";
		model = "TSEC";
		compatible = "gianfar";
		reg = <0x24000 0x1000>;
		local-mac-address = [ 00 E0 0C 00 73 00 ];
		interrupts = <29 2 30 2 34 2>;
		interrupt-parent = <&mpic>;
		phy-handle = <&phy0>
	};

* Gianfar PTP clock nodes

Refer to Documentation/devicetree/bindings/ptp/ptp-qoriq.txt
