OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [drivers/] [char/] [rio/] [riospace.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
2
** -----------------------------------------------------------------------------
3
**
4
**  Perle Specialix driver for Linux
5
**  Ported from existing RIO Driver for SCO sources.
6
 *
7
 *  (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
8
 *
9
 *      This program is free software; you can redistribute it and/or modify
10
 *      it under the terms of the GNU General Public License as published by
11
 *      the Free Software Foundation; either version 2 of the License, or
12
 *      (at your option) any later version.
13
 *
14
 *      This program is distributed in the hope that it will be useful,
15
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 *      GNU General Public License for more details.
18
 *
19
 *      You should have received a copy of the GNU General Public License
20
 *      along with this program; if not, write to the Free Software
21
 *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22
**
23
**      Module          : riospace.h
24
**      SID             : 1.2
25
**      Last Modified   : 11/6/98 11:34:13
26
**      Retrieved       : 11/6/98 11:34:22
27
**
28
**  ident @(#)riospace.h        1.2
29
**
30
** -----------------------------------------------------------------------------
31
*/
32
 
33
#ifndef __rio_riospace_h__
34
#define __rio_riospace_h__
35
 
36
#ifdef SCCS_LABELS
37
static char *_riospace_h_sccs_ = "@(#)riospace.h        1.2";
38
#endif
39
 
40
#define RIO_LOCATOR_LEN 16
41
#define MAX_RIO_BOARDS  4
42
 
43
/*
44
** DONT change this file. At all. Unless you can rebuild the entire
45
** device driver, which you probably can't, then the rest of the
46
** driver won't see any changes you make here. So don't make any.
47
** In particular, it won't be able to see changes to RIO_SLOTS
48
*/
49
 
50
struct Conf
51
{
52
        char         Locator[24];
53
        unsigned int StartupTime;
54
        unsigned int SlowCook;
55
        unsigned int IntrPollTime;
56
        unsigned int BreakInterval;
57
        unsigned int Timer;
58
        unsigned int RtaLoadBase;
59
        unsigned int HostLoadBase;
60
        unsigned int XpHz;
61
        unsigned int XpCps;
62
        char         *XpOn;
63
        char         *XpOff;
64
        unsigned int MaxXpCps;
65
        unsigned int MinXpCps;
66
        unsigned int SpinCmds;
67
        unsigned int FirstAddr;
68
        unsigned int LastAddr;
69
        unsigned int BufferSize;
70
        unsigned int LowWater;
71
        unsigned int LineLength;
72
        unsigned int CmdTime;
73
};
74
 
75
/*
76
**      Board types - these MUST correspond to product codes!
77
*/
78
#define RIO_EMPTY       0x0
79
#define RIO_EISA        0x3
80
#define RIO_RTA_16      0x9
81
#define RIO_AT          0xA
82
#define RIO_MCA         0xB
83
#define RIO_PCI         0xD
84
#define RIO_RTA         0xE
85
 
86
/*
87
**      Board data structure. This is used for configuration info
88
*/
89
struct  Brd
90
{
91
    unsigned char Type; /* RIO_EISA, RIO_MCA, RIO_AT, RIO_EMPTY... */
92
    unsigned char Ivec; /* POLLED or ivec number */
93
    unsigned char Mode; /* Control stuff, see below */
94
};
95
 
96
struct  Board
97
{
98
    char       Locator[RIO_LOCATOR_LEN];
99
    int        NumSlots;
100
    struct Brd Boards[MAX_RIO_BOARDS];
101
};
102
 
103
#define BOOT_FROM_LINK          0x00
104
#define BOOT_FROM_RAM           0x01
105
#define EXTERNAL_BUS_OFF        0x00
106
#define EXTERNAL_BUS_ON         0x02
107
#define INTERRUPT_DISABLE       0x00
108
#define INTERRUPT_ENABLE        0x04
109
#define BYTE_OPERATION          0x00
110
#define WORD_OPERATION          0x08
111
#define POLLED                  INTERRUPT_DISABLE
112
#define IRQ_15                  (0x00 | INTERRUPT_ENABLE)
113
#define IRQ_12                  (0x10 | INTERRUPT_ENABLE)
114
#define IRQ_11                  (0x20 | INTERRUPT_ENABLE)
115
#define IRQ_9                   (0x30 | INTERRUPT_ENABLE)
116
#define SLOW_LINKS              0x00
117
#define FAST_LINKS              0x40
118
#define SLOW_AT_BUS             0x00
119
#define FAST_AT_BUS             0x80
120
#define SLOW_PCI_TP             0x00
121
#define FAST_PCI_TP             0x80
122
/*
123
**      Debug levels
124
*/
125
#define DBG_NONE        0x00000000
126
 
127
#define DBG_INIT        0x00000001
128
#define DBG_OPEN        0x00000002
129
#define DBG_CLOSE       0x00000004
130
#define DBG_IOCTL       0x00000008
131
 
132
#define DBG_READ        0x00000010
133
#define DBG_WRITE       0x00000020
134
#define DBG_INTR        0x00000040
135
#define DBG_PROC        0x00000080
136
 
137
#define DBG_PARAM       0x00000100
138
#define DBG_CMD         0x00000200
139
#define DBG_XPRINT      0x00000400
140
#define DBG_POLL        0x00000800
141
 
142
#define DBG_DAEMON      0x00001000
143
#define DBG_FAIL        0x00002000
144
#define DBG_MODEM       0x00004000
145
#define DBG_LIST        0x00008000
146
 
147
#define DBG_ROUTE       0x00010000
148
#define DBG_UTIL        0x00020000
149
#define DBG_BOOT        0x00040000
150
#define DBG_BUFFER      0x00080000
151
 
152
#define DBG_MON         0x00100000
153
#define DBG_SPECIAL     0x00200000
154
#define DBG_VPIX        0x00400000
155
#define DBG_FLUSH       0x00800000
156
 
157
#define DBG_QENABLE     0x01000000
158
 
159
#define DBG_ALWAYS      0x80000000
160
 
161
#endif /* __rio_riospace_h__ */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.