1. 04 6月, 2016 1 次提交
    • M
      usb: move CONFIG_USB_XHCI to Kconfig with renaming · 0a8cc1a3
      Masahiro Yamada 提交于
      Move CONFIG_USB_XHCI to defconfig files for all boards, renaming it
      into CONFIG_USB_XHCI_HCD.
      
      As commented in the help of "config USB_XHCI" entry, this has been
      a TODO for a long time; now CONFIG_USB_XHCI_HCD and CONFIG_USB_XHCI
      have been unified in favor of the former.
      
      Note:
      Some boards define CONFIG_USB_XHCI in their headers without
      CONFIG_USB, which does not meet the "depends on" in Kconfig.
      I added CONFIG_USB=y for those boards when converting.
      Otherwise, they would fail to build.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      0a8cc1a3
  2. 07 5月, 2016 3 次提交
    • M
      usb: Assure Get Descriptor request is in separate microframe · ef71290b
      Marek Vasut 提交于
      The Kingston DT Ultimate USB 3.0 stick is sensitive to this first
      Get Descriptor request and if the request is not in a separate
      microframe, the stick refuses to operate. Add slight delay, which
      is enough for one microframe to pass on any USB spec revision.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Chin Liang See <clsee@altera.com>
      Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Stephen Warren <swarren@nvidia.com>
      ef71290b
    • M
      usb: Wait after sending Set Configuration request · f647bf0b
      Marek Vasut 提交于
      Some devices, like the SanDisk Cruzer Pop need some time to process
      the Set Configuration request, so wait a little until they are ready.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Chin Liang See <clsee@altera.com>
      Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Stephen Warren <swarren@nvidia.com>
      f647bf0b
    • M
      usb: Don't init pointer to zero, but NULL · 2f1b4302
      Marek Vasut 提交于
      The pointer should always be inited to NULL, not zero (0). These are
      two different things and not necessarily equal.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Chin Liang See <clsee@altera.com>
      Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Stephen Warren <swarren@nvidia.com>
      2f1b4302
  3. 23 3月, 2016 1 次提交
  4. 21 3月, 2016 1 次提交
    • S
      usb: Don't reset the USB hub a 2nd time · 3ed9eb93
      Stefan Roese 提交于
      Debugging has shown, that all USB hubs are being reset twice while
      USB scanning. This introduces additional delays and makes USB scanning
      even more slow. Testing has shown that this 2nd USB hub reset doesn't
      seem to be necessary.
      
      This patch now removes this 2nd USB hub reset. Resulting in faster USB
      scan time. Here the current numbers:
      
      Without this patch:
      => time usb start
      starting USB...
      USB0:   USB EHCI 1.00
      scanning bus 0 for devices... 9 USB Device(s) found
      
      time: 24.003 seconds
      
      With this patch:
      => time usb start
      starting USB...
      USB0:   USB EHCI 1.00
      scanning bus 0 for devices... 9 USB Device(s) found
      
      time: 20.392 seconds
      
      So ~3.6 seconds of USB scanning time reduction.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Simon Glass <sjg@chromium.org>
      Acked-by: NHans de Goede <hdegoede@redhat.com>
      Tested-by: NStephen Warren <swarren@nvidia.com>
      Cc: Marek Vasut <marex@denx.de>
      3ed9eb93
  5. 16 1月, 2016 1 次提交
    • P
      common: usb: fix checking condition · 447b9cdf
      Peng Fan 提交于
      We support max USB_MAXENDPOINTS, so need to use
      "epno >= USB_MAXENDPOINTS", but not "epno > USB_MAXENDPOINTS".
      If use ">", we may exceeds the array of if_desc->ep_desc.
      Signed-off-by: NPeng Fan <peng.fan@nxp.com>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Paul Kocialkowski <contact@paulk.fr>
      Cc: "Stefan Brüns" <stefan.bruens@rwth-aachen.de>
      Cc: Vincent Palatin <vpalatin@chromium.org>
      447b9cdf
  6. 31 12月, 2015 2 次提交
  7. 12 9月, 2015 1 次提交
  8. 22 7月, 2015 4 次提交
  9. 29 5月, 2015 1 次提交
  10. 15 5月, 2015 2 次提交
  11. 06 5月, 2015 1 次提交
  12. 19 4月, 2015 7 次提交
  13. 14 4月, 2015 5 次提交
  14. 18 1月, 2015 2 次提交
    • H
      musb-new: Fix reset sequence when in host mode · 90cdc103
      Hans de Goede 提交于
      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: NHans de Goede <hdegoede@redhat.com>
      90cdc103
    • H
      usb: Do not log an error when no devices is plugged into a root-hub-less hcd · d906bbc2
      Hans de Goede 提交于
      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: NHans de Goede <hdegoede@redhat.com>
      d906bbc2
  15. 08 12月, 2014 1 次提交
  16. 04 11月, 2014 1 次提交
  17. 29 8月, 2014 1 次提交
    • M
      usb: Handle -ENODEV from usb_lowlevel_init() · 97b9eb9e
      Marek Vasut 提交于
      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: NMarek Vasut <marex@denx.de>
      97b9eb9e
  18. 21 10月, 2013 4 次提交
  19. 27 8月, 2013 1 次提交
    • J
      usb: Use well-known descriptor sizes when parsing configuration · eaf3e613
      Julius Werner 提交于
      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: NJulius Werner <jwerner@chromium.org>
      eaf3e613