Address offset: 0x014
Interrupt STATUS Register
This register interrupts the application for system-level events in the current mode (Device mode or Host mode). Some of the bits in this register are valid only in Host mode, while others are valid in Device mode only. This register also indicates the current mode. To clear the interrupt status bits of type R_SS_WC, the application must write 1'b1 to the bit. The FIFO status interrupts are read only; once software reads from or writes to the FIFO while servicing these interrupts, FIFO interrupt conditions are cleared automatically. The application must clear the GINTSTS register at initialization before unmasking the interrupt bit to avoid any interrupts generated prior to initialization. Note: Read the reset value of GINTSTS.CurMod only after the following conditions: - If IDDIG_FILTER is disabled, read only after PHY clock is stable. - If IDDIG_FILTER is enabled, read only after the filter timer expires.
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | d | c | b | a | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | |||||
| Reset 0x04000020 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
CURMOD |
Mode: Host and Device. Current Mode of Operation (CurMod) Indicates the current mode. Note: The reset value of this register field can be read only after the PHY clock is stable, or if IDDIG_FILTER is enabled, wait for the filter timer to expire to read the correct reset value which ever event is later. |
||||||||||||||||||||||||||||||||
|
DEVICE |
0 |
Device mode |
|||||||||||||||||||||||||||||||||
|
HOST |
1 |
Host mode |
|||||||||||||||||||||||||||||||||
| B |
RW |
MODEMIS |
Mode: Host and Device. Mode Mismatch Interrupt (ModeMis) The core sets this bit when the application is trying to access: - A Host mode register, when the controller is operating in Device mode - A Device mode register, when the controller is operating in Host mode The register access is completed on the AHB with an OKAY response, but is ignored by the controller internally and does not affect the operation of the controller. This bit can be set only by the core and the application must write 1 to clear it. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
No Mode Mismatch Interrupt |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Mode Mismatch Interrupt |
|||||||||||||||||||||||||||||||||
| C |
R |
OTGINT |
Mode: Host and Device. OTG Interrupt (OTGInt) The controller sets this bit to indicate an OTG protocol event. The application must read the OTG Interrupt Status (GOTGINT) register to determine the exact event that caused this interrupt. The application must clear the appropriate status bit in the GOTGINT register to clear this bit. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
No Interrupt |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
OTG Interrupt |
|||||||||||||||||||||||||||||||||
| D |
RW |
SOF |
Mode: Host and Device. Start of (micro)Frame (Sof) In Host mode, the core sets this bit to indicate that an SOF (FS), micro-SOF (HS), or Keep-Alive (LS) is transmitted on the USB. The application must write a 1 to this bit to clear the interrupt. In Device mode, the controller sets this bit to indicate that an SOF token has been received on the USB. The application can read the Device Status register to get the current (micro)Frame number. This interrupt is seen only when the core is operating at either HS or FS. This bit can be set only by the core and the application must write 1 to clear it. Note: This register may return 1'b1 if read immediately after power-on reset. If the register bit reads 1'b1 immediately after power-on reset, it does not indicate that an SOF has been sent (in case of host mode) or SOF has been received (in case of device mode). The read value of this interrupt is valid only after a valid connection between host and device is established. If the bit is set after power on reset the application can clear the bit. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
No Start of Frame |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Start of Frame |
|||||||||||||||||||||||||||||||||
| E |
R |
RXFLVL |
Mode: Host and Device. RxFIFO Non-Empty (RxFLvl) Indicates that there is at least one packet pending to be read from the RxFIFO. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Rx Fifo is empty |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Rx Fifo is not empty |
|||||||||||||||||||||||||||||||||
| F |
R |
NPTXFEMP |
Mode: Host and Device. Non-periodic TxFIFO Empty (NPTxFEmp) This interrupt is asserted when the Non-periodic TxFIFO is either half or completely empty, and there is space for at least one Entry to be written to the Non-periodic Transmit Request Queue. The half or completely empty status is determined by the Non-periodic TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl). In host mode, the application can use GINTSTS.NPTxFEmp with the OTG_EN_DED_TX_FIFO parameter set to either 1 or 0. In device mode, the application uses GINTSTS.NPTxFEmp when OTG_EN_DED_TX_FIFO=0. When OTG_EN_DED_TX_FIFO=1, the application uses DIEPINTn.TxFEmp. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Non-periodic TxFIFO is not empty |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Non-periodic TxFIFO is empty |
|||||||||||||||||||||||||||||||||
| G |
R |
GINNAKEFF |
Mode: Device only. Global IN Non-periodic NAK Effective (GINNakEff) Indicates that the Set Global Non-periodic IN NAK bit in the Device Control register (DCTL.SGNPInNak) set by the application, has taken effect in the core. That is, the core has sampled the Global IN NAK bit Set by the application. This bit can be cleared by clearing the Clear Global Non-periodic IN NAK bit in the Device Control register (DCTL.CGNPInNak). This interrupt does not necessarily mean that a NAK handshake is sent out on the USB. The STALL bit takes precedence over the NAK bit. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Global Non-periodic IN NAK not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Set Global Non-periodic IN NAK bit |
|||||||||||||||||||||||||||||||||
| H |
R |
GOUTNAKEFF |
Mode: Device only. Global OUT NAK Effective (GOUTNakEff) Indicates that the Set Global OUT NAK bit in the Device Control register (DCTL.SGOUTNak), Set by the application, has taken effect in the core. This bit can be cleared by writing the Clear Global OUT NAK bit in the Device Control register (DCTL.CGOUTNak). |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not Active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Global OUT NAK Effective |
|||||||||||||||||||||||||||||||||
| I |
RW |
ERLYSUSP |
Mode: Device only. Early Suspend (ErlySusp) The controller sets this bit to indicate that an Idle state has been detected on the USB for 3 ms. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
No Idle state detected |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
3ms of Idle state detected |
|||||||||||||||||||||||||||||||||
| J |
RW |
USBSUSP |
Mode: Device only. USB Suspend (USBSusp) The controller sets this bit to indicate that a suspend was detected on the USB. The controller enters the Suspended state when there is no activity on the linestate signal for an extended period of time. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not Active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
USB Suspend |
|||||||||||||||||||||||||||||||||
| K |
RW |
USBRST |
Mode: Device only. USB Reset (USBRst) The controller sets this bit to indicate that a reset is detected on the USB. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
USB Reset |
|||||||||||||||||||||||||||||||||
| L |
RW |
ENUMDONE |
Mode: Device only. Enumeration Done (EnumDone) The core sets this bit to indicate that speed enumeration is complete. The application must read the Device Status (DSTS) register to obtain the enumerated speed. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Enumeration Done |
|||||||||||||||||||||||||||||||||
| M |
RW |
ISOOUTDROP |
Mode: Device only. Isochronous OUT Packet Dropped Interrupt (ISOOutDrop) The controller sets this bit when it fails to write an isochronous OUT packet into the RxFIFO because the RxFIFO does not have enough space to accommodate a maximum packet size packet for the isochronous OUT endpoint. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Isochronous OUT Packet Dropped Interrupt |
|||||||||||||||||||||||||||||||||
| N |
RW |
EOPF |
Mode: Device only. End of Periodic Frame Interrupt (EOPF) Indicates that the period specified in the Periodic Frame Interval field of the Device Configuration register (DCFG.PerFrInt) has been reached in the current microframe. In case of Non-Ignore Frame Number Scatter/Gather (Descriptor DMA) mode, the controller internally handles the following scenarios based on EOPF: Read Flush: At the EOPF, the controller checks if there are any pending packets in the FIFO corresponding to the current (micro)Frame. - If there are any pending packets, then the controller initiates read flush, due to which the read pointer is updated to the starting location of the next micro-frame packet. - If there are no pending packets corresponding to the current (micro)Frame, the controller does not take any action. Write Flush: At the EOPF, if the controller is still fetching the current micro-frame data, then the controller stops pushing data into the TXFIFO but keeps fetching the complete packet from the System Memory. After completing the scheduled packet size fetch, the controller updates the Status Quadlet Fields (Transmit Status to BUFFLUSH) and closes the Descriptor. During the descriptor close, the controller initiates write flush, due to which the write pointer is updated to the starting location of the next micro-frame packet. Because the controller stops pushing the packet to the TxFIFO after EOPF, to bring the write pointer to the starting location of the next micro-frame, write flush is done. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
End of Periodic Frame Interrupt |
|||||||||||||||||||||||||||||||||
| O |
RW |
RSTRDONEINT |
Mode: Device only. Restore Done Interrupt (RstrDoneInt) The controller sets this bit to indicate that the restore command after Hibernation was completed by the core. The controller continues from Suspended state into the mode dictated by PCGCCTL.RestoreMode field. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Restore Done Interrupt |
|||||||||||||||||||||||||||||||||
| P |
RW |
EPMIS |
Mode: Device only. Endpoint Mismatch Interrupt (EPMis) Note: This interrupt is valid only in shared FIFO operation. Indicates that an IN token has been received for a non-periodic endpoint, but the data for another endpoint is present in the top of the Non-periodic Transmit FIFO and the IN endpoint mismatch count programmed by the application has expired. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Endpoint Mismatch Interrupt |
|||||||||||||||||||||||||||||||||
| Q |
R |
IEPINT |
Mode: Device only. IN Endpoints Interrupt (IEPInt) The core sets this bit to indicate that an interrupt is pending on one of the IN endpoints of the core (in Device mode). The application must read the Device All Endpoints Interrupt (DAINT) register to determine the exact number of the IN endpoint on Device IN Endpoint-n Interrupt (DIEPINTn) register to determine the exact cause of the interrupt. The application must clear the appropriate status bit in the corresponding DIEPINTn register to clear this bit. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
IN Endpoints Interrupt |
|||||||||||||||||||||||||||||||||
| R |
R |
OEPINT |
Mode: Device only. OUT Endpoints Interrupt (OEPInt) The controller sets this bit to indicate that an interrupt is pending on one of the OUT endpoints of the core (in Device mode). The application must read the Device All Endpoints Interrupt (DAINT) register to determine the exact number of the OUT endpoint on which the interrupt occurred, and then read the corresponding Device OUT Endpoint-n Interrupt (DOEPINTn) register to determine the exact cause of the interrupt. The application must clear the appropriate status bit in the corresponding DOEPINTn register to clear this bit. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
OUT Endpoints Interrupt |
|||||||||||||||||||||||||||||||||
| S |
RW |
INCOMPISOIN |
Mode: Device only. Incomplete Isochronous IN Transfer (incompISOIN) The core sets this interrupt to indicate that there is at least one isochronous IN endpoint on which the transfer is not completed in the current microframe. This interrupt is asserted along with the End of Periodic Frame Interrupt (EOPF) bit in this register. Note: This interrupt is not asserted in Scatter/Gather DMA mode. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Incomplete Isochronous IN Transfer |
|||||||||||||||||||||||||||||||||
| T |
RW |
INCOMPLP |
Incomplete Periodic Transfer (incomplP) Mode: Host only In Host mode, the core sets this interrupt bit when there are incomplete periodic transactions still pending which are scheduled for the current microframe. Incomplete Isochronous OUT Transfer (incompISOOUT) Mode: Device only The Device mode, the core sets this interrupt to indicate that there is at least one isochronous OUT endpoint on which the transfer is not completed in the current microframe. This interrupt is asserted along with the End of Periodic Frame Interrupt (EOPF) bit in this register. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Incomplete Periodic Transfer |
|||||||||||||||||||||||||||||||||
| U |
RW |
FETSUSP |
Mode: Device only. Data Fetch Suspended (FetSusp) This interrupt is valid only in DMA mode. This interrupt indicates that the core has stopped fetching data. For IN endpoints due to the unavailability of TxFIFO space or Request Queue space. This interrupt is used by the application for an endpoint mismatch algorithm. For example, after detecting an endpoint mismatch, the application: - Sets a Global non-periodic IN NAK handshake - Disables IN endpoints - Flushes the FIFO - Determines the token sequence from the IN Token Sequence Learning Queue - Re-enables the endpoints - Clears the Global non-periodic IN NAK handshake If the Global non-periodic IN NAK is cleared, the core has not yet fetched data for the IN endpoint, and the IN token is received. The core generates an 'IN token received when FIFO empty' interrupt. It then sends the host a NAK response. To avoid this scenario, the application can check the GINTSTS.FetSusp interrupt, which ensures that the FIFO is full before clearing a Global NAK handshake. Alternatively, the application can mask the IN token received when FIFO empty interrupt when clearing a Global IN NAK handshake. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Data Fetch Suspended |
|||||||||||||||||||||||||||||||||
| V |
RW |
RESETDET |
Mode: Device only. Reset detected Interrupt (ResetDet) In Device mode, this interrupt is asserted when a reset is detected on the USB in partial power-down mode when the device is in Suspend. In Host mode, this interrupt is not asserted. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Reset detected Interrupt |
|||||||||||||||||||||||||||||||||
| W |
R |
PRTINT |
Mode: Host only. Host Port Interrupt (PrtInt) The core sets this bit to indicate a change in port status of one of the controller ports in Host mode. The application must read the Host Port Control and Status (HPRT) register to determine the exact event that caused this interrupt. The application must clear the appropriate status bit in the Host Port Control and Status register to clear this bit. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Host Port Interrupt |
|||||||||||||||||||||||||||||||||
| X |
R |
HCHINT |
Mode: Host only. Host Channels Interrupt (HChInt) The core sets this bit to indicate that an interrupt is pending on one of the channels of the core (in Host mode). The application must read the Host All Channels Interrupt (HAINT) register to determine the exact number of the channel on which the interrupt occurred, and Then read the corresponding Host Channel-n Interrupt (HCINTn) register to determine the exact cause of the interrupt. The application must clear the appropriate status bit in the HCINTn register to clear this bit. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Host Channels Interrupt |
|||||||||||||||||||||||||||||||||
| Y |
R |
PTXFEMP |
Mode: Host only. Periodic TxFIFO Empty (PTxFEmp) This interrupt is asserted when the Periodic Transmit FIFO is either half or completely empty and there is space for at least one entry to be written in the Periodic Request Queue. The half or completely empty status is determined by the Periodic TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.PTxFEmpLvl). |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Periodic TxFIFO Empty |
|||||||||||||||||||||||||||||||||
| Z |
RW |
LPMINT |
Mode: Host and Device. LPM Transaction Received Interrupt (LPM_Int). - Device Mode: This interrupt is asserted when the device receives an LPM transaction and responds with a non-ERRORed response. - Host Mode: This interrupt is asserted when the device responds to an LPM transaction with a non-ERRORed response or when the host core has completed LPM transactions for the programmed number of times (GLPMCFG.RetryCnt). |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not Active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
LPM Transaction Received Interrupt |
|||||||||||||||||||||||||||||||||
| a |
RW |
CONIDSTSCHNG |
Mode: Host and Device. Connector ID Status Change (ConIDStsChng) The core sets this bit when there is a change in connector ID status. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not Active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Connector ID Status Change |
|||||||||||||||||||||||||||||||||
| b |
RW |
DISCONNINT |
Mode: Host only. Disconnect Detected Interrupt (DisconnInt) Asserted when a device disconnect is detected. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Disconnect Detected Interrupt |
|||||||||||||||||||||||||||||||||
| c |
RW |
SESSREQINT |
Mode: Host and Device. Session Request/New Session Detected Interrupt (SessReqInt) In Host mode, this interrupt is asserted when a session request is detected from the device. In Host mode, this interrupt is asserted when a session request is detected from the device. In Device mode, this interrupt is asserted when the utmisrp_bvalid signal goes high. For more information on how to use this interrupt, see 'Partial Power-Down and Clock Gating Programming Model' in the Programming Guide. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Session Request New Session Detected Interrupt |
|||||||||||||||||||||||||||||||||
| d |
RW |
WKUPINT |
Mode: Host and Device. Resume/Remote Wakeup Detected Interrupt (WkUpInt) Wakeup Interrupt during Suspend(L2) or LPM(L1) state. - During Suspend(L2): -- Device Mode: This interrupt is asserted only when Host Initiated Resume is detected on USB. -- Host Mode: This interrupt is asserted only when Device Initiated Remote Wakeup is detected on USB. For more information, see 'Partial Power-Down and Clock Gating Programming Model' in the Programming Guide. - During LPM(L1): -- Device Mode: This interrupt is asserted for either Host Initiated Resume or Device Initiated Remote Wakeup on USB. -- Host Mode: This interrupt is asserted for either Host Initiated Resume or Device Initiated Remote Wakeup on USB. For more information, see 'LPM Entry and Exit Programming Model' in the Programming Guide. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
Not active |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Resume or Remote Wakeup Detected Interrupt |
|||||||||||||||||||||||||||||||||