0f0278fb688138baeda2e652bd636ce629502528
[open-ath9k-htc-firmware.git] / target_firmware / magpie_fw_dev / target / inc / k2 / usb_table.h
1 #ifndef _USB_TABLE_H_
2 #define _USB_TABLE_H_
3
4 #include "sys_cfg.h"
5 // UsbDeviceDescriptor
6 #define USB_DEVICE_DESC_TYPE            0x01
7 #define USB_DEVICE_DESC_LEN             0x12
8 #define USB_SPEC_VERSION                0x0200
9 #define USB_DEVICE_CLASS                0xFF
10 #define USB_DEVICE_SUB_CLASS            0xFF
11 #define USB_DEVICE_PROTOCOL             0xFF
12 #define USB_MAX_PKT_SIZE                0x40
13 #define USB_VENDOR_ID                   0x0CF3
14 #define USB_PRODUCT_ID                  0x9271
15
16 #if 1 /* USB Device Descriptor : byte 12, 13 Device BCD -> Device release number in binary-coded decimal. */
17 #define USB_DEVICE_BCD                  BOOTROM_VER
18 #else
19 #define USB_DEVICE_BCD                  0x0106
20 #endif
21
22 #define USB_MANUFACTURER_INDEX          0x10
23 #define USB_PRODUCT_INDEX               0x20
24 #define USB_SERIAL_INDEX                0x30
25 #define USB_CONFIGURATION_NUM           0x01
26 // end UsbDeviceDescriptor
27
28 #define USB_CONFIG_DESC_TYPE            0x02
29 #define USB_CONFIG_DESC_LEN             0x09
30 //#define USB_TOTAL_DESC_LEN              0x002E // 4 ep
31 //#define USB_TOTAL_DESC_LEN              0x0035 // 5 ep
32 #define USB_TOTAL_DESC_LEN              0x003C  // 6 ep
33 #define USB_INTERFACE_NUM               0x01
34 #define USB_CONFIG_NUM                  0x01
35 #define USB_STRING_INDEX                0x00
36 #define USB_ATTRIBUTE                   0x80
37 #define USB_MAX_POWER                   0xFA
38
39 #define USB_INTERFACE_DESC_TYPE         0x04
40 #define USB_INTERFACE_DESC_LEN          0x09
41 #define USB_INTERFACE_INDEX_NUM         0x00
42 #define USB_INTERFACE_ALT_SETTING       0x00
43 //#define USB_INTERFACE_EP_NUM            0x04
44 //#define USB_INTERFACE_EP_NUM            0x05
45 #define USB_INTERFACE_EP_NUM            0x06
46 #define USB_INTERFACE_CLASS             0xFF
47 #define USB_INTERFACE_SUB_CLASS         0x00
48 #define USB_INTERFACE_PROTOCOL          0x00
49 #define USB_INTERFACE_STRING_INDEX      0x00
50
51 #define USB_EP_DESC_TYPE                0x05
52 #define USB_EP_DESC_LEN                 0x07
53
54 /* USB Endpoint attribute */
55 #define bUSB_EP1_NUM                    0x01
56 #define bUSB_EP2_NUM                    0x02
57 #define bUSB_EP3_NUM                    0x03
58 #define bUSB_EP4_NUM                    0x04
59 #define bUSB_EP5_NUM                    0x05
60 #define bUSB_EP6_NUM                    0x06
61
62 #define bUSB_EP_DIRECTION_IN            0x80
63 #define bUSB_EP_DIRECTION_OUT           0x00
64
65 #define bUSB_EP_TYPE_CONTROL            0x00
66 #define bUSB_EP_TYPE_ISOCHRONOUS        0x01
67 #define bUSB_EP_TYPE_BULK               0x02
68 #define bUSB_EP_TYPE_INTERRUPT          0x03
69
70 #define bUSB_EP_MAX_PKT_SIZE_64         0x0040
71 #define bUSB_EP_MAX_PKT_SIZE_512        0x0200
72
73 /* High Speed Endpoint */
74 #define USB_HS_EP1_ADDRESS              (bUSB_EP_DIRECTION_OUT | bUSB_EP1_NUM)
75 #define USB_HS_EP1_ATTRIBUTE            bUSB_EP_TYPE_BULK
76 #define USB_HS_EP1_MAX_PACKET_SIZE      bUSB_EP_MAX_PKT_SIZE_512
77 #define USB_HS_EP1_INTERVAL             0x00
78
79 #define USB_HS_EP2_ADDRESS              (bUSB_EP_DIRECTION_IN | bUSB_EP2_NUM)
80 #define USB_HS_EP2_ATTRIBUTE            bUSB_EP_TYPE_BULK
81 #define USB_HS_EP2_MAX_PACKET_SIZE      bUSB_EP_MAX_PKT_SIZE_512
82 #define USB_HS_EP2_INTERVAL             0x00
83
84 #define USB_HS_EP3_ADDRESS              (bUSB_EP_DIRECTION_IN | bUSB_EP3_NUM)
85 #define USB_HS_EP3_ATTRIBUTE            bUSB_EP_TYPE_INTERRUPT
86 #define USB_HS_EP3_MAX_PACKET_SIZE      bUSB_EP_MAX_PKT_SIZE_64
87 #define USB_HS_EP3_INTERVAL             0x01
88
89 #define USB_HS_EP4_ADDRESS              (bUSB_EP_DIRECTION_OUT | bUSB_EP4_NUM)
90 #define USB_HS_EP4_ATTRIBUTE            bUSB_EP_TYPE_INTERRUPT //bUSB_EP_TYPE_BULK
91 #define USB_HS_EP4_MAX_PACKET_SIZE      bUSB_EP_MAX_PKT_SIZE_64
92 #define USB_HS_EP4_INTERVAL             0x01 //0x00
93
94 #define USB_HS_EP5_ADDRESS              (bUSB_EP_DIRECTION_OUT | bUSB_EP5_NUM)
95 #define USB_HS_EP5_ATTRIBUTE            bUSB_EP_TYPE_BULK
96 #define USB_HS_EP5_MAX_PACKET_SIZE      bUSB_EP_MAX_PKT_SIZE_512
97 #define USB_HS_EP5_INTERVAL             0x00
98
99 #define USB_HS_EP6_ADDRESS              (bUSB_EP_DIRECTION_OUT | bUSB_EP6_NUM)
100 #define USB_HS_EP6_ATTRIBUTE            bUSB_EP_TYPE_BULK
101 #define USB_HS_EP6_MAX_PACKET_SIZE      bUSB_EP_MAX_PKT_SIZE_512
102 #define USB_HS_EP6_INTERVAL             0x00
103
104 /* Full Speed Endpoint */
105 #define USB_FS_EP1_ADDRESS              (bUSB_EP_DIRECTION_OUT | bUSB_EP1_NUM)
106 #define USB_FS_EP1_ATTRIBUTE            bUSB_EP_TYPE_BULK
107 #define USB_FS_EP1_MAX_PACKET_SIZE      bUSB_EP_MAX_PKT_SIZE_64
108 #define USB_FS_EP1_INTERVAL             0x00
109
110 #define USB_FS_EP2_ADDRESS              (bUSB_EP_DIRECTION_IN | bUSB_EP2_NUM)
111 #define USB_FS_EP2_ATTRIBUTE            bUSB_EP_TYPE_BULK
112 #define USB_FS_EP2_MAX_PACKET_SIZE      bUSB_EP_MAX_PKT_SIZE_64
113 #define USB_FS_EP2_INTERVAL             0x00
114
115 #define USB_FS_EP3_ADDRESS              (bUSB_EP_DIRECTION_IN | bUSB_EP3_NUM)
116 #define USB_FS_EP3_ATTRIBUTE            bUSB_EP_TYPE_INTERRUPT
117 #define USB_FS_EP3_MAX_PACKET_SIZE      bUSB_EP_MAX_PKT_SIZE_64
118 #define USB_FS_EP3_INTERVAL             0x01
119
120 #define USB_FS_EP4_ADDRESS              (bUSB_EP_DIRECTION_OUT | bUSB_EP4_NUM)
121 #define USB_FS_EP4_ATTRIBUTE            bUSB_EP_TYPE_BULK
122 #define USB_FS_EP4_MAX_PACKET_SIZE      bUSB_EP_MAX_PKT_SIZE_64
123 #define USB_FS_EP4_INTERVAL             0x00
124
125 #define USB_FS_EP5_ADDRESS              (bUSB_EP_DIRECTION_OUT | bUSB_EP5_NUM)
126 #define USB_FS_EP5_ATTRIBUTE            bUSB_EP_TYPE_BULK
127 #define USB_FS_EP5_MAX_PACKET_SIZE      bUSB_EP_MAX_PKT_SIZE_64
128 #define USB_FS_EP5_INTERVAL             0x00
129
130 #define USB_FS_EP6_ADDRESS              (bUSB_EP_DIRECTION_OUT | bUSB_EP6_NUM)
131 #define USB_FS_EP6_ATTRIBUTE            bUSB_EP_TYPE_BULK
132 #define USB_FS_EP6_MAX_PACKET_SIZE      bUSB_EP_MAX_PKT_SIZE_64
133 #define USB_FS_EP6_INTERVAL             0x00
134
135 //#define USB_QUALIFIER_DESC_ADDR         0x8cff00
136 //#define USB_OTHER_SPEED_DESC_ADDR       0x8cffA
137
138 #endif  // end of _USB_TABLE_H_