FreeCalypso > hg > fc-tourmaline
comparison src/gpf/inc/dio.h @ 0:4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 16 Oct 2020 06:23:26 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4e78acac3d88 |
---|---|
1 /* | |
2 +----------------------------------------------------------------------------- | |
3 | Copyright 2004 Texas Instruments Berlin, AG | |
4 | All rights reserved. | |
5 | | |
6 | This file is confidential and a trade secret of Texas | |
7 | Instruments Berlin, AG | |
8 | The receipt of or possession of this file does not convey | |
9 | any rights to reproduce or disclose its contents or to | |
10 | manufacture, use, or sell anything it may describe, in | |
11 | whole, or in part, without the specific written consent of | |
12 | Texas Instruments Berlin, AG. | |
13 +----------------------------------------------------------------------------- | |
14 | Purpose : General definitions of DIO driver interface | |
15 +----------------------------------------------------------------------------- | |
16 */ | |
17 | |
18 #ifndef __DIO_H__ | |
19 #define __DIO_H__ | |
20 | |
21 /*==== INCLUDES =============================================================*/ | |
22 | |
23 #include "gdi.h" | |
24 | |
25 /*==== DEFINITIONS ==========================================================*/ | |
26 | |
27 /* | |
28 * Device Type | |
29 */ | |
30 #define DIO_DATA_SER 0x00800000 /* device can transfer serial data */ | |
31 #define DIO_DATA_PKT 0x00400000 /* device can transfer packet data */ | |
32 #define DIO_DATA_MUX 0x00200000 /* device can start a multiplexer */ | |
33 #define DIO_TYPE_ID 0x0000FF00 /* id to separate different capabilities */ | |
34 | |
35 #define DIO_TYPE_SER (DIO_DATA_SER | 0x00000100) /* serial device */ | |
36 #define DIO_TYPE_SER_MUX (DIO_DATA_SER | DIO_DATA_MUX | 0x00000100) /* mux device */ | |
37 #define DIO_TYPE_PKT (DIO_DATA_PKT | 0x00000100) /* packet device */ | |
38 | |
39 /* | |
40 * Device Flags | |
41 */ | |
42 #define DIO_FLAG_SLEEP 0x80000000 /* sleep state allowed */ | |
43 | |
44 /* | |
45 * Baud rates | |
46 */ | |
47 #define DIO_BAUD_921600 0x00800000 | |
48 #define DIO_BAUD_812500 0x00400000 | |
49 #define DIO_BAUD_460800 0x00200000 | |
50 #define DIO_BAUD_406250 0x00100000 | |
51 #define DIO_BAUD_230400 0x00080000 | |
52 #define DIO_BAUD_203125 0x00040000 | |
53 #define DIO_BAUD_115200 0x00020000 | |
54 #define DIO_BAUD_57600 0x00010000 | |
55 #define DIO_BAUD_38400 0x00008000 | |
56 #define DIO_BAUD_33900 0x00004000 | |
57 #define DIO_BAUD_28800 0x00002000 | |
58 #define DIO_BAUD_19200 0x00001000 | |
59 #define DIO_BAUD_14400 0x00000800 | |
60 #define DIO_BAUD_9600 0x00000400 | |
61 #define DIO_BAUD_7200 0x00000200 | |
62 #define DIO_BAUD_4800 0x00000100 | |
63 #define DIO_BAUD_2400 0x00000080 | |
64 #define DIO_BAUD_1200 0x00000040 | |
65 #define DIO_BAUD_600 0x00000020 | |
66 #define DIO_BAUD_300 0x00000010 | |
67 #define DIO_BAUD_150 0x00000008 | |
68 #define DIO_BAUD_110 0x00000004 | |
69 #define DIO_BAUD_75 0x00000002 | |
70 #define DIO_BAUD_AUTO 0x00000001 /* automatic baud rate detection */ | |
71 | |
72 /* | |
73 * Character framing | |
74 */ | |
75 #define DIO_CF_7N1 0x00000800 | |
76 #define DIO_CF_7S1 0x00000400 | |
77 #define DIO_CF_7M1 0x00000200 | |
78 #define DIO_CF_7E1 0x00000100 | |
79 #define DIO_CF_7O1 0x00000080 | |
80 #define DIO_CF_7N2 0x00000040 | |
81 #define DIO_CF_8N1 0x00000020 | |
82 #define DIO_CF_8S1 0x00000010 | |
83 #define DIO_CF_8M1 0x00000008 | |
84 #define DIO_CF_8E1 0x00000004 | |
85 #define DIO_CF_8O1 0x00000002 | |
86 #define DIO_CF_8N2 0x00000001 | |
87 | |
88 /* | |
89 * Types of flow control | |
90 */ | |
91 #define DIO_FLOW_XTR_CTS 0x00000800 /* TX= transp. XON/XOFF RX=CTS */ | |
92 #define DIO_FLOW_XTR_XOFF 0x00000400 /* TX= transp. XON/XOFF RX=XON/XOFF */ | |
93 #define DIO_FLOW_XTR_NO 0x00000200 /* TX= transp. XON/XOFF RX=OFF */ | |
94 #define DIO_FLOW_RTS_CTS 0x00000100 /* TX=RTS RX=CTS */ | |
95 #define DIO_FLOW_RTS_XOFF 0x00000080 /* TX=RTS RX=XON/XOFF */ | |
96 #define DIO_FLOW_RTS_NO 0x00000040 /* TX=RTS RX=OFF */ | |
97 #define DIO_FLOW_XON_CTS 0x00000020 /* TX=XON/XOFF RX=CTS */ | |
98 #define DIO_FLOW_XON_XOFF 0x00000010 /* TX=XON/XOFF RX=XON/XOFF */ | |
99 #define DIO_FLOW_XON_NO 0x00000008 /* TX=XON/XOFF RX=OFF */ | |
100 #define DIO_FLOW_NO_CTS 0x00000004 /* TX=OFF RX=CTS */ | |
101 #define DIO_FLOW_NO_XOFF 0x00000002 /* TX=OFF RX=XON/XOFF */ | |
102 #define DIO_FLOW_NONE 0x00000001 /* TX=OFF RX=OFF */ | |
103 | |
104 /* | |
105 * Serial device flags | |
106 */ | |
107 #define DIO_FLAG_SER_ESC 0x80000000 /* device supports esc seq detection */ | |
108 | |
109 /* | |
110 * MUX mode | |
111 */ | |
112 #define DIO_MUX_I 0x00000008 /* advanced option with I frames */ | |
113 #define DIO_MUX_UI 0x00000004 /* advanced option with UI frames */ | |
114 #define DIO_MUX_UIH 0x00000002 /* advanced option with UIH frames */ | |
115 #define DIO_MUX_BASIC 0x00000001 /* basic option */ | |
116 | |
117 /* | |
118 * Sleep Mode | |
119 */ | |
120 #define DIO_SLEEP_ENABLE 0x01 /* enter sleep mode if possible */ | |
121 #define DIO_SLEEP_DISABLE 0x02 /* do not enter sleep mode */ | |
122 | |
123 /* | |
124 * Special Guard Period | |
125 */ | |
126 #define DIO_ESC_OFF 0x0000 /* turn escape sequence detection off */ | |
127 | |
128 /* | |
129 * Device Mode | |
130 */ | |
131 #define DIO_MODE_MUX 0x00000002 /* acts as 27.010 multiplexer device */ | |
132 #define DIO_MODE_SER 0x00000001 /* acts as serial device */ | |
133 | |
134 /* | |
135 * Control Type | |
136 */ | |
137 #define DIO_CTRL_LINES 0x0001 /* associated structure is T_DIO_CTRL_LINES */ | |
138 #define DIO_CTRL_MUX 0x0002 /* associated structure is T_DIO_CTRL_MUX */ | |
139 | |
140 /* | |
141 * Line State definition & control structure. | |
142 */ | |
143 #define DIO_SA 0x80000000 /* state: read=DTR write-DSR */ | |
144 #define DIO_SB 0x40000000 /* state: read=RTS write=DCD */ | |
145 #define DIO_X 0x20000000 /* state: read=RTS write=CTS */ | |
146 #define DIO_RING 0x10000000 /* state: ring indicator */ | |
147 #define DIO_ESC 0x08000000 /* state: escape sequence detested. */ | |
148 #define DIO_MUX_STOPPED 0x04000000 /* multiplexer stopped */ | |
149 #define DIO_BRK 0x02000000 /* state: break received/to be sent */ | |
150 #define DIO_BRKLEN 0x000000FF /* state: break signal # of characters */ | |
151 | |
152 /*==== TYPES ================================================================*/ | |
153 | |
154 /* | |
155 * Device Capabilities | |
156 */ | |
157 typedef struct | |
158 { | |
159 U32 device_type; | |
160 U32 device_flags; | |
161 U16 mtu_control; | |
162 U16 mtu_data; | |
163 char const *driver_name; | |
164 } T_DIO_CAP; | |
165 | |
166 typedef struct | |
167 { | |
168 U32 device_type; | |
169 U32 device_flags; | |
170 U16 mtu_control; | |
171 U16 mtu_data; | |
172 char const *driver_name; | |
173 U32 baudrate_auto; | |
174 U32 baudrate_fixed; | |
175 U32 char_frame; | |
176 U32 flow_control; | |
177 U32 ser_flags; | |
178 } T_DIO_CAP_SER; | |
179 | |
180 typedef struct | |
181 { | |
182 U32 device_type; | |
183 U32 device_flags; | |
184 U16 mtu_control; | |
185 U16 mtu_data; | |
186 char const *driver_name; | |
187 U32 baudrate_auto; | |
188 U32 baudrate_fixed; | |
189 U32 char_frame; | |
190 U32 flow_control; | |
191 U32 ser_flags; | |
192 U32 mux_mode; | |
193 } T_DIO_CAP_SER_MUX; | |
194 | |
195 typedef struct | |
196 { | |
197 U32 device_type; | |
198 U32 device_flags; | |
199 U16 mtu_control; | |
200 U16 mtu_data; | |
201 char const *driver_name; | |
202 } T_DIO_CAP_PKT; | |
203 | |
204 /* | |
205 * Device Control Block | |
206 */ | |
207 typedef struct | |
208 { | |
209 U32 device_type; /*< 0: 4> device identifier with general capability information */ | |
210 U8 sleep_mode; /*< 4: 1> enter sleep mode is possible or not */ | |
211 U8 _align0; /*< 5: 1> alignment */ | |
212 U8 _align1; /*< 6: 1> alignment */ | |
213 U8 _align2; /*< 7: 1> alignment */ | |
214 } T_DIO_DCB; | |
215 | |
216 typedef struct | |
217 { | |
218 U32 device_type; /*< 0: 4> device identifier with general capability information */ | |
219 U8 sleep_mode; /*< 4: 1> enter sleep mode is possible or not */ | |
220 U8 _align0; /*< 5: 1> alignment */ | |
221 U8 _align1; /*< 6: 1> alignment */ | |
222 U8 _align2; /*< 7: 1> alignment */ | |
223 U32 baudrate; /*< 8: 4> user set baudrate */ | |
224 U32 char_frame; /*< 12: 4> supported character framing */ | |
225 U32 flow_control; /*< 16: 4> supported modes of flow control */ | |
226 U8 xon; /*< 20: 1> set/reset XON for flow control */ | |
227 U8 xoff; /*< 21: 1> set/reset XOFF for flow control */ | |
228 U8 esc_char; /*< 22: 1> ASCII character which is used in an escape sequence */ | |
229 U8 _align3; /*< 23: 1> alignment */ | |
230 U16 guard_period; /*< 24: 2> duration value for escape sequence */ | |
231 U8 _align4; /*< 26: 1> alignment */ | |
232 U8 _align5; /*< 27: 1> alignment */ | |
233 } T_DIO_DCB_SER; | |
234 | |
235 typedef struct | |
236 { | |
237 U32 device_type; /*< 0: 4> device identifier with general capability information */ | |
238 U8 sleep_mode; /*< 4: 1> enter sleep mode is possible or not */ | |
239 U8 _align0; /*< 5: 1> alignment */ | |
240 U8 _align1; /*< 6: 1> alignment */ | |
241 U8 _align2; /*< 7: 1> alignment */ | |
242 U32 baudrate; /*< 8: 4> user set baudrate */ | |
243 U32 char_frame; /*< 12: 4> supported character framing */ | |
244 U32 flow_control; /*< 16: 4> supported modes of flow control */ | |
245 U8 xon; /*< 20: 1> set/reset XON for flow control */ | |
246 U8 xoff; /*< 21: 1> set/reset XOFF for flow control */ | |
247 U8 esc_char; /*< 22: 1> ASCII character which is used in an escape sequence */ | |
248 U8 _align3; /*< 23: 1> alignment */ | |
249 U16 guard_period; /*< 24: 2> duration value for escape sequence */ | |
250 U8 _align4; /*< 26: 1> alignment */ | |
251 U8 _align5; /*< 27: 1> alignment */ | |
252 U32 device_mode; /*< 28: 4> work mode of device */ | |
253 U32 mux_mode; /*< 32: 4> supported multiplexer modes */ | |
254 U16 n1; /*< 36: 2> max frame size of mux frame */ | |
255 U8 n2; /*< 38: 1> max number of retransmissions */ | |
256 U8 t1; /*< 39: 1> acknowledgement timer */ | |
257 U8 t2; /*< 40: 1> response timer */ | |
258 U8 t3; /*< 41: 1> wake up response timer */ | |
259 U8 k; /*< 42: 1> windows size */ | |
260 U8 _align6; /*< 43: 1> alignment */ | |
261 } T_DIO_DCB_SER_MUX; | |
262 | |
263 typedef struct | |
264 { | |
265 U32 device_type; /*< 0: 4> device identifier with general capability information */ | |
266 U8 sleep_mode; /*< 4: 1> enter sleep mode is possible or not */ | |
267 U8 _align0; /*< 5: 1> alignment */ | |
268 U8 _align1; /*< 6: 1> alignment */ | |
269 U8 _align2; /*< 7: 1> alignment */ | |
270 } T_DIO_DCB_PKT; | |
271 | |
272 /* | |
273 * Data Control | |
274 */ | |
275 typedef struct | |
276 { | |
277 U16 control_type ; | |
278 U16 length ; | |
279 }T_DIO_CTRL ; | |
280 | |
281 typedef struct | |
282 { | |
283 U16 control_type; | |
284 U16 length; | |
285 U32 state; | |
286 } T_DIO_CTRL_LINES; | |
287 | |
288 typedef struct | |
289 { | |
290 U16 control_type ; | |
291 U16 length ; | |
292 U32 state; | |
293 }T_DIO_CTRL_MUX ; | |
294 | |
295 /* | |
296 * DIO Data format. | |
297 */ | |
298 typedef struct | |
299 { | |
300 U8 _align0; /*< 0: 1> alignment */ | |
301 U8 _align1; /*< 1: 1> alignment */ | |
302 U16 c_data; /*< 2: 2> counter */ | |
303 U8 *ptr_data; /*< 4: 4> pointer to pointer to the first byte of the data buffer segment */ | |
304 } T_dio_segment; | |
305 | |
306 typedef struct | |
307 { | |
308 U16 length; /*< 0: 2> len of dio_ctrl */ | |
309 U8 _align0; /*< 2: 1> alignment */ | |
310 U8 c_dio_segment; /*< 3: 1> counter */ | |
311 T_dio_segment *ptr_dio_segment; /*< 4: 4> pointer to Structured Element */ | |
312 } T_dio_buffer; | |
313 | |
314 /*==== PROTOTYPES ===========================================================*/ | |
315 | |
316 /* | |
317 +------------------------------------------------------------------------------ | |
318 | Function : dio_init | |
319 +------------------------------------------------------------------------------ | |
320 | Description : The function initializes the interface and the drivers. | |
321 | | |
322 | Parameters : none | |
323 | | |
324 | Return : DRV_OK - Initialization successful | |
325 | DRV_INITIALIZED - Interface already initialized | |
326 | DRV_INITFAILURE - Initialization failed | |
327 | | |
328 +------------------------------------------------------------------------------ | |
329 */ | |
330 extern U16 dio_init(void); | |
331 | |
332 /* | |
333 +------------------------------------------------------------------------------ | |
334 | Function : dio_user_init | |
335 +------------------------------------------------------------------------------ | |
336 | Description : The function sets the signal callback of a DIO user. | |
337 | | |
338 | Parameters : user_name - DIO user name | |
339 | drv_handle - unique handle for this user | |
340 | signal_callback - callback function for this user | |
341 | | |
342 | Return : DRV_OK - Callback successfully set | |
343 | DRV_INVALID_PARAMS - The specified user does not exist | |
344 | DRV_INTERNAL_ERROR - Internal error | |
345 | DRV_NOTCONFIGURED - DIO interface is not yet initialized. | |
346 | | |
347 +------------------------------------------------------------------------------ | |
348 */ | |
349 extern U16 dio_user_init(char const * user_name, | |
350 U16 drv_handle, | |
351 T_DRV_CB_FUNC signal_callback); | |
352 | |
353 /* | |
354 +------------------------------------------------------------------------------ | |
355 | Function : dio_user_exit | |
356 +------------------------------------------------------------------------------ | |
357 | Description : Termination of User Operation. | |
358 | | |
359 | Parameters : user_name - DIO user name | |
360 | | |
361 | Return : DRV_OK - User operation successfully terminated. | |
362 | DRV_INVALID_PARAMS - User operation can not be terminated yet. | |
363 | DRV_INTERNAL_ERROR - Internal error | |
364 | | |
365 +------------------------------------------------------------------------------ | |
366 */ | |
367 extern U16 dio_user_exit(char const * user_name); | |
368 | |
369 /* | |
370 +------------------------------------------------------------------------------ | |
371 | Function : dio_exit | |
372 +------------------------------------------------------------------------------ | |
373 | Description : Termination of the Interface. | |
374 | | |
375 | Parameters : none | |
376 | | |
377 | Return : none | |
378 | | |
379 +------------------------------------------------------------------------------ | |
380 */ | |
381 extern void dio_exit(void); | |
382 | |
383 /* | |
384 +------------------------------------------------------------------------------ | |
385 | Function : dio_set_rx_buffer | |
386 +------------------------------------------------------------------------------ | |
387 | Description : This function provides a receive buffer to the driver. | |
388 | | |
389 | Parameters : device - device number | |
390 | buffer - buffer to copy received data in it | |
391 | | |
392 | Return : DRV_OK - Function successful | |
393 | DRV_BUFFER_FULL - Buffer queue full. | |
394 | DRV_INVALID_PARAMS - The specified device does not exist or | |
395 | the data buffer is not big enough. | |
396 | DRV_INTERNAL_ERROR - Internal driver error | |
397 | DRV_NOTCONFIGURED - The device is not yet configured | |
398 | | |
399 +------------------------------------------------------------------------------ | |
400 */ | |
401 extern U16 dio_set_rx_buffer(U32 device, | |
402 T_dio_buffer * buffer); | |
403 | |
404 /* | |
405 +------------------------------------------------------------------------------ | |
406 | Function : dio_read | |
407 +------------------------------------------------------------------------------ | |
408 | Description : This function returns a receive buffer and control information. | |
409 | | |
410 | Parameters : device - device number | |
411 | control_info - control information from the driver | |
412 | buffer - buffer with received data in it | |
413 | | |
414 | Return : DRV_OK - Function successful | |
415 | DRV_INVALID_PARAMS - The specified device does not exist | |
416 | DRV_INTERNAL_ERROR - Internal driver error | |
417 | DRV_NOTCONFIGURED - The device is not yet configured | |
418 | | |
419 +------------------------------------------------------------------------------ | |
420 */ | |
421 extern U16 dio_read(U32 device, | |
422 T_DIO_CTRL * control_info, | |
423 T_dio_buffer ** buffer); | |
424 | |
425 /* | |
426 +------------------------------------------------------------------------------ | |
427 | Function : dio_write | |
428 +------------------------------------------------------------------------------ | |
429 | Description : This function provides a send buffer to the driver which | |
430 | contains data to send. | |
431 | | |
432 | Parameters : device - device number | |
433 | control_info - control information for the driver | |
434 | buffer - buffer with data to send | |
435 | | |
436 | Return : DRV_OK - Function successful | |
437 | DRV_BUFFER_FULL - Buffer queue full. | |
438 | DRV_INVALID_PARAMS - The specified device does not exist or | |
439 | the data buffer to big. | |
440 | DRV_INTERNAL_ERROR - Internal driver error | |
441 | DRV_NOTCONFIGURED - The device is not yet configured | |
442 | | |
443 +------------------------------------------------------------------------------ | |
444 */ | |
445 extern U16 dio_write(U32 device, | |
446 T_DIO_CTRL * control_info, | |
447 T_dio_buffer * buffer); | |
448 | |
449 /* | |
450 +------------------------------------------------------------------------------ | |
451 | Function : dio_get_tx_buffer | |
452 +------------------------------------------------------------------------------ | |
453 | Description : This function returns a send buffer provided via dio_write(). | |
454 | | |
455 | Parameters : device - device number | |
456 | buffer - return sent data buffer | |
457 | | |
458 | Return : DRV_OK - Function successful | |
459 | DRV_INVALID_PARAMS - The specified device does not exist | |
460 | DRV_INTERNAL_ERROR - Internal driver error | |
461 | DRV_NOTCONFIGURED - The device is not yet configured | |
462 | | |
463 +------------------------------------------------------------------------------ | |
464 */ | |
465 extern U16 dio_get_tx_buffer(U32 device, | |
466 T_dio_buffer ** buffer); | |
467 | |
468 /* | |
469 +------------------------------------------------------------------------------ | |
470 | Function : dio_clear | |
471 +------------------------------------------------------------------------------ | |
472 | Description : This function is used to clear the hardware send buffer. | |
473 | | |
474 | Parameters : device - device number | |
475 | | |
476 | Return : DRV_OK - Function successful | |
477 | DRV_INVALID_PARAMS - The specified device does not exist | |
478 | DRV_INTERNAL_ERROR - Internal driver error | |
479 | DRV_NOTCONFIGURED - The device is not yet configured | |
480 | DRV_INPROCESS - The driver is busy clearing the buffer | |
481 | | |
482 +------------------------------------------------------------------------------ | |
483 */ | |
484 extern U16 dio_clear(U32 device); | |
485 | |
486 /* | |
487 +------------------------------------------------------------------------------ | |
488 | Function : dio_flush | |
489 +------------------------------------------------------------------------------ | |
490 | Description : With this function the driver is requested to inform the | |
491 | user, when data of the hardware send buffer have been written | |
492 | successfully. | |
493 | | |
494 | Parameters : device - device number | |
495 | | |
496 | Return : DRV_OK - Function successful | |
497 | DRV_INVALID_PARAMS - The specified device does not exist | |
498 | DRV_INTERNAL_ERROR - Internal driver error | |
499 | DRV_NOTCONFIGURED - The device is not yet configured | |
500 | DRV_INPROCESS - The driver is busy flushing the buffer | |
501 | | |
502 +------------------------------------------------------------------------------ | |
503 */ | |
504 extern U16 dio_flush(U32 device); | |
505 | |
506 /* | |
507 +------------------------------------------------------------------------------ | |
508 | Function : dio_get_capabilities | |
509 +------------------------------------------------------------------------------ | |
510 | Description : This function is used to retrieve the capabilities of a device. | |
511 | | |
512 | Parameters : device - device number | |
513 | capabilities - Return: Pointer to the device capabilities | |
514 | | |
515 | Return : DRV_OK - Function successful | |
516 | DRV_INVALID_PARAMS - The specified device does not exist | |
517 | DRV_INTERNAL_ERROR - Internal driver error | |
518 | | |
519 +------------------------------------------------------------------------------ | |
520 */ | |
521 extern U16 dio_get_capabilities(U32 device, | |
522 T_DIO_CAP ** capabilities); | |
523 | |
524 /* | |
525 +------------------------------------------------------------------------------ | |
526 | Function : dio_set_config | |
527 +------------------------------------------------------------------------------ | |
528 | Description : This function is used to configure a device. | |
529 | | |
530 | Parameters : device - device number | |
531 | dcb - pointer to a device control block | |
532 | | |
533 | Return : DRV_OK - Function successful | |
534 | DRV_INVALID_PARAMS - parameter invalid or out of range | |
535 | DRV_INTERNAL_ERROR - Internal driver error | |
536 | | |
537 +------------------------------------------------------------------------------ | |
538 */ | |
539 extern U16 dio_set_config(U32 device, | |
540 T_DIO_DCB * dcb); | |
541 | |
542 /* | |
543 +------------------------------------------------------------------------------ | |
544 | Function : dio_get_config | |
545 +------------------------------------------------------------------------------ | |
546 | Description : This function reads the device configuration. | |
547 | | |
548 | Parameters : device - device number | |
549 | dcb - pointer to a device control block | |
550 | | |
551 | Return : DRV_OK - Function successful | |
552 | DRV_INVALID_PARAMS - The specified device does not exist or | |
553 | wrong Device Control Block provided. | |
554 | DRV_INTERNAL_ERROR - Internal driver error | |
555 | DRV_NOTCONFIGURED - The device is not yet configured | |
556 | | |
557 +------------------------------------------------------------------------------ | |
558 */ | |
559 extern U16 dio_get_config(U32 device, | |
560 T_DIO_DCB * dcb); | |
561 | |
562 /* | |
563 +------------------------------------------------------------------------------ | |
564 | Function : dio_close_device | |
565 +------------------------------------------------------------------------------ | |
566 | Description : This function is used to close a device. | |
567 | | |
568 | Parameters : device - device number | |
569 | | |
570 | Return : DRV_OK - Function successful | |
571 | DRV_INVALID_PARAMS - The specified device can not be closed yet | |
572 | DRV_INTERNAL_ERROR - Internal driver error | |
573 | | |
574 +------------------------------------------------------------------------------ | |
575 */ | |
576 extern U16 dio_close_device(U32 device); | |
577 | |
578 #endif /* __DIO_H__ */ |