summaryrefslogtreecommitdiff
path: root/drivers/usb/eth
Commit message (Collapse)AuthorAgeLines
* usb: usbeth: smsc95xx: remove EEPROM loaded checkMichael Spang2013-03-18-4/+0
| | | | | | | | | | | | [port of Linux kernel commit bcd218be5aeb by Steve Glendinning] The eeprom read & write commands currently check the E2P_CMD_LOADED_ bit is set before allowing any operations. This prevents any reading or writing unless a correctly programmed EEPROM is installed. Signed-off-by: Michael Spang <spang@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Marek Vasut <marex@denx.de>
* usb: add support for multiple usb controllersLucas Stach2012-10-15-1/+1
| | | | | | | | | Allows to initialize more than one USB controller at once. v2: print message when controller stop fails Signed-off-by: Lucas Stach <dev@lynxeye.de> Reviewed-by: Marek Vasut <marex@denx.de>
* net: asix: add AX88772B supportLucas Stach2012-09-26-12/+23
| | | | | | | | | | | | | | | | | | | | Add AX88772B ID together with two fixes needed to make this work. 1. The packet length check has to be adjusted, as all ASIX chips only use 11 bits to indicate the length. AX88772B uses the other bits to indicate unrelated things, which cause the check to fail. This fix is based on a fix for the Linux kernel by Marek Vasut. Linux upstream commit: bca0beb9363f8487ac902931a50eb00180a2d14a 2. AX88772B provides several bulk endpoints. Only the first IN/OUT endpoints work in the default configuration. So stop enumeration after we found them to avoid overwriting the endpoint config with a non-working one. Signed-off-by: Lucas Stach <dev@lynxeye.de> Reviewed-by: Marek Vasut <marex@denx.de> Acked-by: Marek Vasut <marex@denx.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* net: asix: add read_mac functionLucas Stach2012-09-26-12/+35
| | | | | | | | | | | | | | Initial device MAC should be read while getting info about the device, so it's wrong to only read it in asix_init(). Add a dedicated function to read the initial MAC, which is also able to handle devices that have their initial MAC stored in EEPROM. Call this function inasix_eth_get_info(). Signed-off-by: Lucas Stach <dev@lynxeye.de> Reviewed-by: Marek Vasut <marex@denx.de> Acked-by: Marek Vasut <marex@denx.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* net: asix: add write_hwaddr functionLucas Stach2012-09-26-11/+52
| | | | | | | | | | | | | All ASIX chipsets aside from AX88172 are able to set the MAC address on the hardware level. Add a function to expose this ability. To differentiate between chip types we now carry flags as driver private data. Also while touching the asix_dongles array constify this. Signed-off-by: Lucas Stach <dev@lynxeye.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* net: asix: split out basic reset functionLucas Stach2012-09-26-18/+26
| | | | | | | | | | | | The basic device reset ensures that the device is ready to service commands and does not need to get redone before each network operation. Split out the basic reset from asix_init() and instead call it from asix_eth_get_info(), so that it only gets called once. Signed-off-by: Lucas Stach <dev@lynxeye.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* net: introduce transparent driver private in ueth_dataLucas Stach2012-09-26-14/+35
| | | | | | | | | | Avoid clutter in ueth_data. Individual drivers should not mess with structures belonging to the core like this. Signed-off-by: Lucas Stach <dev@lynxeye.de> Reviewed-by: Marek Vasut <marex@denx.de> Acked-by: Marek Vasut <marex@denx.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* Merge branch 'next' of git://git.denx.de/u-bootWolfgang Denk2012-07-30-13/+17
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'next' of git://git.denx.de/u-boot: MPC8xx: Fixup warning in arch/powerpc/cpu/mpc8xx/cpu.c doc: cleanup - move board READMEs into respective board directories net: sh_eth: add support for SH7757's GETHER net: sh_eth: modify the definitions of regsiter net: sh_eth: add SH_ETH_TYPE_ condition net: sh_eth: clean up for the SH7757's code net: fec_mxc: Fix MDC for xMII net: fec_mxc: Fix setting of RCR for xMII net: nfs: make NFS_TIMEOUT configurable net: Inline the new eth_setenv_enetaddr_by_index function net: allow setting env enetaddr from net device setting net/designware: Consecutive writes to the same register to be avoided CACHE: net: asix: Fix asix driver to work with data cache on net: phy: micrel: make ksz9021 phy accessible net: abort network initialization if the PHY driver fails phylib: phy_startup() should return an error code on failure net: tftp: fix type of block arg to store_block Signed-off-by: Wolfgang Denk <wd@denx.de>
| * CACHE: net: asix: Fix asix driver to work with data cache onMarek Vasut2012-07-11-13/+17
| | | | | | | | | | | | | | | | | | The asix driver did not align buffers, therefore it didn't work with data cache enabled. Fix this. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Joe Hershberger <joe.hershberger@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@gmail.com>
* | smsc95xx: align buffers to cache line sizeIlya Yanok2012-07-18-4/+9
|/ | | | | | | Align buffers passed to the USB code to cache line size so they can be DMAed safely. Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
* drivers/usb/eth/asix.c: Fix build warningAnatolij Gustschin2012-05-22-1/+1
| | | | | | | | Fix: asix.c: In function 'asix_eth_get_info': asix.c:629:12: warning: assignment from incompatible pointer type Signed-off-by: Anatolij Gustschin <agust@denx.de>
* drivers/usb/eth/smsc95xx.c: Fix GCC 4.6 warningAnatolij Gustschin2012-05-22-2/+1
| | | | | | | | | Fix: smsc95xx.c: In function 'smsc95xx_eth_get_info': smsc95xx.c:869:12: warning: assignment from incompatible pointer type [enabled by default] Signed-off-by: Anatolij Gustschin <agust@denx.de>
* eth: remove usb-ethernet devices before re-enumerating themVincent Palatin2012-03-03-2/+5
| | | | | | | | Fix the crash when running several times usb_init() with a USB ethernet device plugged. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Tested-by: Wolfgang Grandegger <wg@denx.de>
* usb_ether: fix typoPeter Meerwald2012-02-14-1/+1
| | | | | Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
* smsc95xx: Debug message cleanupWolfgang Grandegger2011-11-22-7/+3
| | | | | | | | Cc: Simon Glass <sjg@chromium.org> Cc: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Wolfgang Grandegger <wg@denx.de> Acked-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Simon Glass <sjg@chromium.org>
* smsc95xx: Fix MAC address programmingWolfgang Grandegger2011-11-22-3/+3
| | | | | | | | | | | | | Commit 79ad54400932d6484178a372fb3b659e3437473b broke MAC address programming in the SMSC95xx register set. Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Wolfgang Grandegger <wg@denx.de> Acked-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Simon Glass <sjg@chromium.org>
* GCC4.6: Squash warnings in smsc95xx.cMarek Vasut2011-10-27-1/+1
| | | | | | | | | | | smsc95xx.c: In function 'smsc95xx_write_hwaddr': smsc95xx.c:380:2: warning: dereferencing type-punned pointer will break strict-aliasing rules Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Mike Frysinger <vapier@gentoo.org>
* ASIX: Fix buffer access in asix_get_phy_addr()Marek Vasut2011-09-24-1/+1
| | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* Add Ethernet hardware MAC address framework to usbnetSimon Glass2011-08-08-2/+7
| | | | | | | | | | | | Built-in Ethernet adapters support setting the mac address by means of a ethaddr environment variable for each interface (ethaddr, eth1addr, eth2addr). This adds similar support to the USB network side, using the names usbethaddr, usbeth1addr, etc. They are kept separate since we don't want a USB device taking the MAC address of a built-in device or vice versa. Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Eric Bénard <eric@eukrea.com>
* Add support for SMSC95XX USB 2.0 10/100MBit Ethernet AdapterSimon Glass2011-08-08-0/+887
| | | | | | | | The SMSC95XX is a USB hub with a built-in Ethernet adapter. This adds support for this, using the USB host network framework. Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Eric Bénard <eric@eukrea.com>
* usb: convert to partial linkingMike Frysinger2011-06-25-2/+2
| | | | | | Looks like this was missed during the conversion to partial linking. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Coding Style cleanup: remove trailing empty linesWolfgang Denk2011-03-27-1/+0
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Add support for ASIX AX88772 USB 2.0 10/100Mbit Ethernet AdaptorSimon Glass2011-02-19-0/+645
| | | | | | | Driver originally written by NVIDIA Corporation, modified to handle odd-length packets. Signed-off-by: Simon Glass <sjg@chromium.org>
* Add USB host ethernet adapter supportSimon Glass2011-02-19-0/+188
This adds support for using USB Ethernet dongles in host mode. This is just the framework - drivers will come later. A new config option called CONFIG_USB_HOST_ETHER can be defined in board config files to switch this on. The was originally written by NVIDIA and was cleaned up for release by the Chromium authors. Signed-off-by: Simon Glass <sjg@chromium.org>