hw_shamd5.h 62 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242
  1. //*****************************************************************************
  2. //
  3. // Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
  4. //
  5. //
  6. // Redistribution and use in source and binary forms, with or without
  7. // modification, are permitted provided that the following conditions
  8. // are met:
  9. //
  10. // Redistributions of source code must retain the above copyright
  11. // notice, this list of conditions and the following disclaimer.
  12. //
  13. // Redistributions in binary form must reproduce the above copyright
  14. // notice, this list of conditions and the following disclaimer in the
  15. // documentation and/or other materials provided with the
  16. // distribution.
  17. //
  18. // Neither the name of Texas Instruments Incorporated nor the names of
  19. // its contributors may be used to endorse or promote products derived
  20. // from this software without specific prior written permission.
  21. //
  22. // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  23. // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  24. // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  25. // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  26. // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  27. // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  28. // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  29. // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  30. // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  31. // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  32. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  33. //
  34. //*****************************************************************************
  35. #ifndef __HW_SHAMD5_H__
  36. #define __HW_SHAMD5_H__
  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. #define SHAMD5_O_HASH512_ODIGEST_B \
  257. 0x00000204
  258. #define SHAMD5_O_HASH512_ODIGEST_C \
  259. 0x00000208
  260. #define SHAMD5_O_HASH512_ODIGEST_D \
  261. 0x0000020C
  262. #define SHAMD5_O_HASH512_ODIGEST_E \
  263. 0x00000210
  264. #define SHAMD5_O_HASH512_ODIGEST_F \
  265. 0x00000214
  266. #define SHAMD5_O_HASH512_ODIGEST_G \
  267. 0x00000218
  268. #define SHAMD5_O_HASH512_ODIGEST_H \
  269. 0x0000021C
  270. #define SHAMD5_O_HASH512_ODIGEST_I \
  271. 0x00000220
  272. #define SHAMD5_O_HASH512_ODIGEST_J \
  273. 0x00000224
  274. #define SHAMD5_O_HASH512_ODIGEST_K \
  275. 0x00000228
  276. #define SHAMD5_O_HASH512_ODIGEST_L \
  277. 0x0000022C
  278. #define SHAMD5_O_HASH512_ODIGEST_M \
  279. 0x00000230
  280. #define SHAMD5_O_HASH512_ODIGEST_N \
  281. 0x00000234
  282. #define SHAMD5_O_HASH512_ODIGEST_O \
  283. 0x00000238
  284. #define SHAMD5_O_HASH512_ODIGEST_P \
  285. 0x0000023C
  286. #define SHAMD5_O_HASH512_IDIGEST_A \
  287. 0x00000240
  288. #define SHAMD5_O_HASH512_IDIGEST_B \
  289. 0x00000244
  290. #define SHAMD5_O_HASH512_IDIGEST_C \
  291. 0x00000248
  292. #define SHAMD5_O_HASH512_IDIGEST_D \
  293. 0x0000024C
  294. #define SHAMD5_O_HASH512_IDIGEST_E \
  295. 0x00000250
  296. #define SHAMD5_O_HASH512_IDIGEST_F \
  297. 0x00000254
  298. #define SHAMD5_O_HASH512_IDIGEST_G \
  299. 0x00000258
  300. #define SHAMD5_O_HASH512_IDIGEST_H \
  301. 0x0000025C
  302. #define SHAMD5_O_HASH512_IDIGEST_I \
  303. 0x00000260
  304. #define SHAMD5_O_HASH512_IDIGEST_J \
  305. 0x00000264
  306. #define SHAMD5_O_HASH512_IDIGEST_K \
  307. 0x00000268
  308. #define SHAMD5_O_HASH512_IDIGEST_L \
  309. 0x0000026C
  310. #define SHAMD5_O_HASH512_IDIGEST_M \
  311. 0x00000270
  312. #define SHAMD5_O_HASH512_IDIGEST_N \
  313. 0x00000274
  314. #define SHAMD5_O_HASH512_IDIGEST_O \
  315. 0x00000278
  316. #define SHAMD5_O_HASH512_IDIGEST_P \
  317. 0x0000027C
  318. #define SHAMD5_O_HASH512_DIGEST_COUNT \
  319. 0x00000280
  320. #define SHAMD5_O_HASH512_MODE 0x00000284
  321. #define SHAMD5_O_HASH512_LENGTH 0x00000288
  322. //******************************************************************************
  323. //
  324. // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_A register.
  325. //
  326. //******************************************************************************
  327. #define SHAMD5_ODIGEST_A_DATA_M 0xFFFFFFFF // data
  328. #define SHAMD5_ODIGEST_A_DATA_S 0
  329. //******************************************************************************
  330. //
  331. // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_B register.
  332. //
  333. //******************************************************************************
  334. #define SHAMD5_ODIGEST_B_DATA_M 0xFFFFFFFF // data
  335. #define SHAMD5_ODIGEST_B_DATA_S 0
  336. //******************************************************************************
  337. //
  338. // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_C register.
  339. //
  340. //******************************************************************************
  341. #define SHAMD5_ODIGEST_C_DATA_M 0xFFFFFFFF // data
  342. #define SHAMD5_ODIGEST_C_DATA_S 0
  343. //******************************************************************************
  344. //
  345. // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_D register.
  346. //
  347. //******************************************************************************
  348. #define SHAMD5_ODIGEST_D_DATA_M 0xFFFFFFFF // data
  349. #define SHAMD5_ODIGEST_D_DATA_S 0
  350. //******************************************************************************
  351. //
  352. // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_E register.
  353. //
  354. //******************************************************************************
  355. #define SHAMD5_ODIGEST_E_DATA_M 0xFFFFFFFF // data
  356. #define SHAMD5_ODIGEST_E_DATA_S 0
  357. //******************************************************************************
  358. //
  359. // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_F register.
  360. //
  361. //******************************************************************************
  362. #define SHAMD5_ODIGEST_F_DATA_M 0xFFFFFFFF // data
  363. #define SHAMD5_ODIGEST_F_DATA_S 0
  364. //******************************************************************************
  365. //
  366. // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_G register.
  367. //
  368. //******************************************************************************
  369. #define SHAMD5_ODIGEST_G_DATA_M 0xFFFFFFFF // data
  370. #define SHAMD5_ODIGEST_G_DATA_S 0
  371. //******************************************************************************
  372. //
  373. // The following are defines for the bit fields in the SHAMD5_O_ODIGEST_H register.
  374. //
  375. //******************************************************************************
  376. #define SHAMD5_ODIGEST_H_DATA_M 0xFFFFFFFF // data
  377. #define SHAMD5_ODIGEST_H_DATA_S 0
  378. //******************************************************************************
  379. //
  380. // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_A register.
  381. //
  382. //******************************************************************************
  383. #define SHAMD5_IDIGEST_A_DATA_M 0xFFFFFFFF // data
  384. #define SHAMD5_IDIGEST_A_DATA_S 0
  385. //******************************************************************************
  386. //
  387. // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_B register.
  388. //
  389. //******************************************************************************
  390. #define SHAMD5_IDIGEST_B_DATA_M 0xFFFFFFFF // data
  391. #define SHAMD5_IDIGEST_B_DATA_S 0
  392. //******************************************************************************
  393. //
  394. // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_C register.
  395. //
  396. //******************************************************************************
  397. #define SHAMD5_IDIGEST_C_DATA_M 0xFFFFFFFF // data
  398. #define SHAMD5_IDIGEST_C_DATA_S 0
  399. //******************************************************************************
  400. //
  401. // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_D register.
  402. //
  403. //******************************************************************************
  404. #define SHAMD5_IDIGEST_D_DATA_M 0xFFFFFFFF // data
  405. #define SHAMD5_IDIGEST_D_DATA_S 0
  406. //******************************************************************************
  407. //
  408. // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_E register.
  409. //
  410. //******************************************************************************
  411. #define SHAMD5_IDIGEST_E_DATA_M 0xFFFFFFFF // data
  412. #define SHAMD5_IDIGEST_E_DATA_S 0
  413. //******************************************************************************
  414. //
  415. // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_F register.
  416. //
  417. //******************************************************************************
  418. #define SHAMD5_IDIGEST_F_DATA_M 0xFFFFFFFF // data
  419. #define SHAMD5_IDIGEST_F_DATA_S 0
  420. //******************************************************************************
  421. //
  422. // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_G register.
  423. //
  424. //******************************************************************************
  425. #define SHAMD5_IDIGEST_G_DATA_M 0xFFFFFFFF // data
  426. #define SHAMD5_IDIGEST_G_DATA_S 0
  427. //******************************************************************************
  428. //
  429. // The following are defines for the bit fields in the SHAMD5_O_IDIGEST_H register.
  430. //
  431. //******************************************************************************
  432. #define SHAMD5_IDIGEST_H_DATA_M 0xFFFFFFFF // data
  433. #define SHAMD5_IDIGEST_H_DATA_S 0
  434. //******************************************************************************
  435. //
  436. // The following are defines for the bit fields in the
  437. // SHAMD5_O_DIGEST_COUNT register.
  438. //
  439. //******************************************************************************
  440. #define SHAMD5_DIGEST_COUNT_DATA_M \
  441. 0xFFFFFFFF // data
  442. #define SHAMD5_DIGEST_COUNT_DATA_S 0
  443. //******************************************************************************
  444. //
  445. // The following are defines for the bit fields in the SHAMD5_O_MODE register.
  446. //
  447. //******************************************************************************
  448. #define SHAMD5_MODE_HMAC_OUTER_HASH \
  449. 0x00000080 // The HMAC Outer Hash is performed
  450. // on the hash digest when the inner
  451. // hash hash finished (block length
  452. // exhausted and final hash
  453. // performed if close_hash is 1).
  454. // This bit should normally be set
  455. // together with close_hash to
  456. // finish the inner hash first or
  457. // Block Length should be zero (HMAC
  458. // continue with the just outer hash
  459. // to be done). Auto cleared
  460. // internally when outer hash
  461. // performed. 0 No operation 1 hmac
  462. // processing
  463. #define SHAMD5_MODE_HMAC_KEY_PROC \
  464. 0x00000020 // Performs HMAC key processing on
  465. // the 512 bit HMAC key loaded into
  466. // the SHAMD5_IDIGEST_{A to H} and
  467. // SHAMD5_ODIGEST_{A to H} register
  468. // block. Once HMAC key processing
  469. // is finished this bit is
  470. // automatically cleared and the
  471. // resulting Inner and Outer digest
  472. // is available from
  473. // SHAMD5_IDIGEST_{A to H} and
  474. // SHAMD5_ODIGEST_{A to H}
  475. // respectively after which regular
  476. // hash processing (using
  477. // SHAMD5_IDIGEST_{A to H} as initial
  478. // digest) will commence until the
  479. // Block Length is exhausted. 0 No
  480. // operation. 1 Hmac processing.
  481. #define SHAMD5_MODE_CLOSE_HASH 0x00000010 // Performs the padding the
  482. // hash/HMAC will be 'closed' at the
  483. // end of the block as per
  484. // MD5/SHA-1/SHA-2 specification
  485. // (i.e. appropriate padding is
  486. // added) or no padding is done
  487. // allowing the hash to be continued
  488. // later. However if the hash/HMAC
  489. // is not closed then the Block
  490. // Length MUST be a multiple of 64
  491. // bytes to ensure correct
  492. // operation. Auto cleared
  493. // internally when hash closed. 0 No
  494. // padding hash computation can be
  495. // contimued. 1 Last packet will be
  496. // padded.
  497. #define SHAMD5_MODE_ALGO_CONSTANT \
  498. 0x00000008 // The initial digest register will
  499. // be overwritten with the algorithm
  500. // constants for the selected
  501. // algorithm when hashing and the
  502. // initial digest count register
  503. // will be reset to 0. This will
  504. // start a normal hash operation.
  505. // When continuing an existing hash
  506. // or when performing an HMAC
  507. // operation this register must be
  508. // set to 0 and the
  509. // intermediate/inner digest or HMAC
  510. // key and digest count need to be
  511. // written to the context input
  512. // registers prior to writing
  513. // SHAMD5_MODE. Auto cleared
  514. // internally after first block
  515. // processed. 0 Use pre-calculated
  516. // digest (from an other operation)
  517. // 1 Use constants of the selected
  518. // algo.
  519. #define SHAMD5_MODE_ALGO_M 0x00000006 // These bits select the hash
  520. // algorithm to be used for
  521. // processing: 0x0 md5_128 algorithm
  522. // 0x1 sha1_160 algorithm 0x2
  523. // sha2_224 algorithm 0x3 sha2_256
  524. // algorithm
  525. #define SHAMD5_MODE_ALGO_S 1
  526. //******************************************************************************
  527. //
  528. // The following are defines for the bit fields in the SHAMD5_O_LENGTH register.
  529. //
  530. //******************************************************************************
  531. #define SHAMD5_LENGTH_DATA_M 0xFFFFFFFF // data
  532. #define SHAMD5_LENGTH_DATA_S 0
  533. //******************************************************************************
  534. //
  535. // The following are defines for the bit fields in the SHAMD5_O_DATA0_IN register.
  536. //
  537. //******************************************************************************
  538. #define SHAMD5_DATA0_IN_DATA0_IN_M \
  539. 0xFFFFFFFF // data
  540. #define SHAMD5_DATA0_IN_DATA0_IN_S 0
  541. //******************************************************************************
  542. //
  543. // The following are defines for the bit fields in the SHAMD5_O_DATA1_IN register.
  544. //
  545. //******************************************************************************
  546. #define SHAMD5_DATA1_IN_DATA1_IN_M \
  547. 0xFFFFFFFF // data
  548. #define SHAMD5_DATA1_IN_DATA1_IN_S 0
  549. //******************************************************************************
  550. //
  551. // The following are defines for the bit fields in the SHAMD5_O_DATA2_IN register.
  552. //
  553. //******************************************************************************
  554. #define SHAMD5_DATA2_IN_DATA2_IN_M \
  555. 0xFFFFFFFF // data
  556. #define SHAMD5_DATA2_IN_DATA2_IN_S 0
  557. //******************************************************************************
  558. //
  559. // The following are defines for the bit fields in the SHAMD5_O_DATA3_IN register.
  560. //
  561. //******************************************************************************
  562. #define SHAMD5_DATA3_IN_DATA3_IN_M \
  563. 0xFFFFFFFF // data
  564. #define SHAMD5_DATA3_IN_DATA3_IN_S 0
  565. //******************************************************************************
  566. //
  567. // The following are defines for the bit fields in the SHAMD5_O_DATA4_IN register.
  568. //
  569. //******************************************************************************
  570. #define SHAMD5_DATA4_IN_DATA4_IN_M \
  571. 0xFFFFFFFF // data
  572. #define SHAMD5_DATA4_IN_DATA4_IN_S 0
  573. //******************************************************************************
  574. //
  575. // The following are defines for the bit fields in the SHAMD5_O_DATA5_IN register.
  576. //
  577. //******************************************************************************
  578. #define SHAMD5_DATA5_IN_DATA5_IN_M \
  579. 0xFFFFFFFF // data
  580. #define SHAMD5_DATA5_IN_DATA5_IN_S 0
  581. //******************************************************************************
  582. //
  583. // The following are defines for the bit fields in the SHAMD5_O_DATA6_IN register.
  584. //
  585. //******************************************************************************
  586. #define SHAMD5_DATA6_IN_DATA6_IN_M \
  587. 0xFFFFFFFF // data
  588. #define SHAMD5_DATA6_IN_DATA6_IN_S 0
  589. //******************************************************************************
  590. //
  591. // The following are defines for the bit fields in the SHAMD5_O_DATA7_IN register.
  592. //
  593. //******************************************************************************
  594. #define SHAMD5_DATA7_IN_DATA7_IN_M \
  595. 0xFFFFFFFF // data
  596. #define SHAMD5_DATA7_IN_DATA7_IN_S 0
  597. //******************************************************************************
  598. //
  599. // The following are defines for the bit fields in the SHAMD5_O_DATA8_IN register.
  600. //
  601. //******************************************************************************
  602. #define SHAMD5_DATA8_IN_DATA8_IN_M \
  603. 0xFFFFFFFF // data
  604. #define SHAMD5_DATA8_IN_DATA8_IN_S 0
  605. //******************************************************************************
  606. //
  607. // The following are defines for the bit fields in the SHAMD5_O_DATA9_IN register.
  608. //
  609. //******************************************************************************
  610. #define SHAMD5_DATA9_IN_DATA9_IN_M \
  611. 0xFFFFFFFF // data
  612. #define SHAMD5_DATA9_IN_DATA9_IN_S 0
  613. //******************************************************************************
  614. //
  615. // The following are defines for the bit fields in the SHAMD5_O_DATA10_IN register.
  616. //
  617. //******************************************************************************
  618. #define SHAMD5_DATA10_IN_DATA10_IN_M \
  619. 0xFFFFFFFF // data
  620. #define SHAMD5_DATA10_IN_DATA10_IN_S 0
  621. //******************************************************************************
  622. //
  623. // The following are defines for the bit fields in the SHAMD5_O_DATA11_IN register.
  624. //
  625. //******************************************************************************
  626. #define SHAMD5_DATA11_IN_DATA11_IN_M \
  627. 0xFFFFFFFF // data
  628. #define SHAMD5_DATA11_IN_DATA11_IN_S 0
  629. //******************************************************************************
  630. //
  631. // The following are defines for the bit fields in the SHAMD5_O_DATA12_IN register.
  632. //
  633. //******************************************************************************
  634. #define SHAMD5_DATA12_IN_DATA12_IN_M \
  635. 0xFFFFFFFF // data
  636. #define SHAMD5_DATA12_IN_DATA12_IN_S 0
  637. //******************************************************************************
  638. //
  639. // The following are defines for the bit fields in the SHAMD5_O_DATA13_IN register.
  640. //
  641. //******************************************************************************
  642. #define SHAMD5_DATA13_IN_DATA13_IN_M \
  643. 0xFFFFFFFF // data
  644. #define SHAMD5_DATA13_IN_DATA13_IN_S 0
  645. //******************************************************************************
  646. //
  647. // The following are defines for the bit fields in the SHAMD5_O_DATA14_IN register.
  648. //
  649. //******************************************************************************
  650. #define SHAMD5_DATA14_IN_DATA14_IN_M \
  651. 0xFFFFFFFF // data
  652. #define SHAMD5_DATA14_IN_DATA14_IN_S 0
  653. //******************************************************************************
  654. //
  655. // The following are defines for the bit fields in the SHAMD5_O_DATA15_IN register.
  656. //
  657. //******************************************************************************
  658. #define SHAMD5_DATA15_IN_DATA15_IN_M \
  659. 0xFFFFFFFF // data
  660. #define SHAMD5_DATA15_IN_DATA15_IN_S 0
  661. //******************************************************************************
  662. //
  663. // The following are defines for the bit fields in the SHAMD5_O_REVISION register.
  664. //
  665. //******************************************************************************
  666. #define SHAMD5_REVISION_SCHEME_M 0xC0000000
  667. #define SHAMD5_REVISION_SCHEME_S 30
  668. #define SHAMD5_REVISION_FUNC_M 0x0FFF0000 // Function indicates a software
  669. // compatible module family. If
  670. // there is no level of software
  671. // compatibility a new Func number
  672. // (and hence REVISION) should be
  673. // assigned.
  674. #define SHAMD5_REVISION_FUNC_S 16
  675. #define SHAMD5_REVISION_R_RTL_M 0x0000F800 // RTL Version (R) maintained by IP
  676. // design owner. RTL follows a
  677. // numbering such as X.Y.R.Z which
  678. // are explained in this table. R
  679. // changes ONLY when: (1) PDS
  680. // uploads occur which may have been
  681. // due to spec changes (2) Bug fixes
  682. // occur (3) Resets to '0' when X or
  683. // Y changes. Design team has an
  684. // internal 'Z' (customer invisible)
  685. // number which increments on every
  686. // drop that happens due to DV and
  687. // RTL updates. Z resets to 0 when R
  688. // increments.
  689. #define SHAMD5_REVISION_R_RTL_S 11
  690. #define SHAMD5_REVISION_X_MAJOR_M \
  691. 0x00000700 // Major Revision (X) maintained by
  692. // IP specification owner. X changes
  693. // ONLY when: (1) There is a major
  694. // feature addition. An example
  695. // would be adding Master Mode to
  696. // Utopia Level2. The Func field (or
  697. // Class/Type in old PID format)
  698. // will remain the same. X does NOT
  699. // change due to: (1) Bug fixes (2)
  700. // Change in feature parameters.
  701. #define SHAMD5_REVISION_X_MAJOR_S 8
  702. #define SHAMD5_REVISION_CUSTOM_M 0x000000C0
  703. #define SHAMD5_REVISION_CUSTOM_S 6
  704. #define SHAMD5_REVISION_Y_MINOR_M \
  705. 0x0000003F // Minor Revision (Y) maintained by
  706. // IP specification owner. Y changes
  707. // ONLY when: (1) Features are
  708. // scaled (up or down). Flexibility
  709. // exists in that this feature
  710. // scalability may either be
  711. // represented in the Y change or a
  712. // specific register in the IP that
  713. // indicates which features are
  714. // exactly available. (2) When
  715. // feature creeps from Is-Not list
  716. // to Is list. But this may not be
  717. // the case once it sees silicon; in
  718. // which case X will change. Y does
  719. // NOT change due to: (1) Bug fixes
  720. // (2) Typos or clarifications (3)
  721. // major functional/feature
  722. // change/addition/deletion. Instead
  723. // these changes may be reflected
  724. // via R S X as applicable. Spec
  725. // owner maintains a
  726. // customer-invisible number 'S'
  727. // which changes due to: (1)
  728. // Typos/clarifications (2) Bug
  729. // documentation. Note that this bug
  730. // is not due to a spec change but
  731. // due to implementation.
  732. // Nevertheless the spec tracks the
  733. // IP bugs. An RTL release (say for
  734. // silicon PG1.1) that occurs due to
  735. // bug fix should document the
  736. // corresponding spec number (X.Y.S)
  737. // in its release notes.
  738. #define SHAMD5_REVISION_Y_MINOR_S 0
  739. //******************************************************************************
  740. //
  741. // The following are defines for the bit fields in the SHAMD5_O_SYSCONFIG register.
  742. //
  743. //******************************************************************************
  744. #define SHAMD5_SYSCONFIG_PADVANCED \
  745. 0x00000080 // If set to 1 Advanced mode is
  746. // enabled for the Secure World. If
  747. // set to 0 Legacy mode is enabled
  748. // for the Secure World.
  749. #define SHAMD5_SYSCONFIG_PCONT_SWT \
  750. 0x00000040 // Finish all pending data and
  751. // context DMA input requests (but
  752. // will not assert any new requests)
  753. // finish processing all data in the
  754. // module and provide a saved
  755. // context (partial hash result
  756. // updated digest count remaining
  757. // length updated mode information
  758. // where applicable) for the last
  759. // operation that was interrupted so
  760. // that it can be resumed later.
  761. #define SHAMD5_SYSCONFIG_PDMA_EN 0x00000008
  762. #define SHAMD5_SYSCONFIG_PIT_EN 0x00000004
  763. //******************************************************************************
  764. //
  765. // The following are defines for the bit fields in the SHAMD5_O_SYSSTATUS register.
  766. //
  767. //******************************************************************************
  768. #define SHAMD5_SYSSTATUS_RESETDONE \
  769. 0x00000001 // data
  770. //******************************************************************************
  771. //
  772. // The following are defines for the bit fields in the SHAMD5_O_IRQSTATUS register.
  773. //
  774. //******************************************************************************
  775. #define SHAMD5_IRQSTATUS_CONTEXT_READY \
  776. 0x00000008 // indicates that the secure side
  777. // context input registers are
  778. // available for a new context for
  779. // the next packet to be processed.
  780. #define SHAMD5_IRQSTATUS_PARTHASH_READY \
  781. 0x00000004 // After a secure side context
  782. // switch request this bit will read
  783. // as 1 indicating that the saved
  784. // context is available from the
  785. // secure side context output
  786. // registers. Note that if the
  787. // context switch request coincides
  788. // with a final hash (when hashing)
  789. // or an outer hash (when doing
  790. // HMAC) that PartHashReady will not
  791. // become active but a regular
  792. // Output Ready will occur instead
  793. // (indicating that the result is
  794. // final and therefore no
  795. // continuation is required).
  796. #define SHAMD5_IRQSTATUS_INPUT_READY \
  797. 0x00000002 // indicates that the secure side
  798. // data FIFO is ready to receive the
  799. // next 64 byte data block.
  800. #define SHAMD5_IRQSTATUS_OUTPUT_READY \
  801. 0x00000001 // Indicates that a (partial)
  802. // result or saved context is
  803. // available from the secure side
  804. // context output registers.
  805. //******************************************************************************
  806. //
  807. // The following are defines for the bit fields in the SHAMD5_O_IRQENABLE register.
  808. //
  809. //******************************************************************************
  810. #define SHAMD5_IRQENABLE_M_CONTEXT_READY \
  811. 0x00000008 // mask for context ready
  812. #define SHAMD5_IRQENABLE_M_PARTHASH_READY \
  813. 0x00000004 // mask for partial hash
  814. #define SHAMD5_IRQENABLE_M_INPUT_READY \
  815. 0x00000002 // mask for input_ready
  816. #define SHAMD5_IRQENABLE_M_OUTPUT_READY \
  817. 0x00000001 // mask for output_ready
  818. //******************************************************************************
  819. //
  820. // The following are defines for the bit fields in the
  821. // SHAMD5_O_HASH512_ODIGEST_A register.
  822. //
  823. //******************************************************************************
  824. #define SHAMD5_HASH512_ODIGEST_A_DATA_M \
  825. 0xFFFFFFFF
  826. #define SHAMD5_HASH512_ODIGEST_A_DATA_S 0
  827. //******************************************************************************
  828. //
  829. // The following are defines for the bit fields in the
  830. // SHAMD5_O_HASH512_ODIGEST_B register.
  831. //
  832. //******************************************************************************
  833. #define SHAMD5_HASH512_ODIGEST_B_DATA_M \
  834. 0xFFFFFFFF
  835. #define SHAMD5_HASH512_ODIGEST_B_DATA_S 0
  836. //******************************************************************************
  837. //
  838. // The following are defines for the bit fields in the
  839. // SHAMD5_O_HASH512_ODIGEST_C register.
  840. //
  841. //******************************************************************************
  842. #define SHAMD5_HASH512_ODIGEST_C_DATA_M \
  843. 0xFFFFFFFF
  844. #define SHAMD5_HASH512_ODIGEST_C_DATA_S 0
  845. //******************************************************************************
  846. //
  847. // The following are defines for the bit fields in the
  848. // SHAMD5_O_HASH512_ODIGEST_D register.
  849. //
  850. //******************************************************************************
  851. #define SHAMD5_HASH512_ODIGEST_D_DATA_M \
  852. 0xFFFFFFFF
  853. #define SHAMD5_HASH512_ODIGEST_D_DATA_S 0
  854. //******************************************************************************
  855. //
  856. // The following are defines for the bit fields in the
  857. // SHAMD5_O_HASH512_ODIGEST_E register.
  858. //
  859. //******************************************************************************
  860. #define SHAMD5_HASH512_ODIGEST_E_DATA_M \
  861. 0xFFFFFFFF
  862. #define SHAMD5_HASH512_ODIGEST_E_DATA_S 0
  863. //******************************************************************************
  864. //
  865. // The following are defines for the bit fields in the
  866. // SHAMD5_O_HASH512_ODIGEST_F register.
  867. //
  868. //******************************************************************************
  869. #define SHAMD5_HASH512_ODIGEST_F_DATA_M \
  870. 0xFFFFFFFF
  871. #define SHAMD5_HASH512_ODIGEST_F_DATA_S 0
  872. //******************************************************************************
  873. //
  874. // The following are defines for the bit fields in the
  875. // SHAMD5_O_HASH512_ODIGEST_G register.
  876. //
  877. //******************************************************************************
  878. #define SHAMD5_HASH512_ODIGEST_G_DATA_M \
  879. 0xFFFFFFFF
  880. #define SHAMD5_HASH512_ODIGEST_G_DATA_S 0
  881. //******************************************************************************
  882. //
  883. // The following are defines for the bit fields in the
  884. // SHAMD5_O_HASH512_ODIGEST_H register.
  885. //
  886. //******************************************************************************
  887. #define SHAMD5_HASH512_ODIGEST_H_DATA_M \
  888. 0xFFFFFFFF
  889. #define SHAMD5_HASH512_ODIGEST_H_DATA_S 0
  890. //******************************************************************************
  891. //
  892. // The following are defines for the bit fields in the
  893. // SHAMD5_O_HASH512_ODIGEST_I register.
  894. //
  895. //******************************************************************************
  896. #define SHAMD5_HASH512_ODIGEST_I_DATA_M \
  897. 0xFFFFFFFF
  898. #define SHAMD5_HASH512_ODIGEST_I_DATA_S 0
  899. //******************************************************************************
  900. //
  901. // The following are defines for the bit fields in the
  902. // SHAMD5_O_HASH512_ODIGEST_J register.
  903. //
  904. //******************************************************************************
  905. #define SHAMD5_HASH512_ODIGEST_J_DATA_M \
  906. 0xFFFFFFFF
  907. #define SHAMD5_HASH512_ODIGEST_J_DATA_S 0
  908. //******************************************************************************
  909. //
  910. // The following are defines for the bit fields in the
  911. // SHAMD5_O_HASH512_ODIGEST_K register.
  912. //
  913. //******************************************************************************
  914. #define SHAMD5_HASH512_ODIGEST_K_DATA_M \
  915. 0xFFFFFFFF
  916. #define SHAMD5_HASH512_ODIGEST_K_DATA_S 0
  917. //******************************************************************************
  918. //
  919. // The following are defines for the bit fields in the
  920. // SHAMD5_O_HASH512_ODIGEST_L register.
  921. //
  922. //******************************************************************************
  923. #define SHAMD5_HASH512_ODIGEST_L_DATA_M \
  924. 0xFFFFFFFF
  925. #define SHAMD5_HASH512_ODIGEST_L_DATA_S 0
  926. //******************************************************************************
  927. //
  928. // The following are defines for the bit fields in the
  929. // SHAMD5_O_HASH512_ODIGEST_M register.
  930. //
  931. //******************************************************************************
  932. #define SHAMD5_HASH512_ODIGEST_M_DATA_M \
  933. 0xFFFFFFFF
  934. #define SHAMD5_HASH512_ODIGEST_M_DATA_S 0
  935. //******************************************************************************
  936. //
  937. // The following are defines for the bit fields in the
  938. // SHAMD5_O_HASH512_ODIGEST_N register.
  939. //
  940. //******************************************************************************
  941. #define SHAMD5_HASH512_ODIGEST_N_DATA_M \
  942. 0xFFFFFFFF
  943. #define SHAMD5_HASH512_ODIGEST_N_DATA_S 0
  944. //******************************************************************************
  945. //
  946. // The following are defines for the bit fields in the
  947. // SHAMD5_O_HASH512_ODIGEST_O register.
  948. //
  949. //******************************************************************************
  950. #define SHAMD5_HASH512_ODIGEST_O_DATA_M \
  951. 0xFFFFFFFF
  952. #define SHAMD5_HASH512_ODIGEST_O_DATA_S 0
  953. //******************************************************************************
  954. //
  955. // The following are defines for the bit fields in the
  956. // SHAMD5_O_HASH512_ODIGEST_P register.
  957. //
  958. //******************************************************************************
  959. #define SHAMD5_HASH512_ODIGEST_DATA_M \
  960. 0xFFFFFFFF
  961. #define SHAMD5_HASH512_ODIGEST_DATA_S 0
  962. //******************************************************************************
  963. //
  964. // The following are defines for the bit fields in the
  965. // SHAMD5_O_HASH512_IDIGEST_A register.
  966. //
  967. //******************************************************************************
  968. #define SHAMD5_HASH512_IDIGEST_A_DATA_M \
  969. 0xFFFFFFFF
  970. #define SHAMD5_HASH512_IDIGEST_A_DATA_S 0
  971. //******************************************************************************
  972. //
  973. // The following are defines for the bit fields in the
  974. // SHAMD5_O_HASH512_IDIGEST_B register.
  975. //
  976. //******************************************************************************
  977. #define SHAMD5_HASH512_IDIGEST_B_DATA_M \
  978. 0xFFFFFFFF
  979. #define SHAMD5_HASH512_IDIGEST_B_DATA_S 0
  980. //******************************************************************************
  981. //
  982. // The following are defines for the bit fields in the
  983. // SHAMD5_O_HASH512_IDIGEST_C register.
  984. //
  985. //******************************************************************************
  986. #define SHAMD5_HASH512_IDIGEST_C_DATA_M \
  987. 0xFFFFFFFF
  988. #define SHAMD5_HASH512_IDIGEST_C_DATA_S 0
  989. //******************************************************************************
  990. //
  991. // The following are defines for the bit fields in the
  992. // SHAMD5_O_HASH512_IDIGEST_D register.
  993. //
  994. //******************************************************************************
  995. #define SHAMD5_HASH512_IDIGEST_D_DATA_M \
  996. 0xFFFFFFFF
  997. #define SHAMD5_HASH512_IDIGEST_D_DATA_S 0
  998. //******************************************************************************
  999. //
  1000. // The following are defines for the bit fields in the
  1001. // SHAMD5_O_HASH512_IDIGEST_E register.
  1002. //
  1003. //******************************************************************************
  1004. #define SHAMD5_HASH512_IDIGEST_E_DATA_M \
  1005. 0xFFFFFFFF
  1006. #define SHAMD5_HASH512_IDIGEST_E_DATA_S 0
  1007. //******************************************************************************
  1008. //
  1009. // The following are defines for the bit fields in the
  1010. // SHAMD5_O_HASH512_IDIGEST_F register.
  1011. //
  1012. //******************************************************************************
  1013. #define SHAMD5_HASH512_IDIGEST_F_DATA_M \
  1014. 0xFFFFFFFF
  1015. #define SHAMD5_HASH512_IDIGEST_F_DATA_S 0
  1016. //******************************************************************************
  1017. //
  1018. // The following are defines for the bit fields in the
  1019. // SHAMD5_O_HASH512_IDIGEST_G register.
  1020. //
  1021. //******************************************************************************
  1022. #define SHAMD5_HASH512_IDIGEST_G_DATA_M \
  1023. 0xFFFFFFFF
  1024. #define SHAMD5_HASH512_IDIGEST_G_DATA_S 0
  1025. //******************************************************************************
  1026. //
  1027. // The following are defines for the bit fields in the
  1028. // SHAMD5_O_HASH512_IDIGEST_H register.
  1029. //
  1030. //******************************************************************************
  1031. #define SHAMD5_HASH512_IDIGEST_H_DATA_M \
  1032. 0xFFFFFFFF
  1033. #define SHAMD5_HASH512_IDIGEST_H_DATA_S 0
  1034. //******************************************************************************
  1035. //
  1036. // The following are defines for the bit fields in the
  1037. // SHAMD5_O_HASH512_IDIGEST_I register.
  1038. //
  1039. //******************************************************************************
  1040. #define SHAMD5_HASH512_IDIGEST_I_DATA_M \
  1041. 0xFFFFFFFF
  1042. #define SHAMD5_HASH512_IDIGEST_I_DATA_S 0
  1043. //******************************************************************************
  1044. //
  1045. // The following are defines for the bit fields in the
  1046. // SHAMD5_O_HASH512_IDIGEST_J register.
  1047. //
  1048. //******************************************************************************
  1049. #define SHAMD5_HASH512_IDIGEST_J_DATA_M \
  1050. 0xFFFFFFFF
  1051. #define SHAMD5_HASH512_IDIGEST_J_DATA_S 0
  1052. //******************************************************************************
  1053. //
  1054. // The following are defines for the bit fields in the
  1055. // SHAMD5_O_HASH512_IDIGEST_K register.
  1056. //
  1057. //******************************************************************************
  1058. #define SHAMD5_HASH512_IDIGEST_K_DATA_M \
  1059. 0xFFFFFFFF
  1060. #define SHAMD5_HASH512_IDIGEST_K_DATA_S 0
  1061. //******************************************************************************
  1062. //
  1063. // The following are defines for the bit fields in the
  1064. // SHAMD5_O_HASH512_IDIGEST_L register.
  1065. //
  1066. //******************************************************************************
  1067. #define SHAMD5_HASH512_IDIGEST_L_DATA_M \
  1068. 0xFFFFFFFF
  1069. #define SHAMD5_HASH512_IDIGEST_L_DATA_S 0
  1070. //******************************************************************************
  1071. //
  1072. // The following are defines for the bit fields in the
  1073. // SHAMD5_O_HASH512_IDIGEST_M register.
  1074. //
  1075. //******************************************************************************
  1076. #define SHAMD5_HASH512_IDIGEST_M_DATA_M \
  1077. 0xFFFFFFFF
  1078. #define SHAMD5_HASH512_IDIGEST_M_DATA_S 0
  1079. //******************************************************************************
  1080. //
  1081. // The following are defines for the bit fields in the
  1082. // SHAMD5_O_HASH512_IDIGEST_N register.
  1083. //
  1084. //******************************************************************************
  1085. #define SHAMD5_HASH512_IDIGEST_N_DATA_M \
  1086. 0xFFFFFFFF
  1087. #define SHAMD5_HASH512_IDIGEST_N_DATA_S 0
  1088. //******************************************************************************
  1089. //
  1090. // The following are defines for the bit fields in the
  1091. // SHAMD5_O_HASH512_IDIGEST_O register.
  1092. //
  1093. //******************************************************************************
  1094. #define SHAMD5_HASH512_IDIGEST_O_DATA_M \
  1095. 0xFFFFFFFF
  1096. #define SHAMD5_HASH512_IDIGEST_O_DATA_S 0
  1097. //******************************************************************************
  1098. //
  1099. // The following are defines for the bit fields in the
  1100. // SHAMD5_O_HASH512_IDIGEST_P register.
  1101. //
  1102. //******************************************************************************
  1103. #define SHAMD5_HASH512_IDIGEST_DATA_M \
  1104. 0xFFFFFFFF
  1105. #define SHAMD5_HASH512_IDIGEST_DATA_S 0
  1106. //******************************************************************************
  1107. //
  1108. // The following are defines for the bit fields in the
  1109. // SHAMD5_O_HASH512_DIGEST_COUNT register.
  1110. //
  1111. //******************************************************************************
  1112. #define SHAMD5_HASH512_DIGEST_COUNT_DATA_M \
  1113. 0xFFFFFFFF
  1114. #define SHAMD5_HASH512_DIGEST_COUNT_DATA_S 0
  1115. //******************************************************************************
  1116. //
  1117. // The following are defines for the bit fields in the
  1118. // SHAMD5_O_HASH512_MODE register.
  1119. //
  1120. //******************************************************************************
  1121. #define SHAMD5_HASH512_MODE_DATA_M \
  1122. 0xFFFFFFFF
  1123. #define SHAMD5_HASH512_MODE_DATA_S 0
  1124. //******************************************************************************
  1125. //
  1126. // The following are defines for the bit fields in the
  1127. // SHAMD5_O_HASH512_LENGTH register.
  1128. //
  1129. //******************************************************************************
  1130. #define SHAMD5_HASH512_LENGTH_DATA_M \
  1131. 0xFFFFFFFF
  1132. #define SHAMD5_HASH512_LENGTH_DATA_S 0
  1133. #endif // __HW_SHAMD5_H__