
ISD-300A1
24
October 19, 2001
Illegal values for wValue will result in a STALL condition on the USB port. Attempted reads from an I
2
C
memory device when none is connected or attempted reads from FBh data when not in I_MODE will result
in a STALL condition. Attempts to read configuration bytes with starting addresses greater than 0xF will
also result in a STALL condition.
SOFT_RESET
This request resets the ISD-300A1’s data path control state machines, buffer RAM and command queue.
The attached device is not reset. This USB request is required for error recovery while complex command
queuing is enabled.
Issuing a SOFT_RESET when complex command queuing is not enabled will result in a STALL condition.
CMD_QUEUING_CONTROL
This request sets the type of command queuing used by the ISD-300A1. Command queuing is a vendor
specific feature of the ISD-300A1 that allows the CBW (refer to the USB Mass Storage Class Bulk Only
Transport Specification) and possibly data for a new command to be transferred before the CSW for the
previous command has been sent. Queuing commands can hide delays between the CBW, data, and CSW
of a command and between commands, and thus improve overall system performance. The ISD-300A1
supports two types of command queuing: simple and complex.
Simple Command Queuing
In simple command queuing the ISD-300A1 stops when there is a phase error and does not process a
queued CBW. But when there is a device error the ISD-300A1 continues and processes the queued
command. It is up to the host to notice the "command failed" status in the CSW for the first command and
recover from the error even though the subsequent queued command might have changed the state of the
attached device after the error occurred.
0x0000
0x0001
0x0002
0x0003
Configuration bytes, addresses 0x0 – 0xF only
Internal ROM
External I
2
C memory device
Vendor-specific identify (FBh) data