09.12.2012 Views

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

USB on-the-go high-speed (OTG_HS) <strong>RM0090</strong><br />

Bit 25 HCINT: Host channels interrupt<br />

The core sets this bit to indicate that an interrupt is pending on one of the channels of the<br />

core (in host mode). The application must read the host all channels interrupt<br />

(OTG_HS_HAINT) register to determine the exact number of the channel on which the<br />

interrupt occurred, and then read the corresponding host channel-x interrupt<br />

(OTG_HS_HCINTx) register to determine the exact cause of the interrupt. The application<br />

must clear the appropriate status bit in the OTG_HS_HCINTx register to clear this bit.<br />

Note: Only accessible in host mode.<br />

Bit 24 HPRTINT: Host port interrupt<br />

The core sets this bit to indicate a change in port status of one of the OTG_HS controller<br />

ports in host mode. The application must read the host port control and status<br />

(OTG_HS_HPRT) register to determine the exact event that caused this interrupt. The<br />

application must clear the appropriate status bit in the host port control and status register to<br />

clear this bit.<br />

Note: Only accessible in host mode.<br />

Bits 23 Reserved, must be kept at reset value.<br />

Bit 22 DATAFSUSP: Data fetch suspended<br />

This interrupt is valid only in DMA mode. This interrupt indicates that the core has stopped<br />

fetching data for IN endpoints due to the unavailability of TxFIFO space or request queue<br />

space. This interrupt is used by the application for an endpoint mismatch algorithm. For<br />

example, after detecting an endpoint mismatch, the application:<br />

– Sets a global nonperiodic IN NAK handshake<br />

– Disables IN endpoints<br />

– Flushes the FIFO<br />

– Determines the token sequence from the IN token sequence learning queue<br />

– Re-enables the endpoints<br />

– Clears the global nonperiodic IN NAK handshake If the global nonperiodic IN NAK<br />

is cleared, the core has not yet fetched data for the IN endpoint, and the IN token is<br />

received: the core generates an “IN token received when FIFO empty” interrupt.<br />

The OTG then sends a NAK response to the host. To avoid this scenario, the<br />

application can check the FetSusp interrupt in OTG_FS_GINTSTS, which ensures<br />

that the FIFO is full before clearing a global NAK handshake. Alternatively, the<br />

application can mask the “IN token received when FIFO empty” interrupt when<br />

clearing a global IN NAK handshake.<br />

Bit 21 IPXFR: Incomplete periodic transfer<br />

In host mode, the core sets this interrupt bit when there are incomplete periodic transactions<br />

still pending, which are scheduled for the current frame.<br />

Note: Only accessible in host mode.<br />

INCOMPISOOUT: Incomplete isochronous OUT transfer<br />

In peripheral mode, the core sets this interrupt to indicate that there is at least one<br />

isochronous OUT endpoint on which the transfer is not completed in the current frame. This<br />

interrupt is asserted along with the End of periodic frame interrupt (EOPF) bit in this register.<br />

Note: Only accessible in peripheral mode.<br />

Bit 20 IISOIXFR: Incomplete isochronous IN transfer<br />

The core sets this interrupt to indicate that there is at least one isochronous IN endpoint on<br />

which the transfer is not completed in the current frame. This interrupt is asserted along with<br />

the End of periodic frame interrupt (EOPF) bit in this register.<br />

Note: Only accessible in peripheral mode.<br />

1191/1416 Doc ID 018909 Rev 3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!