public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/4] USB multi controller
@ 2012-08-30 16:03 Lucas Stach
  2012-08-30 16:03 ` [U-Boot] [PATCH 1/4] usb: lowlevel interface change to support multiple controllers Lucas Stach
                   ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: Lucas Stach @ 2012-08-30 16:03 UTC (permalink / raw)
  To: u-boot

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. Patches are based on a Tegra tree with some relevant
changes from u-boot-usb picked over, so they should apply to
u-boot-usb/master.

Patch 4 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
  tegra20: port to new ehci interface
  usb: add support for multiple usb controllers

 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                                  | 106 +++++++++++-----------
 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                   |  11 ++-
 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                   |  28 +++---
 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 +-
 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(+), 320 Zeilen entfernt(-)
 delete mode 100644 drivers/usb/host/ehci-core.h

-- 
1.7.11.4

^ permalink raw reply	[flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 0/4] USB multi controller
@ 2012-09-25 22:14 Lucas Stach
  2012-09-25 22:14 ` [U-Boot] [PATCH 2/4] usb: ehci: rework to take advantage of new lowlevel interface Lucas Stach
  0 siblings, 1 reply; 18+ messages in thread
From: Lucas Stach @ 2012-09-25 22:14 UTC (permalink / raw)
  To: u-boot

V5: rebased on a non-stale version of u-boot-usb/master

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 +-
 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

-- 
1.7.11.4

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2012-09-25 22:14 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-30 16:03 [U-Boot] [PATCH 0/4] USB multi controller Lucas Stach
2012-08-30 16:03 ` [U-Boot] [PATCH 1/4] usb: lowlevel interface change to support multiple controllers Lucas Stach
2012-08-30 21:03   ` Marek Vasut
2012-08-30 16:03 ` [U-Boot] [PATCH 2/4] usb: ehci: rework to take advantage of new lowlevel interface Lucas Stach
2012-08-30 21:09   ` Marek Vasut
2012-08-30 21:51     ` Lucas Stach
2012-08-30 21:55       ` Marek Vasut
2012-08-30 16:03 ` [U-Boot] [PATCH 3/4] tegra20: port to new ehci interface Lucas Stach
2012-08-30 16:03 ` [U-Boot] [PATCH 4/4] usb: add support for multiple usb controllers Lucas Stach
2012-08-30 21:12   ` Marek Vasut
2012-09-04 23:05 ` [U-Boot] [PATCH 0/4] USB multi controller Stephen Warren
2012-09-05  0:30   ` Marek Vasut
2012-09-05  6:21   ` Lucas Stach
2012-09-05  6:30     ` Marek Vasut
2012-09-05 19:11       ` Stephen Warren
2012-09-05 19:27         ` Marek Vasut
2012-09-05 22:13           ` Lucas Stach
  -- strict thread matches above, loose matches on Subject: below --
2012-09-25 22:14 Lucas Stach
2012-09-25 22:14 ` [U-Boot] [PATCH 2/4] usb: ehci: rework to take advantage of new lowlevel interface Lucas Stach

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox