Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

* 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