Universal Serial Bus OTG Controller
UG0331 User Guide Revision 15.0
304
If the SmartFusion2 USB OTG controller is used in USB Device mode with the USB standard class like
mass storage, human interface device (HID), communications device etc. and have implemented the
class driver application, then the SmartFusion2 device will be connected automatically by the USB host
(for example, PC), and will perform the data transfers as per the application protocol.
If the SmartFusion2 USB OTG controller is used as a vendor-specific application with a vendor-specific-
class-driver and an application code, then Microsemi recommends implementing the USB host class
drivers for the USB host (for example, PC) that SmartFusion2 communicates through the USB protocol.
The firmware catalog in the Libero SoC design software, as shown in the following figure, has the
reference implementations for the class drivers and application code for the USB standard mass storage,
HID, and the communications device. Microsemi recommends to refer these drivers to implement the
USB device application as per the requirements.
Figure 151 •
Firmware Catalog with MSS USB Firmware Drivers and Sample Class Drivers
For more implementation details on the USB Protocol for the USB Device mode, refer to the
USB 2.0
specifications
.
Microsemi provides the device drivers for the USB OTG controller for SmartFusion2 and recommends
using these drivers for the application development. The USB OTG drivers are implemented in two
layers: USB logical driver layer (LDL) and USB core interface layer (CIL). CIL layer is the interface
between the MSS USB OTG HW core and LDL.
The following table lists the APIs available in the USB firmware drivers and the description of CIL.
Table 194 •
APIs available in USB Firmware Drivers and Description of CIL
API
Description
MSS_USB_core_get_configdata()
Returns the hardware (HW) configuration of the MSS USB core. This
configuration cannot be changed.
MSS_USB_core_cep_flush_fifo()
Flushes the content of the Control EP FIFO.
MSS_USB_core_tx_ep_flush_fifo()
Flushes the content of transmit EP FIFO.
MSS_USB_core_rx_ep_flush_fifo()
Flushes the content of receive EP FIFO.
Содержание SmartFusion2 MSS
Страница 1: ...UG0331 User Guide SmartFusion2 Microcontroller Subsystem ...
Страница 166: ...Cortex M3 Processor Reference Material UG0331 User Guide Revision 15 0 132 ...
Страница 200: ...Embedded NVM eNVM Controllers UG0331 User Guide Revision 15 0 166 Figure 87 System Builder Window ...
Страница 407: ...Universal Serial Bus OTG Controller UG0331 User Guide Revision 15 0 373 ...
Страница 806: ...Fabric Interface Controller UG0331 User Guide Revision 15 0 772 Figure 345 FIC Master AHB Lite Subsystem ...