1. 04 Jul, 2019 1 commit
  2. 03 Jul, 2019 1 commit
    • Pawel Laszczak's avatar
      usb:cdns3 Add Cadence USB3 DRD Driver · 8bc1901c
      Pawel Laszczak authored
      This patch introduce new Cadence USBSS DRD driver to Linux kernel.
      
      The Cadence USBSS DRD Controller is a highly configurable IP Core which
      can be instantiated as Dual-Role Device (DRD), Peripheral Only and
      Host Only (XHCI)configurations.
      
      The current driver has been validated with FPGA platform. We have
      support for PCIe bus, which is used on FPGA prototyping.
      
      The host side of USBSS-DRD controller is compliant with XHCI
      specification, so it works with standard XHCI Linux driver.
      Signed-off-by: default avatarPawel Laszczak <pawell@cadence.com>
      Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
      8bc1901c
  3. 20 Jun, 2019 1 commit
  4. 03 Jun, 2019 1 commit
  5. 22 Jan, 2019 1 commit
  6. 17 Dec, 2018 1 commit
    • Heikki Krogerus's avatar
      usb: roles: Add a description for the class to Kconfig · c3788cd9
      Heikki Krogerus authored
      That makes the USB role switch support option visible and
      selectable for the user. The class driver is also moved to
      drivers/usb/roles/ directory.
      
      This will fix an issue that we have with the Intel USB role
      switch driver on systems that don't have USB Type-C connectors:
      
      Intel USB role switch driver depends on the USB role switch
      class as it should, but since there was no way for the user
      to enable the USB role switch class, there was also no way
      to select that driver. USB Type-C drivers select the USB
      role switch class which makes the Intel USB role switch
      driver available and therefore hides the problem.
      
      So in practice Intel USB role switch driver was depending on
      USB Type-C drivers.
      
      Fixes: f6fb9ec0 ("usb: roles: Add Intel xHCI USB role switch driver")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c3788cd9
  7. 22 Apr, 2018 1 commit
    • Arnd Bergmann's avatar
      usb: select USB_COMMON for usb role switch config · 602f4fb7
      Arnd Bergmann authored
      The new axp288 extcon driver has no dependency on USB itself but
      calls the usb role switch helper functions. This causes a link error
      when USB_COMMON is disabled, as that subdirectory never gets entered:
      
      drivers/extcon/extcon-axp288.o: In function `axp288_usb_role_work':
      extcon-axp288.c:(.text+0x47b): undefined reference to `usb_role_switch_set_role'
      extcon-axp288.c:(.text+0x498): undefined reference to `usb_role_switch_get_role'
      drivers/extcon/extcon-axp288.o: In function `axp288_extcon_probe':
      extcon-axp288.c:(.text+0x675): undefined reference to `usb_role_switch_get'
      extcon-axp288.c:(.text+0x6d1): undefined reference to `usb_role_switch_put'
      drivers/extcon/extcon-axp288.o: In function `axp288_put_role_sw':
      extcon-axp288.c:(.text+0x1c): undefined reference to `usb_role_switch_put'
      
      There are multiple ways of fixing this, I chose to 'select USB_COMMON',
      since that is how we solved the same problem for other helpers like
      USB_LED_TRIG or PHY drivers.
      
      Fixes: d54f063c ("extcon: axp288: Set USB role where necessary")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      602f4fb7
  8. 22 Mar, 2018 2 commits
  9. 15 Feb, 2018 2 commits
    • James Hogan's avatar
      sparc,leon: Select USB_UHCI_BIG_ENDIAN_{MMIO,DESC} · 5efad9ee
      James Hogan authored
      Now that USB_UHCI_BIG_ENDIAN_MMIO and USB_UHCI_BIG_ENDIAN_DESC are moved
      outside of the USB_SUPPORT conditional, simply select them from
      SPARC_LEON rather than by the symbol's defaults in drivers/usb/Kconfig,
      similar to how it is done for USB_EHCI_BIG_ENDIAN_MMIO and
      USB_EHCI_BIG_ENDIAN_DESC.
      Signed-off-by: default avatarJames Hogan <jhogan@kernel.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Corentin Labbe <clabbe.montjoie@gmail.com>
      Cc: sparclinux@vger.kernel.org
      Cc: linux-usb@vger.kernel.org
      Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
      Patchwork: https://patchwork.linux-mips.org/patch/18560/
      5efad9ee
    • James Hogan's avatar
      usb: Move USB_UHCI_BIG_ENDIAN_* out of USB_SUPPORT · ec897569
      James Hogan authored
      Move the Kconfig symbols USB_UHCI_BIG_ENDIAN_MMIO and
      USB_UHCI_BIG_ENDIAN_DESC out of drivers/usb/host/Kconfig, which is
      conditional upon USB && USB_SUPPORT, so that it can be freely selected
      by platform Kconfig symbols in architecture code.
      
      For example once the MIPS_GENERIC platform selects are fixed in commit
      2e6522c5 ("MIPS: Fix typo BIG_ENDIAN to CPU_BIG_ENDIAN"), the MIPS
      32r6_defconfig warns like so:
      
      warning: (MIPS_GENERIC) selects USB_UHCI_BIG_ENDIAN_MMIO which has unmet direct dependencies (USB_SUPPORT && USB)
      warning: (MIPS_GENERIC) selects USB_UHCI_BIG_ENDIAN_DESC which has unmet direct dependencies (USB_SUPPORT && USB)
      
      Fixes: 2e6522c5 ("MIPS: Fix typo BIG_ENDIAN to CPU_BIG_ENDIAN")
      Signed-off-by: default avatarJames Hogan <jhogan@kernel.org>
      Cc: Corentin Labbe <clabbe.montjoie@gmail.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Paul Burton <paul.burton@mips.com>
      Cc: linux-usb@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Patchwork: https://patchwork.linux-mips.org/patch/18559/
      ec897569
  10. 01 Nov, 2017 1 commit
  11. 23 Mar, 2017 1 commit
  12. 17 Mar, 2017 1 commit
  13. 27 Oct, 2016 1 commit
  14. 27 Sep, 2016 1 commit
  15. 12 Sep, 2016 1 commit
    • Peter Chen's avatar
      usb: Kconfig: let USB_ULPI_BUS depends on USB_COMMON · 6406c3d2
      Peter Chen authored
      Since ulpi bus driver is located at usb/common/ulpi.c, whether it
      is compiled or not depends on CONFIG_USB_COMMON which needs either
      USB Host or USB Gadget is enabled, so even CONFIG_USB_ULPI_BUS is
      chosen, its source may still not be compiled when both USB HOST
      and USB gadget are disabled.
      
      It fixed compile error with below configurations:
      - # CONFIG_USB is not set
      - # CONFIG_USB_GADGET is not set
      - CONFIG_PHY_TUSB1210=m
      - CONFIG_USB_ULPI_BUS=m
      
      >> All errors (new ones prefixed by >>):
      >>
      >> ERROR: "ulpi_unregister_driver" [drivers/phy/phy-tusb1210.ko] undefined!
      >> ERROR: "__ulpi_register_driver" [drivers/phy/phy-tusb1210.ko] undefined!
      >> ERROR: "ulpi_write" [drivers/phy/phy-tusb1210.ko] undefined!
      
      Fixes: ad764c49 ("usb: Kconfig: move ulpi bus support out of host")
      Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: default avatarPeter Chen <peter.chen@nxp.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6406c3d2
  16. 09 Sep, 2016 1 commit
  17. 18 Apr, 2016 1 commit
  18. 27 Jan, 2015 1 commit
  19. 25 Sep, 2014 1 commit
    • Michal Sojka's avatar
      usb: Add LED triggers for USB activity · 0cfbd328
      Michal Sojka authored
      With this patch, USB activity can be signaled by blinking a LED. There
      are two triggers, one for activity on USB host and one for USB gadget.
      
      Both triggers should work with all host/device controllers. Tested only
      with musb.
      
      Performace: I measured performance overheads on ARM Cortex-A8 (TI
      AM335x) running on 600 MHz.
      
      Duration of usb_led_activity():
      - with no LED attached to the trigger:        2 ± 1 µs
      - with one GPIO LED attached to the trigger:  2 ± 1 µs or 8 ± 2 µs (two peaks in histogram)
      
      Duration of functions calling usb_led_activity() (with this patch
      applied and no LED attached to the trigger):
      - __usb_hcd_giveback_urb():    10 - 25 µs
      - usb_gadget_giveback_request(): 2 - 6 µs
      Signed-off-by: default avatarMichal Sojka <sojka@merica.cz>
      Acked-by: default avatarFelipe Balbi <balbi@ti.com>
      Tested-by: default avatarFelipe Balbi <balbi@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      0cfbd328
  20. 25 Aug, 2014 1 commit
  21. 18 Feb, 2014 1 commit
  22. 13 Jan, 2014 1 commit
  23. 23 Dec, 2013 1 commit
  24. 12 Aug, 2013 1 commit
    • David Daney's avatar
      usb: Move definition of USB_EHCI_BIG_ENDIAN_MMIO et al. out side of the ifs. · 900e0621
      David Daney authored
      When CONFIG_USB_SUPPORT is not selected we get things like:
      
      scripts/kconfig/mconf Kconfig
      warning: (MIPS_SEAD3 && PMC_MSP && CPU_CAVIUM_OCTEON) selects USB_EHCI_BIG_ENDIAN_MMIO which has unmet direct dependencies (USB_SUPPORT && USB)
      
      It is much cleaner to make the various system Kconfigs select
      USB_EHCI_BIG_ENDIAN_MMIO rather than move the system config
      information into USB's Kconfig, but the warnings are annoying.
      
      Eliminate the warning by moving the definition of
      USB_EHCI_BIG_ENDIAN_MMIO outside of all the Kconfig if statements.
      While we are at it move USB_OHCI_BIG_ENDIAN_DESC,
      USB_OHCI_BIG_ENDIAN_MMIO, USB_OHCI_LITTLE_ENDIAN and
      USB_EHCI_BIG_ENDIAN_DESC too, as they could very well suffer similar
      problems for other systems.
      
      Get rid of the redundant "default n" in USB_OHCI_BIG_ENDIAN_DESC and
      USB_OHCI_BIG_ENDIAN_MMIO
      Signed-off-by: default avatarDavid Daney <david.daney@cavium.com>
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      900e0621
  25. 18 Jun, 2013 1 commit
  26. 06 Jun, 2013 1 commit
    • Arnd Bergmann's avatar
      usb: host: make USB_ARCH_HAS_?HCI obsolete · d9ea21a7
      Arnd Bergmann authored
      The three options USB_ARCH_HAS_{EHCI,OHCI,XHCI} are all well beyond
      their recommended shelf life. They have caused numerous build failures
      over the years because they are never completely correct, and with
      the move to splitting out the platform specific back-ends out of the
      driver, there is no real need for them any more. Also, the use of making
      USB_ARCH_HAS_HCD depend on it is questionable since one can always enable
      dummy_hc these days.
      
      This patch enables them unconditionally for all platforms and
      architectures, which means it is now possible to build host controller
      drivers for machines that are known not to come with this hardware,
      but that is just how we treat most other drivers.
      
      In order to minimise the impact on existing architecture code and
      defconfig files, all the Kconfig are left present for now. All platforms
      that currently do 'select USB_ARCH_HAS_*' should subsequently be changed
      not to select that. All drivers depending on USB_ARCH_HAS_HCD should
      be changed to depend on USB_SUPPORT instead.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d9ea21a7
  27. 09 Apr, 2013 1 commit
  28. 18 Mar, 2013 1 commit
  29. 12 Jan, 2013 1 commit
  30. 07 Sep, 2012 1 commit
  31. 26 Aug, 2012 1 commit
  32. 20 Aug, 2012 1 commit
    • Guenter Roeck's avatar
      gpu/mfd/usb: Fix USB randconfig problems · 8f057d7b
      Guenter Roeck authored
      Fix config warning:
      
      warning: ( ... && DRM_USB) selects USB which has unmet direct dependencies
      (USB_SUPPORT && USB_ARCH_HAS_HCD)
      
      and build error:
      ERROR: "usb_speed_string" [drivers/usb/core/usbcore.ko] undefined!
      
      by adding the missing dependency on USB_ARCH_HAS_HCD to DRM_UDL and DRM_USB.
      
      This exposes:
      drivers/video/Kconfig:36:error: recursive dependency detected!
      drivers/video/Kconfig:36:       symbol FB is selected by DRM_KMS_HELPER
      drivers/gpu/drm/Kconfig:28:     symbol DRM_KMS_HELPER is selected by DRM_UDL
      drivers/gpu/drm/udl/Kconfig:1:  symbol DRM_UDL depends on USB_ARCH_HAS_HCD
      drivers/usb/Kconfig:78: symbol USB_ARCH_HAS_HCD depends on USB_ARCH_HAS_OHCI
      drivers/usb/Kconfig:16: symbol USB_ARCH_HAS_OHCI depends on I2C
      drivers/i2c/Kconfig:5:  symbol I2C is selected by FB_DDC
      drivers/video/Kconfig:86:       symbol FB_DDC is selected by FB_CYBER2000_DDC
      drivers/video/Kconfig:385:      symbol FB_CYBER2000_DDC depends on FB_CYBER2000
      drivers/video/Kconfig:373:      symbol FB_CYBER2000 depends on FB
      
      which is due to drivers/usb/Kconfig:
      config USB_ARCH_HAS_OHCI
      	...
      	default y if ARCH_PNX4008 && I2C
      
      Fix by dropping I2C from the above dependency; logic is that this is not a
      platform dependency but a configuration dependency: the _architecture_ still
      supports USB even is I2C is not selected.
      
      This exposes:
      drivers/video/Kconfig:36:error: recursive dependency detected!
      drivers/video/Kconfig:36:       symbol FB is selected by DRM_KMS_HELPER
      drivers/gpu/drm/Kconfig:28:     symbol DRM_KMS_HELPER is selected by DRM_UDL
      drivers/gpu/drm/udl/Kconfig:1:  symbol DRM_UDL depends on USB_ARCH_HAS_HCD
      drivers/usb/Kconfig:78: symbol USB_ARCH_HAS_HCD depends on USB_ARCH_HAS_OHCI
      drivers/usb/Kconfig:17: symbol USB_ARCH_HAS_OHCI depends on MFD_TC6393XB
      drivers/mfd/Kconfig:396:        symbol MFD_TC6393XB depends on GPIOLIB
      drivers/gpio/Kconfig:35:        symbol GPIOLIB is selected by FB_VIA
      drivers/video/Kconfig:1560:     symbol FB_VIA depends on FB
      
      which can be fixed by having MFD_TC6393XB select GPIOLIB instead of depending on
      it.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8f057d7b
  33. 11 May, 2012 1 commit
  34. 01 May, 2012 1 commit
    • Roland Stigge's avatar
      USB: Add driver for NXP ISP1301 USB transceiver · 8b7c3b68
      Roland Stigge authored
      This new driver registers the NXP ISP1301 chip via the I2C subsystem.  The chip
      is the USB transceiver shared by ohci-nxp, lpc32xx_udc (gadget) and
      isp1301_omap.
      
      ISP1301 is a very low-level driver that primarily separates out the I2C client
      registration of the ISP1301 chip (including instantiation via DT), used by
      other drivers, and declares the chip's registers. It's only a helper driver for
      some OHCI and USB device drivers.  The driver can be considered as a register
      set extension of ohci-nxp, lpc32xx-udc and isp1301_omap, which in turn know
      best what to do with the low level functionality (individual ISP1301 registers
      and timing, see the different initialization strategies in those drivers).
      Those drivers previously internally duplicated ISP1301 register definitions
      which is solved by this new isp1301 driver. The ISP1301 registers exposed via
      isp1301.h can be accessed by other drivers using it with standard i2c_smbus_*()
      accesses.
      
      Following patches let the respective USB host and gadget drivers use this
      driver, instead of duplicating ISP1301 handling.
      Signed-off-by: default avatarRoland Stigge <stigge@antcom.de>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8b7c3b68
  35. 06 Apr, 2012 1 commit
  36. 15 Mar, 2012 1 commit
  37. 13 Mar, 2012 1 commit
  38. 02 Mar, 2012 1 commit
    • Kukjin Kim's avatar
      ARM: S3C24XX: change the ARCH_S3C2410 to ARCH_S3C24XX · b130d5c2
      Kukjin Kim authored
      This patch changes the ARCH name to "ARCH_S3C24XX" for Samsung
      S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443,
      and S3C2450 SoCs so that we can merge the mach-xxx directories
      and plat-s3c24xx dir. to just one mach-s3c24xx for them.
      
      I think this should be sent to upstream via samsung tree because
      this touches many samsung stuff.
      
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Chris Ball <cjb@laptop.org>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      [for the gadget part:]
      Acked-by: default avatarFelipe Balbi <balbi@ti.com>
      [for the framebuffer (video) part:]
      Acked-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      [For the watchdog-part:]
      Acked-by: default avatarWim Van Sebroeck <wim@iguana.be>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Liam Girdwood <lrg@ti.com>
      Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      b130d5c2