1/***********************************
2 * $Id: quicc_simple.h,v 1.1 2002/03/02 15:01:10 gerg Exp $
3 ***********************************
4 *
5 ***************************************
6 * Simple drivers common header
7 ***************************************
8 */
9
10#ifndef __SIMPLE_H
11#define __SIMPLE_H
12
13/* #include "quicc.h" */
14
15#define GLB_SCC_0   0
16#define GLB_SCC_1   1
17#define GLB_SCC_2   2
18#define GLB_SCC_3   3
19
20typedef void (int_routine)(unsigned short interrupt_event);
21typedef int_routine *int_routine_ptr;
22typedef void *(alloc_routine)(int length);
23typedef void (free_routine)(int scc_num, int channel_num, void *buf);
24typedef void (store_rx_buffer_routine)(int scc_num, int channel_num, void *buff, int length);
25typedef int  (handle_tx_error_routine)(int scc_num, int channel_num, QUICC_BD *tbd);
26typedef void (handle_rx_error_routine)(int scc_num, int channel_num, QUICC_BD *rbd);
27typedef void (handle_lost_error_routine)(int scc_num, int channel_num);
28
29/* user defined functions for global errors */
30typedef void (handle_glob_overrun_routine)(int scc_number);
31typedef void (handle_glob_underrun_routine)(int scc_number);
32typedef void (glob_intr_q_overflow_routine)(int scc_number);
33
34/*
35 * General initialization and command routines
36 */
37void quicc_issue_cmd (unsigned short cmd, int scc_num);
38void quicc_init(void);
39void quicc_scc_init(int scc_number, int number_of_rx_buf, int number_of_tx_buf);
40void quicc_smc_init(int smc_number, int number_of_rx_buf, int number_of_tx_buf);
41void quicc_scc_start(int scc_num);
42void quicc_scc_loopback(int scc_num);
43
44/* Interrupt enable/disable routines for critical pieces of code*/
45unsigned short  IntrDis(void);
46void            IntrEna(unsigned short old_sr);
47
48/* For debugging */
49void print_rbd(int scc_num);
50void print_tbd(int scc_num);
51
52#endif
53