Add support for SMSC95XX USB 2.0 10/100MBit Ethernet Adapter.

The SMSC95XX is a USB hub with a built-in Ethernet adapter. This adds support
for this, using the USB host network framework.

The source is from a prevous commit:
http://lists.denx.de/pipermail/u-boot/2011-June/094243.html

And fix warnings of "Dereferencing type-punned pointer will break
strict-aliasing rules", as:
351c351,352
<       u32 addr_lo, addr_hi;
---
>       u32 addr_lo;
>       u16 addr_hi;
356,357c357,360
<       addr_lo = cpu_to_le32(*((u32 *)eth->enetaddr));
<       addr_hi = cpu_to_le16(*((u16 *)(eth->enetaddr + 4)));
---
>       memcpy(&addr_lo, eth->enetaddr, sizeof(u32));
>       addr_lo = cpu_to_le32(addr_lo);
>       memcpy(&addr_hi, eth->enetaddr + 4, sizeof(u16));
>       addr_hi = cpu_to_le16(addr_hi);

BUG=none
TEST=booted u-boot and detected a SMSC9500 USB Etherenet Adadpter.

Change-Id: I5fc136933d9923e5e446eecbbb7aeb8e2ccc7077
4 files changed