From aa4e880b4abb5e2576d31d1d7dcad30af6a7047d Mon Sep 17 00:00:00 2001 From: ccli8 <ccli8@nuvoton.com> Date: Thu, 11 Aug 2016 11:24:55 +0800 Subject: [PATCH] Fix USB re-plugin not detected in NUMAKER_PFM_NUC472 --- libraries/USBHost/USBHost/USBHALHost_NUC472.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libraries/USBHost/USBHost/USBHALHost_NUC472.cpp b/libraries/USBHost/USBHost/USBHALHost_NUC472.cpp index e0fdca2c17..4aa25fe16d 100644 --- a/libraries/USBHost/USBHost/USBHALHost_NUC472.cpp +++ b/libraries/USBHost/USBHost/USBHALHost_NUC472.cpp @@ -311,6 +311,7 @@ void USBHALHost::UsbIrqhandler() uint32_t ints_roothub = USBH->HcRhStatus; uint32_t ints_port1 = USBH->HcRhPortStatus[0]; + // Port1: ConnectStatusChange if (ints_port1 & OR_RH_PORT_CSC) { if (ints_roothub & OR_RH_STATUS_DRWE) { // When DRWE is on, Connect Status Change means a remote wakeup event. @@ -343,11 +344,14 @@ void USBHALHost::UsbIrqhandler() } USBH->HcRhPortStatus[0] = OR_RH_PORT_CSC; } - - // Reset completed + // Port1: Reset completed if (ints_port1 & OR_RH_PORT_PRSC) { USBH->HcRhPortStatus[0] = OR_RH_PORT_PRSC; } + // Port1: PortEnableStatusChange + if (ints_port1 & OR_RH_PORT_PESC) { + USBH->HcRhPortStatus[0] = OR_RH_PORT_PESC; + } USBH->HcInterruptStatus = OR_INTR_STATUS_RHSC; }