
Hi Marek, Simon,
This patch-series comes as a update for an earlier posted series[1] "[PATCH RFC 0/2] usb: host: Add a wrapper layer for mutiple host support" which was posted long back.
We had discussion to introduce the driver model instead of the approach used in [1]. The driver model seems pretty straight-forward and easier to implement besides giving a clean approach to use multiple host controller types, viz. EHCI, XHCI or OHCI simultaneously on a platform which has such provision.
It's rather bad on my side that it took so long to post the updated version. Got busy with the projects. :-(
So here's the RFC-v2 which implements the driver model approach. I have added support on OHCI, EHCI and XHCI and enabled EHCI and XHCI on Exynos5250 machines. Though not tested thoroughly, i can see EHCI and XHCI working together (enumerating the Root hubs).
Let me know you comments on what you think of current approach.
Thanks Vivek
[1] [PATCH RFC 0/2] usb: host: Add a wrapper layer for mutiple host support http://lists.denx.de/pipermail/u-boot/2014-June/182559.html
Vivek Gautam (6): usb: Rename usb_submit_int_msg() API to usb_int_msg() dm: usb: Make necessary changes in framework for driver model dm: usb-host: Add UCLASS driver for USB dm: usb-host: Add support for driver model in o/e/xhci. arm: exynos5: Enable EHCI and XHCI hcds through device tree. configs: smdk5250: Enable using XHCI and EHCI together
arch/arm/dts/exynos5.dtsi | 8 +++ common/usb.c | 101 ++++++++++++++++++++++++++++++--- common/usb_hub.c | 2 +- common/usb_kbd.c | 4 +- common/usb_storage.c | 2 +- drivers/usb/host/Kconfig | 9 +++ drivers/usb/host/Makefile | 3 + drivers/usb/host/ehci-hcd.c | 36 +++++++++--- drivers/usb/host/ohci-hcd.c | 35 +++++++++--- drivers/usb/host/usb-uclass.c | 107 +++++++++++++++++++++++++++++++++++ drivers/usb/host/xhci.c | 34 ++++++++--- include/configs/exynos5-common.h | 3 + include/configs/exynos5250-common.h | 3 + include/configs/smdk5250.h | 2 + include/dm/uclass-id.h | 1 + include/usb.h | 62 +++++++++++++++----- 16 files changed, 365 insertions(+), 47 deletions(-) create mode 100644 drivers/usb/host/usb-uclass.c