aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/sep/sep_driver_hw_defs.h
blob: 300f90963de3aad1523530e0df76daa6f81f6c71 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
/*
 *
 *  sep_driver_hw_defs.h - Security Processor Driver hardware definitions
 *
 *  Copyright(c) 2009,2010 Intel Corporation. All rights reserved.
 *  Contributions(c) 2009,2010 Discretix. All rights reserved.
 *
 *  This program is free software; you can redistribute it and/or modify it
 *  under the terms of the GNU General Public License as published by the Free
 *  Software Foundation; version 2 of the License.
 *
 *  This program is distributed in the hope that it will be useful, but WITHOUT
 *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 *  more details.
 *
 *  You should have received a copy of the GNU General Public License along with
 *  this program; if not, write to the Free Software Foundation, Inc., 59
 *  Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 *  CONTACTS:
 *
 *  Mark Allyn		mark.a.allyn@intel.com
 *  Jayant Mangalampalli jayant.mangalampalli@intel.com
 *
 *  CHANGES:
 *
 *  2010.09.20	Upgrade to Medfield
 *
 */

#ifndef SEP_DRIVER_HW_DEFS__H
#define SEP_DRIVER_HW_DEFS__H

/* PCI ID's */
#define MFLD_PCI_DEVICE_ID 0x0826

/*----------------------- */
/* HW Registers Defines.  */
/*                        */
/*---------------------- -*/


