
Dear Dan Murphy,
Vivek
On 07/02/2013 07:59 AM, Vivek Gautam wrote:
This change adds necessary xHCI host controller stack layer. This stack will eventually interact with SoC specific USB 3.0 controller drivers to enable USB 3.0 support on different boards.
Based on 'master' branch of u-boot-usb tree.
The series also includes patches to support xHCI on exynos5250, including required driver, device tree changes and a temporary config change to test things finally on smdk5250.
Vivek Gautam (7): arm: exynos5250: Define CONFIG_SYS_CACHELINE_SIZE USB: xHCI: Add stack support for xHCI USB: XHCI: Add xHCI host controller support for Exynos5 arm: exynos: Add methods to control power to USB 3.0 PHY exynos5: dts: Add COMPAT string data for USB 3.0 PHY and XHCI exynos5: dts: Add device node for XHCI temp: ARM: EXYNOS5: Enable xHCI support for Exynos5
arch/arm/cpu/armv7/exynos/power.c | 22 + arch/arm/dts/exynos5250.dtsi | 12 + arch/arm/include/asm/arch-exynos/cpu.h | 8 + arch/arm/include/asm/arch-exynos/power.h | 5 + arch/arm/include/asm/arch-exynos/xhci-exynos.h | 90 ++ common/usb.c | 27 +- drivers/usb/host/Makefile | 4 + drivers/usb/host/xhci-exynos5.c | 324 ++++++ drivers/usb/host/xhci-mem.c | 731 ++++++++++++++ drivers/usb/host/xhci-ring.c | 899 +++++++++++++++++ drivers/usb/host/xhci.c | 1040 +++++++++++++++++++ drivers/usb/host/xhci.h | 1281 ++++++++++++++++++++++++ include/configs/exynos5250-dt.h | 7 + include/fdtdec.h | 2 + include/linux/usb/dwc3.h | 190 ++++ include/usb.h | 9 +- lib/fdtdec.c | 2 + 17 files changed, 4650 insertions(+), 3 deletions(-) create mode 100644 arch/arm/include/asm/arch-exynos/xhci-exynos.h create mode 100644 drivers/usb/host/xhci-exynos5.c create mode 100644 drivers/usb/host/xhci-mem.c create mode 100644 drivers/usb/host/xhci-ring.c create mode 100644 drivers/usb/host/xhci.c create mode 100644 drivers/usb/host/xhci.h create mode 100644 include/linux/usb/dwc3.h
I have done similar work for the DWC and xHCI back port. We seem to have two different implementations.
See my V3 patch series. If you want the initial patch sets or v2 let me know. http://patchwork.ozlabs.org/patch/256451/ http://patchwork.ozlabs.org/patch/256449/ 3/7 is waiting approval http://patchwork.ozlabs.org/patch/256452/ http://patchwork.ozlabs.org/patch/256450/ 6/7 is waiting approval http://patchwork.ozlabs.org/patch/256453/
Marek
Please let us know which xHCI/DWC implementation you would like to have in main line.
I'd like you two to have a discussion, of course we're not having two separate stacks. So far, Dans' stack looks better, since it can be nicely re-synced with Linux and it fairy contained. On the other hand, I like how Vivek's stack is so small in size and Vivek worked on it for a long time now, so it's already fairy well debugged.
What I'd like to see is Vivek's version merged into Dan's version, that should be easy (by the looks of it) and then this combined version merged mainline. This should hopefully retain the easy possibility to update the USB3 code from Linux. It should also cut down the time it will take to get Dan's code into working state (since that's done in Vivek's tree already).
Now you can flame me to death.
Best regards, Marek Vasut