[U-Boot] [PATCH 0/7] USB: XHCI: Add xHCI host controller stack driver

Vivek Gautam gautamvivek1987 at gmail.com
Wed Jul 3 13:15:01 CEST 2013


Hi Marek,


On Wed, Jul 3, 2013 at 2:57 AM, Marek Vasut <marex at denx.de> wrote:
> 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.

Very well said. I can see Dan's stack is nicely sync'ed with Linux
(with ifdef's ;-) which i am sure are going to vanish down the line)
I had a initial look at Dan's patches, which have backported DWC3 and
XHCI, but i am sure we are going to
need some amount of code to be put in usb core framework (common/usb*.c),
if we are going to enable complete xHCI (super speed) support.

For DWC3, i leave it to you, as to how much code we want to pull in.
Ofcourse my driver for exynos did some basic DWC3 initialization,
making it hard for other vendors who are using DWC3 to resuse the code.

>
> 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).

We can go ahead merging the two versions. But i do have few doubts
with how Dan is
structuring things.
Better i comment on his patches and clear my doubts.

Dear Dan,

Please suggest on how you are planning going ahead and merging the two
versions of xHCI stack.

>
> Now you can flame me to death.




-- 
Best Regards
Vivek


More information about the U-Boot mailing list