1. 21 Jul, 2015 4 commits
  2. 29 May, 2015 1 commit
  3. 15 May, 2015 2 commits
  4. 06 May, 2015 1 commit
  5. 18 Apr, 2015 7 commits
  6. 14 Apr, 2015 5 commits
  7. 18 Jan, 2015 2 commits
    • Hans de Goede's avatar
      musb-new: Fix reset sequence when in host mode · 90cdc103
      Hans de Goede authored
      
      
      This commit fixes a number of issues with the reset sequence of musb-new
      in host mode:
      
      1) Our usb device probe relies on a second device reset being done after the
      first descriptors read. Factor the musb reset code into a usb_reset_root_port
      function (and add this as an empty define for other controllers), and call
      this when a device has no parent.
      
      2) Just like with normal usb controllers there needs to be a delay after
      reset, for normal usb controllers, this is handled in hub_port_reset, add a
      delay to usb_reset_root_port.
      
      3) Sync the musb reset sequence with the upstream kernel, clear all bits of
      power except bits 4-7, and increase the time reset is asserted to 50 ms.
      
      With these fixes an usb keyboard I have now always enumerates properly, where
      as earlier it would only enumerare properly once every 5 tries.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      90cdc103
    • Hans de Goede's avatar
      usb: Do not log an error when no devices is plugged into a root-hub-less hcd · d906bbc2
      Hans de Goede authored
      
      
      Before this commit u-boot would print the following on boot with musb and
      no usb device plugged in:
      
      starting USB...
      USB0:   Port not available.
      USB error: all controllers failed lowlevel init
      
      This commit changes this to:
      
      starting USB...
      USB0:   Port not available.
      
      Which is the correct thing to do since the low-level init went fine.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      d906bbc2
  8. 08 Dec, 2014 1 commit
  9. 04 Nov, 2014 1 commit
  10. 29 Aug, 2014 1 commit
    • Marek Vasut's avatar
      usb: Handle -ENODEV from usb_lowlevel_init() · 97b9eb9e
      Marek Vasut authored
      
      
      As we support both Host and Device mode operation, an OTG controller
      can return -ENODEV on a port which it found to be in Device mode during
      Host mode scan for devices. In case -ENODEV is returned, print that the
      port is not available and continue instead of screaming a bloody error
      message.
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      97b9eb9e
  11. 20 Oct, 2013 4 commits
  12. 26 Aug, 2013 1 commit
    • Julius Werner's avatar
      usb: Use well-known descriptor sizes when parsing configuration · eaf3e613
      Julius Werner authored
      
      
      The existing USB configuration parsing code relies on the descriptors'
      own length values when reading through the configuration blob. Since the
      size of those descriptors is always well-defined, we should rather use
      the known sizes instead of trusting device-provided values to be
      correct. Also adds some safety to potential out-of-order descriptors.
      
      Change-Id: I16f69dfdd6793aa0fe930b5148d4521f3e5c3090
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      eaf3e613
  13. 24 Jul, 2013 1 commit
  14. 05 May, 2013 4 commits
  15. 17 Dec, 2012 1 commit
  16. 19 Nov, 2012 1 commit
    • Ilya Yanok's avatar
      usb: use linux/usb/ch9.h instead of usbdescriptors.h · c60795f4
      Ilya Yanok authored
      
      
      Linux usb/ch9.h seems to have all the same information (and more)
      as usbdescriptors.h so use the former instead of the later one.
      
      As a consequense of this change USB_SPEED_* values don't correspond
      directly to EHCI speed encoding anymore, I've added necessary
      recoding in EHCI driver. Also there is no point to put speed into
      pipe anymore so it's removed and a bunch of host drivers fixed to
      look at usb_device->speed instead.
      
      Old usbdescriptors.h included is not removed as it seems to be
      used by old USB device code.
      
      This makes usb.h and usbdevice.h incompatible. Fortunately the
      only place that tries to include both are the old MUSB code and
      it needs usb.h only for USB_DMA_MINALIGN used in aligned attribute
      on musb_regs structure but this attribute seems to be unneeded
      (old MUSB code doesn't support any DMA at all).
      Signed-off-by: default avatarIlya Yanok <ilya.yanok@cogentembedded.com>
      c60795f4
  17. 22 Oct, 2012 1 commit
    • Vincent Palatin's avatar
      usb: fallback safely when a configuration descriptor is too large · 8b8d779d
      Vincent Palatin authored
      
      
      When a USB configuration descriptor was larger than our USB buffer
      (512 bytes), we were skipping the full descriptor reading but then we
      were still parsing and using it, triggering memory corruptions.
      Now in that case, it just skips this device enumeration and displays the
      appropriate message to the user, so he can fix the buffer if he wants.
      
      This bug was triggered by some UVC webcams which have very large
      configuration descriptors (e.g. a couple of kB) describing all their
      supported video encodings.
      Signed-off-by: default avatarVincent Palatin <vpalatin@chromium.org>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      8b8d779d
  18. 15 Oct, 2012 2 commits