Linux 2.4.0-test9pre1
[davej-history.git] / drivers / net / sk98lin / h / skgesirq.h
blobee1f84df9a758fab291e74bdca85e53fb60b7cd6
1 /******************************************************************************
3 * Name: skgesirq.h
4 * Project: GEnesis, PCI Gigabit Ethernet Adapter
5 * Version: $Revision: 1.20 $
6 * Date: $Date: 1999/12/06 10:00:44 $
7 * Purpose: SK specific Gigabit Ethernet special IRQ functions
9 ******************************************************************************/
11 /******************************************************************************
13 * (C)Copyright 1998,1999 SysKonnect,
14 * a business unit of Schneider & Koch & Co. Datensysteme GmbH.
16 * This program is free software; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License as published by
18 * the Free Software Foundation; either version 2 of the License, or
19 * (at your option) any later version.
21 * The information in this file is provided "AS IS" without warranty.
23 ******************************************************************************/
25 /******************************************************************************
27 * History:
28 * $Log: skgesirq.h,v $
29 * Revision 1.20 1999/12/06 10:00:44 cgoos
30 * Added SET event for role.
32 * Revision 1.19 1999/11/22 13:58:26 cgoos
33 * Changed license header to GPL.
35 * Revision 1.18 1999/05/19 07:32:59 cgoos
36 * Changes for 1000Base-T.
38 * Revision 1.17 1999/03/12 13:29:31 malthoff
39 * Move Autonegotiation Error Codes to skgeinit.h.
41 * Revision 1.16 1999/03/08 10:11:28 gklug
42 * add: AutoNegDone return codes
44 * Revision 1.15 1998/11/18 13:20:53 gklug
45 * add: different timeouts for active and non-active links
47 * Revision 1.14 1998/11/04 07:18:14 cgoos
48 * Added prototype for SkXmRxTxEnable.
50 * Revision 1.13 1998/10/21 05:52:23 gklug
51 * add: parameter DoLoop to InitPhy function
53 * Revision 1.12 1998/10/19 06:45:03 cgoos
54 * Added prototype for SkXmInitPhy.
56 * Revision 1.11 1998/10/15 14:34:10 gklug
57 * add: WA_TIME is 500 msec
59 * Revision 1.10 1998/10/14 14:49:41 malthoff
60 * Remove err log defines E021 and E022. They are
61 * defined in skgeinit.h now.
63 * Revision 1.9 1998/10/14 14:00:39 gklug
64 * add: eroor logs for init phys
66 * Revision 1.8 1998/10/14 05:44:05 gklug
67 * add: E020
69 * Revision 1.7 1998/10/02 06:24:58 gklug
70 * add: error messages
72 * Revision 1.6 1998/10/01 07:54:45 gklug
73 * add: PNMI debug module
75 * Revision 1.5 1998/09/28 13:36:31 malthoff
76 * Move the bit definitions for Autonegotiation
77 * and Flow Control to skgeinit.h.
79 * Revision 1.4 1998/09/15 12:29:34 gklug
80 * add: error logs
82 * Revision 1.3 1998/09/03 13:54:02 gklug
83 * add: function prototypes
85 * Revision 1.2 1998/09/03 10:24:36 gklug
86 * add: Events send by PNMI
87 * add: parameter definition for Flow Control etc.
89 * Revision 1.1 1998/08/27 11:50:27 gklug
90 * initial revision
93 ******************************************************************************/
95 #ifndef _INC_SKGESIRQ_H_
96 #define _INC_SKGESIRQ_H_
99 * Define the Event the special IRQ/INI module can handle
101 #define SK_HWEV_WATIM 1 /* Timeout for WA errata #2 XMAC */
102 #define SK_HWEV_PORT_START 2 /* Port Start Event by RLMT */
103 #define SK_HWEV_PORT_STOP 3 /* Port Stop Event by RLMT */
104 #define SK_HWEV_CLEAR_STAT 4 /* Clear Statistics by PNMI */
105 #define SK_HWEV_UPDATE_STAT 5 /* Update Statistics by PNMI */
106 #define SK_HWEV_SET_LMODE 6 /* Set Link Mode by PNMI */
107 #define SK_HWEV_SET_FLOWMODE 7 /* Set Flow Control Mode by PNMI */
108 #define SK_HWEV_SET_ROLE 8 /* Set Master/Slave (Role) by PNMI */
110 #define SK_WA_ACT_TIME (5000000L) /* 5 sec */
111 #define SK_WA_INA_TIME (100000L) /* 100 msec */
114 * Define the error numbers and messages
116 #define SKERR_SIRQ_E001 (SK_ERRBASE_SIRQ+0)
117 #define SKERR_SIRQ_E001MSG "Unknown event"
118 #define SKERR_SIRQ_E002 (SKERR_SIRQ_E001+1)
119 #define SKERR_SIRQ_E002MSG "Packet timeout RX1"
120 #define SKERR_SIRQ_E003 (SKERR_SIRQ_E002+1)
121 #define SKERR_SIRQ_E003MSG "Packet timeout RX2"
122 #define SKERR_SIRQ_E004 (SKERR_SIRQ_E003+1)
123 #define SKERR_SIRQ_E004MSG "XMAC 1 not correctly initialized"
124 #define SKERR_SIRQ_E005 (SKERR_SIRQ_E004+1)
125 #define SKERR_SIRQ_E005MSG "XMAC 2 not correctly initialized"
126 #define SKERR_SIRQ_E006 (SKERR_SIRQ_E005+1)
127 #define SKERR_SIRQ_E006MSG "CHECK failure R1"
128 #define SKERR_SIRQ_E007 (SKERR_SIRQ_E006+1)
129 #define SKERR_SIRQ_E007MSG "CHECK failure R2"
130 #define SKERR_SIRQ_E008 (SKERR_SIRQ_E007+1)
131 #define SKERR_SIRQ_E008MSG "CHECK failure XS1"
132 #define SKERR_SIRQ_E009 (SKERR_SIRQ_E008+1)
133 #define SKERR_SIRQ_E009MSG "CHECK failure XA1"
134 #define SKERR_SIRQ_E010 (SKERR_SIRQ_E009+1)
135 #define SKERR_SIRQ_E010MSG "CHECK failure XS2"
136 #define SKERR_SIRQ_E011 (SKERR_SIRQ_E010+1)
137 #define SKERR_SIRQ_E011MSG "CHECK failure XA2"
138 #define SKERR_SIRQ_E012 (SKERR_SIRQ_E011+1)
139 #define SKERR_SIRQ_E012MSG "unexpected IRQ Master error"
140 #define SKERR_SIRQ_E013 (SKERR_SIRQ_E012+1)
141 #define SKERR_SIRQ_E013MSG "unexpected IRQ Status error"
142 #define SKERR_SIRQ_E014 (SKERR_SIRQ_E013+1)
143 #define SKERR_SIRQ_E014MSG "Parity error on RAM (read)"
144 #define SKERR_SIRQ_E015 (SKERR_SIRQ_E014+1)
145 #define SKERR_SIRQ_E015MSG "Parity error on RAM (write)"
146 #define SKERR_SIRQ_E016 (SKERR_SIRQ_E015+1)
147 #define SKERR_SIRQ_E016MSG "Parity error MAC 1"
148 #define SKERR_SIRQ_E017 (SKERR_SIRQ_E016+1)
149 #define SKERR_SIRQ_E017MSG "Parity error MAC 2"
150 #define SKERR_SIRQ_E018 (SKERR_SIRQ_E017+1)
151 #define SKERR_SIRQ_E018MSG "Parity error RX 1"
152 #define SKERR_SIRQ_E019 (SKERR_SIRQ_E018+1)
153 #define SKERR_SIRQ_E019MSG "Parity error RX 2"
154 #define SKERR_SIRQ_E020 (SKERR_SIRQ_E019+1)
155 #define SKERR_SIRQ_E020MSG "XMAC transmit FIFO underrun"
156 #define SKERR_SIRQ_E021 (SKERR_SIRQ_E020+1)
157 #define SKERR_SIRQ_E021MSG "Spurious I2C interrupt"
158 #define SKERR_SIRQ_E022 (SKERR_SIRQ_E020+1)
159 #define SKERR_SIRQ_E022MSG "Cable pair swap error"
161 extern void SkGeSirqIsr(SK_AC *pAC, SK_IOC IoC, SK_U32 Istatus);
162 extern int SkGeSirqEvent(SK_AC *pAC, SK_IOC IoC, SK_U32 Event, SK_EVPARA Para);
163 extern void SkXmInitPhy( SK_AC *pAC, SK_IOC IoC, int Port, SK_BOOL DoLoop);
164 extern int SkXmRxTxEnable(SK_AC *pAC, SK_IOC IoC, int Port);
165 extern void SkHWLinkUp(SK_AC *pAC, SK_IOC IoC, int Port);
166 extern void SkHWLinkDown(SK_AC *pAC, SK_IOC IoC, int Port);
168 #endif /* _INC_SKGESIRQ_H_ */