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