2fb0424cb576ffc963c226ce4524dbc3143c3d91
[gnuk/gnuk.git] / src / usb_conf.h
1 /* USB buffer memory definition and number of string descriptors */
2
3 #ifndef __USB_CONF_H
4 #define __USB_CONF_H
5
6 #define NUM_STRING_DESC 7
7
8 #if defined(USB_SELF_POWERED)
9 #define USB_INITIAL_FEATURE 0xC0   /* bmAttributes: self powered */
10 #else
11 #define USB_INITIAL_FEATURE 0x80   /* bmAttributes: bus powered */
12 #endif
13
14 /* Control pipe */
15 /* EP0: 64-byte, 64-byte  */
16 #define ENDP0_RXADDR        (0x40)
17 #define ENDP0_TXADDR        (0x80)
18
19 /* CCID/ICCD BULK_IN, BULK_OUT */
20 /* EP1: 64-byte, 64-byte */
21 #define ENDP1_TXADDR        (0xc0)
22 #define ENDP1_RXADDR        (0x100)
23 /* EP2: INTR_IN: 4-byte */
24 #define ENDP2_TXADDR        (0x140)
25
26 /* CDC BULK_IN, INTR_IN, BULK_OUT */
27 /* EP3: 16-byte  */
28 #define ENDP3_TXADDR        (0x144)
29 /* EP4: 8-byte */
30 #define ENDP4_TXADDR        (0x154)
31 /* EP5: 16-byte */
32 #define ENDP5_RXADDR        (0x15c)
33
34 /* 0x16c - 0x17e : 18-byte */
35
36 /* HID INTR_IN */
37 /* EP7: 2-byte */
38 #define ENDP7_TXADDR        (0x17e)
39
40 /* MSC BULK_IN, BULK_OUT */
41 /* EP6: 64-byte, 64-byte */
42 #define ENDP6_TXADDR        (0x180)
43 #define ENDP6_RXADDR        (0x1c0)
44
45 #endif /* __USB_CONF_H */