25 Feb, 2014

1 commit

  • Use first four characters for phy_type comparison. Strcmp() should not
    be used to check the phy_type string which maybe parsed by hwconfig_subarg().
    Hwconfig_subarg() returns part of hwconfig string starting from
    phy_type value till the end of the string. Since phy_type could be
    either "utmi" or "ulpi", strncmp() should be used so that a comparison
    of "utmi;fsl_ddr:bank_intlv=auto" with "utmi" will succeed.

    Signed-off-by: Shaohui Xie
    Signed-off-by: Nikhil Badola
    Reviewed-by: York Sun

    Nikhil Badola
     

13 Jan, 2014

2 commits

  • Arndale board has AX88760, which is USB 2.0 Hub & USB 2.0 Ethernet Combo
    controller, connected to HSIC Phy of USB host controller via USB3503 hub.

    This patch uses board specific board_usb_init function to perform reset
    sequence for USB3503 hub and enables the relevant config options for
    network to work.

    Signed-off-by: Inderpal Singh
    Signed-off-by: Chander Kashyap

    Inderpal Singh
     
  • The controller has 3 ports. The port0 is for USB 2.0 Phy, port1 and port2
    are for HSIC phys. The usb 2.0 phy is already being setup. This patch
    sets up the hsic phys.

    Signed-off-by: Inderpal Singh

    Inderpal Singh
     

19 Dec, 2013

3 commits


06 Dec, 2013

1 commit

  • In commit bb1f327 we removed the UHH reset to fix NFS root (over usb
    ethernet) problems with Beagleboard (3530 ES1.0). However, this
    seems to cause USB detection problems for Pandaboard, about (3/8).

    On further investigation, it seems that doing the UHH reset is not
    the cause of the original Beagleboard problem, but in the way the reset
    was done.

    This patch adds proper UHH RESET mechanism for OMAP3 and OMAP4/5 based
    on the UHH_REVISION register. This should fix the Beagleboard NFS
    problem as well as the Pandaboard USB detection problem.

    Reported-by: Tomi Valkeinen
    CC: Stefan Roese
    Reviewed-by: Stefan Roese
    Signed-off-by: Roger Quadros

    Roger Quadros
     

10 Nov, 2013

1 commit

  • Conflicts:
    arch/arm/cpu/arm926ejs/mxs/Makefile
    board/compulab/cm_t35/Makefile
    board/corscience/tricorder/Makefile
    board/ppcag/bg0900/Makefile
    drivers/bootcount/Makefile
    include/configs/omap4_common.h
    include/configs/pdnb3.h

    Makefile conflicts are due to additions/removals of
    object files on the ARM branch vs KBuild introduction
    on the main branch. Resolution consists in adjusting
    the list of object files in the main branch version.
    This also applies to two files which are not listed
    as conflicting but had to be modified:

    board/compulab/common/Makefile
    board/udoo/Makefile

    include/configs/omap4_common.h conflicts are due to
    the OMAP4 conversion to ti_armv7_common.h on the ARM
    side, and CONFIG_SYS_HZ removal on the main side.
    Resolution is to convert as this icludes removal of
    CONFIG_SYS_HZ.

    include/configs/pdnb3.h is due to a removal on ARM side.
    Trivial resolution is to remove the file.

    Note: 'git show' will also list two files just because
    they are new:

    include/configs/am335x_igep0033.h
    include/configs/omap3_igep00x0.h

    Albert ARIBAUD
     

09 Nov, 2013

1 commit


05 Nov, 2013

2 commits


01 Nov, 2013

1 commit


25 Oct, 2013

1 commit


23 Oct, 2013

1 commit


21 Oct, 2013

