Subversion Repositories freemyipod

Rev

Rev 944 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 944 Rev 949
Line 1... Line 1...
1
#ifndef __PROTOCOL_USB_USB_H__
1
#ifndef __PROTOCOL_USB_USB_H__
2
#define __PROTOCOL_USB_USB_H__
2
#define __PROTOCOL_USB_USB_H__
3
 
3
 
4
#include "../global.h"
4
#include "../global.h"
5
 
5
 
-
 
6
#ifndef IN_APPLICATION_CODE
-
 
7
#if USB_ENDPOINTS & 0b00000000000000000000000000000010
-
 
8
#define USBDEBUG_ENDPOINT_OUT 1
-
 
9
#elif USB_ENDPOINTS & 0b00000000000000000000000000000010
-
 
10
#define USBDEBUG_ENDPOINT_OUT 2
-
 
11
#elif USB_ENDPOINTS & 0b00000000000000000000000000000100
-
 
12
#define USBDEBUG_ENDPOINT_OUT 3
-
 
13
#elif USB_ENDPOINTS & 0b00000000000000000000000000001000
-
 
14
#define USBDEBUG_ENDPOINT_OUT 4
-
 
15
#elif USB_ENDPOINTS & 0b00000000000000000000000000010000
-
 
16
#define USBDEBUG_ENDPOINT_OUT 5
-
 
17
#elif USB_ENDPOINTS & 0b00000000000000000000000000100000
-
 
18
#define USBDEBUG_ENDPOINT_OUT 6
-
 
19
#elif USB_ENDPOINTS & 0b00000000000000000000000001000000
-
 
20
#define USBDEBUG_ENDPOINT_OUT 7
-
 
21
#elif USB_ENDPOINTS & 0b00000000000000000000000010000000
-
 
22
#define USBDEBUG_ENDPOINT_OUT 8
-
 
23
#elif USB_ENDPOINTS & 0b00000000000000000000001000000000
-
 
24
#define USBDEBUG_ENDPOINT_OUT 9
-
 
25
#elif USB_ENDPOINTS & 0b00000000000000000000010000000000
-
 
26
#define USBDEBUG_ENDPOINT_OUT 10
-
 
27
#elif USB_ENDPOINTS & 0b00000000000000000000100000000000
-
 
28
#define USBDEBUG_ENDPOINT_OUT 11
-
 
29
#elif USB_ENDPOINTS & 0b00000000000000000001000000000000
-
 
30
#define USBDEBUG_ENDPOINT_OUT 12
-
 
31
#elif USB_ENDPOINTS & 0b00000000000000000010000000000000
-
 
32
#define USBDEBUG_ENDPOINT_OUT 13
-
 
33
#elif USB_ENDPOINTS & 0b00000000000000000100000000000000
-
 
34
#define USBDEBUG_ENDPOINT_OUT 14
-
 
35
#elif USB_ENDPOINTS & 0b00000000000000001000000000000000
-
 
36
#define USBDEBUG_ENDPOINT_OUT 15
-
 
37
#else
-
 
38
#error USBDEBUG: No OUT endpoints available!
-
 
39
#endif
-
 
40
#if USB_ENDPOINTS & 0b00000000000000100000000000000000
-
 
41
#define USBDEBUG_ENDPOINT_IN 1
-
 
42
#elif USB_ENDPOINTS & 0b00000000000000100000000000000000
-
 
43
#define USBDEBUG_ENDPOINT_IN 2
-
 
44
#elif USB_ENDPOINTS & 0b00000000000001000000000000000000
-
 
45
#define USBDEBUG_ENDPOINT_IN 3
-
 
46
#elif USB_ENDPOINTS & 0b00000000000010000000000000000000
-
 
47
#define USBDEBUG_ENDPOINT_IN 4
-
 
48
#elif USB_ENDPOINTS & 0b00000000000100000000000000000000
-
 
49
#define USBDEBUG_ENDPOINT_IN 5
-
 
50
#elif USB_ENDPOINTS & 0b00000000001000000000000000000000
-
 
51
#define USBDEBUG_ENDPOINT_IN 6
-
 
52
#elif USB_ENDPOINTS & 0b00000000010000000000000000000000
-
 
53
#define USBDEBUG_ENDPOINT_IN 7
-
 
54
#elif USB_ENDPOINTS & 0b00000000100000000000000000000000
-
 
55
#define USBDEBUG_ENDPOINT_IN 8
-
 
56
#elif USB_ENDPOINTS & 0b00000010000000000000000000000000
-
 
57
#define USBDEBUG_ENDPOINT_IN 9
-
 
58
#elif USB_ENDPOINTS & 0b00000100000000000000000000000000
-
 
59
#define USBDEBUG_ENDPOINT_IN 10
-
 
60
#elif USB_ENDPOINTS & 0b00001000000000000000000000000000
-
 
61
#define USBDEBUG_ENDPOINT_IN 11
-
 
62
#elif USB_ENDPOINTS & 0b00010000000000000000000000000000
-
 
63
#define USBDEBUG_ENDPOINT_IN 12
-
 
64
#elif USB_ENDPOINTS & 0b00100000000000000000000000000000
-
 
65
#define USBDEBUG_ENDPOINT_IN 13
-
 
66
#elif USB_ENDPOINTS & 0b01000000000000000000000000000000
-
 
67
#define USBDEBUG_ENDPOINT_IN 14
-
 
68
#elif USB_ENDPOINTS & 0b10000000000000000000000000000000
-
 
69
#define USBDEBUG_ENDPOINT_IN 15
-
 
70
#else
-
 
71
#error USBDEBUG: No IN endpoints available!
-
 
72
#endif
-
 
73
#endif
-
 
74
 
6
struct usb_instance;
75
struct usb_instance;
7
 
76
 
8
union __attribute__((packed,aligned(4))) usb_ep0_buffer
77
union __attribute__((packed,aligned(4))) usb_ep0_buffer
9
{
78
{
10
    struct __attribute__((packed,aligned(4)))
79
    struct __attribute__((packed,aligned(4)))