Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/include/pcmcia/cisreg.h
10817 views
1
/*
2
* cisreg.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
* <[email protected]>. 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_CISREG_H
16
#define _LINUX_CISREG_H
17
18
/*
19
* Offsets from ConfigBase for CIS registers
20
*/
21
#define CISREG_COR 0x00
22
#define CISREG_CCSR 0x02
23
#define CISREG_PRR 0x04
24
#define CISREG_SCR 0x06
25
#define CISREG_ESR 0x08
26
#define CISREG_IOBASE_0 0x0a
27
#define CISREG_IOBASE_1 0x0c
28
#define CISREG_IOBASE_2 0x0e
29
#define CISREG_IOBASE_3 0x10
30
#define CISREG_IOSIZE 0x12
31
32
/*
33
* Configuration Option Register
34
*/
35
#define COR_CONFIG_MASK 0x3f
36
#define COR_MFC_CONFIG_MASK 0x38
37
#define COR_FUNC_ENA 0x01
38
#define COR_ADDR_DECODE 0x02
39
#define COR_IREQ_ENA 0x04
40
#define COR_LEVEL_REQ 0x40
41
#define COR_SOFT_RESET 0x80
42
43
/*
44
* Card Configuration and Status Register
45
*/
46
#define CCSR_INTR_ACK 0x01
47
#define CCSR_INTR_PENDING 0x02
48
#define CCSR_POWER_DOWN 0x04
49
#define CCSR_AUDIO_ENA 0x08
50
#define CCSR_IOIS8 0x20
51
#define CCSR_SIGCHG_ENA 0x40
52
#define CCSR_CHANGED 0x80
53
54
/*
55
* Pin Replacement Register
56
*/
57
#define PRR_WP_STATUS 0x01
58
#define PRR_READY_STATUS 0x02
59
#define PRR_BVD2_STATUS 0x04
60
#define PRR_BVD1_STATUS 0x08
61
#define PRR_WP_EVENT 0x10
62
#define PRR_READY_EVENT 0x20
63
#define PRR_BVD2_EVENT 0x40
64
#define PRR_BVD1_EVENT 0x80
65
66
/*
67
* Socket and Copy Register
68
*/
69
#define SCR_SOCKET_NUM 0x0f
70
#define SCR_COPY_NUM 0x70
71
72
/*
73
* Extended Status Register
74
*/
75
#define ESR_REQ_ATTN_ENA 0x01
76
#define ESR_REQ_ATTN 0x10
77
78
/*
79
* CardBus Function Status Registers
80
*/
81
#define CBFN_EVENT 0x00
82
#define CBFN_MASK 0x04
83
#define CBFN_STATE 0x08
84
#define CBFN_FORCE 0x0c
85
86
/*
87
* These apply to all the CardBus function registers
88
*/
89
#define CBFN_WP 0x0001
90
#define CBFN_READY 0x0002
91
#define CBFN_BVD2 0x0004
92
#define CBFN_BVD1 0x0008
93
#define CBFN_GWAKE 0x0010
94
#define CBFN_INTR 0x8000
95
96
/*
97
* Extra bits in the Function Event Mask Register
98
*/
99
#define FEMR_BAM_ENA 0x0020
100
#define FEMR_PWM_ENA 0x0040
101
#define FEMR_WKUP_MASK 0x4000
102
103
/*
104
* Indirect Addressing Registers for Zoomed Video: these are addresses
105
* in common memory space
106
*/
107
#define CISREG_ICTRL0 0x02 /* control registers */
108
#define CISREG_ICTRL1 0x03
109
#define CISREG_IADDR0 0x04 /* address registers */
110
#define CISREG_IADDR1 0x05
111
#define CISREG_IADDR2 0x06
112
#define CISREG_IADDR3 0x07
113
#define CISREG_IDATA0 0x08 /* data registers */
114
#define CISREG_IDATA1 0x09
115
116
#define ICTRL0_COMMON 0x01
117
#define ICTRL0_AUTOINC 0x02
118
#define ICTRL0_BYTEGRAN 0x04
119
120
#endif /* _LINUX_CISREG_H */
121
122