54 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| /***********************************
 | |
|  * $Id: quicc_simple.h,v 1.1 2002/03/02 15:01:10 gerg Exp $
 | |
|  ***********************************
 | |
|  *
 | |
|  ***************************************
 | |
|  * Simple drivers common header
 | |
|  ***************************************
 | |
|  */
 | |
| 
 | |
| #ifndef __SIMPLE_H
 | |
| #define __SIMPLE_H
 | |
| 
 | |
| /* #include "quicc.h" */
 | |
| 
 | |
| #define GLB_SCC_0   0
 | |
| #define GLB_SCC_1   1
 | |
| #define GLB_SCC_2   2
 | |
| #define GLB_SCC_3   3
 | |
| 
 | |
| typedef void (int_routine)(unsigned short interrupt_event);
 | |
| typedef int_routine *int_routine_ptr; 
 | |
| typedef void *(alloc_routine)(int length);
 | |
| typedef void (free_routine)(int scc_num, int channel_num, void *buf);
 | |
| typedef void (store_rx_buffer_routine)(int scc_num, int channel_num, void *buff, int length);
 | |
| typedef int  (handle_tx_error_routine)(int scc_num, int channel_num, QUICC_BD *tbd);
 | |
| typedef void (handle_rx_error_routine)(int scc_num, int channel_num, QUICC_BD *rbd);
 | |
| typedef void (handle_lost_error_routine)(int scc_num, int channel_num);
 | |
| 
 | |
| /* user defined functions for global errors */
 | |
| typedef void (handle_glob_overrun_routine)(int scc_number);
 | |
| typedef void (handle_glob_underrun_routine)(int scc_number);
 | |
| typedef void (glob_intr_q_overflow_routine)(int scc_number);
 | |
| 
 | |
| /*
 | |
|  * General initialization and command routines
 | |
|  */
 | |
| void quicc_issue_cmd (unsigned short cmd, int scc_num);
 | |
| void quicc_init(void);
 | |
| void quicc_scc_init(int scc_number, int number_of_rx_buf, int number_of_tx_buf);
 | |
| void quicc_smc_init(int smc_number, int number_of_rx_buf, int number_of_tx_buf);
 | |
| void quicc_scc_start(int scc_num);
 | |
| void quicc_scc_loopback(int scc_num);
 | |
| 
 | |
| /* Interrupt enable/disable routines for critical pieces of code*/
 | |
| unsigned short  IntrDis(void);
 | |
| void            IntrEna(unsigned short old_sr);
 | |
| 
 | |
| /* For debugging */
 | |
| void print_rbd(int scc_num);
 | |
| void print_tbd(int scc_num);
 | |
| 
 | |
| #endif
 |