1 /*
2  * Copyright (c) 2022 Intel Corporation.
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef ZEPHYR_DRIVERS_CRYPTO_CRYPTO_INTEL_SHA_REGISTERS_PRIV_H_
8 #define ZEPHYR_DRIVERS_CRYPTO_CRYPTO_INTEL_SHA_REGISTERS_PRIV_H_
9 
10 #include <stdio.h>
11 
12 union PIBCS {
13 	uint32_t full;
14 	struct {
15 		uint32_t rsvd2 : 3;
16 		uint32_t bscie : 1;
17 		uint32_t rsvd4 : 1;
18 		uint32_t rsvd5 : 1;
19 		uint32_t teie : 1;
20 		uint32_t rsvd7 : 1;
21 		uint32_t bne : 1;
22 		uint32_t bf : 1;
23 		uint32_t rsvd10 : 1;
24 		uint32_t bsc : 1;
25 		uint32_t rsvd13 : 2;
26 		uint32_t te : 1;
27 		uint32_t rsvd15 : 1;
28 		uint32_t cs : 7;
29 		uint32_t fwcb : 1;
30 		uint32_t rsvd25 : 2;
31 		uint32_t peen : 1;
32 		uint32_t rsvd31 : 5;
33 	} part;
34 };
35 
36 union PIBBA {
37 	uint32_t full;
38 	struct {
39 		uint32_t rsvd6 : 7;
40 		uint32_t ba : 17;
41 		uint32_t rsvd31 : 8;
42 	} part;
43 };
44 
45 union PIBS {
46 	uint32_t full;
47 	struct {
48 		uint32_t rsvd3 : 4;
49 		uint32_t bs : 20;
50 		uint32_t rsvd31 : 8;
51 	} part;
52 };
53 
54 union PIBFPI {
55 	uint32_t full;
56 	struct {
57 		uint32_t wp : 24;
58 		uint32_t rsvd31 : 8;
59 	} part;
60 };
61 
62 union PIBRP {
63 	uint32_t full;
64 	struct {
65 		uint32_t rp : 24;
66 		uint32_t rsvd31 : 8;
67 	} part;
68 };
69 
70 union PIBWP {
71 	uint32_t full;
72 	struct {
73 		uint32_t wp : 24;
74 		uint32_t rsvd31 : 8;
75 	} part;
76 };
77 
78 union PIBSP {
79 	uint32_t full;
80 	struct {
81 		uint32_t rp : 24;
82 		uint32_t rsvd31 : 8;
83 	} part;
84 };
85 
86 union SHARLDW0 {
87 	uint32_t full;
88 	struct {
89 		uint32_t rsvd8 : 9;
90 		uint32_t lower_length : 23;
91 	} part;
92 };
93 
94 union SHARLDW1 {
95 	uint32_t full;
96 	struct {
97 		uint32_t upper_length : 32;
98 	} part;
99 };
100 
101 union SHAALDW0 {
102 	uint32_t full;
103 	struct {
104 		uint32_t rsvd8 : 9;
105 		uint32_t lower_length : 23;
106 	} part;
107 };
108 
109 union SHAALDW1 {
110 	uint32_t full;
111 	struct {
112 		uint32_t upper_length : 32;
113 	} part;
114 };
115 
116 union SHACTL {
117 	uint32_t full;
118 	struct {
119 		uint32_t en : 1;
120 		uint32_t rsvd1 : 1;
121 		uint32_t hrsm : 1;
122 		uint32_t hfm : 2;
123 		uint32_t rsvd15 : 11;
124 		uint32_t algo : 3;
125 		uint32_t rsvd31 : 13;
126 	} part;
127 };
128 
129 union SHASTS {
130 	uint32_t full;
131 	struct {
132 		uint32_t busy : 1;
133 		uint32_t rsvd31 : 31;
134 	} part;
135 };
136 
137 union SHAIVDWx {
138 	uint32_t full;
139 	struct {
140 		uint32_t dwx : 32;
141 	} part;
142 };
143 
144 union SHARDWx {
145 	uint32_t full;
146 	struct {
147 		uint32_t dwx : 32;
148 	} part;
149 };
150 
151 #endif
152