u-boot/drivers/usb
Simon Glass 0566e2403d dm: usb: Allow USB drivers to be declared and auto-probed
USB devices in U-Boot are currently probed only after all devices have
been enumerated. Each type of device is probed by custom code, e.g.:

- USB storage
- Keyboard
- Ethernet

With driver model this approach doesn't work very well. We could build
a picture of the bus and then go back and add the devices later, but
this means that the data structures are incomplete for quite a while.
It also does not follow the model of being able to bind a device when we
discover it.

We would prefer to have devices automatically be bound as the device is
enumerated. This allows us to attach drivers to particular USB classes
or product/vendor IDs. This is the method used by Linux.

Add the required #defines from Linux, a way of declaring a USB driver and
the logic to locate the correct driver given the USB device's descriptors.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
2015-04-18 11:11:25 -06:00
..
dwc3 usb: dwc3: Correct clean up code for requests 2015-04-14 05:48:12 +02:00
eth usb: eth: asix: Build warning fixes for 64-bit 2015-04-14 05:47:47 +02:00
gadget fastboot: add support for reboot-bootloader command 2015-04-14 10:19:05 +02:00
host dm: usb: Allow USB drivers to be declared and auto-probed 2015-04-18 11:11:25 -06:00
musb include: move various macros to include/linux/kernel.h 2014-11-20 11:28:25 -05:00
musb-new dm: usb: Add a uclass for USB controllers 2015-04-18 11:11:20 -06:00
phy ti: dwc3: Enable clocks in enable_basic_clocks() in hw_data.c 2015-04-16 15:08:36 -04:00
ulpi drivers: usb: convert makefiles to Kbuild style 2013-10-31 13:25:38 -04:00
Kconfig dm: usb: Add a uclass for USB controllers 2015-04-18 11:11:20 -06:00