1. 02 7月, 2011 2 次提交
  2. 13 4月, 2011 1 次提交
    • M
      USB: musb: blackfin: work around anomaly 05000450 · 13254307
      Mike Frysinger 提交于
      DMA mode 1 data corruption anomaly on Blackfin systems.  This issue is
      specific to the Blackfin silicon as the bug appears to be related to the
      connection of the musb ip to the bus/dma fabric.
      
      Data corruption when using USB DMA mode 1. (Issue manager 17-01-0105)
      DMA mode 1 allows large size transfers to generate a single interrupt
      at the end of the entire transfer.  The transfer is split up in packets
      of length specified in the Maximum Packet Size field for that endpoint.
      If the transfer size is not an integer multiple of the Maximum Packet
      Size, a short packet will be present at the end of the transfer.
      
      Under certain conditions this packet may be corrupted in the USB FIFO.
      
      Workaround:
      Use DMA mode 1 to transfer (n* Maximum Packet Size) and schedule DMA
      mode 0 to transfer the short packet.
      
      As an example if your transfer size is 33168 bytes and Maximum Packet
      Size equals 512, schedule [33168 - (33168 mod 512)] in DMA mode 1 and
      the remainder (33168 mod 512) in DMA mode 0.
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      13254307
  3. 01 3月, 2011 1 次提交
    • H
      usb: musb: Remove platform context save/restore API · da68ccec
      Hema HK 提交于
      For OMAP3 and OMAP4 for offmode and retention support, musb
      sysconfig is configured to force idle and standby with ENABLE_FORCE bit
      of OTG_FORCESTNDBY set.
      And on wakeup configure to no ilde/standby with resetting the ENABLE_FORCE
      bit. There is not need to save and restore of this register anymore
      so removed omap2430_save_context/omap2430_restore_context functions.
      and also removed otg_forcestandby member of musb_context_registers
      structure
      Signed-off-by: NHema HK <hemahk@ti.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      da68ccec
  4. 18 2月, 2011 2 次提交
    • H
      usb: musb: Using runtime pm APIs for musb. · 207b0e1f
      Hema HK 提交于
      Calling runtime pm APIs pm_runtime_put_sync() and pm_runtime_get_sync()
      for enabling/disabling the clocks, sysconfig settings.
      
      Enable clock, configure no-idle/standby when active and configure force idle/standby
      and disable clock when idled. This is taken care by the runtime framework when
      driver calls the pm_runtime_get_sync and pm_runtime_put_sync APIs.
      Need to configure MUSB into force standby and force idle mode when usb not used
      Signed-off-by: NHema HK <hemahk@ti.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      Cc: Cousson, Benoit <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      207b0e1f
    • F
      usb: musb: gadget: do not poke with gadget's list_head · ad1adb89
      Felipe Balbi 提交于
      struct usb_request's list_head is supposed to be
      used only by gadget drivers, but musb is abusing
      that. Give struct musb_request its own list_head
      and prevent musb from poking into other driver's
      business.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      ad1adb89
  5. 17 2月, 2011 1 次提交
  6. 01 2月, 2011 1 次提交
    • F
      usb: musb: disable double buffering when it's broken · 06624818
      Felipe Balbi 提交于
      We know that blackfin doesn't support double
      buffering feature as of today. So we add a
      flag set by musb_platform_init() to forcefully
      disable that feature.
      
      Such flag is created and marked as deprecated
      to force us to find a solution for the missing
      double buffering support on blackfin.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      06624818
  7. 28 1月, 2011 1 次提交
  8. 17 12月, 2010 1 次提交
  9. 10 12月, 2010 9 次提交
    • H
      usb: musb: Adding musb support for OMAP4430 · 594632ef
      Hema HK 提交于
      OMAP4430 supports UTMI and ULPI types of transceiver interface.
      
      In UTMI mode: The PHY is embedded within OMAP4430. The transceiver functionality
      is split between the twl6030 PMIC chip and OMAP4430. The VBUS, ID pin
      sensing and OTG SRP generation part is integrated in TWL6030 and UTMI PHY
      functionality is embedded within the OMAP4430.
      
      There is no direct interactions between the MUSB controller and TWL6030
      chip to communicate the session-valid, session-end and ID-GND events.
      It has to be done through a software by setting/resetting bits in
      one of the control module register of OMAP4430 which in turn toggles
      the appropriate signals to MUSB controller.
      
      musb driver is register for blocking notifications from the transceiver
      driver to get the event notifications for connect/disconnect and ID-GND.
      Based on these events call the transceiver init/shutdown function to
      configure the transceiver to toggle the VBUS valid, session end and ID_GND
      signals to musb and power on/off the internal PHY.
      
      For ID_GND event notifications, toggle the ID_GND signal and then wait for
      musb to be configured as "A" device, and then call the transceiver function
      to set the VBUS.
      
      In OTG mode and musb as a host, When the Micro A connector used, VBUS is turned on
      and session bit set. When the device is connected, enumeration goes through.
      When the device disconnected from the other end of the connector(ID is still grounded),
      link will detect the disconnect and end the session. When the device is connected back,
      there are no events generated in the TWL6030-usb, and link is already down.
      So the device is not detected. Removed the session bit disable code which
      will recognize the connect of the device.
      
      Limitation: In OTG host mode, if device is connected during boot, it does not get
      detected. If disconnect and connect it back or connect after boot only it works.
      Fix for this, I will submit seperate patch later.
      Signed-off-by: NHema HK <hemahk@ti.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      594632ef
    • F
      usb: musb: drop board_set_vbus · 92b48df2
      Felipe Balbi 提交于
      that's not used anymore. So let's drop it.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      92b48df2
    • F
      usb: musb: drop musb_platform_suspend/resume · 78417372
      Felipe Balbi 提交于
      all glue layers are now fully moved to the
      new setup. We are now using dev_pm_ops to
      implement suspend/resume functionality and
      thus, musb_platform_suspend/resume has become
      deprecated and useless.
      
      This patch drops those function pointers and
      its uses.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      78417372
    • F
      usb: musb: drop musb_platform_save/restore_context · 49635141
      Felipe Balbi 提交于
      ... that can be easily folded into the
      musb_platform_suspend/resume calls.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      49635141
    • F
      usb: musb: drop the set_clock magic · fa56df91
      Felipe Balbi 提交于
      now that platform glue layer handles
      clock completely, that function is completely
      useless for us. Drop it.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      fa56df91
    • F
      usb: musb: move clock handling to glue layer · 03491761
      Felipe Balbi 提交于
      musb core doesn't need to know about platform
      specific details. So start moving clock
      handling to platform glue layer and make
      musb core agnostic about that.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      03491761
    • F
      usb: musb: pass platform_ops via platform_data · f7ec9437
      Felipe Balbi 提交于
      ... then we don't need to export any symbols
      from glue layer to musb_core.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      f7ec9437
    • F
      usb: musb: add Kconfig options for each glue layer · 7c925546
      Felipe Balbi 提交于
      This will make things simpler when choosing which
      glue layer to compile. It avoids a lot of magic
      around the "default" Kconfig option and lets the
      user choose what exactly s/he wants to compile.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      7c925546
    • F
      usb: musb: hold context on musb structure · 7421107b
      Felipe Balbi 提交于
      when we start splitting HW glue layer, it's
      gonna make it easier to re-use that structure.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      7421107b
  10. 07 12月, 2010 2 次提交
    • F
      usb: musb: make all glue layer export struct musb_platform_ops · 743411b3
      Felipe Balbi 提交于
      preparing to a big refactor on musb code. We need
      to be able to compile in all glue layers (or at
      least all ARM-based ones) together and have a
      working binary.
      
      While preparing for that, we move every glue
      layer to export only one symbol, which is
      a struct musb_platform_ops, and make all
      other functions static.
      
      Later patches will come to allow for compiling
      all glue layers together and have a working
      binary.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      743411b3
    • F
      usb: musb: introduce struct musb_platform_ops · 3ca8abb8
      Felipe Balbi 提交于
      This will be passed to musb_core by platform glue
      layer in order to make it easier to compile support
      for several HW glue layers.
      
      Later patches will come using this structure and
      also moving HW glue layers to its own platform
      driver; the idea is to be able to handle platform
      peculiarities in a manner which doesn't affect one
      another.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      3ca8abb8
  11. 01 12月, 2010 1 次提交
  12. 05 11月, 2010 1 次提交
  13. 23 10月, 2010 2 次提交
  14. 30 6月, 2010 1 次提交
  15. 21 5月, 2010 3 次提交
  16. 01 5月, 2010 1 次提交
  17. 19 3月, 2010 1 次提交
  18. 03 3月, 2010 5 次提交
  19. 16 2月, 2010 1 次提交
  20. 12 12月, 2009 1 次提交
  21. 10 10月, 2009 1 次提交
  22. 13 7月, 2009 1 次提交