* Broadcom BCM7xxx Ethernet Controller (GENET)

Required properties:
- compatible: should contain one of "brcm,genet-v1", "brcm,genet-v2",
  "brcm,genet-v3", "brcm,genet-v4", "brcm,genet-v5".
- reg: address and length of the register set for the device
- interrupts and/or interrupts-extended: must be two cells, the first cell
  is the general purpose interrupt line, while the second cell is the
  interrupt for the ring RX and TX queues operating in ring mode.  An
  optional third interrupt cell for Wake-on-LAN can be specified.
  See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
  for information on the property specifics.
- phy-mode: see ethernet.txt file in the same directory
- #address-cells: should be 1
- #size-cells: should be 1

Optional properties:
- clocks: When provided, must be two phandles to the functional clocks nodes
  of the GENET block. The first phandle is the main GENET clock used during
  normal operation, while the second phandle is the Wake-on-LAN clock.
- clock-names: When provided, names of the functional clock phandles, first
  name should be "enet" and second should be "enet-wol".

- phy-handle: See ethernet.txt file in the same directory; used to describe
  configurations where a PHY (internal or external) is used.

- fixed-link: When the GENET interface is connected to a MoCA hardware block or
  when operating in a RGMII to RGMII type of connection, or when the MDIO bus is
  voluntarily disabled, this property should be used to describe the "fixed link".
  See Documentation/devicetree/bindings/net/fixed-link.txt for information on
  the property specifics

Required child nodes:

- mdio bus node: this node should always be present regardless of the PHY
  configuration of the GENET instance

MDIO bus node required properties:

- compatible: should contain one of "brcm,genet-mdio-v1", "brcm,genet-mdio-v2"
  "brcm,genet-mdio-v3", "brcm,genet-mdio-v4", "brcm,genet-mdio-v5", the version
  has to match the parent node compatible property (e.g: brcm,genet-v4 pairs
  with brcm,genet-mdio-v4)
- reg: address and length relative to the parent node base register address
- #address-cells: address cell for MDIO bus addressing, should be 1
- #size-cells: size of the cells for MDIO bus addressing, should be 0

Ethernet PHY node properties:

See Documentation/devicetree/bindings/net/phy.txt for the list of required and
optional properties.

Internal Gigabit PHY example:

ethernet@f0b60000 {
	phy-mode = "internal";
	phy-handle = <&phy1>;
	mac-address = [ 00 10 18 36 23 1a ];
	compatible = "brcm,genet-v4";
	#address-cells = <0x1>;
	#size-cells = <0x1>;
	reg = <0xf0b60000 0xfc4c>;
	interrupts = <0x0 0x14 0x0>, <0x0 0x15 0x0>;

	mdio@e14 {
		compatible = "brcm,genet-mdio-v4";
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		reg = <0xe14 0x8>;

		phy1: ethernet-phy@1 {
			max-speed = <1000>;
			reg = <0x1>;
			compatible = "ethernet-phy-ieee802.3-c22";
		};
	};
};

MoCA interface / MAC to MAC example:

ethernet@f0b80000 {
	phy-mode = "moca";
	fixed-link = <1 0 1000 0 0>;
	mac-address = [ 00 10 18 36 24 1a ];
	compatible = "brcm,genet-v4";
	#address-cells = <0x1>;
	#size-cells = <0x1>;
	reg = <0xf0b80000 0xfc4c>;
	interrupts = <0x0 0x16 0x0>, <0x0 0x17 0x0>;

	mdio@e14 {
		compatible = "brcm,genet-mdio-v4";
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		reg = <0xe14 0x8>;
	};
};


External MDIO-connected Gigabit PHY/switch:

ethernet@f0ba0000 {
	phy-mode = "rgmii";
	phy-handle = <&phy0>;
	mac-address = [ 00 10 18 36 26 1a ];
	compatible = "brcm,genet-v4";
	#address-cells = <0x1>;
	#size-cells = <0x1>;
	reg = <0xf0ba0000 0xfc4c>;
	interrupts = <0x0 0x18 0x0>, <0x0 0x19 0x0>;

	mdio@e14 {
		compatible = "brcm,genet-mdio-v4";
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		reg = <0xe14 0x8>;

		phy0: ethernet-phy@0 {
			max-speed = <1000>;
			reg = <0x0>;
			compatible = "ethernet-phy-ieee802.3-c22";
		};
	};
};
