aboutsummaryrefslogtreecommitdiff
path: root/arch/m68k/include/asm/quicc_simple.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-02-09 17:20:13 +0100
committerTakashi Iwai <tiwai@suse.de>2009-02-09 17:20:13 +0100
commitd9f8e9c34150ebec2be07bb95b6a23d99ba1f6de (patch)
tree1e8c402df9b1154f4ca37eb5242f960ef7aab747 /arch/m68k/include/asm/quicc_simple.h
parent2ebfb8eeb8f244f9d25937d31a947895cf819e26 (diff)
parent8bd4bb7a35e8ebb015a531218614c48e10a3c4ee (diff)
Merge branch 'topic/quirk-cleanup' into topic/misc
Diffstat (limited to 'arch/m68k/include/asm/quicc_simple.h')
-rw-r--r--arch/m68k/include/asm/quicc_simple.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/arch/m68k/include/asm/quicc_simple.h b/arch/m68k/include/asm/quicc_simple.h
new file mode 100644
index 00000000000..c3636932d4b
--- /dev/null
+++ b/arch/m68k/include/asm/quicc_simple.h
@@ -0,0 +1,52 @@
+/***********************************
+ * $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