Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / media / pci / mantis / mantis_reg.h
1 /*
2         Mantis PCI bridge driver
3
4         Copyright (C) Manu Abraham (abraham.manu@gmail.com)
5
6         This program is free software; you can redistribute it and/or modify
7         it under the terms of the GNU General Public License as published by
8         the Free Software Foundation; either version 2 of the License, or
9         (at your option) any later version.
10
11         This program is distributed in the hope that it will be useful,
12         but WITHOUT ANY WARRANTY; without even the implied warranty of
13         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14         GNU General Public License for more details.
15
16         You should have received a copy of the GNU General Public License
17         along with this program; if not, write to the Free Software
18         Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20
21 #ifndef __MANTIS_REG_H
22 #define __MANTIS_REG_H
23
24 /* Interrupts */
25 #define MANTIS_INT_STAT                 0x00
26 #define MANTIS_INT_MASK                 0x04
27
28 #define MANTIS_INT_RISCSTAT             (0x0f << 28)
29 #define MANTIS_INT_RISCEN               (0x01 << 27)
30 #define MANTIS_INT_I2CRACK              (0x01 << 26)
31
32 /* #define MANTIS_INT_GPIF                      (0xff << 12) */
33
34 #define MANTIS_INT_PCMCIA7              (0x01 << 19)
35 #define MANTIS_INT_PCMCIA6              (0x01 << 18)
36 #define MANTIS_INT_PCMCIA5              (0x01 << 17)
37 #define MANTIS_INT_PCMCIA4              (0x01 << 16)
38 #define MANTIS_INT_PCMCIA3              (0x01 << 15)
39 #define MANTIS_INT_PCMCIA2              (0x01 << 14)
40 #define MANTIS_INT_PCMCIA1              (0x01 << 13)
41 #define MANTIS_INT_PCMCIA0              (0x01 << 12)
42 #define MANTIS_INT_IRQ1                 (0x01 << 11)
43 #define MANTIS_INT_IRQ0                 (0x01 << 10)
44 #define MANTIS_INT_OCERR                (0x01 <<  8)
45 #define MANTIS_INT_PABORT               (0x01 <<  7)
46 #define MANTIS_INT_RIPERR               (0x01 <<  6)
47 #define MANTIS_INT_PPERR                (0x01 <<  5)
48 #define MANTIS_INT_FTRGT                (0x01 <<  3)
49 #define MANTIS_INT_RISCI                (0x01 <<  1)
50 #define MANTIS_INT_I2CDONE              (0x01 <<  0)
51
52 /* DMA */
53 #define MANTIS_DMA_CTL                  0x08
54 #define MANTIS_GPIF_RD                  (0xff << 24)
55 #define MANTIS_GPIF_WR                  (0xff << 16)
56 #define MANTIS_CPU_DO                   (0x01 << 10)
57 #define MANTIS_DRV_DO                   (0x01 <<  9)
58 #define MANTIS_I2C_RD                   (0x01 <<  7)
59 #define MANTIS_I2C_WR                   (0x01 <<  6)
60 #define MANTIS_DCAP_MODE                (0x01 <<  5)
61 #define MANTIS_FIFO_TP_4                (0x00 <<  3)
62 #define MANTIS_FIFO_TP_8                (0x01 <<  3)
63 #define MANTIS_FIFO_TP_16               (0x02 <<  3)
64 #define MANTIS_FIFO_EN                  (0x01 <<  2)
65 #define MANTIS_DCAP_EN                  (0x01 <<  1)
66 #define MANTIS_RISC_EN                  (0x01 <<  0)
67
68 /* DEBUG */
69 #define MANTIS_DEBUGREG                 0x0c
70 #define MANTIS_DATINV                   (0x0e <<  7)
71 #define MANTIS_TOP_DEBUGSEL             (0x07 <<  4)
72 #define MANTIS_PCMCIA_DEBUGSEL          (0x0f <<  0)
73
74 #define MANTIS_RISC_START               0x10
75 #define MANTIS_RISC_PC                  0x14
76
77 /* I2C */
78 #define MANTIS_I2CDATA_CTL              0x18
79 #define MANTIS_I2C_RATE_1               (0x00 <<  6)
80 #define MANTIS_I2C_RATE_2               (0x01 <<  6)
81 #define MANTIS_I2C_RATE_3               (0x02 <<  6)
82 #define MANTIS_I2C_RATE_4               (0x03 <<  6)
83 #define MANTIS_I2C_STOP                 (0x01 <<  5)
84 #define MANTIS_I2C_PGMODE               (0x01 <<  3)
85
86 /* DATA */
87 #define MANTIS_CMD_DATA_R1              0x20
88 #define MANTIS_CMD_DATA_3               (0xff << 24)
89 #define MANTIS_CMD_DATA_2               (0xff << 16)
90 #define MANTIS_CMD_DATA_1               (0xff <<  8)
91 #define MANTIS_CMD_DATA_0               (0xff <<  0)
92
93 #define MANTIS_CMD_DATA_R2              0x24
94 #define MANTIS_CMD_DATA_7               (0xff << 24)
95 #define MANTIS_CMD_DATA_6               (0xff << 16)
96 #define MANTIS_CMD_DATA_5               (0xff <<  8)
97 #define MANTIS_CMD_DATA_4               (0xff <<  0)
98
99 #define MANTIS_CONTROL                  0x28
100 #define MANTIS_DET                      (0x01 <<  7)
101 #define MANTIS_DAT_CF_EN                (0x01 <<  6)
102 #define MANTIS_ACS                      (0x03 <<  4)
103 #define MANTIS_VCCEN                    (0x01 <<  3)
104 #define MANTIS_BYPASS                   (0x01 <<  2)
105 #define MANTIS_MRST                     (0x01 <<  1)
106 #define MANTIS_CRST_INT                 (0x01 <<  0)
107
108 #define MANTIS_GPIF_CFGSLA              0x84
109 #define MANTIS_GPIF_WAITSMPL            (0x07 << 28)
110 #define MANTIS_GPIF_BYTEADDRSUB         (0x01 << 25)
111 #define MANTIS_GPIF_WAITPOL             (0x01 << 24)
112 #define MANTIS_GPIF_NCDELAY             (0x07 << 20)
113 #define MANTIS_GPIF_RW2CSDELAY          (0x07 << 16)
114 #define MANTIS_GPIF_SLFTIMEDMODE        (0x01 << 15)
115 #define MANTIS_GPIF_SLFTIMEDDELY        (0x7f <<  8)
116 #define MANTIS_GPIF_DEVTYPE             (0x07 <<  4)
117 #define MANTIS_GPIF_BIGENDIAN           (0x01 <<  3)
118 #define MANTIS_GPIF_FETCHCMD            (0x03 <<  1)
119 #define MANTIS_GPIF_HWORDDEV            (0x01 <<  0)
120
121 #define MANTIS_GPIF_WSTOPER             0x90
122 #define MANTIS_GPIF_WSTOPERWREN3        (0x01 << 31)
123 #define MANTIS_GPIF_PARBOOTN            (0x01 << 29)
124 #define MANTIS_GPIF_WSTOPERSLID3        (0x1f << 24)
125 #define MANTIS_GPIF_WSTOPERWREN2        (0x01 << 23)
126 #define MANTIS_GPIF_WSTOPERSLID2        (0x1f << 16)
127 #define MANTIS_GPIF_WSTOPERWREN1        (0x01 << 15)
128 #define MANTIS_GPIF_WSTOPERSLID1        (0x1f <<  8)
129 #define MANTIS_GPIF_WSTOPERWREN0        (0x01 <<  7)
130 #define MANTIS_GPIF_WSTOPERSLID0        (0x1f <<  0)
131
132 #define MANTIS_GPIF_CS2RW               0x94
133 #define MANTIS_GPIF_CS2RWWREN3          (0x01 << 31)
134 #define MANTIS_GPIF_CS2RWDELY3          (0x3f << 24)
135 #define MANTIS_GPIF_CS2RWWREN2          (0x01 << 23)
136 #define MANTIS_GPIF_CS2RWDELY2          (0x3f << 16)
137 #define MANTIS_GPIF_CS2RWWREN1          (0x01 << 15)
138 #define MANTIS_GPIF_CS2RWDELY1          (0x3f <<  8)
139 #define MANTIS_GPIF_CS2RWWREN0          (0x01 <<  7)
140 #define MANTIS_GPIF_CS2RWDELY0          (0x3f <<  0)
141
142 #define MANTIS_GPIF_IRQCFG              0x98
143 #define MANTIS_GPIF_IRQPOL              (0x01 <<  8)
144 #define MANTIS_MASK_WRACK               (0x01 <<  7)
145 #define MANTIS_MASK_BRRDY               (0x01 <<  6)
146 #define MANTIS_MASK_OVFLW               (0x01 <<  5)
147 #define MANTIS_MASK_OTHERR              (0x01 <<  4)
148 #define MANTIS_MASK_WSTO                (0x01 <<  3)
149 #define MANTIS_MASK_EXTIRQ              (0x01 <<  2)
150 #define MANTIS_MASK_PLUGIN              (0x01 <<  1)
151 #define MANTIS_MASK_PLUGOUT             (0x01 <<  0)
152
153 #define MANTIS_GPIF_STATUS              0x9c
154 #define MANTIS_SBUF_KILLOP              (0x01 << 15)
155 #define MANTIS_SBUF_OPDONE              (0x01 << 14)
156 #define MANTIS_SBUF_EMPTY               (0x01 << 13)
157 #define MANTIS_GPIF_DETSTAT             (0x01 <<  9)
158 #define MANTIS_GPIF_INTSTAT             (0x01 <<  8)
159 #define MANTIS_GPIF_WRACK               (0x01 <<  7)
160 #define MANTIS_GPIF_BRRDY               (0x01 <<  6)
161 #define MANTIS_SBUF_OVFLW               (0x01 <<  5)
162 #define MANTIS_GPIF_OTHERR              (0x01 <<  4)
163 #define MANTIS_SBUF_WSTO                (0x01 <<  3)
164 #define MANTIS_GPIF_EXTIRQ              (0x01 <<  2)
165 #define MANTIS_CARD_PLUGIN              (0x01 <<  1)
166 #define MANTIS_CARD_PLUGOUT             (0x01 <<  0)
167
168 #define MANTIS_GPIF_BRADDR              0xa0
169 #define MANTIS_GPIF_PCMCIAREG           (0x01           << 27)
170 #define MANTIS_GPIF_PCMCIAIOM           (0x01           << 26)
171 #define MANTIS_GPIF_BR_ADDR             (0xfffffff      <<  0)
172
173 #define MANTIS_GPIF_BRBYTES             0xa4
174 #define MANTIS_GPIF_BRCNT               (0xfff          <<  0)
175
176 #define MANTIS_PCMCIA_RESET             0xa8
177 #define MANTIS_PCMCIA_RSTVAL            (0xff << 0)
178
179 #define MANTIS_CARD_RESET               0xac
180
181 #define MANTIS_GPIF_ADDR                0xb0
182 #define MANTIS_GPIF_HIFRDWRN            (0x01           << 31)
183 #define MANTIS_GPIF_PCMCIAREG           (0x01           << 27)
184 #define MANTIS_GPIF_PCMCIAIOM           (0x01           << 26)
185 #define MANTIS_GPIF_HIFADDR             (0xfffffff      <<  0)
186
187 #define MANTIS_GPIF_DOUT                0xb4
188 #define MANTIS_GPIF_HIFDOUT             (0xfffffff      <<  0)
189
190 #define MANTIS_GPIF_DIN                 0xb8
191 #define MANTIS_GPIF_HIFDIN              (0xfffffff      <<  0)
192
193 #define MANTIS_GPIF_SPARE               0xbc
194 #define MANTIS_GPIF_LOGICRD             (0xffff         << 16)
195 #define MANTIS_GPIF_LOGICRW             (0xffff         <<  0)
196
197 #endif /* __MANTIS_REG_H */