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