blob: 4438c7946aa61366b0777babddc6606709211ae7 [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001#include <usb/global.h>
2
3__align(4) dwc_config_all_t desc =
4{
5//T_CONFIG_DESCRIPTOR
6{
7 sizeof(dwc_config_descriptor_t), //bLength
8 CONFIG_DESCRIPTOR, //bDescriptorType
9 sizeof(dwc_config_all_t),
10 2, //bNumInterfaces
11 1, //bConfigurationValue
12 0, //iConfiguration×Ö·û´®ÃèÊöµÄË÷Òý
13 ATTR_D7 |ATTR_SELF_POWERED , //bmAttributes
14 POWER_MA(500), //
15},
16
17
18//T_INTERFACE_DESCRIPTOR
19{
20 sizeof(dwc_interface_descriptor_t), //bLength
21 INTERFACE_DESCRIPTOR, //bDescriptorType
22 0, //bInterfaceNumber
23 0, //bAlternateSetting
24 0x02, //bNumEndpoints
25 VERDOR_SPECIFIC, //bInterfaceClass
26 0xff, //bInterfaceSubClass
27 0xff, //bInterfaceProtocol
28 0x04, //iInterface×Ö·û´®ÃèÊöµÄË÷Òý
29},
30{
31 {
32 sizeof(dwc_ep_descriptor_t), //bLength
33 ENDPOINT_DESCRIPTOR, //bDescriptorType
34 EP_ADDRESS_DIRECTION_IN |0x1, //bEndpointAddress
35 EP_ATTR_TRANSFER_TYPE_BULK, //bmAttributes
36 USB_HIGHSPEED_BULK_MAXSIZE, //wMaxPacketSize
37 0, //bInterval
38 }
39},
40{
41 {
42 sizeof(dwc_ep_descriptor_t), //bLength
43 ENDPOINT_DESCRIPTOR, //bDescriptorType
44 0x1, //bEndpointAddress
45 EP_ATTR_TRANSFER_TYPE_BULK, //bmAttributes
46 USB_HIGHSPEED_BULK_MAXSIZE, //wMaxPacketSize
47 0, //bInterval
48 }
49},
50//T_INTERFACE_DESCRIPTOR
51{
52 sizeof(dwc_interface_descriptor_t), //bLength
53 INTERFACE_DESCRIPTOR, //bDescriptorType
54 1, //bInterfaceNumber
55 0, //bAlternateSetting
56 0x02, //bNumEndpoints
57 VERDOR_SPECIFIC, //bInterfaceClass
58 0xff, //bInterfaceSubClass
59 0xff, //bInterfaceProtocol
60 0x05, //iInterface×Ö·û´®ÃèÊöµÄË÷Òý
61},
62{
63 {
64 sizeof(dwc_ep_descriptor_t), //bLength
65 ENDPOINT_DESCRIPTOR, //bDescriptorType
66 EP_ADDRESS_DIRECTION_IN |0x2, //bEndpointAddress
67 EP_ATTR_TRANSFER_TYPE_BULK, //bmAttributes
68 USB_HIGHSPEED_BULK_MAXSIZE, //wMaxPacketSize
69 0, //bInterval
70 }
71},
72{
73 {
74 sizeof(dwc_ep_descriptor_t), //bLength
75 ENDPOINT_DESCRIPTOR, //bDescriptorType
76 0x2, //bEndpointAddress
77 EP_ATTR_TRANSFER_TYPE_BULK, //bmAttributes
78 USB_HIGHSPEED_BULK_MAXSIZE, //wMaxPacketSize
79 0, //bInterval
80 }
81},
82};
83
84struct g_data global;
85
86__align(4) dwc_config_all_t g_config_desc ;
87
88void data_init(void)
89{
90 int i;
91 char *src = (char*)&desc;
92 char *dst = (char*)&g_config_desc;
93
94 for(i = 0; i < sizeof(dwc_config_all_t); i++)
95 {
96 *dst++ = *src++;
97 }
98}
99
100
101