![]() |
usbps
Xilinx SDK Drivers API Documentation
|
This file contains definitions used in the chapter 9 code.
MODIFICATION HISTORY:
Ver Who Date Changes
1.00a wgr 10/10/10 First release 1.04a nm 03/04/13 Fixed CR# 704022. Implemented TEST_MODE Feature. 2.1 kpc 04/28/14 Added macros specific to cache operations
Macros | |
Request types | |
#define | XUSBPS_REQ_TYPE_MASK 0x60 |
Mask for request opcode. More... | |
#define | XUSBPS_CMD_STDREQ 0x00 |
#define | XUSBPS_CMD_CLASSREQ 0x20 |
#define | XUSBPS_CMD_VENDREQ 0x40 |
#define | XUSBPS_REQ_REPLY_LEN 1024 |
Max size of reply buffer. More... | |
Request Values | |
#define | XUSBPS_REQ_GET_STATUS 0x00 |
#define | XUSBPS_REQ_CLEAR_FEATURE 0x01 |
#define | XUSBPS_REQ_SET_FEATURE 0x03 |
#define | XUSBPS_REQ_SET_ADDRESS 0x05 |
#define | XUSBPS_REQ_GET_DESCRIPTOR 0x06 |
#define | XUSBPS_REQ_SET_DESCRIPTOR 0x07 |
#define | XUSBPS_REQ_GET_CONFIGURATION 0x08 |
#define | XUSBPS_REQ_SET_CONFIGURATION 0x09 |
#define | XUSBPS_REQ_GET_INTERFACE 0x0a |
#define | XUSBPS_REQ_SET_INTERFACE 0x0b |
#define | XUSBPS_REQ_SYNC_FRAME 0x0c |
Feature Selectors | |
#define | XUSBPS_ENDPOINT_HALT 0x00 |
#define | XUSBPS_DEVICE_REMOTE_WAKEUP 0x01 |
#define | XUSBPS_TEST_MODE 0x02 |
Descriptor Types | |
#define | XUSBPS_TYPE_DEVICE_DESC 0x01 |
#define | XUSBPS_TYPE_CONFIG_DESC 0x02 |
#define | XUSBPS_TYPE_STRING_DESC 0x03 |
#define | XUSBPS_TYPE_IF_CFG_DESC 0x04 |
#define | XUSBPS_TYPE_ENDPOINT_CFG_DESC 0x05 |
#define | XUSBPS_TYPE_DEVICE_QUALIFIER 0x06 |
#define | XUSBPS_TYPE_HID_DESC 0x21 |
#define | XUSBPS_TYPE_REPORT_DESC 0x22 |
USB Device States | |
#define | XUSBPS_DEVICE_ATTACHED 0x00 |
#define | XUSBPS_DEVICE_POWERED 0x01 |
#define | XUSBPS_DEVICE_DEFAULT 0x02 |
#define | XUSBPS_DEVICE_ADDRESSED 0x03 |
#define | XUSBPS_DEVICE_CONFIGURED 0x04 |
#define | XUSBPS_DEVICE_SUSPENDED 0x05 |
Status type | |
#define | XUSBPS_STATUS_MASK 0x3 |
#define | XUSBPS_STATUS_DEVICE 0x0 |
#define | XUSBPS_STATUS_INTERFACE 0x1 |
#define | XUSBPS_STATUS_ENDPOINT 0x2 |
EP Types | |
#define | XUSBPS_EP_CONTROL 0 |
#define | XUSBPS_EP_ISOCHRONOUS 1 |
#define | XUSBPS_EP_BULK 2 |
#define | XUSBPS_EP_INTERRUPT 3 |
Device Classes | |
#define | XUSBPS_CLASS_HID 0x03 |
#define | XUSBPS_CLASS_STORAGE 0x08 |
#define | XUSBPS_CLASS_VENDOR 0xFF |
Test Mode Selectors | |
#define | XUSBPS_TEST_J 0x01 |
#define | XUSBPS_TEST_K 0x02 |
#define | XUSBPS_TEST_SE0_NAK 0x03 |
#define | XUSBPS_TEST_PACKET 0x04 |
#define | XUSBPS_TEST_FORCE_ENABLE 0x05 |
Functions | |
int | XUsbPs_Ch9HandleSetupPacket (XUsbPs *InstancePtr, XUsbPs_SetupData *SetupData) |
This function handles a Setup Data packet from the host. More... | |
#define XUSBPS_REQ_REPLY_LEN 1024 |
Max size of reply buffer.
#define XUSBPS_REQ_TYPE_MASK 0x60 |
Mask for request opcode.
Referenced by XUsbPs_Ch9HandleSetupPacket().
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.