![]() |
usbpsu
Vitis Drivers API Documentation
|
#include "xil_types.h"#include "xil_assert.h"#include "xstatus.h"#include "xusbpsu_hw.h"#include "xusbpsu_endpoint.h"#include "xil_io.h"#include "xil_util.h"#include "xil_cache.h"Data Structures | |
| struct | XUsbPsu_EvtBuffer |
| struct XUsbPsu_EvtBuffer - Software Event buffer representation Software Event buffer representation More... | |
| struct | XUsbPsu_Trb |
| struct XUsbPsu_Trb - Transfer Request Block - Hardware format Transfer Request Block - Hardware format More... | |
| struct | XUsbPsu_EpParams |
| struct XUsbPsu_EpParams - Endpoint Parameters Endpoint Parameters More... | |
| struct | SetupPacket |
| struct SetupPacket - USB Standard Control Request More... | |
| struct | XUsbPsu_Ep |
| struct XUsbPsu_Ep - Endpoint representation Endpoint representation More... | |
| struct | XUsbPsu_Config |
| struct XUsbPsu_Config - Configuration information for the USB More... | |
| struct | Usb_DevData |
| struct Usb_DevData - Application device data Application Data More... | |
| struct | XUsbPsu |
| USB Device Controller representation USB Device Controller representation. More... | |
| struct | XUsbPsu_Event_Type |
| struct XUsbPsu_Event_Type - Device Endpoint Events type Device Endpoint Events type More... | |
| struct | XUsbPsu_Event_Epevt |
| struct XUsbPsu_event_depvt - Device Endpoint Events Device Endpoint Events More... | |
| struct | XUsbPsu_Event_Devt |
| struct XUsbPsu_event_devt - Device Events Device Events More... | |
| struct | XUsbPsu_Event_Gevt |
| struct XUsbPsu_event_gevt - Other Core Events Core events More... | |
| union | XUsbPsu_Event |
| union XUsbPsu_event - representation of Event Buffer contents Representation of Event Buffers More... | |
Macros | |
| #define | XUSBPSU_H |
| by using protection macros More... | |
| #define | XUSBPSU_EP_DIR_IN 1U |
| Direction IN. More... | |
| #define | XUSBPSU_EP_DIR_OUT 0U |
| Direction OUT. More... | |
| #define | XUSBPSU_USB_DIR_OUT 0U |
| Direction to device. More... | |
| #define | XUSBPSU_USB_DIR_IN 0x80U |
| Direction to host. More... | |
| #define | XUSBPSU_ENDPOINT_XFERTYPE_MASK 0x03 |
| Transfer type mask. More... | |
| #define | XUSBPSU_ENDPOINT_XFER_CONTROL 0U |
| Control EP. More... | |
| #define | XUSBPSU_ENDPOINT_XFER_ISOC 1U |
| ISO EP. More... | |
| #define | XUSBPSU_ENDPOINT_XFER_BULK 2U |
| Bulk EP. More... | |
| #define | XUSBPSU_ENDPOINT_XFER_INT 3U |
| Interrupt EP. More... | |
| #define | XUSBPSU_ENDPOINT_MAX_ADJUSTABLE 0x80 |
| Max EP. More... | |
| #define | XUSBPSU_TEST_J 1U |
| Test Mode J. More... | |
| #define | XUSBPSU_TEST_K 2U |
| Test Mode K. More... | |
| #define | XUSBPSU_TEST_SE0_NAK 3U |
| Test Mode SE0_NAK. More... | |
| #define | XUSBPSU_TEST_PACKET 4U |
| Test Mode TEST PACKET. More... | |
| #define | XUSBPSU_TEST_FORCE_ENABLE 5U |
| Test Mode FORCE ENABLE. More... | |
| #define | XUSBPSU_STATE_ATTACHED 0U |
| Device State Attach. More... | |
| #define | XUSBPSU_STATE_POWERED 1U |
| Device State Power. More... | |
| #define | XUSBPSU_STATE_DEFAULT 2U |
| Device State Default. More... | |
| #define | XUSBPSU_STATE_ADDRESS 3U |
| Device State Address. More... | |
| #define | XUSBPSU_STATE_CONFIGURED 4U |
| Device State Configure. More... | |
| #define | XUSBPSU_STATE_SUSPENDED 5U |
| Device State Suspend. More... | |
| #define | XUSBPSU_SPEED_UNKNOWN 0U |
| Device Speed Unknown. More... | |
| #define | XUSBPSU_SPEED_LOW 1U |
| Device Speed Low. More... | |
| #define | XUSBPSU_SPEED_FULL 2U |
| Device Speed Full. More... | |
| #define | XUSBPSU_SPEED_HIGH 3U |
| Device Speed High. More... | |
| #define | XUSBPSU_SPEED_SUPER 4U |
| Device Speed Speed. More... | |
Typedefs | |
| typedef XUsbPsu_Config | Usb_Config |
| typedef configuration structure More... | |
Enumerations | |
| enum | XusbPsuLinkState { XUSBPSU_LINK_STATE_U0 = 0x00U, XUSBPSU_LINK_STATE_U1 = 0x01U, XUSBPSU_LINK_STATE_U2 = 0x02U, XUSBPSU_LINK_STATE_U3 = 0x03U, XUSBPSU_LINK_STATE_SS_DIS = 0x04U, XUSBPSU_LINK_STATE_RX_DET = 0x05U, XUSBPSU_LINK_STATE_SS_INACT = 0x06U, XUSBPSU_LINK_STATE_POLL = 0x07U, XUSBPSU_LINK_STATE_RECOV = 0x08U, XUSBPSU_LINK_STATE_HRESET = 0x09U, XUSBPSU_LINK_STATE_CMPLY = 0x0AU, XUSBPSU_LINK_STATE_LPBK = 0x0BU, XUSBPSU_LINK_STATE_RESET = 0x0EU, XUSBPSU_LINK_STATE_RESUME = 0x0FU } |
| enum | XusbPsuLinkStateChange { XUSBPSU_LINK_STATE_CHANGE_U0 = 0x00U, XUSBPSU_LINK_STATE_CHANGE_SS_DIS = 0x04U, XUSBPSU_LINK_STATE_CHANGE_RX_DET = 0x05U, XUSBPSU_LINK_STATE_CHANGE_SS_INACT = 0x06U, XUSBPSU_LINK_STATE_CHANGE_RECOV = 0x08U, XUSBPSU_LINK_STATE_CHANGE_CMPLY = 0x0AU } |
Functions | |
| s32 | XUsbPsu_CfgInitialize (struct XUsbPsu *InstancePtr, XUsbPsu_Config *ConfigPtr, u32 BaseAddress) |
| This function does the following: More... | |
| s32 | XUsbPsu_Start (struct XUsbPsu *InstancePtr) |
| Starts the controller so that host can detect this device. More... | |
| s32 | XUsbPsu_Stop (struct XUsbPsu *InstancePtr) |
| Stops the controller so that the device disconnects from the host. More... | |
| s32 | XUsbPsu_SetU1SleepTimeout (struct XUsbPsu *InstancePtr, u8 Timeout) |
| Sets U1 sleep timeout. More... | |
| s32 | XUsbPsu_SetU2SleepTimeout (struct XUsbPsu *InstancePtr, u8 Timeout) |
| Sets U2 sleep timeout. More... | |
| s32 | XUsbPsu_AcceptU1U2Sleep (struct XUsbPsu *InstancePtr) |
| Enable Accept U1 and U2 sleep enable. More... | |
| s32 | XUsbPsu_U1SleepEnable (struct XUsbPsu *InstancePtr) |
| Enables U1 enable sleep. More... | |
| s32 | XUsbPsu_U2SleepEnable (struct XUsbPsu *InstancePtr) |
| Enables U2 enable sleep. More... | |
| s32 | XUsbPsu_U1SleepDisable (struct XUsbPsu *InstancePtr) |
| Enables U1 disable sleep. More... | |
| s32 | XUsbPsu_U2SleepDisable (struct XUsbPsu *InstancePtr) |
| Enables U2 disable sleep. More... | |
| s32 | XUsbPsu_IsSuperSpeed (struct XUsbPsu *InstancePtr) |
| Checks if the current speed is super speed or not. More... | |
| s32 | XUsbPsu_EpEnable (struct XUsbPsu *InstancePtr, u8 UsbEpNum, u8 Dir, u16 Maxsize, u8 Type, u8 Restore) |
| Enables endpoint for sending/receiving data. More... | |
| s32 | XUsbPsu_EpDisable (struct XUsbPsu *InstancePtr, u8 UsbEpNum, u8 Dir) |
| Disables Endpoint. More... | |
| void | XUsbPsu_ClearStalls (struct XUsbPsu *InstancePtr) |
| Clears stall on all endpoints. More... | |
| s32 | XUsbPsu_EpBufferSend (struct XUsbPsu *InstancePtr, u8 UsbEp, u8 *BufferPtr, u32 BufferLen) |
| Initiates DMA to send data on endpoint to the host. More... | |
| s32 | XUsbPsu_EpBufferRecv (struct XUsbPsu *InstancePtr, u8 UsbEp, u8 *BufferPtr, u32 Length) |
| Initiates DMA to receive data on endpoint from host. More... | |
| void | XUsbPsu_EpSetStall (struct XUsbPsu *InstancePtr, u8 Epnum, u8 Dir) |
| Stalls an endpoint. More... | |
| void | XUsbPsu_EpClearStall (struct XUsbPsu *InstancePtr, u8 Epnum, u8 Dir) |
| Clears stall on an endpoint. More... | |
| void | XUsbPsu_SetEpHandler (struct XUsbPsu *InstancePtr, u8 Epnum, u8 Dir, void(*Handler)(void *, u32, u32)) |
| Sets an user handler to be called after data is sent/received by an endpoint. More... | |
| s32 | XUsbPsu_IsEpStalled (struct XUsbPsu *InstancePtr, u8 Epnum, u8 Dir) |
| Returns status of endpoint whether it is stalled or not. More... | |
| void | XUsbPsu_StopTransfer (struct XUsbPsu *InstancePtr, u8 UsbEpNum, u8 Dir, u8 Force) |
| Stops transfer on Endpoint. More... | |
| void | XUsbPsu_IntrHandler (void *XUsbPsuInstancePtr) |
| Main interrupt handler. More... | |
| void | XUsbPsu_EnableIntr (struct XUsbPsu *InstancePtr, u32 Mask) |
| Enables an interrupt in event enable RegValister. More... | |
| void | XUsbPsu_DisableIntr (struct XUsbPsu *InstancePtr, u32 Mask) |
| Disables an interrupt in event enable RegValister. More... | |
| s32 | XUsbPsu_SetDeviceAddress (struct XUsbPsu *InstancePtr, u16 Addr) |
| Sets the device address of the core. More... | |
| void | XUsbPsu_Idle (struct XUsbPsu *InstancePtr) |
| This function puts the controller into idle state by stopping the transfers for all endpoints, stopping the usb core, and clearing the event buffers. More... | |
| void | XUsbPsu_SetSpeed (struct XUsbPsu *InstancePtr, u32 Speed) |
| Sets speed of the core for connecting to host. More... | |
| void | XUsbPsu_Sleep (u32 USeconds) |
| API for Sleep routine. More... | |
| void | XUsbPsu_Ep0StallRestart (struct XUsbPsu *InstancePtr) |
| Stalls control endpoint and restarts to receive setup packet. More... | |
| XUsbPsu_Config * | XUsbPsu_LookupConfig (u32 BaseAddress) |
| Looks up the device configuration based on the unique device ID/BaseAddress. More... | |
Variables | |
| XUsbPsu_Config | XUsbPsu_ConfigTable [] |
| Configuration table. More... | |