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
13extern "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
65typedef struct {
66 int nbuf;
67 unsigned int size;
69
73typedef struct {
74 unsigned int reg;
75 unsigned int val;
76 unsigned int off;
77 unsigned int reserved;
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
96typedef struct {
97 int taskId;
100
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
168typedef struct {
169 int param1;
170 int param2;
171 int param3;
173
177typedef struct {
178 int n;
180
184typedef struct {
185 int ndit;
186 int n;
188
189
190#ifdef __cplusplus
191}
192#endif
193
194#endif /* !NGCDRV_H */
ngcdrv_ioctl
Definition ngcdrv.h:104
@ NGCDRV_D_DMA_CFG_BUF
Definition ngcdrv.h:118
@ NGCDRV_D_DMA_IPP_CFG
Definition ngcdrv.h:120
@ NGCDRV_D_DMA_CHAN
Definition ngcdrv.h:121
@ NGCDRV_D_DMA_ABORT
Definition ngcdrv.h:114
@ NGCDRV_D_PCFG_GET
Definition ngcdrv.h:124
@ NGCDRV_D_DMA_RESERVED1
Definition ngcdrv.h:109
@ NGCDRV_D_RESET
Definition ngcdrv.h:127
@ NGCDRV_D_COM_UPLINK
Definition ngcdrv.h:106
@ NGCDRV_D_DMA_SYNCMODE
Definition ngcdrv.h:128
@ NGCDRV_D_PCFG_SET
Definition ngcdrv.h:125
@ NGCDRV_D_DMA_BYTECOUNT
Definition ngcdrv.h:116
@ NGCDRV_D_GETREV
Definition ngcdrv.h:126
@ NGCDRV_D_COM_RESET
Definition ngcdrv.h:107
@ NGCDRV_D_COM_TMO
Definition ngcdrv.h:108
@ NGCDRV_D_COM_STATUS
Definition ngcdrv.h:105
@ NGCDRV_D_DMA_RESET
Definition ngcdrv.h:111
@ NGCDRV_D_DMA_WAIT
Definition ngcdrv.h:113
@ NGCDRV_D_DMA_IPP_MODE
Definition ngcdrv.h:119
@ NGCDRV_D_DMA_START
Definition ngcdrv.h:112
@ NGCDRV_D_CFG_GET
Definition ngcdrv.h:122
@ NGCDRV_D_DMA_OVERFLOW
Definition ngcdrv.h:117
@ NGCDRV_D_DMA_RESERVED2
Definition ngcdrv.h:110
@ NGCDRV_D_CFG_SET
Definition ngcdrv.h:123
@ NGCDRV_D_DMA_DONECOUNT
Definition ngcdrv.h:115
#define NGCDRV_MAX_PARAM
Definition ngcdrv.h:113
Definition ngcdrv.h:73
unsigned int reg
Definition ngcdrv.h:74
unsigned int off
Definition ngcdrv.h:76
unsigned int reserved
Definition ngcdrv.h:77
unsigned int val
Definition ngcdrv.h:75
Definition ngcdrv.h:65
unsigned int size
Definition ngcdrv.h:67
int nbuf
Definition ngcdrv.h:66
Definition ngcdrv.h:177
int n
Definition ngcdrv.h:178
Definition ngcdrv.h:96
int param[NGCDRV_MAX_PARAM]
Definition ngcdrv.h:98
int taskId
Definition ngcdrv.h:97
Definition ngcdrv.h:184
int n
Definition ngcdrv.h:186
int ndit
Definition ngcdrv.h:185
Definition ngcdrv.h:168
int param2
Definition ngcdrv.h:170
int param1
Definition ngcdrv.h:169
int param3
Definition ngcdrv.h:171