Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: USB Access (ixUSB) API
April 2005 IXP400 Software Version 2.0 Programmer’s Guide
302 Document Number: 252539, Revision: 007
22.4 ixUSB API Interfaces
The ixUSB API components operate within a callback architecture. Initial device setup and
configuration is controlled through the callback registered during the ixUSBSetupCallbackRegister
function. Data reception occurs through the callback registered during the
ixUSBReceiveCallbackRegister function. Special events are signalled to the callback registered
during the ixUSBEventCallbackRegister function.
Prior to using any other ixUSB API, the ixUSB client must initialize the controller with the
ixUSBDriverInit API call. After this call the driver is in a disabled state. The call to
ixUSBDeviceEnable allows data, setup, and configuration transmissions to flow.
22.4.1 ixUSB Setup Requests
The UDC’s control, status, and data registers are used only to control and monitor the transmit and
receive FIFOs for endpoints 1 - 15. All other UDC configuration and status reporting are controlled
by the host, via the USB, using device requests that are sent as control transactions to endpoint 0.
Each data packet of a setup stage to endpoint 0 is 8 bytes long and specifies:
Data transfer direction
Host to device
Device to host
Table 59. API interfaces Available for Access Layer
API Description
ixUSBDriverInit Initialize driver and USB Device Controller.
ixUSBDeviceEnable Enable or disable the device.
ixUSBEndpointStall Enable or disable endpoint stall.
ixUSBEndpointClear Free all Rx/Tx buffers associated with an endpoint.
ixUSBSignalResume Trigger signal resuming on the bus.
ixUSBFrameCounterGet Retrieve the 11-bit frame counter.
ixUSBReceiveCallbackRegister Register a data-receive callback.
ixUSBSetupCallbackRegister Register a setup-receive callback.
ixUSBBufferSubmit Submit a buffer for transmit.
ixUSBBufferCancel Cancel a buffer previously submitted for transmitting.
ixUSBEventCallbackRegister Register an event callback.
ixUSBIsEndpointStalled Retrieve an endpoint's stall status.
ixUSBStatisticsShow Display device state and statistics.
ixUSBErrorStringGet Convert an error code into a human-readable string error message.
ixUSBEndpointInfoShow Display endpoint information table.