* Allwinner sun8i GMAC ethernet controller

This device is a platform glue layer for stmmac.
Please see stmmac.txt for the other unchanged properties.

Required properties:
- compatible: must be one of the following string:
		"allwinner,sun8i-a83t-emac"
		"allwinner,sun8i-h3-emac"
		"allwinner,sun8i-r40-gmac"
		"allwinner,sun8i-v3s-emac"
		"allwinner,sun50i-a64-emac"
- reg: address and length of the register for the device.
- interrupts: interrupt for the device
- interrupt-names: must be "macirq"
- clocks: A phandle to the reference clock for this device
- clock-names: must be "stmmaceth"
- resets: A phandle to the reset control for this device
- reset-names: must be "stmmaceth"
- phy-mode: See ethernet.txt
- phy-handle: See ethernet.txt
- syscon: A phandle to the device containing the EMAC or GMAC clock register

Optional properties:
- allwinner,tx-delay-ps: TX clock delay chain value in ps.
			 Range is 0-700. Default is 0.
			 Unavailable for allwinner,sun8i-r40-gmac
- allwinner,rx-delay-ps: RX clock delay chain value in ps.
			 Range is 0-3100. Default is 0.
			 Range is 0-700 for allwinner,sun8i-r40-gmac
Both delay properties need to be a multiple of 100. They control the
clock delay for external RGMII PHY. They do not apply to the internal
PHY or external non-RGMII PHYs.

Optional properties for the following compatibles:
  - "allwinner,sun8i-h3-emac",
  - "allwinner,sun8i-v3s-emac":
- allwinner,leds-active-low: EPHY LEDs are active low

Required child node of emac:
- mdio bus node: should be named mdio with compatible "snps,dwmac-mdio"

Required properties of the mdio node:
- #address-cells: shall be 1
- #size-cells: shall be 0

The device node referenced by "phy" or "phy-handle" must be a child node
of the mdio node. See phy.txt for the generic PHY bindings.

The following compatibles require that the emac node have a mdio-mux child
node called "mdio-mux":
  - "allwinner,sun8i-h3-emac"
  - "allwinner,sun8i-v3s-emac":
Required properties for the mdio-mux node:
  - compatible = "allwinner,sun8i-h3-mdio-mux"
  - mdio-parent-bus: a phandle to EMAC mdio
  - one child mdio for the integrated mdio with the compatible
    "allwinner,sun8i-h3-mdio-internal"
  - one child mdio for the external mdio if present (V3s have none)
Required properties for the mdio-mux children node:
  - reg: 1 for internal MDIO bus, 2 for external MDIO bus

The following compatibles require a PHY node representing the integrated
PHY, under the integrated MDIO bus node if an mdio-mux node is used:
  - "allwinner,sun8i-h3-emac",
  - "allwinner,sun8i-v3s-emac":

Additional information regarding generic multiplexer properties can be found
at Documentation/devicetree/bindings/net/mdio-mux.txt

Required properties of the integrated phy node:
- clocks: a phandle to the reference clock for the EPHY
- resets: a phandle to the reset control for the EPHY
- Must be a child of the integrated mdio

Example with integrated PHY:
emac: ethernet@1c0b000 {
	compatible = "allwinner,sun8i-h3-emac";
	syscon = <&syscon>;
	reg = <0x01c0b000 0x104>;
	interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-names = "macirq";
	resets = <&ccu RST_BUS_EMAC>;
	reset-names = "stmmaceth";
	clocks = <&ccu CLK_BUS_EMAC>;
	clock-names = "stmmaceth";

	phy-handle = <&int_mii_phy>;
	phy-mode = "mii";
	allwinner,leds-active-low;

	mdio: mdio {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "snps,dwmac-mdio";
	};

	mdio-mux {
		compatible = "mdio-mux", "allwinner,sun8i-h3-mdio-mux";
		#address-cells = <1>;
		#size-cells = <0>;

		mdio-parent-bus = <&mdio>;

		int_mdio: mdio@1 {
			compatible = "allwinner,sun8i-h3-mdio-internal";
			reg = <1>;
			#address-cells = <1>;
			#size-cells = <0>;
			int_mii_phy: ethernet-phy@1 {
				reg = <1>;
				clocks = <&ccu CLK_BUS_EPHY>;
				resets = <&ccu RST_BUS_EPHY>;
				phy-is-integrated;
			};
		};
		ext_mdio: mdio@2 {
			reg = <2>;
			#address-cells = <1>;
			#size-cells = <0>;
		};
	};
};

Example with external PHY:
emac: ethernet@1c0b000 {
	compatible = "allwinner,sun8i-h3-emac";
	syscon = <&syscon>;
	reg = <0x01c0b000 0x104>;
	interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-names = "macirq";
	resets = <&ccu RST_BUS_EMAC>;
	reset-names = "stmmaceth";
	clocks = <&ccu CLK_BUS_EMAC>;
	clock-names = "stmmaceth";

	phy-handle = <&ext_rgmii_phy>;
	phy-mode = "rgmii";
	allwinner,leds-active-low;

	mdio: mdio {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "snps,dwmac-mdio";
	};

	mdio-mux {
		compatible = "allwinner,sun8i-h3-mdio-mux";
		#address-cells = <1>;
		#size-cells = <0>;

		mdio-parent-bus = <&mdio>;

		int_mdio: mdio@1 {
			compatible = "allwinner,sun8i-h3-mdio-internal";
			reg = <1>;
			#address-cells = <1>;
			#size-cells = <0>;
			int_mii_phy: ethernet-phy@1 {
				reg = <1>;
				clocks = <&ccu CLK_BUS_EPHY>;
				resets = <&ccu RST_BUS_EPHY>;
			};
		};
		ext_mdio: mdio@2 {
			reg = <2>;
			#address-cells = <1>;
			#size-cells = <0>;
			ext_rgmii_phy: ethernet-phy@1 {
				reg = <1>;
			};
		}:
	};
};

Example with SoC without integrated PHY

emac: ethernet@1c0b000 {
	compatible = "allwinner,sun8i-a83t-emac";
	syscon = <&syscon>;
	reg = <0x01c0b000 0x104>;
	interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-names = "macirq";
	resets = <&ccu RST_BUS_EMAC>;
	reset-names = "stmmaceth";
	clocks = <&ccu CLK_BUS_EMAC>;
	clock-names = "stmmaceth";

	phy-handle = <&ext_rgmii_phy>;
	phy-mode = "rgmii";

	mdio: mdio {
		compatible = "snps,dwmac-mdio";
		#address-cells = <1>;
		#size-cells = <0>;
		ext_rgmii_phy: ethernet-phy@1 {
			reg = <1>;
		};
	};
};
