rename status-code.h
[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 CCID_NUM_INTERFACES 1
7 #define CCID_INTERFACE 0
8 #ifdef HID_CARD_CHANGE_SUPPORT
9 #define HID_NUM_INTERFACES 1
10 #define HID_INTERFACE 1
11 #else
12 #define HID_NUM_INTERFACES 0
13 #endif
14 #ifdef ENABLE_VIRTUAL_COM_PORT
15 #define VCOM_NUM_INTERFACES 2
16 #define VCOM_INTERFACE_0 (CCID_NUM_INTERFACES + HID_NUM_INTERFACES)
17 #define VCOM_INTERFACE_1 (CCID_NUM_INTERFACES + HID_NUM_INTERFACES + 1)
18 #else
19 #define VCOM_NUM_INTERFACES 0
20 #endif
21 #ifdef PINPAD_DND_SUPPORT
22 #define MSC_NUM_INTERFACES 1
23 #define MSC_INTERFACE (CCID_NUM_INTERFACES + HID_NUM_INTERFACES + VCOM_NUM_INTERFACES)
24 #else
25 #define MSC_NUM_INTERFACES 0
26 #endif
27 #define NUM_INTERFACES (CCID_NUM_INTERFACES + HID_NUM_INTERFACES \
28                         + VCOM_NUM_INTERFACES + MSC_NUM_INTERFACES)
29
30 #if defined(USB_SELF_POWERED)
31 #define USB_INITIAL_FEATURE 0xC0   /* bmAttributes: self powered */
32 #else
33 #define USB_INITIAL_FEATURE 0x80   /* bmAttributes: bus powered */
34 #endif
35
36 /* Control pipe */
37 /* EP0: 64-byte, 64-byte  */
38 #define ENDP0_RXADDR        (0x40)
39 #define ENDP0_TXADDR        (0x80)
40
41 /* CCID/ICCD BULK_IN, BULK_OUT */
42 /* EP1: 64-byte, 64-byte */
43 #define ENDP1_TXADDR        (0xc0)
44 #define ENDP1_RXADDR        (0x100)
45 /* EP2: INTR_IN: 4-byte */
46 #define ENDP2_TXADDR        (0x140)
47
48 /* CDC BULK_IN, INTR_IN, BULK_OUT */
49 /* EP3: 16-byte  */
50 #define ENDP3_TXADDR        (0x144)
51 /* EP4: 8-byte */
52 #define ENDP4_TXADDR        (0x154)
53 /* EP5: 16-byte */
54 #define ENDP5_RXADDR        (0x15c)
55
56 /* 0x16c - 0x17e : 18-byte */
57
58 /* HID INTR_IN */
59 /* EP7: 2-byte */
60 #define ENDP7_TXADDR        (0x17e)
61
62 /* MSC BULK_IN, BULK_OUT */
63 /* EP6: 64-byte, 64-byte */
64 #define ENDP6_TXADDR        (0x180)
65 #define ENDP6_RXADDR        (0x1c0)
66
67 #endif /* __USB_CONF_H */