2 * Copyright (c) 2013 Qualcomm Atheros, Inc.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted (subject to the limitations in the
7 * disclaimer below) provided that the following conditions are met:
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the
17 * * Neither the name of Qualcomm Atheros nor the names of its
18 * contributors may be used to endorse or promote products derived
19 * from this software without specific prior written permission.
21 * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
22 * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
23 * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
24 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
30 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
31 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
32 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
33 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 #include "usb_table.h"
42 //const uint16_t UsbDeviceDescriptor[] __attribute__ ((section(".dport0.usb_in_rom"))) =
44 uint16_t UsbDeviceDescriptor[] =
47 m2BYTE(USB_DEVICE_DESC_LEN, USB_DEVICE_DESC_TYPE),
49 m2BYTE(USB_DEVICE_CLASS, USB_DEVICE_SUB_CLASS),
50 m2BYTE(USB_DEVICE_PROTOCOL, USB_MAX_PKT_SIZE),
54 m2BYTE(USB_MANUFACTURER_INDEX, USB_PRODUCT_INDEX),
55 m2BYTE(USB_SERIAL_INDEX, USB_CONFIGURATION_NUM)
59 //const uint16_t u8HSConfigDescriptor01[] __attribute__ ((section(".dport0.usb_in_rom"))) =
61 uint16_t u8HSConfigDescriptor01[] =
64 m2BYTE(USB_CONFIG_DESC_LEN, USB_CONFIG_DESC_TYPE),
66 m2BYTE(USB_INTERFACE_NUM, USB_CONFIG_NUM),
67 m2BYTE(USB_STRING_INDEX, USB_ATTRIBUTE),
68 m2BYTE(USB_MAX_POWER, USB_INTERFACE_DESC_LEN),
69 m2BYTE(USB_INTERFACE_DESC_TYPE, USB_INTERFACE_INDEX_NUM),
70 m2BYTE(USB_INTERFACE_ALT_SETTING, USB_INTERFACE_EP_NUM),
71 m2BYTE(USB_INTERFACE_CLASS, USB_INTERFACE_SUB_CLASS),
72 m2BYTE(USB_INTERFACE_PROTOCOL, USB_INTERFACE_STRING_INDEX),
73 m2BYTE(USB_EP_DESC_LEN, USB_EP_DESC_TYPE), // EP 1
74 m2BYTE(USB_HS_EP1_ADDRESS, USB_HS_EP1_ATTRIBUTE),
75 USB_HS_EP1_MAX_PACKET_SIZE,
76 m2BYTE(USB_HS_EP1_INTERVAL, USB_EP_DESC_LEN), // EP 2
77 m2BYTE(USB_EP_DESC_TYPE, USB_HS_EP2_ADDRESS),
78 m2BYTE(USB_HS_EP2_ATTRIBUTE, USB_HS_EP2_MAX_PACKET_SIZE),
79 m2BYTE(mHIGH_BYTE(USB_HS_EP2_MAX_PACKET_SIZE), USB_HS_EP2_INTERVAL),
80 m2BYTE(USB_EP_DESC_LEN, USB_EP_DESC_TYPE), // EP 3
81 m2BYTE(USB_HS_EP3_ADDRESS, USB_HS_EP3_ATTRIBUTE),
82 USB_HS_EP3_MAX_PACKET_SIZE,
83 m2BYTE(USB_HS_EP3_INTERVAL, USB_EP_DESC_LEN), // EP 4
84 m2BYTE(USB_EP_DESC_TYPE, USB_HS_EP4_ADDRESS),
85 m2BYTE(USB_HS_EP4_ATTRIBUTE, USB_HS_EP4_MAX_PACKET_SIZE),
86 m2BYTE(mHIGH_BYTE(USB_HS_EP4_MAX_PACKET_SIZE), USB_HS_EP4_INTERVAL),
87 m2BYTE(USB_EP_DESC_LEN, USB_EP_DESC_TYPE), // EP 5
88 m2BYTE(USB_HS_EP5_ADDRESS, USB_HS_EP5_ATTRIBUTE),
89 USB_HS_EP5_MAX_PACKET_SIZE,
90 m2BYTE(USB_HS_EP5_INTERVAL, USB_EP_DESC_LEN), // EP 6
91 m2BYTE(USB_EP_DESC_TYPE, USB_HS_EP6_ADDRESS),
92 m2BYTE(USB_HS_EP6_ATTRIBUTE, USB_HS_EP6_MAX_PACKET_SIZE),
93 m2BYTE(mHIGH_BYTE(USB_HS_EP6_MAX_PACKET_SIZE), USB_HS_EP6_INTERVAL)
98 //const uint16_t u8FSConfigDescriptor01[] __attribute__ ((section(".dport0.usb_in_rom"))) =
100 uint16_t u8FSConfigDescriptor01[] =
103 m2BYTE(USB_CONFIG_DESC_LEN, USB_CONFIG_DESC_TYPE),
105 m2BYTE(USB_INTERFACE_NUM, USB_CONFIG_NUM),
106 m2BYTE(USB_STRING_INDEX, USB_ATTRIBUTE),
107 m2BYTE(USB_MAX_POWER, USB_INTERFACE_DESC_LEN),
108 m2BYTE(USB_INTERFACE_DESC_TYPE, USB_INTERFACE_INDEX_NUM),
109 m2BYTE(USB_INTERFACE_ALT_SETTING, USB_INTERFACE_EP_NUM),
110 m2BYTE(USB_INTERFACE_CLASS, USB_INTERFACE_SUB_CLASS),
111 m2BYTE(USB_INTERFACE_PROTOCOL, USB_INTERFACE_STRING_INDEX),
112 m2BYTE(USB_EP_DESC_LEN, USB_EP_DESC_TYPE), // EP 1
113 m2BYTE(USB_FS_EP1_ADDRESS, USB_FS_EP1_ATTRIBUTE),
114 USB_FS_EP1_MAX_PACKET_SIZE,
115 m2BYTE(USB_FS_EP1_INTERVAL, USB_EP_DESC_LEN), // EP 2
116 m2BYTE(USB_EP_DESC_TYPE, USB_FS_EP2_ADDRESS),
117 m2BYTE(USB_FS_EP2_ATTRIBUTE, USB_FS_EP2_MAX_PACKET_SIZE),
118 m2BYTE(mHIGH_BYTE(USB_FS_EP2_MAX_PACKET_SIZE), USB_FS_EP2_INTERVAL),
119 m2BYTE(USB_EP_DESC_LEN, USB_EP_DESC_TYPE), // EP 3
120 m2BYTE(USB_FS_EP3_ADDRESS, USB_FS_EP3_ATTRIBUTE),
121 USB_FS_EP3_MAX_PACKET_SIZE,
122 m2BYTE(USB_FS_EP3_INTERVAL, USB_EP_DESC_LEN), // EP 4
123 m2BYTE(USB_EP_DESC_TYPE, USB_FS_EP4_ADDRESS),
124 m2BYTE(USB_FS_EP4_ATTRIBUTE, USB_FS_EP4_MAX_PACKET_SIZE),
125 m2BYTE(mHIGH_BYTE(USB_FS_EP4_MAX_PACKET_SIZE), USB_FS_EP4_INTERVAL),
126 m2BYTE(USB_EP_DESC_LEN, USB_EP_DESC_TYPE), // EP 5
127 m2BYTE(USB_FS_EP5_ADDRESS, USB_FS_EP5_ATTRIBUTE),
128 USB_FS_EP5_MAX_PACKET_SIZE,
129 m2BYTE(USB_FS_EP5_INTERVAL, USB_EP_DESC_LEN), // EP 6
130 m2BYTE(USB_EP_DESC_TYPE, USB_FS_EP6_ADDRESS),
131 m2BYTE(USB_FS_EP6_ATTRIBUTE, USB_FS_EP6_MAX_PACKET_SIZE),
132 m2BYTE(mHIGH_BYTE(USB_FS_EP6_MAX_PACKET_SIZE), USB_FS_EP6_INTERVAL)
135 uint16_t u8DeviceQualifierDescriptorEX[] =
144 uint16_t u8OtherSpeedConfigDescriptorEX[] =
179 //const uint16_t String00Descriptor[] __attribute__ ((section(".dport0.usb_in_rom"))) =
181 uint16_t String00Descriptor[] =
189 //const uint16_t String10Descriptor[] __attribute__ ((section(".dport0.usb_in_rom"))) =
191 uint16_t String10Descriptor[] =
245 //const uint16_t String20Descriptor[] __attribute__ ((section(".dport0.usb_in_rom"))) =
247 uint16_t String20Descriptor[] =
265 //const uint16_t String30Descriptor[] __attribute__ ((section(".dport0.usb_in_rom"))) =
267 uint16_t String30Descriptor[] =