• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 // Copyright (C) 2022 Beken Corporation
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #ifndef _BK_SEC_H_
16 #define _BK_SEC_H_
17 
18 #if (CONFIG_SOC_BK7251)
19 
20 #define SECURITY_BASE                  (0x00806000UL)
21 
22 #define SECURITY_AES_KEY0              (SECURITY_BASE + 0x00 * 4)
23 #define SECURITY_AES_KEY0_MASK              0xFFFFFFFFUL
24 //#define SECURITY_AES_KEY0                   (*((volatile unsigned long *) SECURITY_AES_KEY0))
25 
26 
27 #define SECURITY_AES_KEY1              (SECURITY_BASE + 0x01 * 4)
28 #define SECURITY_AES_KEY1_MASK              0xFFFFFFFFUL
29 //#define SECURITY_AES_KEY1                   (*((volatile unsigned long *) SECURITY_AES_KEY1))
30 
31 
32 #define SECURITY_AES_KEY2              (SECURITY_BASE + 0x02 * 4)
33 #define SECURITY_AES_KEY2_MASK              0xFFFFFFFFUL
34 //#define SECURITY_AES_KEY2                   (*((volatile unsigned long *) SECURITY_AES_KEY2))
35 
36 
37 #define SECURITY_AES_KEY3              (SECURITY_BASE + 0x03 * 4)
38 #define SECURITY_AES_KEY3_MASK              0xFFFFFFFFUL
39 //#define SECURITY_AES_KEY3                   (*((volatile unsigned long *) SECURITY_AES_KEY3))
40 
41 
42 #define SECURITY_AES_KEY4              (SECURITY_BASE + 0x04 * 4)
43 #define SECURITY_AES_KEY4_MASK              0xFFFFFFFFUL
44 //#define SECURITY_AES_KEY4                   (*((volatile unsigned long *) SECURITY_AES_KEY4))
45 
46 
47 #define SECURITY_AES_KEY5              (SECURITY_BASE + 0x05 * 4)
48 #define SECURITY_AES_KEY5_MASK              0xFFFFFFFFUL
49 //#define SECURITY_AES_KEY5                   (*((volatile unsigned long *) SECURITY_AES_KEY5))
50 
51 
52 #define SECURITY_AES_KEY6              (SECURITY_BASE + 0x06 * 4)
53 #define SECURITY_AES_KEY6_MASK              0xFFFFFFFFUL
54 //#define SECURITY_AES_KEY6                   (*((volatile unsigned long *) SECURITY_AES_KEY6))
55 
56 
57 #define SECURITY_AES_KEY7              (SECURITY_BASE + 0x07 * 4)
58 #define SECURITY_AES_KEY7_MASK              0xFFFFFFFFUL
59 //#define SECURITY_AES_KEY7                   (*((volatile unsigned long *) SECURITY_AES_KEY7))
60 
61 
62 #define SECURITY_AES_KEY_X(x)          (SECURITY_BASE + (x) * 4)
63 #define SECURITY_AES_KEY_X_MASK             0xFFFFFFFFUL
64 //#define SECURITY_AES_KEY_X(x)               (*((volatile unsigned long *) SECURITY_AES_KEY_X(x)))
65 
66 
67 #define SECURITY_AES_CTRL              (SECURITY_BASE + 0x08 * 4)
68 #define SECURITY_AES_INT_EN_BIT             (1 << 3)
69 #define SECURITY_AES_AUTEO_BIT              (1 << 2)
70 #define SECURITY_AES_NEXT_BIT               (1 << 1)
71 #define SECURITY_AES_INIT_BIT               (1 << 0)
72 //#define SECURITY_AES_CTRL                   (*((volatile unsigned long *) SECURITY_AES_CTRL))
73 
74 
75 #define SECURITY_AES_STATUS            (SECURITY_BASE + 0x09 * 4)
76 #define SECURITY_AES_INT_FLAG               (1 << 2)
77 #define SECURITY_AES_VALID                  (1 << 1)
78 #define SECURITY_AES_READY                  (1 << 0)
79 //#define SECURITY_AES_STATUS                 (*((volatile unsigned long *) SECURITY_AES_STATUS))
80 
81 
82 #define SECURITY_AES_CONFIG            (SECURITY_BASE + 0x0A * 4)
83 #define SECURITY_AES_MODE_POSI              (1)
84 #define SECURITY_AES_MODE_MASK              (0x3)
85 #define SECURITY_AES_ENCODE_BIT             (1 << 0)
86 
87 //#define SECURITY_AES_CONFIG                 (*((volatile unsigned long *) SECURITY_AES_CONFIG))
88 
89 
90 #define SECURITY_AES_BLOCK0            (SECURITY_BASE + 0x0C * 4)
91 #define SECURITY_AES_BLOCK0_MASK            0xFFFFFFFFUL
92 //#define SECURITY_AES_BLOCK0                 (*((volatile unsigned long *) SECURITY_AES_BLOCK0))
93 
94 
95 #define SECURITY_AES_BLOCK1            (SECURITY_BASE + 0x0D * 4)
96 #define SECURITY_AES_BLOCK1_MASK            0xFFFFFFFFUL
97 //#define SECURITY_AES_BLOCK1                 (*((volatile unsigned long *) SECURITY_AES_BLOCK1))
98 
99 
100 #define SECURITY_AES_BLOCK2            (SECURITY_BASE + 0x0E * 4)
101 #define SECURITY_AES_BLOCK2_MASK            0xFFFFFFFFUL
102 //#define SECURITY_AES_BLOCK2                 (*((volatile unsigned long *) SECURITY_AES_BLOCK2))
103 
104 
105 #define SECURITY_AES_BLOCK3            (SECURITY_BASE + 0x0F * 4)
106 #define SECURITY_AES_BLOCK3_MASK            0xFFFFFFFFUL
107 //#define SECURITY_AES_BLOCK3                 (*((volatile unsigned long *) SECURITY_AES_BLOCK3))
108 
109 
110 #define SECURITY_AES_BLOCK_X(x)        (SECURITY_BASE + (0x0C + (x)) * 4)
111 #define SECURITY_AES_BLOCK_X_MASK           0xFFFFFFFFUL
112 //#define SECURITY_AES_BLOCK_X(x)             (*((volatile unsigned long *) SECURITY_AES_BLOCK_X(x)))
113 
114 
115 #define SECURITY_AES_RESULT0           (SECURITY_BASE + 0x10 * 4)
116 #define SECURITY_AES_RESULT0_MASK           0xFFFFFFFFUL
117 //#define SECURITY_AES_RESULT0                (*((volatile unsigned long *) SECURITY_AES_RESULT0))
118 
119 
120 #define SECURITY_AES_RESULT1           (SECURITY_BASE + 0x11 * 4)
121 #define SECURITY_AES_RESULT1_MASK           0xFFFFFFFFUL
122 //#define SECURITY_AES_RESULT1                (*((volatile unsigned long *) SECURITY_AES_RESULT1))
123 
124 
125 #define SECURITY_AES_RESULT2           (SECURITY_BASE + 0x12 * 4)
126 #define SECURITY_AES_RESULT2_MASK           0xFFFFFFFFUL
127 //#define SECURITY_AES_RESULT2                (*((volatile unsigned long *) SECURITY_AES_RESULT2))
128 
129 
130 #define SECURITY_AES_RESULT3           (SECURITY_BASE + 0x13 * 4)
131 #define SECURITY_AES_RESULT3_MASK           0xFFFFFFFFUL
132 //#define SECURITY_AES_RESULT3                (*((volatile unsigned long *) SECURITY_AES_RESULT3))
133 
134 
135 #define SECURITY_AES_RESULT_X(x)       (SECURITY_BASE + (0x10 + (x)) * 4)
136 #define SECURITY_AES_RESULT_X_MASK          0xFFFFFFFFUL
137 //#define SECURITY_AES_RESULT_X(x)            (*((volatile unsigned long *) SECURITY_AES_RESULT_X(x)))
138 
139 
140 
141 #define SECURITY_SHA_BLOCK31           (SECURITY_BASE + 0x40 * 4)
142 #define SECURITY_SHA_BLOCK31_MASK           0xFFFFFFFFUL
143 //#define SECURITY_SHA_BLOCK31                (*((volatile unsigned long *) SECURITY_SHA_BLOCK31))
144 
145 
146 #define SECURITY_SHA_BLOCK30           (SECURITY_BASE + 0x41 * 4)
147 #define SECURITY_SHA_BLOCK30_MASK           0xFFFFFFFFUL
148 //#define SECURITY_SHA_BLOCK30                (*((volatile unsigned long *) SECURITY_SHA_BLOCK30))
149 
150 
151 #define SECURITY_SHA_BLOCK29           (SECURITY_BASE + 0x42 * 4)
152 #define SECURITY_SHA_BLOCK29_MASK           0xFFFFFFFFUL
153 //#define SECURITY_SHA_BLOCK29                (*((volatile unsigned long *) SECURITY_SHA_BLOCK29))
154 
155 
156 #define SECURITY_SHA_BLOCK28           (SECURITY_BASE + 0x43 * 4)
157 #define SECURITY_SHA_BLOCK28_MASK           0xFFFFFFFFUL
158 //#define SECURITY_SHA_BLOCK28                (*((volatile unsigned long *) SECURITY_SHA_BLOCK28))
159 
160 
161 #define SECURITY_SHA_BLOCK27           (SECURITY_BASE + 0x44 * 4)
162 #define SECURITY_SHA_BLOCK27_MASK           0xFFFFFFFFUL
163 //#define SECURITY_SHA_BLOCK27                (*((volatile unsigned long *) SECURITY_SHA_BLOCK27))
164 
165 
166 #define SECURITY_SHA_BLOCK0            (SECURITY_BASE + 0x5F * 4)
167 #define SECURITY_SHA_BLOCK0_MASK            0xFFFFFFFFUL
168 //#define SECURITY_SHA_BLOCK0                 (*((volatile unsigned long *) SECURITY_SHA_BLOCK0))
169 
170 
171 #define SECURITY_SHA_BLOCK_X(x)        (SECURITY_BASE + (0x5F - (x)) * 4)
172 #define SECURITY_SHA_BLOCK_X_MASK           0xFFFFFFFFUL
173 //#define SECURITY_SHA_BLOCK_X(x)             (*((volatile unsigned long *) SECURITY_SHA_BLOCK_X(x)))
174 
175 
176 #define SECURITY_SHA_DIGEST15          (SECURITY_BASE + 0x60 * 4)
177 #define SECURITY_SHA_DIGEST15_MASK          0xFFFFFFFFUL
178 //#define SECURITY_SHA_DIGEST15               (*((volatile unsigned long *) SECURITY_SHA_BLOCK15))
179 
180 
181 #define SECURITY_SHA_DIGEST0           (SECURITY_BASE + 0x6F * 4)
182 #define SECURITY_SHA_DIGEST0_MASK           0xFFFFFFFFUL
183 //#define SECURITY_SHA_DIGEST0                (*((volatile unsigned long *) SECURITY_SHA_BLOCK0))
184 
185 
186 #define SECURITY_SHA_DIGEST_X(x)       (SECURITY_BASE + (0x6F - (x)) * 4)
187 #define SECURITY_SHA_DIGEST_X_MASK          0xFFFFFFFFUL
188 //#define SECURITY_SHA_DIGEST_X(x)            (*((volatile unsigned long *) SECURITY_SHA_DIGEST_X(x)))
189 
190 
191 #define SECURITY_SHA_CTRL              (SECURITY_BASE + 0x70 * 4)
192 #define SECURITY_SHA_CTRL_MASK              0xFFFFFFFFUL
193 //#define SECURITY_SHA_CTRL                   (*((volatile unsigned long *) SECURITY_SHA_CTRL))
194 
195 
196 #define SECURITY_SHA_STATUS            (SECURITY_BASE + 0x71 * 4)
197 #define SECURITY_SHA_STATUS_MASK            0xFFFFFFFFUL
198 //#define SECURITY_SHA_STATUS                 (*((volatile unsigned long *) SECURITY_SHA_STATUS))
199 
200 
201 #define SECURITY_SHA_CONFIG            (SECURITY_BASE + 0x72 * 4)
202 #define SECURITY_SHA_CONFIG_MASK            0xFFFFFFFFUL
203 //#define SECURITY_SHA_CONFIG                 (*((volatile unsigned long *) SECURITY_SHA_CONFIG))
204 
205 
206 #define SECURITY_RSA_CONFIG            (SECURITY_BASE + 0x80 * 4)
207 #define SECURITY_RSA_CONFIG_MASK            0xFFFFFFFFUL
208 //#define SECURITY_RSA_CONFIG                 (*((volatile unsigned long *) SECURITY_RSA_CONFIG))
209 
210 
211 #define SECURITY_RSA_STATE             (SECURITY_BASE + 0x81 * 4)
212 #define SECURITY_RSA_STATE_MASK             0xFFFFFFFFUL
213 //#define SECURITY_RSA_STATE                  (*((volatile unsigned long *) SECURITY_RSA_STATE))
214 
215 
216 #define SECURITY_RSA_N0_PRIME_L        (SECURITY_BASE + 0x82 * 4)
217 #define SECURITY_RSA_N0_PRIME_L_MASK        0xFFFFFFFFUL
218 //#define SECURITY_RSA_N0_PRIME_L             (*((volatile unsigned long *) SECURITY_RSA_N0_PRIME_L))
219 
220 
221 #define SECURITY_RSA_N0_PRIME_H        (SECURITY_BASE + 0x83 * 4)
222 #define SECURITY_RSA_N0_PRIME_H_MASK        0xFFFFFFFFUL
223 //#define SECURITY_RSA_N0_PRIME_H             (*((volatile unsigned long *) SECURITY_RSA_N0_PRIME_H))
224 
225 
226 #define SECURITY_RSA_LENGTH            (SECURITY_BASE + 0x84 * 4)
227 #define SECURITY_RSA_LENGTH_MASK            0xFFFFFFFFUL
228 //#define SECURITY_RSA_LENGTH                 (*((volatile unsigned long *) SECURITY_RSA_LENGTH))
229 
230 
231 #define SECURITY_RSA_N_RST             (SECURITY_BASE + 0x88 * 4)
232 #define SECURITY_RSA_N_RST_MASK             0xFFFFFFFFUL
233 //#define SECURITY_RSA_N_RST                  (*((volatile unsigned long *) SECURITY_RSA_N_RST))
234 
235 
236 #define SECURITY_RSA_N_MEM_DATA        (SECURITY_BASE + 0x89 * 4)
237 #define SECURITY_RSA_N_MEM_DATA_MASK        0xFFFFFFFFUL
238 //#define SECURITY_RSA_N_MEM_DATA             (*((volatile unsigned long *) SECURITY_RSA_N_MEM_DATA))
239 
240 
241 #define SECURITY_RSA_E_RST             (SECURITY_BASE + 0x8A * 4)
242 #define SECURITY_RSA_E_RST_MASK             0xFFFFFFFFUL
243 //#define SECURITY_RSA_E_RST                  (*((volatile unsigned long *) SECURITY_RSA_E_RST))
244 
245 
246 #define SECURITY_RSA_E_MEM_DATA        (SECURITY_BASE + 0x8B * 4)
247 #define SECURITY_RSA_E_MEM_DATA_MASK        0xFFFFFFFFUL
248 //#define SECURITY_RSA_E_MEM_DATA             (*((volatile unsigned long *) SECURITY_RSA_E_MEM_DATA))
249 
250 
251 #define SECURITY_RSA_M_RST             (SECURITY_BASE + 0x8C * 4)
252 #define SECURITY_RSA_M_RST_MASK             0xFFFFFFFFUL
253 //#define SECURITY_RSA_M_RST                  (*((volatile unsigned long *) SECURITY_RSA_M_RST))
254 
255 
256 #define SECURITY_RSA_M_MEM_DATA        (SECURITY_BASE + 0x8D * 4)
257 #define SECURITY_RSA_M_MEM_DATA_MASK        0xFFFFFFFFUL
258 //#define SECURITY_RSA_M_MEM_DATA             (*((volatile unsigned long *) SECURITY_RSA_M_MEM_DATA))
259 
260 
261 #define SECURITY_RSA_R_RST             (SECURITY_BASE + 0x8E * 4)
262 #define SECURITY_RSA_R_RST_MASK             0xFFFFFFFFUL
263 //#define SECURITY_RSA_R_RST                  (*((volatile unsigned long *) SECURITY_RSA_R_RST))
264 
265 
266 #define SECURITY_RSA_R_MEM_DATA        (SECURITY_BASE + 0x8F * 4)
267 #define SECURITY_RSA_R_MEM_DATA_MASK        0xFFFFFFFFUL
268 //#define SECURITY_RSA_R_MEM_DATA             (*((volatile unsigned long *) SECURITY_RSA_R_MEM_DATA))
269 
270 
271 #define SECURITY_RSA_T_RST             (SECURITY_BASE + 0x90 * 4)
272 #define SECURITY_RSA_T_RST_MASK             0xFFFFFFFFUL
273 //#define SECURITY_RSA_T_RST                  (*((volatile unsigned long *) SECURITY_RSA_T_RST))
274 
275 
276 #define SECURITY_RSA_T_MEM_DATA        (SECURITY_BASE + 0x91 * 4)
277 #define SECURITY_RSA_T_MEM_DATA_MASK        0xFFFFFFFFUL
278 //#define SECURITY_RSA_T_MEM_DATA             (*((volatile unsigned long *) SECURITY_RSA_T_MEM_DATA))
279 
280 
281 #define SECURITY_RSA_C_RST             (SECURITY_BASE + 0x92 * 4)
282 #define SECURITY_RSA_C_RST_MASK             0xFFFFFFFFUL
283 //#define SECURITY_RSA_C_RST                  (*((volatile unsigned long *) SECURITY_RSA_C_RST))
284 
285 
286 #define SECURITY_RSA_C_MEM_DATA        (SECURITY_BASE + 0x93 * 4)
287 #define SECURITY_RSA_C_MEM_DATA_MASK        0xFFFFFFFFUL
288 //#define SECURITY_RSA_C_MEM_DATA             (*((volatile unsigned long *) SECURITY_RSA_C_MEM_DATA))
289 
290 #endif
291 
292 #endif
293 
294