1 /* 2 * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/ 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 11 * Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the 14 * distribution. 15 * 16 * Neither the name of Texas Instruments Incorporated nor the names of 17 * its contributors may be used to endorse or promote products derived 18 * from this software without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 * 32 */ 33 34 #ifndef __HW_SHAMD5_H__ 35 #define __HW_SHAMD5_H__ 36 37 //***************************************************************************** 38 // 39 // The following are defines for the SHAMD5_P register offsets. 40 // 41 //***************************************************************************** 42 #define SHAMD5_O_ODIGEST_A 0x00000000 // WRITE: Outer Digest [127:96] for 43 // MD5 [159:128] for SHA-1 [255:224] 44 // for SHA-2 / HMAC Key [31:0] for 45 // HMAC key proc READ: Outer Digest 46 // [127:96] for MD5 [159:128] for 47 // SHA-1 [255:224] for SHA-2 48 #define SHAMD5_O_ODIGEST_B 0x00000004 // WRITE: Outer Digest [95:64] for 49 // MD5 [127:96] for SHA-1 [223:192] 50 // for SHA-2 / HMAC Key [63:32] for 51 // HMAC key proc READ: Outer Digest 52 // [95:64] for MD5 [127:96] for 53 // SHA-1 [223:192] for SHA-2 54 #define SHAMD5_O_ODIGEST_C 0x00000008 // WRITE: Outer Digest [63:32] for 55 // MD5 [95:64] for SHA-1 [191:160] 56 // for SHA-2 / HMAC Key [95:64] for 57 // HMAC key proc READ: Outer Digest 58 // [63:32] for MD5 [95:64] for SHA-1 59 // [191:160] for SHA-2 60 #define SHAMD5_O_ODIGEST_D 0x0000000C // WRITE: Outer Digest [31:0] for 61 // MD5 [63:31] for SHA-1 [159:128] 62 // for SHA-2 / HMAC Key [127:96] for 63 // HMAC key proc READ: Outer Digest 64 // [31:0] for MD5 [63:32] for SHA-1 65 // [159:128] for SHA-2 66 #define SHAMD5_O_ODIGEST_E 0x00000010 // WRITE: Outer Digest [31:0] for 67 // SHA-1 [127:96] for SHA-2 / HMAC 68 // Key [159:128] for HMAC key proc 69 // READ: Outer Digest [31:0] for 70 // SHA-1 [127:96] for SHA-2 71 #define SHAMD5_O_ODIGEST_F 0x00000014 // WRITE: Outer Digest [95:64] for 72 // SHA-2 / HMAC Key [191:160] for 73 // HMAC key proc READ: Outer Digest 74 // [95:64] for SHA-2 75 #define SHAMD5_O_ODIGEST_G 0x00000018 // WRITE: Outer Digest [63:32] for 76 // SHA-2 / HMAC Key [223:192] for 77 // HMAC key proc READ: Outer Digest 78 // [63:32] for SHA-2 79 #define SHAMD5_O_ODIGEST_H 0x0000001C // WRITE: Outer Digest [31:0] for 80 // SHA-2 / HMAC Key [255:224] for 81 // HMAC key proc READ: Outer Digest 82 // [31:0] for SHA-2 83 #define SHAMD5_O_IDIGEST_A 0x00000020 // WRITE: Inner / Initial Digest 84 // [127:96] for MD5 [159:128] for 85 // SHA-1 [255:224] for SHA-2 / HMAC 86 // Key [287:256] for HMAC key proc 87 // READ: Intermediate / Inner Digest 88 // [127:96] for MD5 [159:128] for 89 // SHA-1 [255:224] for SHA-2 / 90 // Result Digest/MAC [127:96] for 91 // MD5 [159:128] for SHA-1 [223:192] 92 // for SHA-2 224 [255:224] for SHA-2 93 // 256 94 #define SHAMD5_O_IDIGEST_B 0x00000024 // WRITE: Inner / Initial Digest 95 // [95:64] for MD5 [127:96] for 96 // SHA-1 [223:192] for SHA-2 / HMAC 97 // Key [319:288] for HMAC key proc 98 // READ: Intermediate / Inner Digest 99 // [95:64] for MD5 [127:96] for 100 // SHA-1 [223:192] for SHA-2 / 101 // Result Digest/MAC [95:64] for MD5 102 // [127:96] for SHA-1 [191:160] for 103 // SHA-2 224 [223:192] for SHA-2 256 104 #define SHAMD5_O_IDIGEST_C 0x00000028 // WRITE: Inner / Initial Digest 105 // [63:32] for MD5 [95:64] for SHA-1 106 // [191:160] for SHA- 2 / HMAC Key 107 // [351:320] for HMAC key proc READ: 108 // Intermediate / Inner Digest 109 // [63:32] for MD5 [95:64] for SHA-1 110 // [191:160] for SHA-2 / Result 111 // Digest/MAC [63:32] for MD5 112 // [95:64] for SHA-1 [159:128] for 113 // SHA-2 224 [191:160] for SHA-2 256 114 #define SHAMD5_O_IDIGEST_D 0x0000002C // WRITE: Inner / Initial Digest 115 // [31:0] for MD5 [63:32] for SHA-1 116 // [159:128] for SHA-2 / HMAC Key 117 // [383:352] for HMAC key proc READ: 118 // Intermediate / Inner Digest 119 // [31:0] for MD5 [63:32] for SHA-1 120 // [159:128] for SHA-2 / Result 121 // Digest/MAC [31:0] for MD5 [63:32] 122 // for SHA-1 [127:96] for SHA-2 224 123 // [159:128] for SHA-2 256 124 #define SHAMD5_O_IDIGEST_E 0x00000030 // WRITE: Inner / Initial Digest 125 // [31:0] for SHA-1 [127:96] for 126 // SHA-2 / HMAC Key [415:384] for 127 // HMAC key proc READ: Intermediate 128 // / Inner Digest [31:0] for SHA-1 129 // [127:96] for SHA-2 / Result 130 // Digest/MAC [31:0] for SHA-1 131 // [95:64] for SHA-2 224 [127:96] 132 // for SHA-2 256 133 #define SHAMD5_O_IDIGEST_F 0x00000034 // WRITE: Inner / Initial Digest 134 // [95:64] for SHA-2 / HMAC Key 135 // [447:416] for HMAC key proc READ: 136 // Intermediate / Inner Digest 137 // [95:64] for SHA-2 / Result 138 // Digest/MAC [63:32] for SHA-2 224 139 // [95:64] for SHA-2 256 140 #define SHAMD5_O_IDIGEST_G 0x00000038 // WRITE: Inner / Initial Digest 141 // [63:32] for SHA-2 / HMAC Key 142 // [479:448] for HMAC key proc READ: 143 // Intermediate / Inner Digest 144 // [63:32] for SHA-2 / Result 145 // Digest/MAC [31:0] for SHA-2 224 146 // [63:32] for SHA-2 256 147 #define SHAMD5_O_IDIGEST_H 0x0000003C // WRITE: Inner / Initial Digest 148 // [31:0] for SHA-2 / HMAC Key 149 // [511:480] for HMAC key proc READ: 150 // Intermediate / Inner Digest 151 // [31:0] for SHA-2 / Result 152 // Digest/MAC [31:0] for SHA-2 256 153 #define SHAMD5_O_DIGEST_COUNT 0x00000040 // WRITE: Initial Digest Count 154 // ([31:6] only [5:0] assumed 0) 155 // READ: Result / IntermediateDigest 156 // Count The initial digest byte 157 // count for hash/HMAC continue 158 // operations (HMAC Key Processing = 159 // 0 and Use Algorithm Constants = 160 // 0) on the Secure World must be 161 // written to this register prior to 162 // starting the operation by writing 163 // to S_HASH_MODE. When either HMAC 164 // Key Processing is 1 or Use 165 // Algorithm Constants is 1 this 166 // register does not need to be 167 // written it will be overwritten 168 // with 64 (1 hash block of key XOR 169 // ipad) or 0 respectively 170 // automatically. When starting a 171 // HMAC operation from pre-computes 172 // (HMAC Key Processing is 0) then 173 // the value 64 must be written here 174 // to compensate for the appended 175 // key XOR ipad block. Note that the 176 // value written should always be a 177 // 64 byte multiple the lower 6 bits 178 // written are ignored. The updated 179 // digest byte count (initial digest 180 // byte count + bytes processed) can 181 // be read from this register when 182 // the status register indicates 183 // that the operation is done or 184 // suspended due to a context switch 185 // request or when a Secure World 186 // context out DMA is requested. In 187 // Advanced DMA mode when not 188 // suspended with a partial result 189 // reading the SHAMD5_DIGEST_COUNT 190 // register triggers the Hash/HMAC 191 // Engine to start the next context 192 // input DMA. Therefore reading the 193 // SHAMD5_DIGEST_COUNT register 194 // should always be the last 195 // context-read action if not 196 // suspended with a partial result 197 // (i.e. PartHashReady interrupt not 198 // pending). 199 #define SHAMD5_O_MODE 0x00000044 // Register SHAMD5_MODE 200 #define SHAMD5_O_LENGTH 0x00000048 // WRITE: Block Length / Remaining 201 // Byte Count (bytes) READ: 202 // Remaining Byte Count. The value 203 // programmed MUST be a 64-byte 204 // multiple if Close Hash is set to 205 // 0. This register is also the 206 // trigger to start processing: once 207 // this register is written the core 208 // will commence requesting input 209 // data via DMA or IRQ (if 210 // programmed length > 0) and start 211 // processing. The remaining byte 212 // count for the active operation 213 // can be read from this register 214 // when the interrupt status 215 // register indicates that the 216 // operation is suspended due to a 217 // context switch request. 218 #define SHAMD5_O_DATA0_IN 0x00000080 // Data input message 0 219 #define SHAMD5_O_DATA1_IN 0x00000084 // Data input message 1 220 #define SHAMD5_O_DATA2_IN 0x00000088 // Data input message 2 221 #define SHAMD5_O_DATA3_IN 0x0000008C // Data input message 3 222 #define SHAMD5_O_DATA4_IN 0x00000090 // Data input message 4 223 #define SHAMD5_O_DATA5_IN 0x00000094 // Data input message 5 224 #define SHAMD5_O_DATA6_IN 0x00000098 // Data input message 6 225 #define SHAMD5_O_DATA7_IN 0x0000009C // Data input message 7 226 #define SHAMD5_O_DATA8_IN 0x000000A0 // Data input message 8 227 #define SHAMD5_O_DATA9_IN 0x000000A4 // Data input message 9 228 #define SHAMD5_O_DATA10_IN 0x000000A8 // Data input message 10 229 #define SHAMD5_O_DATA11_IN 0x000000AC // Data input message 11 230 #define SHAMD5_O_DATA12_IN 0x000000B0 // Data input message 12 231 #define SHAMD5_O_DATA13_IN 0x000000B4 // Data input message 13 232 #define SHAMD5_O_DATA14_IN 0x000000B8 // Data input message 14 233 #define SHAMD5_O_DATA15_IN 0x000000BC // Data input message 15 234 #define SHAMD5_O_REVISION 0x00000100 // Register SHAMD5_REV 235 #define SHAMD5_O_SYSCONFIG 0x00000110 // Register SHAMD5_SYSCONFIG 236 #define SHAMD5_O_SYSSTATUS 0x00000114 // Register SHAMD5_SYSSTATUS 237 #define SHAMD5_O_IRQSTATUS 0x00000118 // Register SHAMD5_IRQSTATUS 238 #define SHAMD5_O_IRQENABLE 0x0000011C // Register SHAMD5_IRQENABLE. The 239 // SHAMD5_IRQENABLE register contains 240 // an enable bit for each unique 241 // interrupt for the public side. An 242 // interrupt is enabled when both 243 // the global enable in 244 // SHAMD5_SYSCONFIG (PIT_en) and the 245 // bit in this register are both set 246 // to 1. An interrupt that is 247 // enabled is propagated to the 248 // SINTREQUEST_P output. Please note 249 // that the dedicated partial hash 250 // output (SINTREQUEST_PART_P) is 251 // not affected by this register it 252 // is only affected by the global 253 // enable SHAMD5_SYSCONFIG (PIT_en). 254 #define SHAMD5_O_HASH512_ODIGEST_A \ 255 0x00000200 256 257 #define SHAMD5_O_HASH512_ODIGEST_B \ 258 0x00000204 259 260 #define SHAMD5_O_HASH512_ODIGEST_C \ 261 0x00000208 262 263 #define SHAMD5_O_HASH512_ODIGEST_D \ 264 0x0000020C 265 266 #define SHAMD5_O_HASH512_ODIGEST_E \ 267 0x00000210 268 269 #define SHAMD5_O_HASH512_ODIGEST_F \ 270 0x00000214 271 272 #define SHAMD5_O_HASH512_ODIGEST_G \ 273 0x00000218 274 275 #define SHAMD5_O_HASH512_ODIGEST_H \ 276 0x0000021C 277 278 #define SHAMD5_O_HASH512_ODIGEST_I \ 279 0x00000220 280 281 #define SHAMD5_O_HASH512_ODIGEST_J \ 282 0x00000224 283 284 #define SHAMD5_O_HASH512_ODIGEST_K \ 285 0x00000228 286 287 #define SHAMD5_O_HASH512_ODIGEST_L \ 288 0x0000022C 289 290 #define SHAMD5_O_HASH512_ODIGEST_M \ 291 0x00000230 292 293 #define SHAMD5_O_HASH512_ODIGEST_N \ 294 0x00000234 295 296 #define SHAMD5_O_HASH512_ODIGEST_O \ 297 0x00000238 298 299 #define SHAMD5_O_HASH512_ODIGEST_P \ 300 0x0000023C 301 302 #define SHAMD5_O_HASH512_IDIGEST_A \ 303 0x00000240 304 305 #define SHAMD5_O_HASH512_IDIGEST_B \ 306 0x00000244 307 308 #define SHAMD5_O_HASH512_IDIGEST_C \ 309 0x00000248 310 311 #define SHAMD5_O_HASH512_IDIGEST_D \ 312 0x0000024C 313 314 #define SHAMD5_O_HASH512_IDIGEST_E \ 315 0x00000250 316 317 #define SHAMD5_O_HASH512_IDIGEST_F \ 318 0x00000254 319 320 #define SHAMD5_O_HASH512_IDIGEST_G \ 321 0x00000258 322 323 #define SHAMD5_O_HASH512_IDIGEST_H \ 324 0x0000025C 325 326 #define SHAMD5_O_HASH512_IDIGEST_I \ 327 0x00000260 328 329 #define SHAMD5_O_HASH512_IDIGEST_J \ 330 0x00000264 331 332 #define SHAMD5_O_HASH512_IDIGEST_K \ 333 0x00000268 334 335 #define SHAMD5_O_HASH512_IDIGEST_L \ 336 0x0000026C 337 338 #define SHAMD5_O_HASH512_IDIGEST_M \ 339 0x00000270 340 341 #define SHAMD5_O_HASH512_IDIGEST_N \ 342 0x00000274 343 344 #define SHAMD5_O_HASH512_IDIGEST_O \ 345 0x00000278 346 347 #define SHAMD5_O_HASH512_IDIGEST_P \ 348 0x0000027C 349 350 #define SHAMD5_O_HASH512_DIGEST_COUNT \ 351 0x00000280 352 353 #define SHAMD5_O_HASH512_MODE 0x00000284 354 #define SHAMD5_O_HASH512_LENGTH 0x00000288 355 356 357 358 //****************************************************************************** 359 // 360 // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_A register. 361 // 362 //****************************************************************************** 363 #define SHAMD5_ODIGEST_A_DATA_M 0xFFFFFFFF // data 364 #define SHAMD5_ODIGEST_A_DATA_S 0 365 //****************************************************************************** 366 // 367 // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_B register. 368 // 369 //****************************************************************************** 370 #define SHAMD5_ODIGEST_B_DATA_M 0xFFFFFFFF // data 371 #define SHAMD5_ODIGEST_B_DATA_S 0 372 //****************************************************************************** 373 // 374 // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_C register. 375 // 376 //****************************************************************************** 377 #define SHAMD5_ODIGEST_C_DATA_M 0xFFFFFFFF // data 378 #define SHAMD5_ODIGEST_C_DATA_S 0 379 //****************************************************************************** 380 // 381 // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_D register. 382 // 383 //****************************************************************************** 384 #define SHAMD5_ODIGEST_D_DATA_M 0xFFFFFFFF // data 385 #define SHAMD5_ODIGEST_D_DATA_S 0 386 //****************************************************************************** 387 // 388 // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_E register. 389 // 390 //****************************************************************************** 391 #define SHAMD5_ODIGEST_E_DATA_M 0xFFFFFFFF // data 392 #define SHAMD5_ODIGEST_E_DATA_S 0 393 //****************************************************************************** 394 // 395 // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_F register. 396 // 397 //****************************************************************************** 398 #define SHAMD5_ODIGEST_F_DATA_M 0xFFFFFFFF // data 399 #define SHAMD5_ODIGEST_F_DATA_S 0 400 //****************************************************************************** 401 // 402 // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_G register. 403 // 404 //****************************************************************************** 405 #define SHAMD5_ODIGEST_G_DATA_M 0xFFFFFFFF // data 406 #define SHAMD5_ODIGEST_G_DATA_S 0 407 //****************************************************************************** 408 // 409 // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_H register. 410 // 411 //****************************************************************************** 412 #define SHAMD5_ODIGEST_H_DATA_M 0xFFFFFFFF // data 413 #define SHAMD5_ODIGEST_H_DATA_S 0 414 //****************************************************************************** 415 // 416 // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_A register. 417 // 418 //****************************************************************************** 419 #define SHAMD5_IDIGEST_A_DATA_M 0xFFFFFFFF // data 420 #define SHAMD5_IDIGEST_A_DATA_S 0 421 //****************************************************************************** 422 // 423 // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_B register. 424 // 425 //****************************************************************************** 426 #define SHAMD5_IDIGEST_B_DATA_M 0xFFFFFFFF // data 427 #define SHAMD5_IDIGEST_B_DATA_S 0 428 //****************************************************************************** 429 // 430 // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_C register. 431 // 432 //****************************************************************************** 433 #define SHAMD5_IDIGEST_C_DATA_M 0xFFFFFFFF // data 434 #define SHAMD5_IDIGEST_C_DATA_S 0 435 //****************************************************************************** 436 // 437 // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_D register. 438 // 439 //****************************************************************************** 440 #define SHAMD5_IDIGEST_D_DATA_M 0xFFFFFFFF // data 441 #define SHAMD5_IDIGEST_D_DATA_S 0 442 //****************************************************************************** 443 // 444 // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_E register. 445 // 446 //****************************************************************************** 447 #define SHAMD5_IDIGEST_E_DATA_M 0xFFFFFFFF // data 448 #define SHAMD5_IDIGEST_E_DATA_S 0 449 //****************************************************************************** 450 // 451 // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_F register. 452 // 453 //****************************************************************************** 454 #define SHAMD5_IDIGEST_F_DATA_M 0xFFFFFFFF // data 455 #define SHAMD5_IDIGEST_F_DATA_S 0 456 //****************************************************************************** 457 // 458 // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_G register. 459 // 460 //****************************************************************************** 461 #define SHAMD5_IDIGEST_G_DATA_M 0xFFFFFFFF // data 462 #define SHAMD5_IDIGEST_G_DATA_S 0 463 //****************************************************************************** 464 // 465 // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_H register. 466 // 467 //****************************************************************************** 468 #define SHAMD5_IDIGEST_H_DATA_M 0xFFFFFFFF // data 469 #define SHAMD5_IDIGEST_H_DATA_S 0 470 //****************************************************************************** 471 // 472 // The following are defines for the bit fields in the 473 // SHAMD5_O_DIGEST_COUNT register. 474 // 475 //****************************************************************************** 476 #define SHAMD5_DIGEST_COUNT_DATA_M \ 477 0xFFFFFFFF // data 478 479 #define SHAMD5_DIGEST_COUNT_DATA_S 0 480 //****************************************************************************** 481 // 482 // The following are defines for the bit fields in the SHAMD5_O_MODE register. 483 // 484 //****************************************************************************** 485 #define SHAMD5_MODE_HMAC_OUTER_HASH \ 486 0x00000080 // The HMAC Outer Hash is performed 487 // on the hash digest when the inner 488 // hash hash finished (block length 489 // exhausted and final hash 490 // performed if close_hash is 1). 491 // This bit should normally be set 492 // together with close_hash to 493 // finish the inner hash first or 494 // Block Length should be zero (HMAC 495 // continue with the just outer hash 496 // to be done). Auto cleared 497 // internally when outer hash 498 // performed. 0 No operation 1 hmac 499 // processing 500 501 #define SHAMD5_MODE_HMAC_KEY_PROC \ 502 0x00000020 // Performs HMAC key processing on 503 // the 512 bit HMAC key loaded into 504 // the SHAMD5_IDIGEST_{A to H} and 505 // SHAMD5_ODIGEST_{A to H} register 506 // block. Once HMAC key processing 507 // is finished this bit is 508 // automatically cleared and the 509 // resulting Inner and Outer digest 510 // is available from 511 // SHAMD5_IDIGEST_{A to H} and 512 // SHAMD5_ODIGEST_{A to H} 513 // respectively after which regular 514 // hash processing (using 515 // SHAMD5_IDIGEST_{A to H} as initial 516 // digest) will commence until the 517 // Block Length is exhausted. 0 No 518 // operation. 1 Hmac processing. 519 520 #define SHAMD5_MODE_CLOSE_HASH 0x00000010 // Performs the padding the 521 // hash/HMAC will be 'closed' at the 522 // end of the block as per 523 // MD5/SHA-1/SHA-2 specification 524 // (i.e. appropriate padding is 525 // added) or no padding is done 526 // allowing the hash to be continued 527 // later. However if the hash/HMAC 528 // is not closed then the Block 529 // Length MUST be a multiple of 64 530 // bytes to ensure correct 531 // operation. Auto cleared 532 // internally when hash closed. 0 No 533 // padding hash computation can be 534 // contimued. 1 Last packet will be 535 // padded. 536 #define SHAMD5_MODE_ALGO_CONSTANT \ 537 0x00000008 // The initial digest register will 538 // be overwritten with the algorithm 539 // constants for the selected 540 // algorithm when hashing and the 541 // initial digest count register 542 // will be reset to 0. This will 543 // start a normal hash operation. 544 // When continuing an existing hash 545 // or when performing an HMAC 546 // operation this register must be 547 // set to 0 and the 548 // intermediate/inner digest or HMAC 549 // key and digest count need to be 550 // written to the context input 551 // registers prior to writing 552 // SHAMD5_MODE. Auto cleared 553 // internally after first block 554 // processed. 0 Use pre-calculated 555 // digest (from an other operation) 556 // 1 Use constants of the selected 557 // algo. 558 559 #define SHAMD5_MODE_ALGO_M 0x00000006 // These bits select the hash 560 // algorithm to be used for 561 // processing: 0x0 md5_128 algorithm 562 // 0x1 sha1_160 algorithm 0x2 563 // sha2_224 algorithm 0x3 sha2_256 564 // algorithm 565 #define SHAMD5_MODE_ALGO_S 1 566 //****************************************************************************** 567 // 568 // The following are defines for the bit fields in the SHAMD5_O_LENGTH register. 569 // 570 //****************************************************************************** 571 #define SHAMD5_LENGTH_DATA_M 0xFFFFFFFF // data 572 #define SHAMD5_LENGTH_DATA_S 0 573 //****************************************************************************** 574 // 575 // The following are defines for the bit fields in the SHAMD5_O_DATA0_IN register. 576 // 577 //****************************************************************************** 578 #define SHAMD5_DATA0_IN_DATA0_IN_M \ 579 0xFFFFFFFF // data 580 581 #define SHAMD5_DATA0_IN_DATA0_IN_S 0 582 //****************************************************************************** 583 // 584 // The following are defines for the bit fields in the SHAMD5_O_DATA1_IN register. 585 // 586 //****************************************************************************** 587 #define SHAMD5_DATA1_IN_DATA1_IN_M \ 588 0xFFFFFFFF // data 589 590 #define SHAMD5_DATA1_IN_DATA1_IN_S 0 591 //****************************************************************************** 592 // 593 // The following are defines for the bit fields in the SHAMD5_O_DATA2_IN register. 594 // 595 //****************************************************************************** 596 #define SHAMD5_DATA2_IN_DATA2_IN_M \ 597 0xFFFFFFFF // data 598 599 #define SHAMD5_DATA2_IN_DATA2_IN_S 0 600 //****************************************************************************** 601 // 602 // The following are defines for the bit fields in the SHAMD5_O_DATA3_IN register. 603 // 604 //****************************************************************************** 605 #define SHAMD5_DATA3_IN_DATA3_IN_M \ 606 0xFFFFFFFF // data 607 608 #define SHAMD5_DATA3_IN_DATA3_IN_S 0 609 //****************************************************************************** 610 // 611 // The following are defines for the bit fields in the SHAMD5_O_DATA4_IN register. 612 // 613 //****************************************************************************** 614 #define SHAMD5_DATA4_IN_DATA4_IN_M \ 615 0xFFFFFFFF // data 616 617 #define SHAMD5_DATA4_IN_DATA4_IN_S 0 618 //****************************************************************************** 619 // 620 // The following are defines for the bit fields in the SHAMD5_O_DATA5_IN register. 621 // 622 //****************************************************************************** 623 #define SHAMD5_DATA5_IN_DATA5_IN_M \ 624 0xFFFFFFFF // data 625 626 #define SHAMD5_DATA5_IN_DATA5_IN_S 0 627 //****************************************************************************** 628 // 629 // The following are defines for the bit fields in the SHAMD5_O_DATA6_IN register. 630 // 631 //****************************************************************************** 632 #define SHAMD5_DATA6_IN_DATA6_IN_M \ 633 0xFFFFFFFF // data 634 635 #define SHAMD5_DATA6_IN_DATA6_IN_S 0 636 //****************************************************************************** 637 // 638 // The following are defines for the bit fields in the SHAMD5_O_DATA7_IN register. 639 // 640 //****************************************************************************** 641 #define SHAMD5_DATA7_IN_DATA7_IN_M \ 642 0xFFFFFFFF // data 643 644 #define SHAMD5_DATA7_IN_DATA7_IN_S 0 645 //****************************************************************************** 646 // 647 // The following are defines for the bit fields in the SHAMD5_O_DATA8_IN register. 648 // 649 //****************************************************************************** 650 #define SHAMD5_DATA8_IN_DATA8_IN_M \ 651 0xFFFFFFFF // data 652 653 #define SHAMD5_DATA8_IN_DATA8_IN_S 0 654 //****************************************************************************** 655 // 656 // The following are defines for the bit fields in the SHAMD5_O_DATA9_IN register. 657 // 658 //****************************************************************************** 659 #define SHAMD5_DATA9_IN_DATA9_IN_M \ 660 0xFFFFFFFF // data 661 662 #define SHAMD5_DATA9_IN_DATA9_IN_S 0 663 //****************************************************************************** 664 // 665 // The following are defines for the bit fields in the SHAMD5_O_DATA10_IN register. 666 // 667 //****************************************************************************** 668 #define SHAMD5_DATA10_IN_DATA10_IN_M \ 669 0xFFFFFFFF // data 670 671 #define SHAMD5_DATA10_IN_DATA10_IN_S 0 672 //****************************************************************************** 673 // 674 // The following are defines for the bit fields in the SHAMD5_O_DATA11_IN register. 675 // 676 //****************************************************************************** 677 #define SHAMD5_DATA11_IN_DATA11_IN_M \ 678 0xFFFFFFFF // data 679 680 #define SHAMD5_DATA11_IN_DATA11_IN_S 0 681 //****************************************************************************** 682 // 683 // The following are defines for the bit fields in the SHAMD5_O_DATA12_IN register. 684 // 685 //****************************************************************************** 686 #define SHAMD5_DATA12_IN_DATA12_IN_M \ 687 0xFFFFFFFF // data 688 689 #define SHAMD5_DATA12_IN_DATA12_IN_S 0 690 //****************************************************************************** 691 // 692 // The following are defines for the bit fields in the SHAMD5_O_DATA13_IN register. 693 // 694 //****************************************************************************** 695 #define SHAMD5_DATA13_IN_DATA13_IN_M \ 696 0xFFFFFFFF // data 697 698 #define SHAMD5_DATA13_IN_DATA13_IN_S 0 699 //****************************************************************************** 700 // 701 // The following are defines for the bit fields in the SHAMD5_O_DATA14_IN register. 702 // 703 //****************************************************************************** 704 #define SHAMD5_DATA14_IN_DATA14_IN_M \ 705 0xFFFFFFFF // data 706 707 #define SHAMD5_DATA14_IN_DATA14_IN_S 0 708 //****************************************************************************** 709 // 710 // The following are defines for the bit fields in the SHAMD5_O_DATA15_IN register. 711 // 712 //****************************************************************************** 713 #define SHAMD5_DATA15_IN_DATA15_IN_M \ 714 0xFFFFFFFF // data 715 716 #define SHAMD5_DATA15_IN_DATA15_IN_S 0 717 //****************************************************************************** 718 // 719 // The following are defines for the bit fields in the SHAMD5_O_REVISION register. 720 // 721 //****************************************************************************** 722 #define SHAMD5_REVISION_SCHEME_M 0xC0000000 723 #define SHAMD5_REVISION_SCHEME_S 30 724 #define SHAMD5_REVISION_FUNC_M 0x0FFF0000 // Function indicates a software 725 // compatible module family. If 726 // there is no level of software 727 // compatibility a new Func number 728 // (and hence REVISION) should be 729 // assigned. 730 #define SHAMD5_REVISION_FUNC_S 16 731 #define SHAMD5_REVISION_R_RTL_M 0x0000F800 // RTL Version (R) maintained by IP 732 // design owner. RTL follows a 733 // numbering such as X.Y.R.Z which 734 // are explained in this table. R 735 // changes ONLY when: (1) PDS 736 // uploads occur which may have been 737 // due to spec changes (2) Bug fixes 738 // occur (3) Resets to '0' when X or 739 // Y changes. Design team has an 740 // internal 'Z' (customer invisible) 741 // number which increments on every 742 // drop that happens due to DV and 743 // RTL updates. Z resets to 0 when R 744 // increments. 745 #define SHAMD5_REVISION_R_RTL_S 11 746 #define SHAMD5_REVISION_X_MAJOR_M \ 747 0x00000700 // Major Revision (X) maintained by 748 // IP specification owner. X changes 749 // ONLY when: (1) There is a major 750 // feature addition. An example 751 // would be adding Master Mode to 752 // Utopia Level2. The Func field (or 753 // Class/Type in old PID format) 754 // will remain the same. X does NOT 755 // change due to: (1) Bug fixes (2) 756 // Change in feature parameters. 757 758 #define SHAMD5_REVISION_X_MAJOR_S 8 759 #define SHAMD5_REVISION_CUSTOM_M 0x000000C0 760 #define SHAMD5_REVISION_CUSTOM_S 6 761 #define SHAMD5_REVISION_Y_MINOR_M \ 762 0x0000003F // Minor Revision (Y) maintained by 763 // IP specification owner. Y changes 764 // ONLY when: (1) Features are 765 // scaled (up or down). Flexibility 766 // exists in that this feature 767 // scalability may either be 768 // represented in the Y change or a 769 // specific register in the IP that 770 // indicates which features are 771 // exactly available. (2) When 772 // feature creeps from Is-Not list 773 // to Is list. But this may not be 774 // the case once it sees silicon; in 775 // which case X will change. Y does 776 // NOT change due to: (1) Bug fixes 777 // (2) Typos or clarifications (3) 778 // major functional/feature 779 // change/addition/deletion. Instead 780 // these changes may be reflected 781 // via R S X as applicable. Spec 782 // owner maintains a 783 // customer-invisible number 'S' 784 // which changes due to: (1) 785 // Typos/clarifications (2) Bug 786 // documentation. Note that this bug 787 // is not due to a spec change but 788 // due to implementation. 789 // Nevertheless the spec tracks the 790 // IP bugs. An RTL release (say for 791 // silicon PG1.1) that occurs due to 792 // bug fix should document the 793 // corresponding spec number (X.Y.S) 794 // in its release notes. 795 796 #define SHAMD5_REVISION_Y_MINOR_S 0 797 //****************************************************************************** 798 // 799 // The following are defines for the bit fields in the SHAMD5_O_SYSCONFIG register. 800 // 801 //****************************************************************************** 802 #define SHAMD5_SYSCONFIG_PADVANCED \ 803 0x00000080 // If set to 1 Advanced mode is 804 // enabled for the Secure World. If 805 // set to 0 Legacy mode is enabled 806 // for the Secure World. 807 808 #define SHAMD5_SYSCONFIG_PCONT_SWT \ 809 0x00000040 // Finish all pending data and 810 // context DMA input requests (but 811 // will not assert any new requests) 812 // finish processing all data in the 813 // module and provide a saved 814 // context (partial hash result 815 // updated digest count remaining 816 // length updated mode information 817 // where applicable) for the last 818 // operation that was interrupted so 819 // that it can be resumed later. 820 821 #define SHAMD5_SYSCONFIG_PDMA_EN 0x00000008 822 #define SHAMD5_SYSCONFIG_PIT_EN 0x00000004 823 //****************************************************************************** 824 // 825 // The following are defines for the bit fields in the SHAMD5_O_SYSSTATUS register. 826 // 827 //****************************************************************************** 828 #define SHAMD5_SYSSTATUS_RESETDONE \ 829 0x00000001 // data 830 831 //****************************************************************************** 832 // 833 // The following are defines for the bit fields in the SHAMD5_O_IRQSTATUS register. 834 // 835 //****************************************************************************** 836 #define SHAMD5_IRQSTATUS_CONTEXT_READY \ 837 0x00000008 // indicates that the secure side 838 // context input registers are 839 // available for a new context for 840 // the next packet to be processed. 841 842 #define SHAMD5_IRQSTATUS_PARTHASH_READY \ 843 0x00000004 // After a secure side context 844 // switch request this bit will read 845 // as 1 indicating that the saved 846 // context is available from the 847 // secure side context output 848 // registers. Note that if the 849 // context switch request coincides 850 // with a final hash (when hashing) 851 // or an outer hash (when doing 852 // HMAC) that PartHashReady will not 853 // become active but a regular 854 // Output Ready will occur instead 855 // (indicating that the result is 856 // final and therefore no 857 // continuation is required). 858 859 #define SHAMD5_IRQSTATUS_INPUT_READY \ 860 0x00000002 // indicates that the secure side 861 // data FIFO is ready to receive the 862 // next 64 byte data block. 863 864 #define SHAMD5_IRQSTATUS_OUTPUT_READY \ 865 0x00000001 // Indicates that a (partial) 866 // result or saved context is 867 // available from the secure side 868 // context output registers. 869 870 //****************************************************************************** 871 // 872 // The following are defines for the bit fields in the SHAMD5_O_IRQENABLE register. 873 // 874 //****************************************************************************** 875 #define SHAMD5_IRQENABLE_M_CONTEXT_READY \ 876 0x00000008 // mask for context ready 877 878 #define SHAMD5_IRQENABLE_M_PARTHASH_READY \ 879 0x00000004 // mask for partial hash 880 881 #define SHAMD5_IRQENABLE_M_INPUT_READY \ 882 0x00000002 // mask for input_ready 883 884 #define SHAMD5_IRQENABLE_M_OUTPUT_READY \ 885 0x00000001 // mask for output_ready 886 887 //****************************************************************************** 888 // 889 // The following are defines for the bit fields in the 890 // SHAMD5_O_HASH512_ODIGEST_A register. 891 // 892 //****************************************************************************** 893 #define SHAMD5_HASH512_ODIGEST_A_DATA_M \ 894 0xFFFFFFFF 895 896 #define SHAMD5_HASH512_ODIGEST_A_DATA_S 0 897 //****************************************************************************** 898 // 899 // The following are defines for the bit fields in the 900 // SHAMD5_O_HASH512_ODIGEST_B register. 901 // 902 //****************************************************************************** 903 #define SHAMD5_HASH512_ODIGEST_B_DATA_M \ 904 0xFFFFFFFF 905 906 #define SHAMD5_HASH512_ODIGEST_B_DATA_S 0 907 //****************************************************************************** 908 // 909 // The following are defines for the bit fields in the 910 // SHAMD5_O_HASH512_ODIGEST_C register. 911 // 912 //****************************************************************************** 913 #define SHAMD5_HASH512_ODIGEST_C_DATA_M \ 914 0xFFFFFFFF 915 916 #define SHAMD5_HASH512_ODIGEST_C_DATA_S 0 917 //****************************************************************************** 918 // 919 // The following are defines for the bit fields in the 920 // SHAMD5_O_HASH512_ODIGEST_D register. 921 // 922 //****************************************************************************** 923 #define SHAMD5_HASH512_ODIGEST_D_DATA_M \ 924 0xFFFFFFFF 925 926 #define SHAMD5_HASH512_ODIGEST_D_DATA_S 0 927 //****************************************************************************** 928 // 929 // The following are defines for the bit fields in the 930 // SHAMD5_O_HASH512_ODIGEST_E register. 931 // 932 //****************************************************************************** 933 #define SHAMD5_HASH512_ODIGEST_E_DATA_M \ 934 0xFFFFFFFF 935 936 #define SHAMD5_HASH512_ODIGEST_E_DATA_S 0 937 //****************************************************************************** 938 // 939 // The following are defines for the bit fields in the 940 // SHAMD5_O_HASH512_ODIGEST_F register. 941 // 942 //****************************************************************************** 943 #define SHAMD5_HASH512_ODIGEST_F_DATA_M \ 944 0xFFFFFFFF 945 946 #define SHAMD5_HASH512_ODIGEST_F_DATA_S 0 947 //****************************************************************************** 948 // 949 // The following are defines for the bit fields in the 950 // SHAMD5_O_HASH512_ODIGEST_G register. 951 // 952 //****************************************************************************** 953 #define SHAMD5_HASH512_ODIGEST_G_DATA_M \ 954 0xFFFFFFFF 955 956 #define SHAMD5_HASH512_ODIGEST_G_DATA_S 0 957 //****************************************************************************** 958 // 959 // The following are defines for the bit fields in the 960 // SHAMD5_O_HASH512_ODIGEST_H register. 961 // 962 //****************************************************************************** 963 #define SHAMD5_HASH512_ODIGEST_H_DATA_M \ 964 0xFFFFFFFF 965 966 #define SHAMD5_HASH512_ODIGEST_H_DATA_S 0 967 //****************************************************************************** 968 // 969 // The following are defines for the bit fields in the 970 // SHAMD5_O_HASH512_ODIGEST_I register. 971 // 972 //****************************************************************************** 973 #define SHAMD5_HASH512_ODIGEST_I_DATA_M \ 974 0xFFFFFFFF 975 976 #define SHAMD5_HASH512_ODIGEST_I_DATA_S 0 977 //****************************************************************************** 978 // 979 // The following are defines for the bit fields in the 980 // SHAMD5_O_HASH512_ODIGEST_J register. 981 // 982 //****************************************************************************** 983 #define SHAMD5_HASH512_ODIGEST_J_DATA_M \ 984 0xFFFFFFFF 985 986 #define SHAMD5_HASH512_ODIGEST_J_DATA_S 0 987 //****************************************************************************** 988 // 989 // The following are defines for the bit fields in the 990 // SHAMD5_O_HASH512_ODIGEST_K register. 991 // 992 //****************************************************************************** 993 #define SHAMD5_HASH512_ODIGEST_K_DATA_M \ 994 0xFFFFFFFF 995 996 #define SHAMD5_HASH512_ODIGEST_K_DATA_S 0 997 //****************************************************************************** 998 // 999 // The following are defines for the bit fields in the 1000 // SHAMD5_O_HASH512_ODIGEST_L register. 1001 // 1002 //****************************************************************************** 1003 #define SHAMD5_HASH512_ODIGEST_L_DATA_M \ 1004 0xFFFFFFFF 1005 1006 #define SHAMD5_HASH512_ODIGEST_L_DATA_S 0 1007 //****************************************************************************** 1008 // 1009 // The following are defines for the bit fields in the 1010 // SHAMD5_O_HASH512_ODIGEST_M register. 1011 // 1012 //****************************************************************************** 1013 #define SHAMD5_HASH512_ODIGEST_M_DATA_M \ 1014 0xFFFFFFFF 1015 1016 #define SHAMD5_HASH512_ODIGEST_M_DATA_S 0 1017 //****************************************************************************** 1018 // 1019 // The following are defines for the bit fields in the 1020 // SHAMD5_O_HASH512_ODIGEST_N register. 1021 // 1022 //****************************************************************************** 1023 #define SHAMD5_HASH512_ODIGEST_N_DATA_M \ 1024 0xFFFFFFFF 1025 1026 #define SHAMD5_HASH512_ODIGEST_N_DATA_S 0 1027 //****************************************************************************** 1028 // 1029 // The following are defines for the bit fields in the 1030 // SHAMD5_O_HASH512_ODIGEST_O register. 1031 // 1032 //****************************************************************************** 1033 #define SHAMD5_HASH512_ODIGEST_O_DATA_M \ 1034 0xFFFFFFFF 1035 1036 #define SHAMD5_HASH512_ODIGEST_O_DATA_S 0 1037 //****************************************************************************** 1038 // 1039 // The following are defines for the bit fields in the 1040 // SHAMD5_O_HASH512_ODIGEST_P register. 1041 // 1042 //****************************************************************************** 1043 #define SHAMD5_HASH512_ODIGEST_DATA_M \ 1044 0xFFFFFFFF 1045 1046 #define SHAMD5_HASH512_ODIGEST_DATA_S 0 1047 //****************************************************************************** 1048 // 1049 // The following are defines for the bit fields in the 1050 // SHAMD5_O_HASH512_IDIGEST_A register. 1051 // 1052 //****************************************************************************** 1053 #define SHAMD5_HASH512_IDIGEST_A_DATA_M \ 1054 0xFFFFFFFF 1055 1056 #define SHAMD5_HASH512_IDIGEST_A_DATA_S 0 1057 //****************************************************************************** 1058 // 1059 // The following are defines for the bit fields in the 1060 // SHAMD5_O_HASH512_IDIGEST_B register. 1061 // 1062 //****************************************************************************** 1063 #define SHAMD5_HASH512_IDIGEST_B_DATA_M \ 1064 0xFFFFFFFF 1065 1066 #define SHAMD5_HASH512_IDIGEST_B_DATA_S 0 1067 //****************************************************************************** 1068 // 1069 // The following are defines for the bit fields in the 1070 // SHAMD5_O_HASH512_IDIGEST_C register. 1071 // 1072 //****************************************************************************** 1073 #define SHAMD5_HASH512_IDIGEST_C_DATA_M \ 1074 0xFFFFFFFF 1075 1076 #define SHAMD5_HASH512_IDIGEST_C_DATA_S 0 1077 //****************************************************************************** 1078 // 1079 // The following are defines for the bit fields in the 1080 // SHAMD5_O_HASH512_IDIGEST_D register. 1081 // 1082 //****************************************************************************** 1083 #define SHAMD5_HASH512_IDIGEST_D_DATA_M \ 1084 0xFFFFFFFF 1085 1086 #define SHAMD5_HASH512_IDIGEST_D_DATA_S 0 1087 //****************************************************************************** 1088 // 1089 // The following are defines for the bit fields in the 1090 // SHAMD5_O_HASH512_IDIGEST_E register. 1091 // 1092 //****************************************************************************** 1093 #define SHAMD5_HASH512_IDIGEST_E_DATA_M \ 1094 0xFFFFFFFF 1095 1096 #define SHAMD5_HASH512_IDIGEST_E_DATA_S 0 1097 //****************************************************************************** 1098 // 1099 // The following are defines for the bit fields in the 1100 // SHAMD5_O_HASH512_IDIGEST_F register. 1101 // 1102 //****************************************************************************** 1103 #define SHAMD5_HASH512_IDIGEST_F_DATA_M \ 1104 0xFFFFFFFF 1105 1106 #define SHAMD5_HASH512_IDIGEST_F_DATA_S 0 1107 //****************************************************************************** 1108 // 1109 // The following are defines for the bit fields in the 1110 // SHAMD5_O_HASH512_IDIGEST_G register. 1111 // 1112 //****************************************************************************** 1113 #define SHAMD5_HASH512_IDIGEST_G_DATA_M \ 1114 0xFFFFFFFF 1115 1116 #define SHAMD5_HASH512_IDIGEST_G_DATA_S 0 1117 //****************************************************************************** 1118 // 1119 // The following are defines for the bit fields in the 1120 // SHAMD5_O_HASH512_IDIGEST_H register. 1121 // 1122 //****************************************************************************** 1123 #define SHAMD5_HASH512_IDIGEST_H_DATA_M \ 1124 0xFFFFFFFF 1125 1126 #define SHAMD5_HASH512_IDIGEST_H_DATA_S 0 1127 //****************************************************************************** 1128 // 1129 // The following are defines for the bit fields in the 1130 // SHAMD5_O_HASH512_IDIGEST_I register. 1131 // 1132 //****************************************************************************** 1133 #define SHAMD5_HASH512_IDIGEST_I_DATA_M \ 1134 0xFFFFFFFF 1135 1136 #define SHAMD5_HASH512_IDIGEST_I_DATA_S 0 1137 //****************************************************************************** 1138 // 1139 // The following are defines for the bit fields in the 1140 // SHAMD5_O_HASH512_IDIGEST_J register. 1141 // 1142 //****************************************************************************** 1143 #define SHAMD5_HASH512_IDIGEST_J_DATA_M \ 1144 0xFFFFFFFF 1145 1146 #define SHAMD5_HASH512_IDIGEST_J_DATA_S 0 1147 //****************************************************************************** 1148 // 1149 // The following are defines for the bit fields in the 1150 // SHAMD5_O_HASH512_IDIGEST_K register. 1151 // 1152 //****************************************************************************** 1153 #define SHAMD5_HASH512_IDIGEST_K_DATA_M \ 1154 0xFFFFFFFF 1155 1156 #define SHAMD5_HASH512_IDIGEST_K_DATA_S 0 1157 //****************************************************************************** 1158 // 1159 // The following are defines for the bit fields in the 1160 // SHAMD5_O_HASH512_IDIGEST_L register. 1161 // 1162 //****************************************************************************** 1163 #define SHAMD5_HASH512_IDIGEST_L_DATA_M \ 1164 0xFFFFFFFF 1165 1166 #define SHAMD5_HASH512_IDIGEST_L_DATA_S 0 1167 //****************************************************************************** 1168 // 1169 // The following are defines for the bit fields in the 1170 // SHAMD5_O_HASH512_IDIGEST_M register. 1171 // 1172 //****************************************************************************** 1173 #define SHAMD5_HASH512_IDIGEST_M_DATA_M \ 1174 0xFFFFFFFF 1175 1176 #define SHAMD5_HASH512_IDIGEST_M_DATA_S 0 1177 //****************************************************************************** 1178 // 1179 // The following are defines for the bit fields in the 1180 // SHAMD5_O_HASH512_IDIGEST_N register. 1181 // 1182 //****************************************************************************** 1183 #define SHAMD5_HASH512_IDIGEST_N_DATA_M \ 1184 0xFFFFFFFF 1185 1186 #define SHAMD5_HASH512_IDIGEST_N_DATA_S 0 1187 //****************************************************************************** 1188 // 1189 // The following are defines for the bit fields in the 1190 // SHAMD5_O_HASH512_IDIGEST_O register. 1191 // 1192 //****************************************************************************** 1193 #define SHAMD5_HASH512_IDIGEST_O_DATA_M \ 1194 0xFFFFFFFF 1195 1196 #define SHAMD5_HASH512_IDIGEST_O_DATA_S 0 1197 //****************************************************************************** 1198 // 1199 // The following are defines for the bit fields in the 1200 // SHAMD5_O_HASH512_IDIGEST_P register. 1201 // 1202 //****************************************************************************** 1203 #define SHAMD5_HASH512_IDIGEST_DATA_M \ 1204 0xFFFFFFFF 1205 1206 #define SHAMD5_HASH512_IDIGEST_DATA_S 0 1207 //****************************************************************************** 1208 // 1209 // The following are defines for the bit fields in the 1210 // SHAMD5_O_HASH512_DIGEST_COUNT register. 1211 // 1212 //****************************************************************************** 1213 #define SHAMD5_HASH512_DIGEST_COUNT_DATA_M \ 1214 0xFFFFFFFF 1215 1216 #define SHAMD5_HASH512_DIGEST_COUNT_DATA_S 0 1217 //****************************************************************************** 1218 // 1219 // The following are defines for the bit fields in the 1220 // SHAMD5_O_HASH512_MODE register. 1221 // 1222 //****************************************************************************** 1223 #define SHAMD5_HASH512_MODE_DATA_M \ 1224 0xFFFFFFFF 1225 1226 #define SHAMD5_HASH512_MODE_DATA_S 0 1227 //****************************************************************************** 1228 // 1229 // The following are defines for the bit fields in the 1230 // SHAMD5_O_HASH512_LENGTH register. 1231 // 1232 //****************************************************************************** 1233 #define SHAMD5_HASH512_LENGTH_DATA_M \ 1234 0xFFFFFFFF 1235 1236 #define SHAMD5_HASH512_LENGTH_DATA_S 0 1237 1238 1239 1240 #endif // __HW_SHAMD5_H__ 1241