SAMV7: USBHS: Remove disabling of whole usb on suspend
This fix removes the disabling of the whole USB peripheral on suspend interrupt. Its enough to freeze the clock instead. When disabling the whole peripheral, the next wakeup-interrupt comes up with an disabled clocking. The unfreeze clock has no effect, because the master clock is disabled. This makes all registers, including the IDR unwriteable and the IRQ falls in an endless loop blocking the whole system. Furthermore the disabling of the peripheral clock prevents hotplugging or reconnecting the USB.
This commit is contained in:
parent
549f415cf9
commit
04223a9618
|
@ -3259,15 +3259,6 @@ static void sam_suspend(struct sam_usbdev_s *priv)
|
|||
priv->prevstate = priv->devstate;
|
||||
priv->devstate = USBHS_DEVSTATE_SUSPENDED;
|
||||
|
||||
/* Disable clocking to the USBHS peripheral
|
||||
*
|
||||
* NOTE: The Atmel sample code disables USB clocking here (via the PMC
|
||||
* CKGR_UCKR). However, we cannot really do that here because that
|
||||
* clocking is also needed by the UHPHS host.
|
||||
*/
|
||||
|
||||
sam_usbhs_disableclk();
|
||||
|
||||
/* Let the board-specific logic know that we have entered the
|
||||
* suspend state. This may trigger additional reduced power
|
||||
* consumption measures.
|
||||
|
|
Loading…
Reference in New Issue