Qualcomm MSM Ethernet Controller (EMAC)

Required properties:
- cell-index : EMAC controller instance number.
- compatible : Should be "qcom,emac".
- reg : Offset and length of the register regions for the device
- reg-names : Register region names referenced in 'reg' above.
	Required register resource entries are:
	"emac"       : EMAC controller register block.
	"emac_csr"   : EMAC wrapper register block.
	Optional register resource entries are:
	"emac_1588"      : EMAC 1588 (PTP) register block.
			   Required if 'qcom,emac-tstamp-en' is present.
	"emac_qserdes"   : EMAC SerDes register block.
			   Required if 'phy-mode' is "sgmii".
	"emac_sgmii_phy" : EMAC SGMII PHY register block.
			   Required if 'phy-mode' is "sgmii".
- interrupts : Interrupt numbers used by this controller
- interrupt-names : Interrupt resource names referenced in 'interrupts' above.
	Required interrupt resource entries are:
	"emac_core0_irq" : EMAC core0 interrupt.
	"emac_core1_irq" : EMAC core1 interrupt.
	"emac_core2_irq" : EMAC core2 interrupt.
	"emac_core3_irq" : EMAC core3 interrupt.
	Optional interrupt resource entries are:
	"emac_sgmii_irq" : EMAC SGMII interrupt.
			   Required if 'phy-mode' is "sgmii".
	"emac_wol_irq"   : EMAC Wake-On-LAN (WOL) interrupt.
			   Required if WOL is supported.
- qcom,emac-gpio-mdc  : GPIO pin number of the MDC line of MDIO bus.
- qcom,emac-gpio-mdio : GPIO pin number of the MDIO line of MDIO bus.
- phy-addr : Specifies phy address on MDIO bus.
	      Required if the optional property "qcom,no-external-phy"
	      is not specified.
- phy-mode : Specifies PHY type being used (eg., "sgmii", "rgmii", "gmii" etc).
	     For "sgmii", the "emac_sgmii" register base and
	     "emac_sgmii_irq" interrupt must be specified.

Optional properties:
- qcom,emac-tstamp-en : Enables the PTP (1588) timestamping feature.
		        Include this only if PTP (1588) timestamping
			feature is needed. If included, "emac_1588" register
			base should be specified.
- local-mac-address : The 6-byte MAC address.
		      This field is optional. If present, it is only a
		      placeholder for the MAC address. The correct MAC
		      address is populated in device tree during platform
		      initialization.
- qcom,no-external-phy : Indicates there is no external PHY connected to EMAC.
			 Include this only if the EMAC is directly connected to
			 the peer end without EPHY.
- qcom,emac-ptp-grandmaster : Enable the PTP (1588) grandmaster mode.
			      Include this only if PTP (1588) is configured as
			      grandmaster.
- qcom,emac-ptp-frac-ns-adj : The vector table to adjust the fractional ns per
			      RTC clock cycle.
			     Include this only if there is accuracy loss of
			     fractional ns per RTC clock cycle. For individual
			     table entry, the first field indicates the RTC
			     reference clock rate. The second field indicates
			     the number of adjustment in 2 ^ -26 ns.
Example:
	emac0: qcom,emac@feb20000 {
		cell-index = <0>;
		compatible = "qcom,emac";
		reg-names = "emac", "emac_csr", "emac_1588",
			    "emac_qserdes", "emac_sgmii_phy";
		reg = <0xfeb20000 0x10000>,
		      <0xfeb36000 0x1000>,
		      <0xfeb3c000 0x4000>,
		      <0xfeb13800 0x300>,
		      <0xfeb13b00 0x100>;
		interrupts = <0 76 0>, <0 77 0>, <0 78 0>, <0 79 0>;
		interrupt-names = "emac_core0_irq", "emac_core1_irq",
				  "emac_core2_irq", "emac_core3_irq";
		qcom,emac-gpio-mdc = <&msmgpio 123 0>;
		qcom,emac-gpio-mdio = <&msmgpio 124 0>;
		qcom,emac-tstamp-en;
		phy-mode = "sgmii";
		phy-addr = <0>;
	};
