mirror of https://github.com/ARMmbed/mbed-os.git
Remove usage from USB driver as well
parent
813216306c
commit
5dd46136ad
|
|
@ -23,8 +23,7 @@
|
||||||
#include "em_usbtypes.h"
|
#include "em_usbtypes.h"
|
||||||
#include "em_usbhal.h"
|
#include "em_usbhal.h"
|
||||||
#include "em_usbd.h"
|
#include "em_usbd.h"
|
||||||
|
#include "mbed_sleep.h"
|
||||||
#include "sleepmodes.h"
|
|
||||||
|
|
||||||
enum USBISRCommand {
|
enum USBISRCommand {
|
||||||
CMD_HANDLED = 0,
|
CMD_HANDLED = 0,
|
||||||
|
|
@ -134,11 +133,6 @@ USBHAL::USBHAL(void)
|
||||||
// be dynamically removed/reinstated to allow deeper sleep.
|
// be dynamically removed/reinstated to allow deeper sleep.
|
||||||
usbhal_allow_em2(false);
|
usbhal_allow_em2(false);
|
||||||
|
|
||||||
// When in suspend / Vbus off we can go to EM2, but never below
|
|
||||||
// that as long as USB is being used. Despite the name the call here
|
|
||||||
// blocks entering modes _below_ EM2, but allows EM2.
|
|
||||||
blockSleepMode(EM2);
|
|
||||||
|
|
||||||
epCallback[EP0OUT] = NULL;
|
epCallback[EP0OUT] = NULL;
|
||||||
epCallback[EP0IN ] = NULL;
|
epCallback[EP0IN ] = NULL;
|
||||||
epCallback[EP1OUT] = &USBHAL::EP1_OUT_callback;
|
epCallback[EP1OUT] = &USBHAL::EP1_OUT_callback;
|
||||||
|
|
@ -193,17 +187,17 @@ USBHAL::~USBHAL(void)
|
||||||
usbhal_free_buffers();
|
usbhal_free_buffers();
|
||||||
|
|
||||||
usbhal_allow_em2(true);
|
usbhal_allow_em2(true);
|
||||||
unblockSleepMode(EM2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" void usbhal_allow_em2(bool allow_em2)
|
extern "C" void usbhal_allow_em2(bool allow_em2)
|
||||||
{
|
{
|
||||||
if (allow_em2) {
|
static bool blocked = false;
|
||||||
// unblockSleepMode is safe to call even if we would unblock
|
if (allow_em2 && blocked) {
|
||||||
// an already unblocked mode, so no checks here.
|
sleep_manager_unlock_deep_sleep();
|
||||||
unblockSleepMode(EM1);
|
blocked = false;
|
||||||
} else {
|
} else if (!blocked) {
|
||||||
blockSleepMode(EM1);
|
sleep_manager_lock_deep_sleep();
|
||||||
|
blocked = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue