1. 14 10月, 2011 2 次提交
    • K
      usb: gadget: add new usb gadget for ACM and mass storage · fa3ae0c1
      Klaus Schwarzkopf 提交于
      This driver provides two functions in one configuration:
      a mass storage, and a ACM (serial port) link.
      Heavily based on multi.c and cdc2.c
      Signed-off-by: NKlaus Schwarzkopf <schwarzkopf@sensortherm.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      fa3ae0c1
    • N
      usb: gadget: mv_udc: refine the driver structure · dde34cc5
      Neil Zhang 提交于
      This patch do the following things:
      
      1. Add header and Copyright for marvell usb driver.
      2. Add mv_usb.h in include/linux/platform_data, make the driver
         fits all the marvell platform using the same ChipIdea usb ip.
      3. Some SOC may has mutiple clock sources, so let me define it
         in mv_usb_platform_data and give two helper functions named
         udc_clock_enable/udc_clock_disable to deal with the clocks.
      4. Different SOCs will have some difference in PHY initialization,
         so we will remove file mv_udc_phy.c and add two funtions in
         mv_usb_platform_data, let the platform relative driver to realize it.
      5. Rewrite probe function according to the modification list above. Find
         it will kernel panic when probe failed. The root cause is as follows:
      	When probe failed, the error handle may call device_unregister()
      	which in return will call gadget_release.In current code,
      	gadget_release have two issues:
      		1: the_controller is a NULL pointer.
      		2: if we free udc here, then the following code in probe
      		   will access NULL pointer.
      Signed-off-by: NNeil Zhang <zhangwm@marvell.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      dde34cc5
  2. 29 6月, 2011 1 次提交
    • S
      usb: gadget: convert all users to the new udc infrastructure · 0f91349b
      Sebastian Andrzej Siewior 提交于
      peripheral drivers are using usb_add_gadget()/usb_del_gadget() to
      register/unregister to the udc-core.
      
      The udc-core will take the first available gadget driver and attach
      function driver which is calling usb_gadget_register_driver(). This is
      the same behaviour we have right now.
      
      Only dummy_hcd was tested, the others were compiled tested.
      
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Anton Tikhomirov <av.tikhomirov@samsung.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Dan Carpenter <error27@gmail.com>
      Cc: Darius Augulis <augulis.darius@gmail.com>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      Cc: Jingoo Han <jg1.han@samsung.com>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Michael Hennerich <michael.hennerich@analog.com>
      Acked-by: NMike Frysinger <vapier@gentoo.org>
      Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Pavankumar Kondeti <pkondeti@codeaurora.org>
      Cc: Roy Huang <roy.huang@analog.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Toshiharu Okada <toshiharu-linux@dsn.okisemi.com>
      Cc: Xiaochen Shen <xiaochen.shen@intel.com>
      Cc: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
      Cc: Yuan-Hsin Chen <yhchen@faraday-tech.com>
      Cc: cxie4 <cxie4@marvell.com>
      Cc: linux-geode@lists.infradead.org
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0f91349b
  3. 07 6月, 2011 1 次提交
  4. 11 5月, 2011 1 次提交
  5. 25 1月, 2011 1 次提交
  6. 23 1月, 2011 1 次提交
  7. 11 12月, 2010 3 次提交
  8. 01 12月, 2010 1 次提交
    • C
      USB: pxa: Add USB client support for Marvell PXA9xx/PXA168 chips · e7cddda4
      cxie4 提交于
      This patch add USB client support Marvell PXA9xx/PXA168 chips. The USB
      controller in PXA9xx/PXA168 is a High-Speed OTG controller. The available
      endpoints is different between PXA9xx and PXA168.
      
      NOTE:
      It is the first version of Marvell PXA9xx/PXA168 USB controller driver.
      The support for OTG mode will be added in later patch.
      PXA9xx and PXA168 has integrated UTMI PHY in the chips. The initialization
      for the PHY is a little different between PXA9xx and PXA168.
      Signed-off-by: NChao Xie <chao.xie@marvell.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      e7cddda4
  9. 17 11月, 2010 1 次提交
  10. 23 10月, 2010 2 次提交
  11. 11 8月, 2010 2 次提交
  12. 21 5月, 2010 4 次提交
  13. 03 3月, 2010 1 次提交
  14. 12 12月, 2009 2 次提交
  15. 20 8月, 2009 1 次提交
  16. 16 6月, 2009 4 次提交
    • X
      USB: Add Intel Langwell USB Device Controller driver · 5be19a9d
      Xiaochen Shen 提交于
      Intel Langwell USB Device Controller is a High-Speed USB OTG device
      controller in Intel Moorestown platform. It can work in OTG device mode
      with Intel Langwell USB OTG transceiver driver as well as device-only
      mode. The number of programmable endpoints is different through
      controller revision.
      
      NOTE:
      This patch is the first version Intel Langwell USB OTG device controller
      driver. The bug fixing is on going for some hardware and software
      issues.  Intel Langwell USB OTG transceiver driver and EHCI driver
      patches will be submitted later.
      
      Supported features:
       - USB OTG protocol support with Intel Langwell USB OTG transceiver
         driver (turn on CONFIG_USB_LANGWELL_OTG)
       - Support control, bulk, interrupt and isochronous endpoints
         (isochronous not tested)
       - PCI D0/D3 power management support
       - Link Power Management (LPM) support
      
      Tested gadget drivers:
       - g_file_storage
       - g_ether
       - g_zero
      
      The passed tests:
       - g_file_storage: USBCV Chapter 9 tests
       - g_file_storage: USBCV MSC tests
       - g_file_storage: from/to host files copying
       - g_ether: ping, ftp and scp files from/to host
       - Hotplug, with and without hubs
      
      Known issues:
       - g_ether: failed part of USBCV chap9 tests
       - LPM support not fully tested
      
      TODO:
       - g_ether: pass all USBCV chap9 tests
       - g_zero: pass usbtest tests
       - Stress tests on different gadget drivers
       - On-chip private SRAM caching support
      Signed-off-by: NXiaochen Shen <xiaochen.shen@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      5be19a9d
    • B
      USB: gadget: add USB Audio Gadget driver · c6994e6f
      Bryan Wu 提交于
      Funtions added:
       - setup all the USB audio class device descriptors
       - handle class specific setup request
       - receive data from USB host by ISO transfer
       - play audio data by ALSA sound card
       - open and setup playback PCM interface
       - set default playback PCM parameters
       - provide playback functions for USB audio driver
       - provide PCM parameters set/get functions
      
      Test on:
       - Host: Ubuntu 8.10, kernel 2.6.27
       - Gadget: EZKIT-BF548 with ASoC AD1980 codec
      
      Todo:
       - add real Mute control code
       - add real Volume control code
       - maybe find another way to replace dynamic buffer handling
         with static buffer allocation
       - test on Windows system
       - provide control interface to handle mute/volume control
       - provide capture interface in the future
       - test on BF527, other USB device controler and other audio codec
      Signed-off-by: NBryan Wu <cooloney@kernel.org>
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c6994e6f
    • B
      USB: Gadget driver for Samsung HS/OtG block · 5b7d70c6
      Ben Dooks 提交于
      Driver support for the new high-speed/OtG block that is
      in the newer line of Samsung SoC devices such as the
      S3C64XX series.
      
      This driver does not currntly have DMA support enabled due
      to issues with buffer alignment which need to be sorted out.
      Signed-off-by: NBen Dooks <ben@simtec.co.uk>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      5b7d70c6
    • G
      USB: gadget: Add i.MX3x support to the fsl_usb2_udc driver · 54e4026b
      Guennadi Liakhovetski 提交于
      This patch adds support for i.MX3x (only tested with i.MX31 so far) ARM
      SoCs to the fsl_usb2_udc driver. It also moves PHY configuration before
      controller reset, because otherwise an ULPI PHY doesn't get a reset and
      doesn't function after a reboot. The problem with longer control transfers
      is still not fixed. The patch renames the fsl_usb2_udc.c file to
      fsl_udc_core.c to preserve the same module name for user-space
      backwards compatibility.
      Signed-off-by: NGuennadi Liakhovetski <lg@denx.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      54e4026b
  17. 08 1月, 2009 2 次提交
  18. 18 10月, 2008 1 次提交
  19. 17 10月, 2008 7 次提交
  20. 22 7月, 2008 2 次提交
    • D
      usb gadget: new "CDC Composite" gadget driver · 19e20680
      David Brownell 提交于
      This is a simple example of a composite gadget, combining two
      Communications Class Device (CDC) functions:  ECM and ACM.
      
      This provides a clear example of how the composite gadget framework
      is intended to work.  It's surprising that MS-Windows (or at least,
      XP and previous) won't "just work" with something this simple...
      
      One /proc/bus/usb/devices listing looks like:
      
        T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 46 Spd=480 MxCh= 0
        D:  Ver= 2.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
        P:  Vendor=0525 ProdID=a4aa Rev= 3.01
        S:  Manufacturer=Linux 2.6.26-rc6-pnut with net2280
        S:  Product=CDC Composite Gadget
        C:* #Ifs= 4 Cfg#= 1 Atr=c0 MxPwr=  2mA
        I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=cdc_ether
        E:  Ad=83(I) Atr=03(Int.) MxPS=  16 Ivl=32ms
        I:  If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
        I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
        E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
        E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
        I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm
        E:  Ad=86(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
        I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm
        E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
        E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      
      Not all USB peripheral controller hardware can support this driver.
      All the highspeed-capable peripheral controllers with drivers now in
      the mainline kernel seem to support this, as does omap_udc.  But
      many full speed controllers don't have enough endpoints, or (as with
      the PXA controllers) don't support altsettings.
      
      Lightly tested.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      19e20680
    • D
      usb ethernet gadget: split RNDIS function · 45fe3b8e
      David Brownell 提交于
      This is a RNDIS function driver, extracted from the all-in-one
      Ethernet gadget driver.
      
      Lightly tested ... there seems to be a pre-existing problem when
      talking to Windows XP SP2, not quite sure what's up with that yet.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      45fe3b8e