1. 20 Oct, 2013 5 commits
    • Dan Murphy's avatar
      OMAP5: USB: Add OMAP xHCI file and header · 2d2358ac
      Dan Murphy authored
      
      
      Add the OMAP file for the xHCI Host controller
      This code will initilialize the proper components within the
      OMAP5 to enable the xHCI host controller.
      Signed-off-by: default avatarDan Murphy <dmurphy@ti.com>
      2d2358ac
    • Julius Werner's avatar
      exynos: usb: Switch USB VBUS GPIOs to be device tree configured · 4a271cb1
      Julius Werner authored
      
      
      Some Exynos boards, such as the SMDK5250, control USB port power through
      a GPIO pin. For now this had been hardcoded in the exynos5-dt board
      file, but not all boards use the same pin, requiring local changes to
      support different boards.
      
      This patch moves the GPIO initialization into the USB host controller
      drivers which they belong to, and uses the samsung,vbus-gpio parameter
      in the device tree to configure it.
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      Signed-off-by: default avatarVivek Gautam <gautam.vivek@samsung.com>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Minkyu Kang <mk7.kang@samsung.com>
      Cc: Marek Vasut <marex@denx.de>
      4a271cb1
    • Vivek Gautam's avatar
      USB: XHCI: Add xHCI host controller support for Exynos5 · 13194f3b
      Vivek Gautam authored
      
      
      This adds driver layer for xHCI controller in Samsung's
      exynos5 soc. This interacts with xHCI host controller stack.
      Signed-off-by: default avatarVikas C Sajjan <vikas.sajjan@samsung.com>
      Signed-off-by: default avatarVivek Gautam <gautam.vivek@samsung.com>
      Cc: Julius Werner <jwerner@chromium.org>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Minkyu Kang <mk7.kang@samsung.com>
      Cc: Dan Murphy <dmurphy@ti.com>
      Cc: Marek Vasut <marex@denx.de>
      13194f3b
    • Vivek Gautam's avatar
      USB: xHCI: Add stack support for xHCI · 5853e133
      Vivek Gautam authored
      
      
      This adds stack layer for eXtensible Host Controller Interface
      which facilitates use of USB 3.0 in host mode.
      
      Adapting xHCI host controller driver in linux-kernel
      by Sarah Sharp to needs in u-boot.
      
      Initial porting from Linux kernel version 3.4, with following
      top commit history of drivers/usb/host/xhci* :
      cf84055 xHCI: Cleanup isoc transfer ring when TD length mismatch found
      
      This adds the basic xHCI host controller driver with bare minimum
      features:
      - Control/Bulk transfer support has been added with required
        infrastructure for necessary xHC data structures.
      - Stream protocol hasn't been supported yet.
      - No support for quirky devices has been added.
      Signed-off-by: default avatarVikas C Sajjan <vikas.sajjan@samsung.com>
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      Signed-off-by: default avatarVivek Gautam <gautam.vivek@samsung.com>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Minkyu Kang <mk7.kang@samsung.com>
      Cc: Dan Murphy <dmurphy@ti.com>
      Cc: Marek Vasut <marex@denx.de>
      5853e133
    • Vivek Gautam's avatar
      usb: Move 'bmRequestType' USB device request macros from EHCI header · e3d7440c
      Vivek Gautam authored
      
      
      Macros defining bmRequestType field of USB device request,
      given in table 9.2 USB 2.0 spec, are rather generic macros
      which can be further used by other Host controller stacks.
      So moving them to usb_defs header.
      Signed-off-by: default avatarVivek Gautam <gautam.vivek@samsung.com>
      Cc: Julius Werner <jwerner@chromium.org>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Minkyu Kang <mk7.kang@samsung.com>
      Cc: Dan Murphy <dmurphy@ti.com>
      Cc: Marek Vasut <marex@denx.de>
      e3d7440c
  2. 14 Oct, 2013 1 commit
  3. 27 Sep, 2013 1 commit
    • Julius Werner's avatar
      usb: ehci: Fix test mode for connected ports · 5077f96f
      Julius Werner authored
      
      
      The EHCI controller has some very specific requirements for the USB 2.0
      port test modes, which were not closely followed in the initial test
      mode commit. It demands that the host controller is completely shut down
      (all ports suspended, Run/Stop bit unset) when activating test mode, and
      will not work on an already enumerated port.
      
      This patch fixes that by introducing a new ehci_shutdown() function that
      closely follows the procedure listed in EHCI 4.14. Also, when we have
      such a function anyway, we might as well also use it in
      usb_lowlevel_stop() to make the normal host controller shutdown cleaner.
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      5077f96f
  4. 26 Aug, 2013 4 commits
  5. 29 Jul, 2013 3 commits
    • Nikita Kiryanov's avatar
      ehci-hcd: fix memory leak in lowlevel init · 8bc36036
      Nikita Kiryanov authored
      
      
      usb_lowlevel_init() allocates a new periodic_list each time it is invoked,
      without freeing the original list. Since it is initialized later on in the code,
      just reuse the first-allocated list in future invocations of usb_lowlevel_init.
      
      Cc: Marek Vasut <marex@denx.de>
      Cc: Igor Grinberg <grinberg@compulab.co.il>
      Signed-off-by: default avatarNikita Kiryanov <nikita@compulab.co.il>
      8bc36036
    • Roger Quadros's avatar
      usb: ehci-omap: Don't softreset USB High-speed Host (UHH) Module · bb1f327d
      Roger Quadros authored
      
      
      Fixes NFS root problems with Beagle (3530 ES1.0) when used with
      external USB-ethernet adapter and "USB start" command used within
      u-boot.
      
      Soft resetting the UHH module causes instability issues on
      all OMAPs so we just avoid it.
      
      See OMAP36xx Errata
        i571: USB host EHCI may stall when entering smart-standby mode
        i660: USBHOST Configured In Smart-Idle Can Lead To a Deadlock
      
      On OMAP4/5, soft-resetting the UHH module can put it into
      Smart-Idle mode and lead to a deadlock.
      
      On OMAP3 this doesn't seem to be the case but still instabilities
      are observed on beagle (3530 ES1.0) if soft-reset is used.
       e.g. NFS root failures with Linux kernel.
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      bb1f327d
    • Marek Vasut's avatar
      usb: ehci: Split out struct ehci_ctrl definition · b959655f
      Marek Vasut authored
      
      
      Move the struct ehci_ctrl defition from ehci-hcd.c into ehci.h
      so it can be re-used by drivers. In particular, the mv_udc driver
      can benefit from this move.
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Fabio Estevam <fabio.estevam@freescale.com>
      Cc: Lei Wen <leiwen@marvell.com>
      Cc: Otavio Salvador <otavio@ossystems.com.br>
      Cc: Stefano Babic <sbabic@denx.de>
      b959655f
  6. 24 Jul, 2013 1 commit
  7. 11 Jul, 2013 1 commit
  8. 12 Jun, 2013 5 commits
    • Stephen Warren's avatar
      usb: ehci: add missing cache managment · d3e07478
      Stephen Warren authored
      Commit 8f62ca64
      
       "usb: ehci: Support interrupt transfers via periodic list"
      didn't include any cache management in the new interrupt transfer path.
      It also added an extra write to or_asynclistaddr in usb_lowlevel_init(),
      without having flushed out the data there.
      
      Add the missing cache management calls, so that the code works again.
      
      This allows the USB keyboard on Tegra's Seaboard/Springbank boards to
      work.
      
      Cc: Patrick Georgi <patrick@georgi-clan.de>
      Cc: Vincent Palatin <vpalatin@chromium.org>
      Cc: Julius Werner <jwerner@chromium.org>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Marek Vasut <marex@denx.de>
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      d3e07478
    • Kuo-Jung Su's avatar
      usb: ehci: add Faraday USB 2.0 EHCI support · e82a316d
      Kuo-Jung Su authored
      
      
      This patch adds support to both Faraday FUSBH200 and FOTG210,
      the differences between Faraday EHCI and standard EHCI are
      listed bellow:
      
      1. The PORTSC starts at 0x30 instead of 0x44.
      2. The CONFIGFLAG(0x40) is not only un-implemented, and
         also has its address space removed.
      3. Faraday EHCI is a TDI design, but it doesn't
         compatible with the general TDI implementation
         found at both U-Boot and Linux.
      4. The ISOC descriptors differ from standard EHCI in
         several ways. But since U-boot doesn't support ISOC,
         we don't have to worry about that.
      Signed-off-by: default avatarKuo-Jung Su <dantesu@faraday-tech.com>
      CC: Marek Vasut <marex@denx.de>
      e82a316d
    • Kuo-Jung Su's avatar
      usb: ehci: add weak-aliased function for PORTSC · 1dde1423
      Kuo-Jung Su authored
      
      
      There is at least one non-EHCI compliant controller (i.e. Faraday EHCI)
      not only leave RESERVED and CONFIGFLAG registers un-implemented
      but also has their address spaces removed.
      
      As an result, the PORTSC register of Faraday EHCI always
      starts from 0x30 instead of 0x44 in standard EHCI.
      
      So that we'll need a weak-aliased function for abstraction.
      Signed-off-by: default avatarKuo-Jung Su <dantesu@faraday-tech.com>
      CC: Marek Vasut <marex@denx.de>
      1dde1423
    • Kuo-Jung Su's avatar
      usb: ehci: prevent bad PORTSC register access · 9c6a9d7c
      Kuo-Jung Su authored
      
      
      1. The 'index' of ehci_submit_root() is not always > 0.
      
         e.g.
         While it gets invoked from usb_get_descriptor(),
         the 'index' is always a '0'. (See ch.9 of USB2.0)
      
      2. The PORTSC register is not always required, and thus it
         should only report a port error when necessary.
         It would cause a port scan failure if the ehci_submit_root()
         always gets terminated by a port error.
      Signed-off-by: default avatarKuo-Jung Su <dantesu@faraday-tech.com>
      CC: Marek Vasut <marex@denx.de>
      9c6a9d7c
    • Simon Glass's avatar
      usb: Correct CLEAR_FEATURE code in ehci-hcd · ed10e66a
      Simon Glass authored
      This commit broke USB2 on link (Chromebook Pixel):
      
        020bbcb7
      
       usb: hub: Power-cycle on root-hub ports
      
      However the root cause seems to be a missing mask and missing 'break'
      in ehci-hcd.c. This patch fixes both.
      
      On link, 'usb start' with a USB keyboard and memory stick inserted now
      finds both. The keyboard works as expected. Also ext2ls shows a directory
      listing from the memory stick.
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      ed10e66a
  9. 21 May, 2013 1 commit
  10. 14 May, 2013 2 commits
  11. 06 May, 2013 1 commit
  12. 05 May, 2013 4 commits
  13. 12 Apr, 2013 1 commit
  14. 18 Mar, 2013 5 commits
  15. 16 Mar, 2013 3 commits
  16. 14 Mar, 2013 2 commits