38.6.2.19 Interrupts

See the structure of the USB device interrupt system in Figure 38-3.

There are two kinds of device interrupts: processing, i.e., their generation is part of the normal processing, and exception, i.e., errors (not related to CPU exceptions).

Global Interrupts

The processing device global interrupts are:

  • Suspend (USBHS_DEVISR.SUSP)
  • Start of Frame (USBHS_DEVISR.SOF) interrupt with no frame number CRC error - the Frame Number CRC Error (USBHS_DEVFNUM.FNCERR) bit is zero.
  • Micro Start of Frame (USBHS_DEVISR.MSOF) with no CRC error
  • End of Reset (USBHS_DEVISR.EORST)
  • Wakeup (USBHS_DEVISR.WAKEUP)
  • End of Resume (USBHS_DEVISR.EORSM)
  • Upstream Resume (USBHS_DEVISR.UPRSM)
  • Endpoint x (USBHS_DEVISR.PEP_x)
  • DMA Channel x (USBHS_DEVISR.DMA_x)

The exception device global interrupts are:

  • Start of Frame (USBHS_DEVISR.SOF) with a frame number CRC error (USBHS_DEVFNUM.FNCERR = 1)
  • Micro Start of Frame (USBHS_DEVFNUM.FNCERR.MSOF) with a CRC error

    Endpoint Interrupts

The processing device endpoint interrupts are:

  • Transmitted IN Data (USBHS_DEVEPTISRx.TXINI)
  • Received OUT Data (USBHS_DEVEPTISRx.RXOUTI)
  • Received SETUP (USBHS_DEVEPTISRx.RXSTPI)
  • Short Packet (USBHS_DEVEPTISRx.SHORTPACKET)
  • Number of Busy Banks (USBHS_DEVEPTISRx.NBUSYBK)
  • Received OUT Isochronous Multiple Data (DTSEQ = MDATA & USBHS_DEVEPTISRx.RXOUTI)
  • Received OUT Isochronous DataX (DTSEQ = DATAX & USBHS_DEVEPTISRx.RXOUTI)

The exception device endpoint interrupts are:

  • Underflow (USBHS_DEVEPTISRx.UNDERFI)
  • NAKed OUT (USBHS_DEVEPTISRx.NAKOUTI)
  • High-Bandwidth Isochronous IN Error (USBHS_DEVEPTISRx.HBISOINERRI)
  • NAKed IN (USBHS_DEVEPTISRx.NAKINI)
  • High-Bandwidth Isochronous IN Flush error (USBHS_DEVEPTISRx.HBISOFLUSHI)
  • Overflow (USBHS_DEVEPTISRx.OVERFI)
  • STALLed (USBHS_DEVEPTISRx.STALLEDI)
  • CRC Error (USBHS_DEVEPTISRx.CRCERRI)
  • Transaction Error (USBHS_DEVEPTISRx.ERRORTRANS)

    DMA Interrupts

The processing device DMA interrupts are:

  • End of USB Transfer Status (USBHS_DEVDMASTATUSx.END_TR_ST)
  • End of Channel Buffer Status (USBHS_DEVDMASTATUSx.END_BF_ST)
  • Descriptor Loaded Status (USBHS_DEVDMASTATUSx.DESC_LDST)

There is no exception device DMA interrupt.