This driver supports Designware Ethernet Controller provided by Synopsis.

The driver is enabled by CONFIG_DESIGNWARE_ETH.

The driver has been developed and tested on SPEAr platforms. By default, the
MDIO interface works at 100/Full. #defining the below options in board
configuration file changes this behavior.

Call an subroutine from respective board/.../board.c
designware_initialize(u32 id, ulong base_addr, u32 phy_addr);

The various options suported by the driver are
1. CONFIG_DW_ALTDESCRIPTOR
	Define this to use the Alternate/Enhanced Descriptor configurations.
1. CONFIG_DW_AUTONEG
	Define this to autonegotiate with the host before proceeding with mac
	level configuration. This obviates the definitions of CONFIG_DW_SPEED10M
	and CONFIG_DW_DUPLEXHALF.
2. CONFIG_DW_SPEED10M
	Define this to change the default behavior from 100Mbps to 10Mbps.
3. CONFIG_DW_DUPLEXHALF
	Define this to change the default behavior from Full Duplex to Half.
4. CONFIG_DW_SEARCH_PHY
	Define this to search the phy address. This would overwrite the value
	passed as 3rd arg from designware_initialize routine.
