Texas Instruments OMAP5912 Reference Manual page 1420

Multimedia processor device overview and architecture
Hide thumbs Also See for OMAP5912:
Table of Contents

Advertisement

USB Device Controller
Autodecoded Control Write Transfer Error Conditions
3.7.2
Autodecoded Control Read Transfers
Autodecoded Control Read Transfer Handshaking
Autodecoded Control Read Transfer Error Conditions
128
Universal Serial Bus (USB)
If the token packet or the data packet of a setup stage transaction has an error
(bad CRC, PID check, or bit stuffing error), the USB block ignores the
transaction. The USB block does not provide ACK handshaking in this case.
Autodecoded control reads include the standard device requests
GET_ENDPOINT and DEVICE_STATUS. These control read transfers
access information that is kept in registers inside the USB module, so MPU
code is not involved in filling the read data into the TX FIFO.
The USB module returns the currently selected appropriate status information
(depending on the wIndex value in the setup stage data packet) during the data
phase of the single IN transaction of the data stage, and provides ACK as the
handshake for the status stage handshake phase. The MPU receives no
interrupt.
The USB device controller module automatically provides ACK handshaking
for all transactions of all stages of autodecoded control read transfers, except
if a corrupted token packet is received, which the USB module ignores. The
CTRL.FIFO_EN and SYSCON2.STALL_CMD bits have no effect on the
handshaking. If the status packet has a DATA0 PID instead of a DATA1 PID,
status is STALLed and no interrupt is asserted to the MPU. If the setup packet
has a DATA1 PID instead of a DATA0 PID, setup transaction is ignored (error).
If the token phase or the data phase of a setup stage transaction has an error
(bad CRC, PID check, or bit stuffing error), the USB block ignores the
transaction. The USB block does not provide ACK handshaking in this case.
Data errors during the data stage of autodecoded control write transfers are
handled in the standard way; any data stage transaction from the host where
a data error occurs is ignored.
It is possible that the USB host sends a GET_ENDPOINT/DEVICE_STATUS
request with a bad parameter. If the autodecode mechanism senses a bad
parameter in the setup stage data phase, the autodecode mechanism causes
a STALL handshake to be signaled during the data phase of the data stage and
during the status stage.
SPRU761A

Advertisement

Table of Contents
loading

Table of Contents