~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

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

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

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__ */