~ubuntu-branches/ubuntu/saucy/linux-n900/saucy

« back to all changes in this revision

Viewing changes to drivers/char/rio/riospace.h

  • Committer: Bazaar Package Importer
  • Author(s): Mathieu Poirier
  • Date: 2011-02-18 09:43:31 UTC
  • Revision ID: james.westby@ubuntu.com-20110218094331-eyubsja4f9k0yhmq
Tags: 2.6.35-1.1
Initial release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
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
#define RIO_LOCATOR_LEN 16
 
37
#define MAX_RIO_BOARDS  4
 
38
 
 
39
/*
 
40
** DONT change this file. At all. Unless you can rebuild the entire
 
41
** device driver, which you probably can't, then the rest of the
 
42
** driver won't see any changes you make here. So don't make any.
 
43
** In particular, it won't be able to see changes to RIO_SLOTS
 
44
*/
 
45
 
 
46
struct Conf {
 
47
        char Locator[24];
 
48
        unsigned int StartupTime;
 
49
        unsigned int SlowCook;
 
50
        unsigned int IntrPollTime;
 
51
        unsigned int BreakInterval;
 
52
        unsigned int Timer;
 
53
        unsigned int RtaLoadBase;
 
54
        unsigned int HostLoadBase;
 
55
        unsigned int XpHz;
 
56
        unsigned int XpCps;
 
57
        char *XpOn;
 
58
        char *XpOff;
 
59
        unsigned int MaxXpCps;
 
60
        unsigned int MinXpCps;
 
61
        unsigned int SpinCmds;
 
62
        unsigned int FirstAddr;
 
63
        unsigned int LastAddr;
 
64
        unsigned int BufferSize;
 
65
        unsigned int LowWater;
 
66
        unsigned int LineLength;
 
67
        unsigned int CmdTime;
 
68
};
 
69
 
 
70
/*
 
71
**      Board types - these MUST correspond to product codes!
 
72
*/
 
73
#define RIO_EMPTY       0x0
 
74
#define RIO_EISA        0x3
 
75
#define RIO_RTA_16      0x9
 
76
#define RIO_AT          0xA
 
77
#define RIO_MCA         0xB
 
78
#define RIO_PCI         0xD
 
79
#define RIO_RTA         0xE
 
80
 
 
81
/*
 
82
**      Board data structure. This is used for configuration info
 
83
*/
 
84
struct Brd {
 
85
        unsigned char Type;     /* RIO_EISA, RIO_MCA, RIO_AT, RIO_EMPTY... */
 
86
        unsigned char Ivec;     /* POLLED or ivec number */
 
87
        unsigned char Mode;     /* Control stuff, see below */
 
88
};
 
89
 
 
90
struct Board {
 
91
        char Locator[RIO_LOCATOR_LEN];
 
92
        int NumSlots;
 
93
        struct Brd Boards[MAX_RIO_BOARDS];
 
94
};
 
95
 
 
96
#define BOOT_FROM_LINK          0x00
 
97
#define BOOT_FROM_RAM           0x01
 
98
#define EXTERNAL_BUS_OFF        0x00
 
99
#define EXTERNAL_BUS_ON         0x02
 
100
#define INTERRUPT_DISABLE       0x00
 
101
#define INTERRUPT_ENABLE        0x04
 
102
#define BYTE_OPERATION          0x00
 
103
#define WORD_OPERATION          0x08
 
104
#define POLLED                  INTERRUPT_DISABLE
 
105
#define IRQ_15                  (0x00 | INTERRUPT_ENABLE)
 
106
#define IRQ_12                  (0x10 | INTERRUPT_ENABLE)
 
107
#define IRQ_11                  (0x20 | INTERRUPT_ENABLE)
 
108
#define IRQ_9                   (0x30 | INTERRUPT_ENABLE)
 
109
#define SLOW_LINKS              0x00
 
110
#define FAST_LINKS              0x40
 
111
#define SLOW_AT_BUS             0x00
 
112
#define FAST_AT_BUS             0x80
 
113
#define SLOW_PCI_TP             0x00
 
114
#define FAST_PCI_TP             0x80
 
115
/*
 
116
**      Debug levels
 
117
*/
 
118
#define DBG_NONE        0x00000000
 
119
 
 
120
#define DBG_INIT        0x00000001
 
121
#define DBG_OPEN        0x00000002
 
122
#define DBG_CLOSE       0x00000004
 
123
#define DBG_IOCTL       0x00000008
 
124
 
 
125
#define DBG_READ        0x00000010
 
126
#define DBG_WRITE       0x00000020
 
127
#define DBG_INTR        0x00000040
 
128
#define DBG_PROC        0x00000080
 
129
 
 
130
#define DBG_PARAM       0x00000100
 
131
#define DBG_CMD         0x00000200
 
132
#define DBG_XPRINT      0x00000400
 
133
#define DBG_POLL        0x00000800
 
134
 
 
135
#define DBG_DAEMON      0x00001000
 
136
#define DBG_FAIL        0x00002000
 
137
#define DBG_MODEM       0x00004000
 
138
#define DBG_LIST        0x00008000
 
139
 
 
140
#define DBG_ROUTE       0x00010000
 
141
#define DBG_UTIL        0x00020000
 
142
#define DBG_BOOT        0x00040000
 
143
#define DBG_BUFFER      0x00080000
 
144
 
 
145
#define DBG_MON         0x00100000
 
146
#define DBG_SPECIAL     0x00200000
 
147
#define DBG_VPIX        0x00400000
 
148
#define DBG_FLUSH       0x00800000
 
149
 
 
150
#define DBG_QENABLE     0x01000000
 
151
 
 
152
#define DBG_ALWAYS      0x80000000
 
153
 
 
154
#endif                          /* __rio_riospace_h__ */