62 FX3 Programmers Manual, Doc. # 001-64707 Rev. *C
FX3 Firmware
■ Connect and disconnect the USB pins
■ Set and get the endpoint configuration
■ Get the endpoint status
■ Set up data transfer on an endpoint
■ Flush and endpoint
■ Stall or Nak an endpoint
■ Get or send data on endpoint 0
■ Register callbacks for setup requests and USB events
5.2.1.5 USB Host Mode APIs
The USB Host Mode APIs are used to configure the FX3 device for USB Host mode of operation.
These include APIs for
■ Start and stop the USB Host stack in the firmware
■ Enable/disable the USB Host port
■ Reset/suspend/resume the USB Host port
■ Get/set the device address
■ Add/remove/reset an endpoint
■ Schedule and perform EP0 transfers
■ Setup/abort data transfers on endpoints.
5.2.1.6 USB OTG Mode APIs
The USB OTG Mode APIs are used to configure the USB port functionality and peripheral detection.
These include APIs for
■ Start and stop the USB OTG mode stack in firmware
■ Get the current mode (Host/Device)
■ Start/abort and SRP request
■ Initiate a HNP (role change)
■ Request remote host for HNP
5.2.2 GPIF II Block
The GPIF II is a general-purpose configurable I/O interface, which is driven through state machines.
As a result, the GPIF II enables a flexible interface that can function either as a master or slave in
many parallel and serial protocols. These may be industry standard or proprietary.
The features of the GPIF II interface are as follows:
■ Functions as master or slave
■ Provides 256 firmware programmable states
■ Supports 8-bit, 16-bit, and 32-bit data path
■ Enables interface frequencies of up to 100 MHz