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