OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [drivers/] [media/] [video/] [dabusb.h] - Blame information for rev 78

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
#define _BULK_DATA_LEN 64
2
typedef struct
3
{
4
        unsigned char data[_BULK_DATA_LEN];
5
        unsigned int size;
6
        unsigned int pipe;
7
}bulk_transfer_t,*pbulk_transfer_t;
8
 
9
#define DABUSB_MINOR 240                /* some unassigned USB minor */
10
#define DABUSB_VERSION 0x1000
11
#define IOCTL_DAB_BULK              _IOWR('d', 0x30, bulk_transfer_t)
12
#define IOCTL_DAB_OVERRUNS          _IOR('d',  0x15, int)
13
#define IOCTL_DAB_VERSION           _IOR('d', 0x3f, int)
14
 
15
#ifdef __KERNEL__
16
 
17
typedef enum { _stopped=0, _started } driver_state_t;
18
 
19
typedef struct
20
{
21
        struct mutex mutex;
22
        struct usb_device *usbdev;
23
        wait_queue_head_t wait;
24
        wait_queue_head_t remove_ok;
25
        spinlock_t lock;
26
        atomic_t pending_io;
27
        driver_state_t state;
28
        int remove_pending;
29
        int got_mem;
30
        int total_buffer_size;
31
        unsigned int overruns;
32
        int readptr;
33
        int opened;
34
        int devnum;
35
        struct list_head free_buff_list;
36
        struct list_head rec_buff_list;
37
} dabusb_t,*pdabusb_t;
38
 
39
typedef struct
40
{
41
        pdabusb_t s;
42
        struct urb *purb;
43
        struct list_head buff_list;
44
} buff_t,*pbuff_t;
45
 
46
typedef struct
47
{
48
        wait_queue_head_t wait;
49
} bulk_completion_context_t, *pbulk_completion_context_t;
50
 
51
 
52
#define _DABUSB_IF 2
53
#define _DABUSB_ISOPIPE 0x09
54
#define _ISOPIPESIZE    16384
55
 
56
#define _BULK_DATA_LEN 64
57
// Vendor specific request code for Anchor Upload/Download
58
// This one is implemented in the core
59
#define ANCHOR_LOAD_INTERNAL  0xA0
60
 
61
// EZ-USB Control and Status Register.  Bit 0 controls 8051 reset
62
#define CPUCS_REG    0x7F92
63
#define _TOTAL_BUFFERS 384
64
 
65
#define MAX_INTEL_HEX_RECORD_LENGTH 16
66
 
67
#ifndef _BYTE_DEFINED
68
#define _BYTE_DEFINED
69
typedef unsigned char BYTE;
70
#endif // !_BYTE_DEFINED
71
 
72
#ifndef _WORD_DEFINED
73
#define _WORD_DEFINED
74
typedef unsigned short WORD;
75
#endif // !_WORD_DEFINED
76
 
77
typedef struct _INTEL_HEX_RECORD
78
{
79
   BYTE  Length;
80
   WORD  Address;
81
   BYTE  Type;
82
   BYTE  Data[MAX_INTEL_HEX_RECORD_LENGTH];
83
} INTEL_HEX_RECORD, *PINTEL_HEX_RECORD;
84
 
85
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.