* Amlogic Meson DWMAC Ethernet controller

The device inherits all the properties of the dwmac/stmmac devices
described in the file stmmac.txt in the current directory with the
following changes.

Required properties on all platforms:

- compatible:	Depending on the platform this should be one of:
			- "amlogic,meson6-dwmac"
			- "amlogic,meson8b-dwmac"
			- "amlogic,meson8m2-dwmac"
			- "amlogic,meson-gxbb-dwmac"
		Additionally "snps,dwmac" and any applicable more
		detailed version number described in net/stmmac.txt
		should be used.

- reg:	The first register range should be the one of the DWMAC
	controller. The second range is is for the Amlogic specific
	configuration (for example the PRG_ETHERNET register range
	on Meson8b and newer)

Required properties on Meson8b, Meson8m2, GXBB and newer:
- clock-names:	Should contain the following:
		- "stmmaceth" - see stmmac.txt
		- "clkin0" - first parent clock of the internal mux
		- "clkin1" - second parent clock of the internal mux

Optional properties on Meson8b, Meson8m2, GXBB and newer:
- amlogic,tx-delay-ns:	The internal RGMII TX clock delay (provided
			by this driver) in nanoseconds. Allowed values
			are: 0ns, 2ns, 4ns, 6ns.
			When phy-mode is set to "rgmii" then the TX
			delay should be explicitly configured. When
			not configured a fallback of 2ns is used.
			When the phy-mode is set to either "rgmii-id"
			or "rgmii-txid" the TX clock delay is already
			provided by the PHY. In that case this
			property should be set to 0ns (which disables
			the TX clock delay in the MAC to prevent the
			clock from going off because both PHY and MAC
			are adding a delay).
			Any configuration is ignored when the phy-mode
			is set to "rmii".

Example for Meson6:

	ethmac: ethernet@c9410000 {
		compatible = "amlogic,meson6-dwmac", "snps,dwmac";
		reg = <0xc9410000 0x10000
		       0xc1108108 0x4>;
		interrupts = <0 8 1>;
		interrupt-names = "macirq";
		clocks = <&clk81>;
		clock-names = "stmmaceth";
	}

Example for GXBB:
	ethmac: ethernet@c9410000 {
		compatible = "amlogic,meson-gxbb-dwmac", "snps,dwmac";
		reg = <0x0 0xc9410000 0x0 0x10000>,
			<0x0 0xc8834540 0x0 0x8>;
		interrupts = <0 8 1>;
		interrupt-names = "macirq";
		clocks = <&clkc CLKID_ETH>,
				<&clkc CLKID_FCLK_DIV2>,
				<&clkc CLKID_MPLL2>;
		clock-names = "stmmaceth", "clkin0", "clkin1";
		phy-mode = "rgmii";
	};
