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