diff -r b7e488c49d0d -r 117faf51deac omap3530/beagle_drivers/wb/api/include/cyasch9.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omap3530/beagle_drivers/wb/api/include/cyasch9.h Wed Mar 03 13:10:32 2010 +0000 @@ -0,0 +1,325 @@ +/* Cypress West Bridge API header file (cyasch9.h) + ## =========================== + ## + ## Copyright Cypress Semiconductor Corporation, 2006-2009, + ## All Rights Reserved + ## UNPUBLISHED, LICENSED SOFTWARE. + ## + ## CONFIDENTIAL AND PROPRIETARY INFORMATION + ## WHICH IS THE PROPERTY OF CYPRESS. + ## + ## Use of this file is governed + ## by the license agreement included in the file + ## + ## /license/license.txt + ## + ## where is the Cypress software + ## installation root directory path. + ## + ## =========================== +*/ + +#ifndef _INCLUDED_CYASCH9_H_ +#define _INCLUDED_CYASCH9_H_ + +/* + * These chapter 9 USB 2.0 constants are provided for convenience + */ + +#define CY_CH9_SETUP_TYPE_MASK (0x60) /* Used to mask off request type */ +#define CY_CH9_SETUP_STANDARD_REQUEST (0) /* Standard Request */ +#define CY_CH9_SETUP_CLASS_REQUEST (0x20) /* Class Request */ +#define CY_CH9_SETUP_VENDOR_REQUEST (0x40) /* Vendor Request */ +#define CY_CH9_SETUP_RESERVED_REQUEST (0x60) /* Reserved or illegal request */ + +#define CY_CH9_SETUP_DEST_MASK (0x1f) /* Used to mask off the dest of the request */ +#define CY_CH9_SETUP_DEST_DEVICE (0) +#define CY_CH9_SETUP_DEST_INTERFACE (1) +#define CY_CH9_SETUP_DEST_ENDPOINT (2) +#define CY_CH9_SETUP_DEST_OTHER (3) + +#define CY_CH9_SC_GET_STATUS (0x00) /* Setup command: Get Status */ +#define CY_CH9_SC_CLEAR_FEATURE (0x01) /* Setup command: Clear Feature */ +#define CY_CH9_SC_RESERVED (0x02) /* Setup command: Reserved */ +#define CY_CH9_SC_SET_FEATURE (0x03) /* Setup command: Set Feature */ +#define CY_CH9_SC_SET_ADDRESS (0x05) /* Setup command: Set Address */ +#define CY_CH9_SC_GET_DESCRIPTOR (0x06) /* Setup command: Get Descriptor */ +#define CY_CH9_SC_SET_DESCRIPTOR (0x07) /* Setup command: Set Descriptor */ +#define CY_CH9_SC_GET_CONFIGURATION (0x08) /* Setup command: Get Configuration */ +#define CY_CH9_SC_SET_CONFIGURATION (0x09) /* Setup command: Set Configuration */ +#define CY_CH9_SC_GET_INTERFACE (0x0a) /* Setup command: Get Interface */ +#define CY_CH9_SC_SET_INTERFACE (0x0b) /* Setup command: Set Interface */ +#define CY_CH9_SC_SYNC_FRAME (0x0c) /* Setup command: Sync Frame */ +#define CY_CH9_SC_ANCHOR_LOAD (0xa0) /* Setup command: Anchor load */ + +#define CY_CH9_GD_DEVICE (0x01) /* Get descriptor: Device */ +#define CY_CH9_GD_CONFIGURATION (0x02) /* Get descriptor: Configuration */ +#define CY_CH9_GD_STRING (0x03) /* Get descriptor: String */ +#define CY_CH9_GD_INTERFACE (0x04) /* Get descriptor: Interface */ +#define CY_CH9_GD_ENDPOINT (0x05) /* Get descriptor: Endpoint */ +#define CY_CH9_GD_DEVICE_QUALIFIER (0x06) /* Get descriptor: Device Qualifier */ +#define CY_CH9_GD_OTHER_SPEED_CONFIGURATION (0x07) /* Get descriptor: Other Configuration */ +#define CY_CH9_GD_INTERFACE_POWER (0x08) /* Get descriptor: Interface Power */ +#define CY_CH9_GD_HID (0x21) /* Get descriptor: HID */ +#define CY_CH9_GD_REPORT (0x22) /* Get descriptor: Report */ + +#define CY_CH9_GS_DEVICE (0x80) /* Get Status: Device */ +#define CY_CH9_GS_INTERFACE (0x81) /* Get Status: Interface */ +#define CY_CH9_GS_ENDPOINT (0x82) /* Get Status: End Point */ + +#define CY_CH9_FT_DEVICE (0x00) /* Feature: Device */ +#define CY_CH9_FT_ENDPOINT (0x02) /* Feature: End Point */ + +/* + * Language Codes + */ + +#define CY_CH9_LANGID_AFRIKAANS (0x0436) +#define CY_CH9_LANGID_ALBANIAN (0x041c) +#define CY_CH9_LANGID_ARABIC_SAUDI_ARABIA (0x0401) +#define CY_CH9_LANGID_ARABIC_IRAQ (0x0801) +#define CY_CH9_LANGID_ARABIC_EGYPT (0x0c01) +#define CY_CH9_LANGID_ARABIC_LIBYA (0x1001) +#define CY_CH9_LANGID_ARABIC_ALGERIA (0x1401) +#define CY_CH9_LANGID_ARABIC_MOROCCO (0x1801) +#define CY_CH9_LANGID_ARABIC_TUNISIA (0x1c01) +#define CY_CH9_LANGID_ARABIC_OMAN (0x2001) +#define CY_CH9_LANGID_ARABIC_YEMEN (0x2401) +#define CY_CH9_LANGID_ARABIC_SYRIA (0x2801) +#define CY_CH9_LANGID_ARABIC_JORDAN (0x2c01) +#define CY_CH9_LANGID_ARABIC_LEBANON (0x3001) +#define CY_CH9_LANGID_ARABIC_KUWAIT (0x3401) +#define CY_CH9_LANGID_ARABIC_UAE (0x3801) +#define CY_CH9_LANGID_ARABIC_BAHRAIN (0x3c01) +#define CY_CH9_LANGID_ARABIC_QATAR (0x4001) +#define CY_CH9_LANGID_ARMENIAN (0x042b) +#define CY_CH9_LANGID_ASSAMESE (0x044d) +#define CY_CH9_LANGID_AZERI_LATIN (0x042c) +#define CY_CH9_LANGID_AZERI_CYRILLIC (0x082c) +#define CY_CH9_LANGID_BASQUE (0x042d) +#define CY_CH9_LANGID_BELARUSSIAN (0x0423) +#define CY_CH9_LANGID_BENGALI (0x0445) +#define CY_CH9_LANGID_BULGARIAN (0x0402) +#define CY_CH9_LANGID_BURMESE (0x0455) +#define CY_CH9_LANGID_CATALAN (0x0403) +#define CY_CH9_LANGID_CHINESE_TAIWAN (0x0404) +#define CY_CH9_LANGID_CHINESE_PRC (0x0804) +#define CY_CH9_LANGID_CHINESE_HONG_KONG_SAR_PRC (0x0c04) +#define CY_CH9_LANGID_CHINESE_SINGAPORE (0x1004) +#define CY_CH9_LANGID_CHINESE_MACAU_SAR (0x1404) +#define CY_CH9_LANGID_CROATIAN (0x041a) +#define CY_CH9_LANGID_CZECH (0x0405) +#define CY_CH9_LANGID_DANISH (0x0406) +#define CY_CH9_LANGID_DUTCH_NETHERLANDS (0x0413) +#define CY_CH9_LANGID_DUTCH_BELGIUM (0x0813) +#define CY_CH9_LANGID_ENGLISH_UNITED_STATES (0x0409) +#define CY_CH9_LANGID_ENGLISH_UNITED_KINGDON (0x0809) +#define CY_CH9_LANGID_ENGLISH_AUSTRALIAN (0x0c09) +#define CY_CH9_LANGID_ENGLISH_CANADIAN (0x1009) +#define CY_CH9_LANGID_ENGLISH_NEW Zealand (0x1409) +#define CY_CH9_LANGID_ENGLISH_IRELAND (0x1809) +#define CY_CH9_LANGID_ENGLISH_SOUTH Africa (0x1c09) +#define CY_CH9_LANGID_ENGLISH_JAMAICA (0x2009) +#define CY_CH9_LANGID_ENGLISH_CARIBBEAN (0x2409) +#define CY_CH9_LANGID_ENGLISH_BELIZE (0x2809) +#define CY_CH9_LANGID_ENGLISH_TRINIDAD (0x2c09) +#define CY_CH9_LANGID_ENGLISH_ZIMBABWE (0x3009) +#define CY_CH9_LANGID_ENGLISH_PHILIPPINES (0x3409) +#define CY_CH9_LANGID_ESTONIAN (0x0425) +#define CY_CH9_LANGID_FAEROESE (0x0438) +#define CY_CH9_LANGID_FARSI (0x0429) +#define CY_CH9_LANGID_FINNISH (0x040b) +#define CY_CH9_LANGID_FRENCH_STANDARD (0x040c) +#define CY_CH9_LANGID_FRENCH_BELGIAN (0x080c) +#define CY_CH9_LANGID_FRENCH_CANADIAN (0x0c0c) +#define CY_CH9_LANGID_FRENCH_SWITZERLAND (0x100c) +#define CY_CH9_LANGID_FRENCH_LUXEMBOURG (0x140c) +#define CY_CH9_LANGID_FRENCH_MONACO (0x180c) +#define CY_CH9_LANGID_GEORGIAN (0x0437) +#define CY_CH9_LANGID_GERMAN_STANDARD (0x0407) +#define CY_CH9_LANGID_GERMAN_SWITZERLAND (0x0807) +#define CY_CH9_LANGID_GERMAN_AUSTRIA (0x0c07) +#define CY_CH9_LANGID_GERMAN_LUXEMBOURG (0x1007) +#define CY_CH9_LANGID_GERMAN_LIECHTENSTEIN (0x1407) +#define CY_CH9_LANGID_GREEK (0x0408) +#define CY_CH9_LANGID_GUJARATI (0x0447) +#define CY_CH9_LANGID_HEBREW (0x040d) +#define CY_CH9_LANGID_HINDI (0x0439) +#define CY_CH9_LANGID_HUNGARIAN (0x040e) +#define CY_CH9_LANGID_ICELANDIC (0x040f) +#define CY_CH9_LANGID_INDONESIAN (0x0421) +#define CY_CH9_LANGID_ITALIAN_STANDARD (0x0410) +#define CY_CH9_LANGID_ITALIAN_SWITZERLAND (0x0810) +#define CY_CH9_LANGID_JAPANESE (0x0411) +#define CY_CH9_LANGID_KANNADA (0x044b) +#define CY_CH9_LANGID_KASHMIRI_INDIA (0x0860) +#define CY_CH9_LANGID_KAZAKH (0x043f) +#define CY_CH9_LANGID_KONKANI (0x0457) +#define CY_CH9_LANGID_KOREAN (0x0412) +#define CY_CH9_LANGID_KOREAN_JOHAB (0x0812) +#define CY_CH9_LANGID_LATVIAN (0x0426) +#define CY_CH9_LANGID_LITHUANIAN (0x0427) +#define CY_CH9_LANGID_LITHUANIAN_CLASSIC (0x0827) +#define CY_CH9_LANGID_MACEDONIAN (0x042f) +#define CY_CH9_LANGID_MALAY_MALAYSIAN (0x043e) +#define CY_CH9_LANGID_MALAY_BRUNEI_DARUSSALAM (0x083e) +#define CY_CH9_LANGID_MALAYALAM (0x044c) +#define CY_CH9_LANGID_MANIPURI (0x0458) +#define CY_CH9_LANGID_MARATHI (0x044e) +#define CY_CH9_LANGID_NEPALI_INDIA (0x0861) +#define CY_CH9_LANGID_NORWEGIAN_BOKMAL (0x0414) +#define CY_CH9_LANGID_NORWEGIAN_NYNORSK (0x0814) +#define CY_CH9_LANGID_ORIYA (0x0448) +#define CY_CH9_LANGID_POLISH (0x0415) +#define CY_CH9_LANGID_PORTUGUESE_BRAZIL (0x0416) +#define CY_CH9_LANGID_PORTUGUESE_STANDARD (0x0816) +#define CY_CH9_LANGID_PUNJABI (0x0446) +#define CY_CH9_LANGID_ROMANIAN (0x0418) +#define CY_CH9_LANGID_RUSSIAN (0x0419) +#define CY_CH9_LANGID_SANSKRIT (0x044f) +#define CY_CH9_LANGID_SERBIAN_CYRILLIC (0x0c1a) +#define CY_CH9_LANGID_SERBIAN_LATIN (0x081a) +#define CY_CH9_LANGID_SINDHI (0x0459) +#define CY_CH9_LANGID_SLOVAK (0x041b) +#define CY_CH9_LANGID_SLOVENIAN (0x0424) +#define CY_CH9_LANGID_SPANISH_TRADITIONAL_SORT (0x040a) +#define CY_CH9_LANGID_SPANISH_MEXICAN (0x080a) +#define CY_CH9_LANGID_SPANISH_MODERN_SORT (0x0c0a) +#define CY_CH9_LANGID_SPANISH_GUATEMALA (0x100a) +#define CY_CH9_LANGID_SPANISH_COSTA_RICA (0x140a) +#define CY_CH9_LANGID_SPANISH_PANAMA (0x180a) +#define CY_CH9_LANGID_SPANISH_DOMINICAN Republic (0x1c0a) +#define CY_CH9_LANGID_SPANISH_VENEZUELA (0x200a) +#define CY_CH9_LANGID_SPANISH_COLOMBIA (0x240a) +#define CY_CH9_LANGID_SPANISH_PERU (0x280a) +#define CY_CH9_LANGID_SPANISH_ARGENTINA (0x2c0a) +#define CY_CH9_LANGID_SPANISH_ECUADOR (0x300a) +#define CY_CH9_LANGID_SPANISH_CHILE (0x340a) +#define CY_CH9_LANGID_SPANISH_URUGUAY (0x380a) +#define CY_CH9_LANGID_SPANISH_PARAGUAY (0x3c0a) +#define CY_CH9_LANGID_SPANISH_BOLIVIA (0x400a) +#define CY_CH9_LANGID_SPANISH_EL_SALVADOR (0x440a) +#define CY_CH9_LANGID_SPANISH_HONDURAS (0x480a) +#define CY_CH9_LANGID_SPANISH_NICARAGUA (0x4c0a) +#define CY_CH9_LANGID_SPANISH_PUERTO Rico (0x500a) +#define CY_CH9_LANGID_SUTU (0x0430) +#define CY_CH9_LANGID_SWAHILI_KENYA (0x0441) +#define CY_CH9_LANGID_SWEDISH (0x041d) +#define CY_CH9_LANGID_SWEDISH_FINLAND (0x081d) +#define CY_CH9_LANGID_TAMIL (0x0449) +#define CY_CH9_LANGID_TATAR_TATARSTAN (0x0444) +#define CY_CH9_LANGID_TELUGU (0x044a) +#define CY_CH9_LANGID_THAI (0x041e) +#define CY_CH9_LANGID_TURKISH (0x041f) +#define CY_CH9_LANGID_UKRAINIAN (0x0422) +#define CY_CH9_LANGID_URDU_PAKISTAN (0x0420) +#define CY_CH9_LANGID_URDU_INDIA (0x0820) +#define CY_CH9_LANGID_UZBEK_LATIN (0x0443) +#define CY_CH9_LANGID_UZBEK_CYRILLIC (0x0843) +#define CY_CH9_LANGID_VIETNAMESE (0x042a) + +#pragma pack(push, 1) +typedef struct CyCh9DeviceDesc +{ + uint8_t bLength ; + uint8_t bDescriptorType ; + uint16_t bcdUSB ; + uint8_t bDeviceClass ; + uint8_t bDeviceSubClass ; + uint8_t bDeviceProtocol ; + uint8_t bMaxPacketSize0 ; + uint16_t idVendor ; + uint16_t idProduct ; + uint16_t bcdDevice ; + uint8_t iManufacturer ; + uint8_t iProduct; + uint8_t iSerialNumber; + uint8_t bNumConfigurations; +} CyCh9DeviceDesc ; +#pragma pack(pop) + +#pragma pack(push,1) +typedef struct CyCh9DeviceQualifierDesc +{ + uint8_t bLength ; + uint8_t bDescriptorType ; + uint16_t bcdUSB ; + uint8_t bDeviceClass ; + uint8_t bDeviceSubClass ; + uint8_t bDeviceProtocol ; + uint8_t bMaxPacketSize0 ; + uint8_t bNumConfigurations; + uint8_t reserved ; +} CyCh9DeviceQualifierDesc ; +#pragma pack(pop) + +#pragma pack(push,1) +typedef struct CyCh9ConfigurationDesc +{ + uint8_t bLength ; + uint8_t bDescriptorType ; + uint16_t wTotalLength ; + uint8_t bNumInterfaces ; + uint8_t bConfigurationValue ; + uint8_t iConfiguration ; + uint8_t bmAttributes ; + uint8_t bMaxPower ; +} CyCh9ConfigurationDesc ; +#pragma pack(pop) + +#pragma pack(push,1) +typedef struct CyCh9InterfaceDesc +{ + uint8_t bLength ; + uint8_t bDescriptorType ; + uint8_t bInterfaceNumber ; + uint8_t bAlternateSetting ; + uint8_t bNumEndpoints ; + uint8_t bInterfaceClass ; + uint8_t bInterfaceSubClass ; + uint8_t bInterfaceProtocol ; + uint8_t iInterface ; +} CyCh9InterfaceDesc ; +#pragma pack(pop) + +#pragma pack(push,1) +typedef struct CyCh9EndpointDesc +{ + uint8_t bLength ; + uint8_t bDescriptorType ; + uint8_t bEndpointAddress ; + uint8_t bmAttributes ; + uint16_t wMaxPacketSize ; + uint8_t bInterval ; +} CyCh9EndpointDesc ; +#pragma pack(pop) + +/* Configuration attributes */ +#define CY_CH9_CONFIG_ATTR_RESERVED_BIT7 (0x80) +#define CY_CH9_CONFIG_ATTR_SELF_POWERED (0x40) +#define CY_CH9_CONFIG_ATTR_REMOTE_WAKEUP (0x20) + +#define CY_CH9_ENDPOINT_DIR_OUT (0) +#define CY_CH9_ENDPOINT_DIR_IN (0x80) +#define CY_CH9_MK_EP_ADDR(dir, num) ((dir) | ((num) & 0x0f)) + +#define CY_CH9_ENDPOINT_ATTR_CONTROL (0) +#define CY_CH9_ENDPOINT_ATTR_ISOCHRONOUS (1) +#define CY_CH9_ENDPOINT_ATTR_BULK (2) +#define CY_CH9_ENDPOINT_ATTR_INTERRUPT (3) + +#define CY_CH9_ENDPOINT_ATTR_NO_SYNC (0 << 2) +#define CY_CH9_ENDPOINT_ATTR_ASYNCHRONOUS (1 << 2) +#define CY_CH9_ENDPOINT_ATTR_ADAPTIVE (2 << 2) +#define CY_CH9_ENDPOINT_ATTR_SYNCHRONOUS (3 << 2) + +#define CY_CH9_ENDPOINT_ATTR_DATA (0 << 4) +#define CY_CH9_ENDPOINT_ATTR_FEEDBACK (1 << 4) +#define CY_CH9_ENDPOINT_ATTR_IMPLICIT_FEEDBACK (2 << 4) +#define CY_CH9_ENDPOINT_ATTR_RESERVED (3 << 4) + +#define CY_CH9_ENDPOINT_PKTSIZE_NONE (0 << 11) +#define CY_CH9_ENDPOINT_PKTSIZE_ONE (1 << 11) +#define CY_CH9_ENDPOINT_PKTSIZE_TWO (2 << 11) +#define CY_CH9_ENDPOINT_PKTSIZE_RESERVED (3 << 11) +#endif