1. 29 7月, 2013 1 次提交
    • F
      usb: dwc3: make glue layers selectable · 1a356dbc
      Felipe Balbi 提交于
      Glue layers are starting to have separate
      requirements. For example, OMAP's glue layer
      is starting to use extcon framework which
      no one else needs.
      
      In order to make it clear the proper dependencies,
      we are now allowing glue layers to be selectable
      so that each glue layer can list their own dependencies
      without messing with the core IP driver.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      1a356dbc
  2. 15 7月, 2013 1 次提交
    • G
      usb: dwc3: USB_DWC3 should depend on HAS_DMA · 8744303e
      Geert Uytterhoeven 提交于
      If NO_DMA=y:
      
      drivers/built-in.o: In function `dwc3_free_one_event_buffer':
      drivers/usb/dwc3/core.c:132: undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `dwc3_alloc_one_event_buffer':
      drivers/usb/dwc3/core.c:154: undefined reference to `dma_alloc_coherent'
      drivers/built-in.o: In function `dma_set_coherent_mask':
      include/linux/dma-mapping.h:93: undefined reference to `dma_supported'
      drivers/built-in.o: In function `dwc3_free_trb_pool':
      drivers/usb/dwc3/gadget.c:407: undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `dwc3_gadget_exit':
      drivers/usb/dwc3/gadget.c:2693: undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `dwc3_alloc_trb_pool':
      drivers/usb/dwc3/gadget.c:391: undefined reference to `dma_alloc_coherent'
      drivers/built-in.o: In function `dwc3_gadget_init':
      drivers/usb/dwc3/gadget.c:2598: undefined reference to `dma_alloc_coherent'
      drivers/usb/dwc3/gadget.c:2667: undefined reference to `dma_free_coherent'
      drivers/usb/dwc3/gadget.c:2674: undefined reference to `dma_free_coherent'
      drivers/usb/dwc3/gadget.c:2678: undefined reference to `dma_free_coherent'
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      8744303e
  3. 15 5月, 2013 1 次提交
    • V
      usb: dwc3: Fix compilation break when building with USB_DWC3_DUAL_ROLE=y · 1bc0d926
      Vivek Gautam 提交于
      The commit:
      388e5c51 usb: dwc3: remove dwc3 dependency on host AND gadget
      breaks compilation when
      USB=y, USB_GADGET=m, USB_DWC3=y and USB_DWC3_DUAL_ROLE=y.
      
      drivers/built-in.o: In function `dwc3_gadget_giveback':
      drivers/usb/dwc3/gadget.c:271: undefined reference to `usb_gadget_unmap_request'
      drivers/built-in.o: In function `__dwc3_gadget_kick_transfer':
      drivers/usb/dwc3/gadget.c:1005: undefined reference to `usb_gadget_unmap_request'
      drivers/built-in.o: In function `__dwc3_gadget_ep_queue':
      drivers/usb/dwc3/gadget.c:1073: undefined reference to `usb_gadget_map_request'
      drivers/built-in.o: In function `dwc3_gadget_reset_interrupt':
      drivers/usb/dwc3/gadget.c:2165: undefined reference to `usb_gadget_set_state'
      drivers/built-in.o: In function `dwc3_gadget_init':
      drivers/usb/dwc3/gadget.c:2647: undefined reference to `usb_add_gadget_udc'
      drivers/built-in.o: In function `dwc3_gadget_exit':
      drivers/usb/dwc3/gadget.c:2681: undefined reference to `usb_del_gadget_udc'
      drivers/built-in.o: In function `__dwc3_ep0_do_control_data':
      drivers/usb/dwc3/ep0.c:929: undefined reference to `usb_gadget_map_request'
      drivers/usb/dwc3/ep0.c:906: undefined reference to `usb_gadget_map_request'
      drivers/built-in.o: In function `dwc3_ep0_set_config':
      drivers/usb/dwc3/ep0.c:575: undefined reference to `usb_gadget_set_state'
      drivers/built-in.o: In function `dwc3_ep0_set_address':
      drivers/usb/dwc3/ep0.c:520: undefined reference to `usb_gadget_set_state'
      drivers/usb/dwc3/ep0.c:522: undefined reference to `usb_gadget_set_state'
      drivers/built-in.o: In function `dwc3_ep0_set_config':
      drivers/usb/dwc3/ep0.c:556: undefined reference to `usb_gadget_set_state'
      
      Making changes similar to patch:
      71a5e61b usb: chipidea: fix and improve dependencies if usb host or gadget support is built as module
      
      Let us limit the DWC3 mode to depend on corresponding usb-subsystem
      and USB_DWC3.
      Signed-off-by: NVivek Gautam <gautam.vivek@samsung.com>
      Cc: Felipe Balbi <balbi@ti.com>
      Cc: Fengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      1bc0d926
  4. 18 3月, 2013 1 次提交
  5. 09 2月, 2013 1 次提交
  6. 18 1月, 2013 1 次提交
    • V
      usb: dwc3: remove dwc3 dependency on host AND gadget. · 388e5c51
      Vivek Gautam 提交于
      DWC3 controller curretly depends on USB && USB_GADGET.
      Some hardware may like to use only host feature on dwc3,
      or only gadget feature.
      
      So, removing this dependency of USB_DWC3 on USB and USB_GADGET.
      Adding the mode of operaiton of DWC3 also here
      HOST/GADGET/DUAL_ROLE based on which features are enabled.
      
      [ balbi@ti.com :
      	. make sure we have default modes for all possible Kernel
      		configurations.
      	. Remove the config -> menuconfig change as it's unnecessary
      	. switch over to IS_ENABLED() ]
      
      CC: Doug Anderson <dianders@chromium.org>
      Signed-off-by: NVivek Gautam <gautam.vivek@samsung.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      388e5c51
  7. 31 8月, 2012 1 次提交
    • M
      usb: gadget: get rid of USB_GADGET_{DUAL,SUPER}SPEED · 85b8614d
      Michal Nazarewicz 提交于
      This commit removes USB_GADGET_DUALSPEED and USB_GADGET_SUPERSPEED
      Kconfig options.  Since now kernel allows many UDC drivers to be
      compiled, those options may turn to no longer be valid.  For
      instance, if someone decides to build UDC that supports super
      speed and UDC that supports high speed only, the latter will be
      "assumed" to support super speed since USB_GADGET_SUPERSPEED will
      be selected by the former.
      
      The test of whether CONFIG_USB_GADGET_*SPEED was defined was just
      an optimisation which removed otherwise dead code (ie. if UDC is
      not dual speed, there is no need to handle cases that can happen
      if speed is high).  This commit removes those checks.
      Signed-off-by: NMichal Nazarewicz <mina86@mina86.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      85b8614d
  8. 12 5月, 2012 1 次提交
  9. 12 12月, 2011 3 次提交
  10. 23 8月, 2011 1 次提交
    • F
      usb: Introduce DesignWare USB3 DRD Driver · 72246da4
      Felipe Balbi 提交于
      The DesignWare USB3 is a highly
      configurable IP Core which can be
      instantiated as Dual-Role Device (DRD),
      Peripheral Only and Host Only (XHCI)
      configurations.
      
      Several other parameters can be configured
      like amount of FIFO space, amount of TX and
      RX endpoints, amount of Host Interrupters,
      etc.
      
      The current driver has been validated with
      a virtual model of version 1.73a of that core
      and with an FPGA burned with version 1.83a
      of the DRD core. We have support for PCIe
      bus, which is used on FPGA prototyping, and
      for the OMAP5, more adaptation (or glue)
      layers can be easily added and the driver
      is half prepared to handle any possible
      configuration the HW engineer has chosen
      considering we have the information on
      one of the GHWPARAMS registers to do
      runtime checking of certain features.
      
      More runtime checks can, and should, be added
      in order to make this driver even more flexible
      with regards to number of endpoints, FIFO sizes,
      transfer types, etc.
      
      While this supports only the device side, for
      now, we will add support for Host side (xHCI -
      see the updated series Sebastian has sent [1])
      and OTG after we have it all stabilized.
      
      [1] http://marc.info/?l=linux-usb&m=131341992020339&w=2Signed-off-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      72246da4