* Broadcom BCM7xxx Ethernet Controller (GENET)

Required properties:
- compatible: should contain one of "brcm,genet-v1", "brcm,genet-v2",
  "brcm,genet-v3", "brcm,genet-v4".
- reg: address and length of the register set for the device
- interrupts: 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
- 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/fsl-tsec-phy.txt for information on
  the property specifics

Required child nodes:

- mdio bus node: this node should always be present regarless 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", 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 = "brcm,28nm-gphy", "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@0e14 {
		compatible = "brcm,genet-mdio-v4";
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		reg = <0xe14 0x8>;

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