Skip to content

USB multi controller

Marek Vasut u-boot 3 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest0 of 4 patches 0 repliesNew
  2. v32 of 4 patches 0 repliesSuperseded
  3. v10 of 4 patches 0 repliesSuperseded

Patches in v4 No applies recorded yet

None of the 4 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.

Read the v4 thread

Cover letter [U-Boot] [PATCH v4 0/4] USB multi controller

Dear Lucas Stach,

Patchset doesn't apply ... rebase and repost please.

Quoted 111 lines

V4: Fixed build failures in fsl and mxs ehci code. Also rebased on the latest usb/master and did MAKEALL -a powerpc in addition to MAKEALL -a arm.

V3: Stephen ran into some problems applying this, as it seems my tree wasn't as clean as it should have been. Sorry for the inconvenience. This should now be fixed.

Hi all,

this is a follow up on the patch "USB: EHCI: Initialize multiple USB controllers at once" from Jim Lin. It takes some of the code but has undergone some heavy reworking.

When we remove the ifdef horror from the above mentioned patch it's mostly a big interface change to the usb subsystem. As this creates a lot of churn I've split this up into a series. Every patch is self contained so it doesn't break compiles and *should* not regress any functionality on it's own. At least the series is bisectable in case anything goes wrong. I've compile tested all the ARM configs.

Both the lowlevel usb and ehci interface change are backward compatible, so implementations that only use one controller can choose to ignore the new interface. All implementations are updated to work with the new function prototypes.

For Tegra I've included a patch to actually use the new ehci interface. Tom, Stephen, can I get an ACK from you for this, so Marek can take this through his USB tree?

All patches now rebased onto u-boot-usb/master.

Patch 3 also includes some cosmetic changes, to make the output of the usb commands more readable.

On my Colibri T20, with a total of 3 usb controllers of which 2 are enabled in the device tree, output now looks like this:

Tegra20 (Colibri) # usb start
(Re)start USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
USB1: USB EHCI 1.00
scanning bus 1 for devices... 2 USB Device(s) found
USB2: lowlevel init failed
scanning usb for storage devices... 1 Storage Device(s) found scanning usb for ethernet devices... 1 Ethernet Device(s) found

Tegra20 (Colibri) # usb tree
USB device tree:
1 Hub (480 Mb/s, 0mA)

| u-boot EHCI Host Controller

+-2 Mass Storage (480 Mb/s, 200mA)

       SanDisk U3 Titanium 2845221DC342AE8F

3 Hub (480 Mb/s, 0mA)

| u-boot EHCI Host Controller

+-4 Vendor specific (480 Mb/s, 4mA)

       ASIX Elec. Corp. AX88772B 000001

Lucas Stach (4):
usb: lowlevel interface change to support multiple controllers
usb: ehci: rework to take advantage of new lowlevel interface
usb: add support for multiple usb controllers
tegra20: port to new ehci interface

 arch/arm/cpu/arm920t/s3c24x0/usb_ohci.c       |   4 +-
 arch/arm/cpu/armv7/tegra20/usb.c              |  15 +---
 arch/arm/include/asm/arch-tegra20/usb.h       |   4 +-
 arch/arm/include/asm/ehci-omap.h              |  10 ++-
 arch/mips/cpu/mips32/au1x00/au1x00_usb_ohci.c |   4 +-
 arch/powerpc/cpu/mpc5xxx/usb_ohci.c           |   4 +-
 arch/powerpc/cpu/ppc4xx/usb_ohci.c            |   4 +-
 arch/sparc/cpu/leon3/usb_uhci.c               |   4 +-
 arch/sparc/lib/bootm.c                        |   2 +-
 board/htkw/mcx/mcx.c                          |   6 +-
 board/mpl/common/usb_uhci.c                   |   4 +-
 board/technexion/twister/twister.c            |   6 +-
 board/teejet/mt_ventoux/mt_ventoux.c          |   6 +-
 board/ti/beagle/beagle.c                      |   6 +-
 board/ti/panda/panda.c                        |   6 +-
 common/cmd_usb.c                              |  16 +++-
 common/usb.c                                  | 108 +++++++++++-----------
 common/usb_hub.c                              |   2 +-
 common/usb_storage.c                          |   2 +-
 drivers/usb/eth/usb_ether.c                   |   2 +-
 drivers/usb/host/ehci-armada100.c             |  15 ++--
 drivers/usb/host/ehci-atmel.c                 |  11 ++-
 drivers/usb/host/ehci-core.h                  |  29 ------
 drivers/usb/host/ehci-exynos.c                |  15 ++--
 drivers/usb/host/ehci-fsl.c                   |  15 ++--
 drivers/usb/host/ehci-hcd.c                   | 124
++++++++++++++------------ drivers/usb/host/ehci-ixp4xx.c                |
 15 ++--
 drivers/usb/host/ehci-marvell.c               |  15 ++--
 drivers/usb/host/ehci-mpc512x.c               |  25 ++----
 drivers/usb/host/ehci-mx5.c                   |  11 ++-
 drivers/usb/host/ehci-mx6.c                   |  11 ++-
 drivers/usb/host/ehci-mxc.c                   |  11 ++-
 drivers/usb/host/ehci-mxs.c                   |  20 +++--
 drivers/usb/host/ehci-omap.c                  |  10 ++-
 drivers/usb/host/ehci-pci.c                   |  15 ++--
 drivers/usb/host/ehci-ppc4xx.c                |  11 ++-
 drivers/usb/host/ehci-tegra.c                 |  14 ++-
 drivers/usb/host/ehci-vct.c                   |   9 +-
 drivers/usb/host/ehci.h                       |   4 +-
 drivers/usb/host/isp116x-hcd.c                |   4 +-
Quoted 8 lines
 drivers/usb/host/ohci-hcd.c                   |   4 +-
 drivers/usb/host/r8a66597-hcd.c               |   4 +-
 drivers/usb/host/sl811-hcd.c                  |   4 +-
 drivers/usb/musb/musb_hcd.c                   |   4 +-
 include/usb.h                                 |  10 ++-
 include/usb/mv_udc.h                          |   2 +-
 46 Dateien ge?ndert, 309 Zeilen hinzugef?gt(+), 318 Zeilen entfernt(-)
 delete mode 100644 drivers/usb/host/ehci-core.h

Best regards,
Marek Vasut