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