13 commits

  • Previously, only host1 was supported using an index of 0.
    Now, otg has index 0, host1 is 1, host2 is 2, host3 is 3.
    Since OTG requires usbmode to be set after reset, I added
    CONFIG_EHCI_HCD_INIT_AFTER_RESET to nitrogen6x.h and
    mx6qsabreauto.h.

    I also added a weak function board_ehci_power to handle
    turning power on/off for otg.

    Type is type of device connected (USB stick vs Host.)
    Init is type of device desired.
    Only power up port if type == init == USB_INIT_HOST.
    Only return error if type != init.

    Signed-off-by: Troy Kisky

    Troy Kisky
     
  • This paramter will later be used to initialize OTG ports in
    host or device mode.

    Signed-off-by: Troy Kisky

    Troy Kisky
     
  • This parameter will later be used to verify OTG ports.

    Signed-off-by: Troy Kisky

    Troy Kisky
     
  • Add the support for the dra7xx xhci usb host.
    dra7xx does not contain an EHCI controller so the headers
    can be removed from the board file.

    The xHCI host on dra7xx is connected to a usb2 phy so need to
    add support to enable those clocks.

    Signed-off-by: Dan Murphy

    Dan Murphy
     
  • Moving the usb/phy code from xhci-omap to the usb/phy directory
    and moving the associated phy code over to the new file.

    Newer TI processors adding xHCI support will have different PHY configurations
    so therefore abstracting this code away will prevent messing around with the
    xhci-omap file itself.

    Signed-off-by: Dan Murphy

    Dan Murphy
     
  • Recent patches declares board_usb_init function prototype for a new
    usb architecture.

    Turning on the OMAP_XHCI defines cause a redefinition compiler failure.
    So update the board_usb_init to the latest prototype.

    Signed-off-by: Dan Murphy

    Dan Murphy
     
  • Moving the xhci-omap header to a more global location so that
    other code can reference this code.

    Signed-off-by: Dan Murphy

    Dan Murphy
     
  • This commit unifies board-specific USB initialization implementations
    under one symbol (usb_board_init), declaration of which is available in
    usb.h.

    New API allows selective initialization of USB controllers whenever needed.

    Signed-off-by: Mateusz Zalega
    Signed-off-by: Kyungmin Park
    Reviewed-by: Lukasz Majewski
    Cc: Marek Vasut
    Cc: Lukasz Majewski

    Mateusz Zalega
     
  • 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: Dan Murphy

    Dan Murphy
     
  • 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: Julius Werner
    Signed-off-by: Vivek Gautam
    Cc: Simon Glass
    Cc: Minkyu Kang
    Cc: Marek Vasut

    Julius Werner
     
  • This adds driver layer for xHCI controller in Samsung's
    exynos5 soc. This interacts with xHCI host controller stack.

    Signed-off-by: Vikas C Sajjan
    Signed-off-by: Vivek Gautam
    Cc: Julius Werner
    Cc: Simon Glass
    Cc: Minkyu Kang
    Cc: Dan Murphy
    Cc: Marek Vasut

    Vivek Gautam
     
  • 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: Vikas C Sajjan
    Signed-off-by: Julius Werner
    Signed-off-by: Vivek Gautam
    Cc: Simon Glass
    Cc: Minkyu Kang
    Cc: Dan Murphy
    Cc: Marek Vasut

    Vivek Gautam
     
  • 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: Vivek Gautam
    Cc: Julius Werner
    Cc: Simon Glass
    Cc: Minkyu Kang
    Cc: Dan Murphy
    Cc: Marek Vasut

    Vivek Gautam
     

15 Oct, 2013

1 commit


27 Sep, 2013

1 commit

  • 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: Julius Werner
    Acked-by: Simon Glass

    Julius Werner
     

27 Aug, 2013

4 commits


30 Jul, 2013

3 commits

  • 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
    Cc: Igor Grinberg
    Signed-off-by: Nikita Kiryanov

    Nikita Kiryanov
     
  • 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: Roger Quadros

    Roger Quadros
     
  • 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: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     

24 Jul, 2013

1 commit


12 Jul, 2013

2 commits


13 Jun, 2013

1 commit

  • Commit 8f62ca6 "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
    Cc: Vincent Palatin
    Cc: Julius Werner
    Cc: Simon Glass
    Cc: Marek Vasut
    Signed-off-by: Stephen Warren

    Stephen Warren