]> bbs.cooldavid.org Git - net-next-2.6.git/blame - include/pcmcia/cs.h
pcmcia: move local definitions out of include/pcmcia/cs.h
[net-next-2.6.git] / include / pcmcia / cs.h
CommitLineData
1da177e4
LT
1/*
2 * cs.h
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * The initial developer of the original code is David A. Hinds
9 * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
10 * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
11 *
12 * (C) 1999 David A. Hinds
13 */
14
15#ifndef _LINUX_CS_H
16#define _LINUX_CS_H
17
5fa9167a
DB
18#ifdef __KERNEL__
19#include <linux/interrupt.h>
20#endif
21
1da177e4
LT
22/* ModifyConfiguration */
23typedef struct modconf_t {
24 u_int Attributes;
25 u_int Vcc, Vpp1, Vpp2;
26} modconf_t;
27
28/* Attributes for ModifyConfiguration */
4bbed523
DB
29#define CONF_IRQ_CHANGE_VALID 0x0100
30#define CONF_VCC_CHANGE_VALID 0x0200
31#define CONF_VPP1_CHANGE_VALID 0x0400
32#define CONF_VPP2_CHANGE_VALID 0x0800
33#define CONF_IO_CHANGE_WIDTH 0x1000
1da177e4
LT
34
35/* For RequestConfiguration */
36typedef struct config_req_t {
37 u_int Attributes;
70294b46 38 u_int Vpp; /* both Vpp1 and Vpp2 */
1da177e4
LT
39 u_int IntType;
40 u_int ConfigBase;
41 u_char Status, Pin, Copy, ExtStatus;
42 u_char ConfigIndex;
43 u_int Present;
44} config_req_t;
45
46/* Attributes for RequestConfiguration */
47#define CONF_ENABLE_IRQ 0x01
48#define CONF_ENABLE_DMA 0x02
49#define CONF_ENABLE_SPKR 0x04
a7debe78 50#define CONF_ENABLE_PULSE_IRQ 0x08
1da177e4
LT
51#define CONF_VALID_CLIENT 0x100
52
53/* IntType field */
54#define INT_MEMORY 0x01
55#define INT_MEMORY_AND_IO 0x02
56#define INT_CARDBUS 0x04
57#define INT_ZOOMED_VIDEO 0x08
58
1da177e4
LT
59/* Configuration registers present */
60#define PRESENT_OPTION 0x001
61#define PRESENT_STATUS 0x002
62#define PRESENT_PIN_REPLACE 0x004
63#define PRESENT_COPY 0x008
64#define PRESENT_EXT_STATUS 0x010
65#define PRESENT_IOBASE_0 0x020
66#define PRESENT_IOBASE_1 0x040
67#define PRESENT_IOBASE_2 0x080
68#define PRESENT_IOBASE_3 0x100
69#define PRESENT_IOSIZE 0x200
70
71/* For GetMemPage, MapMemPage */
72typedef struct memreq_t {
73 u_int CardOffset;
ac8b4228 74 u_short Page;
1da177e4
LT
75} memreq_t;
76
1da177e4
LT
77/* For RequestWindow */
78typedef struct win_req_t {
79 u_int Attributes;
80 u_long Base;
81 u_int Size;
82 u_int AccessSpeed;
83} win_req_t;
84
85/* Attributes for RequestWindow */
86#define WIN_ADDR_SPACE 0x0001
87#define WIN_ADDR_SPACE_MEM 0x0000
88#define WIN_ADDR_SPACE_IO 0x0001
89#define WIN_MEMORY_TYPE 0x0002
90#define WIN_MEMORY_TYPE_CM 0x0000
91#define WIN_MEMORY_TYPE_AM 0x0002
92#define WIN_ENABLE 0x0004
93#define WIN_DATA_WIDTH 0x0018
94#define WIN_DATA_WIDTH_8 0x0000
95#define WIN_DATA_WIDTH_16 0x0008
96#define WIN_DATA_WIDTH_32 0x0010
97#define WIN_PAGED 0x0020
98#define WIN_SHARED 0x0040
99#define WIN_FIRST_SHARED 0x0080
100#define WIN_USE_WAIT 0x0100
101#define WIN_STRICT_ALIGN 0x0200
102#define WIN_MAP_BELOW_1MB 0x0400
103#define WIN_PREFETCH 0x0800
104#define WIN_CACHEABLE 0x1000
105#define WIN_BAR_MASK 0xe000
106#define WIN_BAR_SHIFT 13
107
1da177e4 108#endif /* _LINUX_CS_H */