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