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