ngc
1.4.0
Loading...
Searching...
No Matches
ngcdrv.h
Go to the documentation of this file.
1
7
#ifndef NGCDRV_H
8
#define NGCDRV_H
9
10
11
12
#ifdef __cplusplus
13
extern
"C"
{
14
#endif
15
19
#define NGCDRV_VERSION 0x1
20
28
#define NGCDRV_COM_FIFO_SIZE 1024
29
33
#define NGCDRV_CTRL_SYSHDR 0x00000008
34
38
#define NGCDRV_CTRL_SYSRESET 0x00008000
39
43
#define NGCDRV_CTRL_MAXHDR 0x00000008
44
45
/*
46
* Status register values and masks
47
*/
48
#define NGCDRV_STAT_ACK 0x00000001
49
#define NGCDRV_STAT_VALID 0x00000002
50
#define NGCDRV_STAT_DMA_EMPTY 0x00000020
51
#define NGCDRV_STAT_DMA_FULL 0x00000040
52
#define NGCDRV_STAT_DMA_OVERFLOW 0x00000080
53
#define NGCDRV_STAT_RX_EMPTY 0x00000100
54
#define NGCDRV_STAT_RX_FULL 0x00000200
55
#define NGCDRV_STAT_TX_EMPTY 0x00000400
56
#define NGCDRV_STAT_TX_FULL 0x00000800
57
#define NGCDRV_STAT_LINK_UP 0x00001000
58
#define NGCDRV_STAT_HARD_ERR 0x00002000
59
#define NGCDRV_STAT_SOFT_ERR 0x00004000
60
#define NGCDRV_STAT_FRAM_ERR 0x00008000
61
65
typedef
struct
{
66
int
nbuf
;
67
unsigned
int
size
;
68
}
ngcdrv_ring_t
;
69
73
typedef
struct
{
74
unsigned
int
reg
;
75
unsigned
int
val
;
76
unsigned
int
off
;
77
unsigned
int
reserved
;
78
}
ngcdrv_param_t
;
79
80
/*
81
* Interrupt post-processor modes
82
*/
83
#define NGCDRV_IPP_NONE 0x00000000
84
#define NGCDRV_IPP_TASKLET 0x00000001
85
#define NGCDRV_IPP_WQ 0x00000002
86
#define NGCDRV_IPP_IRQ 0x00000003
87
91
#define NGCDRV_MAX_PARAM 32
92
96
typedef
struct
{
97
int
taskId
;
98
int
param
[
NGCDRV_MAX_PARAM
];
99
}
ngcdrv_tcb_cfg
;
100
104
enum
ngcdrv_ioctl
{
105
NGCDRV_D_COM_STATUS
,
106
NGCDRV_D_COM_UPLINK
,
107
NGCDRV_D_COM_RESET
,
108
NGCDRV_D_COM_TMO
,
109
NGCDRV_D_DMA_RESERVED1
,
110
NGCDRV_D_DMA_RESERVED2
,
111
NGCDRV_D_DMA_RESET
,
112
NGCDRV_D_DMA_START
,
113
NGCDRV_D_DMA_WAIT
,
114
NGCDRV_D_DMA_ABORT
,
115
NGCDRV_D_DMA_DONECOUNT
,
116
NGCDRV_D_DMA_BYTECOUNT
,
117
NGCDRV_D_DMA_OVERFLOW
,
118
NGCDRV_D_DMA_CFG_BUF
,
119
NGCDRV_D_DMA_IPP_MODE
,
120
NGCDRV_D_DMA_IPP_CFG
,
121
NGCDRV_D_DMA_CHAN
,
122
NGCDRV_D_CFG_GET
,
123
NGCDRV_D_CFG_SET
,
124
NGCDRV_D_PCFG_GET
,
125
NGCDRV_D_PCFG_SET
,
126
NGCDRV_D_GETREV
,
127
NGCDRV_D_RESET
,
128
NGCDRV_D_DMA_SYNCMODE
129
};
130
131
/*
132
* ioctl's for communication port
133
*/
134
#define NGCDRV_COM_STATUS _IOR('I', (NGCDRV_D_COM_STATUS), unsigned int)
135
#define NGCDRV_COM_UPLINK _IOW('I', (NGCDRV_D_COM_UPLINK), unsigned int)
136
#define NGCDRV_COM_RESET _IO('I', (NGCDRV_D_COM_RESET))
137
#define NGCDRV_COM_TMO _IOW('I', (NGCDRV_D_COM_TMO), unsigned int)
138
139
/*
140
* ioctl's for DMA interface
141
*/
142
#define NGCDRV_DMA_RESET _IO('I', (NGCDRV_D_DMA_RESET))
143
#define NGCDRV_DMA_START _IO('I', (NGCDRV_D_DMA_START))
144
#define NGCDRV_DMA_WAIT _IO('I', (NGCDRV_D_DMA_WAIT))
145
#define NGCDRV_DMA_ABORT _IO('I', (NGCDRV_D_DMA_ABORT))
146
#define NGCDRV_DMA_DONECOUNT _IOR('I', (NGCDRV_D_DMA_DONECOUNT), unsigned int)
147
#define NGCDRV_DMA_BYTECOUNT _IOR('I', (NGCDRV_D_DMA_BYTECOUNT), unsigned int)
148
#define NGCDRV_DMA_OVERFLOW _IOR('I', (NGCDRV_D_DMA_OVERFLOW), unsigned int)
149
#define NGCDRV_DMA_CFG_BUF _IOR('I', (NGCDRV_D_DMA_CFG_BUF), ngcdrv_ring_t)
150
#define NGCDRV_DMA_IPP_MODE _IOW('I', (NGCDRV_D_DMA_IPP_MODE), unsigned int)
151
#define NGCDRV_DMA_IPP_CFG _IOW('I', (NGCDRV_D_DMA_IPP_CFG), ngcdrv_tcb_cfg)
152
#define NGCDRV_DMA_CHAN _IOW('I', (NGCDRV_D_DMA_CHAN), unsigned int)
153
#define NGCDRV_DMA_SYNCMODE _IOW('I', (NGCDRV_D_DMA_SYNCMODE), unsigned int)
154
155
/*
156
* General ioctl's
157
*/
158
#define NGCDRV_CFG_GET _IOR('I', (NGCDRV_D_CFG_GET), ngcdrv_param_t)
159
#define NGCDRV_CFG_SET _IOW('I', (NGCDRV_D_CFG_SET), ngcdrv_param_t)
160
#define NGCDRV_PCFG_GET _IOR('I', (NGCDRV_D_PCFG_SET), ngcdrv_param_t)
161
#define NGCDRV_PCFG_SET _IOW('I', (NGCDRV_D_PCFG_SET), ngcdrv_param_t)
162
#define NGCDRV_GETREV _IOR('I', (NGCDRV_D_GETREV), unsigned int)
163
#define NGCDRV_RESET _IO('I', (NGCDRV_D_RESET))
164
168
typedef
struct
{
169
int
param1
;
170
int
param2
;
171
int
param3
;
172
}
ngcdrv_tcb_test
;
173
177
typedef
struct
{
178
int
n
;
179
}
ngcdrv_tcb_add
;
180
184
typedef
struct
{
185
int
ndit
;
186
int
n
;
187
}
ngcdrv_tcb_fowler
;
188
189
190
#ifdef __cplusplus
191
}
192
#endif
193
194
#endif
/* !NGCDRV_H */
ngcdrv_ioctl
ngcdrv_ioctl
Definition
ngcdrv.h:104
NGCDRV_D_DMA_CFG_BUF
@ NGCDRV_D_DMA_CFG_BUF
Definition
ngcdrv.h:118
NGCDRV_D_DMA_IPP_CFG
@ NGCDRV_D_DMA_IPP_CFG
Definition
ngcdrv.h:120
NGCDRV_D_DMA_CHAN
@ NGCDRV_D_DMA_CHAN
Definition
ngcdrv.h:121
NGCDRV_D_DMA_ABORT
@ NGCDRV_D_DMA_ABORT
Definition
ngcdrv.h:114
NGCDRV_D_PCFG_GET
@ NGCDRV_D_PCFG_GET
Definition
ngcdrv.h:124
NGCDRV_D_DMA_RESERVED1
@ NGCDRV_D_DMA_RESERVED1
Definition
ngcdrv.h:109
NGCDRV_D_RESET
@ NGCDRV_D_RESET
Definition
ngcdrv.h:127
NGCDRV_D_COM_UPLINK
@ NGCDRV_D_COM_UPLINK
Definition
ngcdrv.h:106
NGCDRV_D_DMA_SYNCMODE
@ NGCDRV_D_DMA_SYNCMODE
Definition
ngcdrv.h:128
NGCDRV_D_PCFG_SET
@ NGCDRV_D_PCFG_SET
Definition
ngcdrv.h:125
NGCDRV_D_DMA_BYTECOUNT
@ NGCDRV_D_DMA_BYTECOUNT
Definition
ngcdrv.h:116
NGCDRV_D_GETREV
@ NGCDRV_D_GETREV
Definition
ngcdrv.h:126
NGCDRV_D_COM_RESET
@ NGCDRV_D_COM_RESET
Definition
ngcdrv.h:107
NGCDRV_D_COM_TMO
@ NGCDRV_D_COM_TMO
Definition
ngcdrv.h:108
NGCDRV_D_COM_STATUS
@ NGCDRV_D_COM_STATUS
Definition
ngcdrv.h:105
NGCDRV_D_DMA_RESET
@ NGCDRV_D_DMA_RESET
Definition
ngcdrv.h:111
NGCDRV_D_DMA_WAIT
@ NGCDRV_D_DMA_WAIT
Definition
ngcdrv.h:113
NGCDRV_D_DMA_IPP_MODE
@ NGCDRV_D_DMA_IPP_MODE
Definition
ngcdrv.h:119
NGCDRV_D_DMA_START
@ NGCDRV_D_DMA_START
Definition
ngcdrv.h:112
NGCDRV_D_CFG_GET
@ NGCDRV_D_CFG_GET
Definition
ngcdrv.h:122
NGCDRV_D_DMA_OVERFLOW
@ NGCDRV_D_DMA_OVERFLOW
Definition
ngcdrv.h:117
NGCDRV_D_DMA_RESERVED2
@ NGCDRV_D_DMA_RESERVED2
Definition
ngcdrv.h:110
NGCDRV_D_CFG_SET
@ NGCDRV_D_CFG_SET
Definition
ngcdrv.h:123
NGCDRV_D_DMA_DONECOUNT
@ NGCDRV_D_DMA_DONECOUNT
Definition
ngcdrv.h:115
NGCDRV_MAX_PARAM
#define NGCDRV_MAX_PARAM
Definition
ngcdrv.h:113
ngcdrv_param_t
Definition
ngcdrv.h:73
ngcdrv_param_t::reg
unsigned int reg
Definition
ngcdrv.h:74
ngcdrv_param_t::off
unsigned int off
Definition
ngcdrv.h:76
ngcdrv_param_t::reserved
unsigned int reserved
Definition
ngcdrv.h:77
ngcdrv_param_t::val
unsigned int val
Definition
ngcdrv.h:75
ngcdrv_ring_t
Definition
ngcdrv.h:65
ngcdrv_ring_t::size
unsigned int size
Definition
ngcdrv.h:67
ngcdrv_ring_t::nbuf
int nbuf
Definition
ngcdrv.h:66
ngcdrv_tcb_add
Definition
ngcdrv.h:177
ngcdrv_tcb_add::n
int n
Definition
ngcdrv.h:178
ngcdrv_tcb_cfg
Definition
ngcdrv.h:96
ngcdrv_tcb_cfg::param
int param[NGCDRV_MAX_PARAM]
Definition
ngcdrv.h:98
ngcdrv_tcb_cfg::taskId
int taskId
Definition
ngcdrv.h:97
ngcdrv_tcb_fowler
Definition
ngcdrv.h:184
ngcdrv_tcb_fowler::n
int n
Definition
ngcdrv.h:186
ngcdrv_tcb_fowler::ndit
int ndit
Definition
ngcdrv.h:185
ngcdrv_tcb_test
Definition
ngcdrv.h:168
ngcdrv_tcb_test::param2
int param2
Definition
ngcdrv.h:170
ngcdrv_tcb_test::param1
int param1
Definition
ngcdrv.h:169
ngcdrv_tcb_test::param3
int param3
Definition
ngcdrv.h:171
core
ngcb
src
include
ngc
core
ngcdrv.h
Generated by
1.13.2