/* cf registers */
#define		HW_R0B_ADDR_0_REG_ADDR			0x0000UL
#define		HW_R0B_ADDR_1_REG_ADDR			0x0004UL
#define		HW_R0B_ADDR_2_REG_ADDR			0x0008UL
#define		HW_R0B_ADDR_3_REG_ADDR			0x000cUL
#define		HW_R0B_ADDR_4_REG_ADDR			0x0010UL
#define		HW_R0B_ADDR_5_REG_ADDR			0x0014UL
#define		HW_R0B_ADDR_6_REG_ADDR			0x0018UL
#define		HW_R0B_ADDR_7_REG_ADDR			0x001cUL
#define		HW_R0B_ADDR_8_REG_ADDR			0x0020UL
#define		HW_R2B_ADDR_0_REG_ADDR			0x0080UL
#define		HW_R2B_ADDR_1_REG_ADDR			0x0084UL
#define		HW_R2B_ADDR_2_REG_ADDR			0x0088UL
#define		HW_R2B_ADDR_3_REG_ADDR			0x008cUL
#define		HW_R2B_ADDR_4_REG_ADDR			0x0090UL
#define		HW_R2B_ADDR_5_REG_ADDR			0x0094UL
#define		HW_R2B_ADDR_6_REG_ADDR			0x0098UL
#define		HW_R2B_ADDR_7_REG_ADDR			0x009cUL
#define		HW_R2B_ADDR_8_REG_ADDR			0x00a0UL
#define		HW_R3B_REG_ADDR				0x00C0UL
#define		HW_R4B_REG_ADDR				0x0100UL
#define		HW_CSA_ADDR_0_REG_ADDR			0x0140UL
#define		HW_CSA_ADDR_1_REG_ADDR			0x0144UL
#define		HW_CSA_ADDR_2_REG_ADDR			0x0148UL
#define		HW_CSA_ADDR_3_REG_ADDR			0x014cUL
#define		HW_CSA_ADDR_4_REG_ADDR			0x0150UL
#define		HW_CSA_ADDR_5_REG_ADDR			0x0154UL
#define		HW_CSA_ADDR_6_REG_ADDR			0x0158UL
#define		HW_CSA_ADDR_7_REG_ADDR			0x015cUL
#define		HW_CSA_ADDR_8_REG_ADDR			0x0160UL
#define		HW_CSA_REG_ADDR				0x0140UL
#define		HW_SINB_REG_ADDR			0x0180UL
#define		HW_SOUTB_REG_ADDR			0x0184UL
#define		HW_PKI_CONTROL_REG_ADDR			0x01C0UL
#define		HW_PKI_STATUS_REG_ADDR			0x01C4UL
#define		HW_PKI_BUSY_REG_ADDR			0x01C8UL
#define		HW_PKI_A_1025_REG_ADDR			0x01CCUL
#define		HW_PKI_SDMA_CTL_REG_ADDR		0x01D0UL
#define		HW_PKI_SDMA_OFFSET_REG_ADDR		0x01D4UL
#define		HW_PKI_SDMA_POINTERS_REG_ADDR		0x01D8UL
#define		HW_PKI_SDMA_DLENG_REG_ADDR		0x01DCUL
#define		HW_PKI_SDMA_EXP_POINTERS_REG_ADDR	0x01E0UL
#define		HW_PKI_SDMA_RES_POINTERS_REG_ADDR	0x01E4UL
#define		HW_PKI_CLR_REG_ADDR			0x01E8UL
#define		HW_PKI_SDMA_BUSY_REG_ADDR		0x01E8UL
#define		HW_PKI_SDMA_FIRST_EXP_N_REG_ADDR	0x01ECUL
#define		HW_PKI_SDMA_MUL_BY1_REG_ADDR		0x01F0UL
#define		HW_PKI_SDMA_RMUL_SEL_REG_ADDR		0x01F4UL
#define		HW_DES_KEY_0_REG_ADDR			0x0208UL
#define		HW_DES_KEY_1_REG_ADDR			0x020CUL
#define		HW_DES_KEY_2_REG_ADDR			0x0210UL
#define		HW_DES_KEY_3_REG_ADDR			0x0214UL
#define		HW_DES_KEY_4_REG_ADDR			0x0218UL
#define		HW_DES_KEY_5_REG_ADDR			0x021CUL
#define		HW_DES_CONTROL_0_REG_ADDR		0x0220UL
#define		HW_DES_CONTROL_1_REG_ADDR		0x0224UL
#define		HW_DES_IV_0_REG_ADDR			0x0228UL
#define		HW_DES_IV_1_REG_ADDR			0x022CUL
#define		HW_AES_KEY_0_ADDR_0_REG_ADDR		0x0400UL
#define		HW_AES_KEY_0_ADDR_1_REG_ADDR		0x0404UL
#define		HW_AES_KEY_0_ADDR_2_REG_ADDR		0x0408UL
#define		HW_AES_KEY_0_ADDR_3_REG_ADDR		0x040cUL
#define		HW_AES_KEY_0_ADDR_4_REG_ADDR		0x0410UL
#define		HW_AES_KEY_0_ADDR_5_REG_ADDR		0x0414UL
#define		HW_AES_KEY_0_ADDR_6_REG_ADDR		0x0418UL
#define		HW_AES_KEY_0_ADDR_7_REG_ADDR		0x041cUL
#define		HW_AES_KEY_0_REG_ADDR			0x0400UL
#define		HW_AES_IV_0_ADDR_0_REG_ADDR		0x0440UL
#define		HW_AES_IV_0_ADDR_1_REG_ADDR		0x0444UL
#define		HW_AES_IV_0_ADDR_2_REG_ADDR		0x0448UL
#define		HW_AES_IV_0_ADDR_3_REG_ADDR		0x044cUL
#define		HW_AES_IV_0_REG_ADDR			0x0440UL
#define		HW_AES_CTR1_ADDR_0_REG_ADDR		0x0460UL
#define		HW_AES_CTR1_ADDR_1_REG_ADDR		0x0464UL
#define		HW_AES_CTR1_ADDR_2_REG_ADDR		0x0468UL
#define		HW_AES_CTR1_ADDR_3_REG_ADDR		0x046cUL
#define		HW_AES_CTR1_REG_ADDR			0x0460UL
#define		HW_AES_SK_REG_ADDR			0x0478UL
#define		HW_AES_MAC_OK_REG_ADDR			0x0480UL
#define		HW_AES_PREV_IV_0_ADDR_0_REG_ADDR	0x0490UL
#define		HW_AES_PREV_IV_0_ADDR_1_REG_ADDR	0x0494UL
#define		HW_AES_PREV_IV_0_ADDR_2_REG_ADDR	0x0498UL
#define		HW_AES_PREV_IV_0_ADDR_3_REG_ADDR	0x049cUL
#define		HW_AES_PREV_IV_0_REG_ADDR		0x0490UL
#define		HW_AES_CONTROL_REG_ADDR			0x04C0UL
#define		HW_HASH_H0_REG_ADDR			0x0640UL
#define		HW_HASH_H1_REG_ADDR			0x0644UL
#define		HW_HASH_H2_REG_ADDR			0x0648UL
#define		HW_HASH_H3_REG_ADDR			0x064CUL
#define		HW_HASH_H4_REG_ADDR			0x0650UL
#define		HW_HASH_H5_REG_ADDR			0x0654UL
#define		HW_HASH_H6_REG_ADDR			0x0658UL
#define		HW_HASH_H7_REG_ADDR			0x065CUL
#define		HW_HASH_H8_REG_ADDR			0x0660UL
#define		HW_HASH_H9_REG_ADDR			0x0664UL
#define		HW_HASH_H10_REG_ADDR			0x0668UL
#define		HW_HASH_H11_REG_ADDR			0x066CUL
#define		HW_HASH_H12_REG_ADDR			0x0670UL
#define		HW_HASH_H13_REG_ADDR			0x0674UL
#define		HW_HASH_H14_REG_ADDR			0x0678UL
#define		HW_HASH_H15_REG_ADDR			0x067CUL
#define		HW_HASH_CONTROL_REG_ADDR		0x07C0UL
#define		HW_HASH_PAD_EN_REG_ADDR			0x07C4UL
#define		HW_HASH_PAD_CFG_REG_ADDR		0x07C8UL
#define		HW_HASH_CUR_LEN_0_REG_ADDR		0x07CCUL
#define		HW_HASH_CUR_LEN_1_REG_ADDR		0x07D0UL
#define		HW_HASH_CUR_LEN_2_REG_ADDR		0x07D4UL
#define		HW_HASH_CUR_LEN_3_REG_ADDR		0x07D8UL
#define		HW_HASH_PARAM_REG_ADDR			0x07DCUL
#define		HW_HASH_INT_BUSY_REG_ADDR		0x07E0UL
#define		HW_HASH_SW_RESET_REG_ADDR		0x07E4UL
#define		HW_HASH_ENDIANESS_REG_ADDR		0x07E8UL
#define		HW_HASH_DATA_REG_ADDR			0x07ECUL
#define		HW_DRNG_CONTROL_REG_ADDR		0x0800UL
#define		HW_DRNG_VALID_REG_ADDR			0x0804UL
#define		HW_DRNG_DATA_REG_ADDR			0x0808UL
#define		HW_RND_SRC_EN_REG_ADDR			0x080CUL
#define		HW_AES_CLK_ENABLE_REG_ADDR		0x0810UL
#define		HW_DES_CLK_ENABLE_REG_ADDR		0x0814UL
#define		HW_HASH_CLK_ENABLE_REG_ADDR		0x0818UL
#define		HW_PKI_CLK_ENABLE_REG_ADDR		0x081CUL
#define		HW_CLK_STATUS_REG_ADDR			0x0824UL
#define		HW_CLK_ENABLE_REG_ADDR			0x0828UL
#define		HW_DRNG_SAMPLE_REG_ADDR			0x0850UL
#define		HW_RND_SRC_CTL_REG_ADDR			0x0858UL
#define		HW_CRYPTO_CTL_REG_ADDR			0x0900UL
#define		HW_CRYPTO_STATUS_REG_ADDR		0x090CUL
#define		HW_CRYPTO_BUSY_REG_ADDR			0x0910UL
#define		HW_AES_BUSY_REG_ADDR			0x0914UL
#define		HW_DES_BUSY_REG_ADDR			0x0918UL
#define		HW_HASH_BUSY_REG_ADDR			0x091CUL
#define		HW_CONTENT_REG_ADDR			0x0924UL
#define		HW_VERSION_REG_ADDR			0x0928UL
#define		HW_CONTEXT_ID_REG_ADDR			0x0930UL
#define		HW_DIN_BUFFER_REG_ADDR			0x0C00UL
#define		HW_DIN_MEM_DMA_BUSY_REG_ADDR		0x0c20UL
#define		HW_SRC_LLI_MEM_ADDR_REG_ADDR		0x0c24UL
#define		HW_SRC_LLI_WORD0_REG_ADDR		0x0C28UL
#define		HW_SRC_LLI_WORD1_REG_ADDR		0x0C2CUL
#define		HW_SRAM_SRC_ADDR_REG_ADDR		0x0c30UL
#define		HW_DIN_SRAM_BYTES_LEN_REG_ADDR		0x0c34UL
#define		HW_DIN_SRAM_DMA_BUSY_REG_ADDR		0x0C38UL
#define		HW_WRITE_ALIGN_REG_ADDR			0x0C3CUL
#define		HW_OLD_DATA_REG_ADDR			0x0C48UL
#define		HW_WRITE_ALIGN_LAST_REG_ADDR		0x0C4CUL
#define		HW_DOUT_BUFFER_REG_ADDR			0x0C00UL
#define		HW_DST_LLI_WORD0_REG_ADDR		0x0D28UL
#define		HW_DST_LLI_WORD1_REG_ADDR		0x0D2CUL
#define		HW_DST_LLI_MEM_ADDR_REG_ADDR		0x0D24UL
#define		HW_DOUT_MEM_DMA_BUSY_REG_ADDR		0x0D20UL
#define		HW_SRAM_DEST_ADDR_REG_ADDR		0x0D30UL
#define		HW_DOUT_SRAM_BYTES_LEN_REG_ADDR		0x0D34UL
#define		HW_DOUT_SRAM_DMA_BUSY_REG_ADDR		0x0D38UL
#define		HW_READ_ALIGN_REG_ADDR			0x0D3CUL
#define		HW_READ_LAST_DATA_REG_ADDR		0x0D44UL
#define		HW_RC4_THRU_CPU_REG_ADDR		0x0D4CUL
#define		HW_AHB_SINGLE_REG_ADDR			0x0E00UL
#define		HW_SRAM_DATA_REG_ADDR			0x0F00UL
#define		HW_SRAM_ADDR_REG_ADDR			0x0F04UL
#define		HW_SRAM_DATA_READY_REG_ADDR		0x0F08UL
#define		HW_HOST_IRR_REG_ADDR			0x0A00UL
#define		HW_HOST_IMR_REG_ADDR			0x0A04UL
#define		HW_HOST_ICR_REG_ADDR			0x0A08UL
#define		HW_HOST_SEP_SRAM_THRESHOLD_REG_ADDR	0x0A10UL
#define		HW_HOST_SEP_BUSY_REG_ADDR		0x0A14UL
#define		HW_HOST_SEP_LCS_REG_ADDR		0x0A18UL
#define		HW_HOST_CC_SW_RST_REG_ADDR		0x0A40UL
#define		HW_HOST_SEP_SW_RST_REG_ADDR		0x0A44UL
#define		HW_HOST_FLOW_DMA_SW_INT0_REG_ADDR	0x0A80UL
#define		HW_HOST_FLOW_DMA_SW_INT1_REG_ADDR	0x0A84UL
#define		HW_HOST_FLOW_DMA_SW_INT2_REG_ADDR	0x0A88UL
#define		HW_HOST_FLOW_DMA_SW_INT3_REG_ADDR	0x0A8cUL
#define		HW_HOST_FLOW_DMA_SW_INT4_REG_ADDR	0x0A90UL
#define		HW_HOST_FLOW_DMA_SW_INT5_REG_ADDR	0x0A94UL
#define		HW_HOST_FLOW_DMA_SW_INT6_REG_ADDR	0x0A98UL
#define		HW_HOST_FLOW_DMA_SW_INT7_REG_ADDR	0x0A9cUL
#define		HW_HOST_SEP_HOST_GPR0_REG_ADDR		0x0B00UL
#define		HW_HOST_SEP_HOST_GPR1_REG_ADDR		0x0B04UL
#define		HW_HOST_SEP_HOST_GPR2_REG_ADDR		0x0B08UL
#define		HW_HOST_SEP_HOST_GPR3_REG_ADDR		0x0B0CUL
#define		HW_HOST_HOST_SEP_GPR0_REG_ADDR		0x0B80UL
#define		HW_HOST_HOST_SEP_GPR1_REG_ADDR		0x0B84UL
#define		HW_HOST_HOST_SEP_GPR2_REG_ADDR		0x0B88UL
#define		HW_HOST_HOST_SEP_GPR3_REG_ADDR		0x0B8CUL
#define		HW_HOST_HOST_ENDIAN_REG_ADDR		0x0B90UL
#define		HW_HOST_HOST_COMM_CLK_EN_REG_ADDR	0x0B94UL
#define		HW_CLR_SRAM_BUSY_REG_REG_ADDR		0x0F0CUL
#define		HW_CC_SRAM_BASE_ADDRESS			0x5800UL

#endif		/* ifndef HW_DEFS */