mbed-os/libraries/USBDevice/USBDevice
Mikko Polojarvi 511b46de83 SiL USB: Disable LEM in Happy with ISOC endpoints
Happy Gecko's USB Low Energy Mode does not work properly with
isochronous endpoints.

Note that Happy Gecko errata USB_E112 states:

  Do not use the SUSPEND mode of LEMOSCCTRL in USB_CTRL.

  In rare cases with high data throughput, a transmission can
  fail when this mode is enabled.

  Use the GATED mode of LEMOSCCTRL for the best energy
  efficiency. The NONE mode can be used to disable energy
  savings

However, even using GATE mode causes problems for high-frequency
isochronous transfers. The primary effect for OUT endpoints is that
the first read will succeed, and the following one (targetting the
next frame) will fail with zero bytes incoming data, and PKTDRPSTS
is set in the related interrupt status register.

Disabling LEMOSCCTRL (set to NONE) solves the problem. Since this
will cause increased energy usage, do this only when an ISOC endpoint
is added.
2015-07-28 17:22:53 +03:00
..
TARGET_RENESAS/TARGET_RZ_A1H Add 2Port function to USBDevice(usb1). 2015-03-23 20:16:41 +09:00
TARGET_Silicon_Labs SiL USB: Disable LEM in Happy with ISOC endpoints 2015-07-28 17:22:53 +03:00
USBDescriptor.h spaces removal - USBDevice 2014-05-29 15:32:05 +02:00
USBDevice.cpp Update USBDevice.cpp 2015-03-07 18:28:13 +00:00
USBDevice.h spaces removal - USBDevice 2014-05-29 15:32:05 +02:00
USBDevice_Types.h LPC11U35 support for USBDevice and mbed-rtos 2014-01-23 09:37:26 -07:00
USBEndpoints.h Update USBEndpoints.h 2015-07-28 17:22:53 +03:00
USBEndpoints_EFM32.h SiL USB: Fix endpoint definitions for Happy Gecko 2015-07-28 17:22:53 +03:00
USBEndpoints_KL25Z.h Added macros to alias the endpoint callback functions to support configurability. 2015-03-17 13:41:40 -05:00
USBEndpoints_LPC11U.h Added macros to alias the endpoint callback functions to support configurability. 2015-03-17 13:41:40 -05:00
USBEndpoints_LPC17_LPC23.h Added macros to alias the endpoint callback functions to support configurability. 2015-03-17 13:41:40 -05:00
USBEndpoints_Maxim.h [MAX32600MBED] Added USBDevice definitions to eliminate build errors. 2015-05-21 18:36:36 -05:00
USBEndpoints_RZ_A1H.h Added macros to alias the endpoint callback functions to support configurability. 2015-03-17 13:41:40 -05:00
USBEndpoints_STM32F4.h Added macros to alias the endpoint callback functions to support configurability. 2015-03-17 13:41:40 -05:00
USBHAL.h [RZ/A1H] (a measure devised to deal with a review.) * Some variables in USBHAL.h moved into USBHAL_RZ_A1H.cpp. * Some functions writing by c++ changed to macro function. 2014-11-06 14:44:38 +09:00
USBHAL_EFM32.cpp SiL USB: Fix endpoint definitions for Happy Gecko 2015-07-28 17:22:53 +03:00
USBHAL_KL25Z.cpp Update USBHAL_KL25Z.cpp 2015-03-07 18:23:25 +00:00
USBHAL_LPC11U.cpp [USBDevice] LPC11UXX suspend status fix 2015-06-12 14:51:12 -06:00
USBHAL_LPC17.cpp fix typo 2015-05-18 13:37:41 +04:00
USBHAL_LPC40.cpp Fixed target issues for TARGET_LPC4088_DM 2015-02-08 11:56:39 +01:00
USBHAL_Maxim.cpp [MAX32600MBED] Adding MAX32600MBED platform. 2015-04-14 10:00:23 -05:00
USBHAL_RZ_A1H.cpp Add 2Port function to USBDevice(usb0). 2015-03-23 20:15:42 +09:00
USBHAL_STM32F4.cpp fixed build error on USBDevice library for Target DISCO_F429ZI 2015-05-19 10:55:41 +08:00
USBRegs_STM32.h spaces removal - USBDevice 2014-05-29 15:32:05 +02:00