Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | |
| 20 | typedef void (int_routine)(unsigned short interrupt_event); |
| 21 | typedef int_routine *int_routine_ptr; |
| 22 | typedef void *(alloc_routine)(int length); |
| 23 | typedef void (free_routine)(int scc_num, int channel_num, void *buf); |
| 24 | typedef void (store_rx_buffer_routine)(int scc_num, int channel_num, void *buff, int length); |
| 25 | typedef int (handle_tx_error_routine)(int scc_num, int channel_num, QUICC_BD *tbd); |
| 26 | typedef void (handle_rx_error_routine)(int scc_num, int channel_num, QUICC_BD *rbd); |
| 27 | typedef void (handle_lost_error_routine)(int scc_num, int channel_num); |
| 28 | |
| 29 | /* user defined functions for global errors */ |
| 30 | typedef void (handle_glob_overrun_routine)(int scc_number); |
| 31 | typedef void (handle_glob_underrun_routine)(int scc_number); |
| 32 | typedef void (glob_intr_q_overflow_routine)(int scc_number); |
| 33 | |
| 34 | /* |
| 35 | * General initialization and command routines |
| 36 | */ |
| 37 | void quicc_issue_cmd (unsigned short cmd, int scc_num); |
| 38 | void quicc_init(void); |
| 39 | void quicc_scc_init(int scc_number, int number_of_rx_buf, int number_of_tx_buf); |
| 40 | void quicc_smc_init(int smc_number, int number_of_rx_buf, int number_of_tx_buf); |
| 41 | void quicc_scc_start(int scc_num); |
| 42 | void quicc_scc_loopback(int scc_num); |
| 43 | |
| 44 | /* Interrupt enable/disable routines for critical pieces of code*/ |
| 45 | unsigned short IntrDis(void); |
| 46 | void IntrEna(unsigned short old_sr); |
| 47 | |
| 48 | /* For debugging */ |
| 49 | void print_rbd(int scc_num); |
| 50 | void print_tbd(int scc_num); |
| 51 | |
| 52 | #endif |