![]() |
usbps
Vitis Drivers API Documentation
|
This file contains the implementation of the chapter 9 code for the example.
MODIFICATION HISTORY:
Ver Who Date Changes
1.00a jz 10/10/10 First release 1.04a nm 02/05/13 Fixed CR# 696550. Added template code for Vendor request. 1.04a nm 03/04/13 Fixed CR# 704022. Implemented TEST_MODE Feature. 1.06a kpc 11/11/13 Always use global memory for dma operations 2.1 kpc 4/29/14 Align dma buffers to cache line boundary 2.4 vak 4/01/19 Fixed IAR data_alignment warnings 2.9 nd 3/18/24 Fixed failures reported by CV test suite. *
Functions | |
| void | XUsbPs_ClassReq (XUsbPs *InstancePtr, XUsbPs_SetupData *SetupData) |
| This function is called by Chapter9 handler when class request is received from Host. More... | |
| u32 | XUsbPs_Ch9SetupDevDescReply (u8 *BufPtr, u32 BufLen) |
| This function returns the device descriptor for the device. More... | |
| u32 | XUsbPs_Ch9SetupCfgDescReply (u8 *BufPtr, u32 BufLen) |
| This function returns the configuration descriptor for the device. More... | |
| u32 | XUsbPs_Ch9SetupStrDescReply (u8 *BufPtr, u32 BufLen, u8 Index) |
| This function returns a string descriptor for the given index. More... | |
| void | XUsbPs_SetConfiguration (XUsbPs *InstancePtr, int ConfigIdx) |
| Changes State of Core to USB configured State. More... | |
| void | XUsbPs_SetConfigurationApp (XUsbPs *InstancePtr, XUsbPs_SetupData *SetupData) |
| This function is called by Chapter9 handler when SET_CONFIGURATION command is received from Host. More... | |
| void | XUsbPs_SetInterfaceHandler (XUsbPs *InstancePtr, XUsbPs_SetupData *SetupData) |
| This function is called by Chapter9 handler when SET_CONFIGURATION command or SET_INTERFACE command is received from Host. More... | |
| int | XUsbPs_Ch9HandleSetupPacket (XUsbPs *InstancePtr, XUsbPs_SetupData *SetupData) |
| This function handles a Setup Data packet from the host. More... | |
| void | XUsbPs_SetConfigDone (void *InstancePtr, u8 Flag) |
| Set the Config state. More... | |
| u8 | XUsbPs_GetConfigDone (void *InstancePtr) |
| Get the Config state. More... | |
| int XUsbPs_Ch9HandleSetupPacket | ( | XUsbPs * | InstancePtr, |
| XUsbPs_SetupData * | SetupData | ||
| ) |
This function handles a Setup Data packet from the host.
| InstancePtr | is a pointer to XUsbPs instance of the controller. |
| SetupData | is the structure containing the setup request. |
References XUsbPs_SetupData::bmRequestType, XUsbPs_SetupData::bRequest, XUsbPs_ClassReq(), XUSBPS_EP_DIRECTION_IN, XUSBPS_EP_DIRECTION_OUT, XUsbPs_EpStall, and XUSBPS_REQ_TYPE_MASK.
| u32 XUsbPs_Ch9SetupCfgDescReply | ( | u8 * | BufPtr, |
| u32 | BufLen | ||
| ) |
This function returns the configuration descriptor for the device.
| InstancePtr | is a pointer to the Usb_DevData instance. |
| BufPtr | is the pointer to the buffer that is to be filled with the descriptor. |
| BufLen | is the size of the provided buffer. |
| BufPtr | is the pointer to the buffer that is to be filled with the descriptor. |
| BufLen | is the size of the provided buffer. |
| u32 XUsbPs_Ch9SetupDevDescReply | ( | u8 * | BufPtr, |
| u32 | BufLen | ||
| ) |
This function returns the device descriptor for the device.
| InstancePtr | is a pointer to the Usb_DevData instance. |
| BufPtr | is pointer to the buffer that is to be filled with the descriptor. |
| BufLen | is the size of the provided buffer. |
| BufPtr | is pointer to the buffer that is to be filled with the descriptor. |
| BufLen | is the size of the provided buffer. |
| u32 XUsbPs_Ch9SetupStrDescReply | ( | u8 * | BufPtr, |
| u32 | BufLen, | ||
| u8 | Index | ||
| ) |
This function returns a string descriptor for the given index.
| InstancePtr | is a pointer to the Usb_DevData instance. |
| BufPtr | is a pointer to the buffer that is to be filled with the descriptor. |
| BufLen | is the size of the provided buffer. |
| Index | is the index of the string for which the descriptor is requested. |
| BufPtr | is a pointer to the buffer that is to be filled with the descriptor. |
| BufLen | is the size of the provided buffer. |
| Index | is the index of the string for which the descriptor is requested. |
| void XUsbPs_ClassReq | ( | XUsbPs * | InstancePtr, |
| XUsbPs_SetupData * | SetupData | ||
| ) |
This function is called by Chapter9 handler when class request is received from Host.
| InstancePtr | is pointer to Usb_DevData instance. |
| SetupData | is the setup packet received from Host. |
This function is called by Chapter9 handler when class request is received from Host.
| InstancePtr | is a pointer to XUsbPs instance of the controller. |
| SetupData | is the setup data structure containing the setup request. |
Referenced by XUsbPs_Ch9HandleSetupPacket().
| u8 XUsbPs_GetConfigDone | ( | void * | InstancePtr | ) |
Get the Config state.
| InstancePtr | is a private member of Usb_DevData instance. |
| void XUsbPs_SetConfigDone | ( | void * | InstancePtr, |
| u8 | Flag | ||
| ) |
Set the Config state.
| InstancePtr | is a private member of Usb_DevData instance. |
| Flag | is the config value. |
Referenced by XUsbPs_SetConfiguration(), and XUsbPs_SetConfigurationApp().
| void XUsbPs_SetConfiguration | ( | XUsbPs * | InstancePtr, |
| int | ConfigIdx | ||
| ) |
Changes State of Core to USB configured State.
| InstancePtr | is a pointer to the Usb_DevData instance. |
| Ctrl | is a pointer to the Setup packet data. |
Changes State of Core to USB configured State.
| InstancePtr | is a pointer to XUsbPs instance of the controller. |
| ConfigIdx | is the Index of the desired configuration. |
| void XUsbPs_SetConfigurationApp | ( | XUsbPs * | InstancePtr, |
| XUsbPs_SetupData * | SetupData | ||
| ) |
This function is called by Chapter9 handler when SET_CONFIGURATION command is received from Host.
| InstancePtr | is pointer to Usb_DevData instance. |
| SetupData | is the setup packet received from Host. |
| InstancePtr | is pointer to XUsbPs instance of the controller. |
| SetupData | is the setup packet received from Host. |
| void XUsbPs_SetInterfaceHandler | ( | XUsbPs * | InstancePtr, |
| XUsbPs_SetupData * | SetupData | ||
| ) |
This function is called by Chapter9 handler when SET_CONFIGURATION command or SET_INTERFACE command is received from Host.
| InstancePtr | is pointer to Usb_DevData instance. |
| SetupData | is the setup packet received from Host. |
| InstancePtr | is pointer to XUsbPs instance of the controller. |
| SetupData | is the setup packet received from Host. |