00001 #ifndef _USB_COMMUN_H_ 00002 #define _USB_COMMUN_H_ 00003 00005 #define VID_ATMEL 0x03EB 00006 00007 00010 #define PID_MegaHIDGeneric 0x2013 00011 #define PID_MegaHIDKeyboard 0x2017 00012 #define PID_MegaCDC 0x2018 00013 #define PID_MegaAUDIO_IN 0x2019 00014 #define PID_MegaMS 0x201A 00015 #define PID_MegaAUDIO_IN_OUT 0x201B 00016 #define PID_MegaHIDMouse 0x201C 00017 #define PID_MegaHIDMouse_certif_U4 0x201D 00018 #define PID_MegaCDC_multi 0x201E 00019 #define PID_AT90USB128_64_MS_HIDMS_HID_USBKEY 0x2022 00020 #define PID_AT90USB128_64_MS_HIDMS_HID_STK525 0x2023 00021 #define PID_AT90USB128_64_MS 0x2029 00022 #define PID_Mega_MS_HIDMS 0x202A 00023 #define PID_MegaMS_2 0x2032 00024 #define PID_MegaLibUsb 0x2050 00025 #define PID_ATMega16U2_DFU 0x2FEF 00026 #define PID_ATMega32U2_DFU 0x2FF0 00027 #define PID_ATMega32U6_DFU 0x2FF2 00028 #define PID_ATMega16U4_DFU 0x2FF3 00029 #define PID_ATMega32U4_DFU 0x2FF4 00030 #define PID_AT90USB82_DFU 0x2FF7 00031 #define PID_AT90USB64_DFU 0x2FF9 00032 #define PID_AT90USB162_DFU 0x2FFA 00033 #define PID_AT90USB128_DFU 0x2FFB 00035 00036 00039 #define CLASS_APPLICATION 0xFE 00040 #define CLASS_VENDOR 0xFF 00041 #define NO_CLASS 0x00 00042 #define NO_SUBCLASS 0x00 00043 #define NO_PROTOCOL 0x00 00045 00048 #define CLASS_IAD 0xEF 00049 #define SUB_CLASS_IAD 0x02 00050 #define PROTOCOL_IAD 0x01 00051 00053 00059 #define USB_DEVICE_STATUS_BUS_POWERED 0x00 00060 #define USB_DEVICE_STATUS_SELF_POWERED 0x01 00061 #define USB_DEVICE_STATUS_REMOTEWAKEUP 0x02 00062 #define USB_DEVICE_STATUS_BATTERYPOWERED 0x04 00064 00065 00068 #define USB_CONFIG_ATTRIBUTES_RESERVED 0x80 00069 #define USB_CONFIG_ATTRIBUTES_REMOTEWAKEUP 0x20 00070 #define USB_CONFIG_ATTRIBUTES_SELFPOWERED 0x40 00071 #define USB_CONFIG_BUSPOWERED (USB_CONFIG_ATTRIBUTES_RESERVED) 00072 #define USB_CONFIG_REMOTEWAKEUP (USB_CONFIG_ATTRIBUTES_RESERVED | USB_CONFIG_ATTRIBUTES_REMOTEWAKEUP) 00073 #define USB_CONFIG_SELFPOWERED (USB_CONFIG_ATTRIBUTES_RESERVED | USB_CONFIG_ATTRIBUTES_SELFPOWERED) 00075 00076 00079 #define USB_ENDPOINT_BULK 0x02 00080 #define USB_ENDPOINT_INTERRUPT 0x03 00081 #define USB_ENDPOINT_OUT 0x00 00082 #define USB_ENDPOINT_IN 0x80 00083 #define USB_ENDPOINT_DIR_MASK 0x80 00084 #define USB_ENDPOINT_NUM_MASK (~USB_ENDPOINT_DIR_MASK) 00086 00087 00090 00093 00099 #define USB_SETUP_DIR_HOST_TO_DEVICE (0<<7) 00100 #define USB_SETUP_DIR_DEVICE_TO_HOST (1<<7) 00102 00110 #define USB_SETUP_TYPE_STANDARD (0<<5) 00111 #define USB_SETUP_TYPE_CLASS (1<<5) 00112 #define USB_SETUP_TYPE_VENDOR (2<<5) 00114 00123 #define USB_SETUP_RECIPIENT_DEVICE (0) 00124 #define USB_SETUP_RECIPIENT_INTERFACE (1) 00125 #define USB_SETUP_RECIPIENT_ENDPOINT (2) 00126 #define USB_SETUP_RECIPIENT_OTHER (3) 00128 00131 #define USB_SETUP_SET_STAND_DEVICE (USB_SETUP_DIR_HOST_TO_DEVICE |USB_SETUP_TYPE_STANDARD |USB_SETUP_RECIPIENT_DEVICE) // 0x00 00132 #define USB_SETUP_GET_STAND_DEVICE (USB_SETUP_DIR_DEVICE_TO_HOST |USB_SETUP_TYPE_STANDARD |USB_SETUP_RECIPIENT_DEVICE) // 0x80 00133 #define USB_SETUP_SET_STAND_INTERFACE (USB_SETUP_DIR_HOST_TO_DEVICE |USB_SETUP_TYPE_STANDARD |USB_SETUP_RECIPIENT_INTERFACE) // 0x01 00134 #define USB_SETUP_GET_STAND_INTERFACE (USB_SETUP_DIR_DEVICE_TO_HOST |USB_SETUP_TYPE_STANDARD |USB_SETUP_RECIPIENT_INTERFACE) // 0x81 00135 #define USB_SETUP_SET_STAND_ENDPOINT (USB_SETUP_DIR_HOST_TO_DEVICE |USB_SETUP_TYPE_STANDARD |USB_SETUP_RECIPIENT_ENDPOINT) // 0x02 00136 #define USB_SETUP_GET_STAND_ENDPOINT (USB_SETUP_DIR_DEVICE_TO_HOST |USB_SETUP_TYPE_STANDARD |USB_SETUP_RECIPIENT_ENDPOINT) // 0x82 00138 00141 #define USB_SETUP_SET_CLASS_DEVICE (USB_SETUP_DIR_HOST_TO_DEVICE |USB_SETUP_TYPE_CLASS |USB_SETUP_RECIPIENT_DEVICE) // 0x20 00142 #define USB_SETUP_GET_CLASS_DEVICE (USB_SETUP_DIR_DEVICE_TO_HOST |USB_SETUP_TYPE_CLASS |USB_SETUP_RECIPIENT_DEVICE) // 0xA0 00143 #define USB_SETUP_SET_CLASS_INTER (USB_SETUP_DIR_HOST_TO_DEVICE |USB_SETUP_TYPE_CLASS |USB_SETUP_RECIPIENT_INTERFACE) // 0x21 00144 #define USB_SETUP_GET_CLASS_INTER (USB_SETUP_DIR_DEVICE_TO_HOST |USB_SETUP_TYPE_CLASS |USB_SETUP_RECIPIENT_INTERFACE) // 0xA1 00145 #define USB_SETUP_SET_CLASS_ENDPOINT (USB_SETUP_DIR_HOST_TO_DEVICE |USB_SETUP_TYPE_CLASS |USB_SETUP_RECIPIENT_ENDPOINT) // 0x22 00146 #define USB_SETUP_GET_CLASS_ENDPOINT (USB_SETUP_DIR_DEVICE_TO_HOST |USB_SETUP_TYPE_CLASS |USB_SETUP_RECIPIENT_ENDPOINT) // 0xA2 00147 #define USB_SETUP_SET_CLASS_OTHER (USB_SETUP_DIR_HOST_TO_DEVICE |USB_SETUP_TYPE_CLASS |USB_SETUP_RECIPIENT_OTHER) // 0x23 00148 #define USB_SETUP_GET_CLASS_OTHER (USB_SETUP_DIR_DEVICE_TO_HOST |USB_SETUP_TYPE_CLASS |USB_SETUP_RECIPIENT_OTHER) // 0xA3 00149 #define USB_SETUP_SET_VENDOR_DEVICE (USB_SETUP_DIR_HOST_TO_DEVICE |USB_SETUP_TYPE_VENDOR |USB_SETUP_RECIPIENT_DEVICE) // 0x40 00150 #define USB_SETUP_GET_VENDOR_DEVICE (USB_SETUP_DIR_DEVICE_TO_HOST |USB_SETUP_TYPE_VENDOR |USB_SETUP_RECIPIENT_DEVICE) // 0xC0 00153 00156 #define SETUP_GET_STATUS 0x00 00157 #define SETUP_GET_DEVICE 0x01 00158 #define SETUP_CLEAR_FEATURE 0x01 00159 #define SETUP_GET_STRING 0x03 00160 #define SETUP_SET_FEATURE 0x03 00161 #define SETUP_SET_ADDRESS 0x05 00162 #define SETUP_GET_DESCRIPTOR 0x06 00163 #define SETUP_SET_DESCRIPTOR 0x07 00164 #define SETUP_GET_CONFIGURATION 0x08 00165 #define SETUP_SET_CONFIGURATION 0x09 00166 #define SETUP_GET_INTERFACE 0x0A 00167 #define SETUP_SET_INTERFACE 0x0B 00168 #define SETUP_SYNCH_FRAME 0x0C 00170 00173 #define DESCRIPTOR_DEVICE 0x01 00174 #define DESCRIPTOR_CONFIGURATION 0x02 00175 #define DESCRIPTOR_STRING 0x03 00176 #define DESCRIPTOR_INTERFACE 0x04 00177 #define DESCRIPTOR_ENDPOINT 0x05 00178 #define DESCRIPTOR_DEVICE_QUALIFIER 0x06 00179 #define DESCRIPTOR_CONF_OTHER_SPEED 0x07 00180 #define DESCRIPTOR_OTG 0x09 00181 #define DESCRIPTOR_IAD 0x0B 00183 00186 #define FEATURE_DEVICE_REMOTE_WAKEUP 0x01 00187 #define FEATURE_DEVICE_TEST 0x02 00188 #define FEATURE_DEVICE_OTG_B_HNP_ENABLE 0x03 00189 #define FEATURE_DEVICE_OTG_A_HNP_SUPPORT 0x04 00190 #define FEATURE_DEVICE_OTG_A_ALT_HNP_SUPPORT 0x05 00191 #define FEATURE_ENDPOINT_HALT 0x00 00193 00196 #define FEATURE_DEVICE_TEST_J 0x01 00197 #define FEATURE_DEVICE_TEST_K 0x02 00198 #define FEATURE_DEVICE_TEST_SEO_NAK 0x03 00199 #define FEATURE_DEVICE_TEST_PACKET 0x04 00200 #define FEATURE_DEVICE_TEST_FORCE_ENABLE 0x05 00203 00206 #define DESCRIPTOR_OTG_bLength 0x03 00207 #define HNP_SUPPORT 0x02 00208 #define SRP_SUPPORT 0x01 00210 00211 00212 #endif // _USB_COMMUN_H_ 00213