1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
#[doc = r" Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - PUF Control register"] pub ctrl: CTRL, #[doc = "0x04 - PUF Key Index register"] pub keyindex: KEYINDEX, #[doc = "0x08 - PUF Key Size register"] pub keysize: KEYSIZE, _reserved0: [u8; 20usize], #[doc = "0x20 - PUF Status register"] pub stat: STAT, _reserved1: [u8; 4usize], #[doc = "0x28 - PUF Allow register"] pub allow: ALLOW, _reserved2: [u8; 20usize], #[doc = "0x40 - PUF Key Input register"] pub keyinput: KEYINPUT, #[doc = "0x44 - PUF Code Input register"] pub codeinput: CODEINPUT, #[doc = "0x48 - PUF Code Output register"] pub codeoutput: CODEOUTPUT, _reserved3: [u8; 20usize], #[doc = "0x60 - PUF Key Output Index register"] pub keyoutindex: KEYOUTINDEX, #[doc = "0x64 - PUF Key Output register"] pub keyoutput: KEYOUTPUT, _reserved4: [u8; 116usize], #[doc = "0xdc - PUF Interface Status and clear register"] pub ifstat: IFSTAT, _reserved5: [u8; 28usize], #[doc = "0xfc - PUF version register."] pub version: VERSION, #[doc = "0x100 - PUF Interrupt Enable"] pub inten: INTEN, #[doc = "0x104 - PUF interrupt status"] pub intstat: INTSTAT, #[doc = "0x108 - PUF RAM Power Control"] pub pwrctrl: PWRCTRL, #[doc = "0x10c - PUF config register for block bits"] pub cfg: CFG, _reserved6: [u8; 240usize], #[doc = "0x200 - Only reset in case of full IC reset"] pub keylock: KEYLOCK, #[doc = "0x204 - no description available"] pub keyenable: KEYENABLE, #[doc = "0x208 - Reinitialize Keys shift registers counters"] pub keyreset: KEYRESET, #[doc = "0x20c - no description available"] pub idxblk_l: IDXBLK_L, #[doc = "0x210 - no description available"] pub idxblk_h_dp: IDXBLK_H_DP, #[doc = "0x214 - Only reset in case of full IC reset"] pub keymask: [KEYMASK; 4], _reserved7: [u8; 48usize], #[doc = "0x254 - no description available"] pub idxblk_h: IDXBLK_H, #[doc = "0x258 - no description available"] pub idxblk_l_dp: IDXBLK_L_DP, #[doc = "0x25c - no description available"] pub shift_status: SHIFT_STATUS, } #[doc = "PUF Control register"] pub struct CTRL { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF Control register"] pub mod ctrl; #[doc = "PUF Key Index register"] pub struct KEYINDEX { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF Key Index register"] pub mod keyindex; #[doc = "PUF Key Size register"] pub struct KEYSIZE { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF Key Size register"] pub mod keysize; #[doc = "PUF Status register"] pub struct STAT { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF Status register"] pub mod stat; #[doc = "PUF Allow register"] pub struct ALLOW { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF Allow register"] pub mod allow; #[doc = "PUF Key Input register"] pub struct KEYINPUT { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF Key Input register"] pub mod keyinput; #[doc = "PUF Code Input register"] pub struct CODEINPUT { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF Code Input register"] pub mod codeinput; #[doc = "PUF Code Output register"] pub struct CODEOUTPUT { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF Code Output register"] pub mod codeoutput; #[doc = "PUF Key Output Index register"] pub struct KEYOUTINDEX { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF Key Output Index register"] pub mod keyoutindex; #[doc = "PUF Key Output register"] pub struct KEYOUTPUT { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF Key Output register"] pub mod keyoutput; #[doc = "PUF Interface Status and clear register"] pub struct IFSTAT { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF Interface Status and clear register"] pub mod ifstat; #[doc = "PUF version register."] pub struct VERSION { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF version register."] pub mod version; #[doc = "PUF Interrupt Enable"] pub struct INTEN { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF Interrupt Enable"] pub mod inten; #[doc = "PUF interrupt status"] pub struct INTSTAT { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF interrupt status"] pub mod intstat; #[doc = "PUF RAM Power Control"] pub struct PWRCTRL { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF RAM Power Control"] pub mod pwrctrl; #[doc = "PUF config register for block bits"] pub struct CFG { register: ::vcell::VolatileCell<u32>, } #[doc = "PUF config register for block bits"] pub mod cfg; #[doc = "Only reset in case of full IC reset"] pub struct KEYLOCK { register: ::vcell::VolatileCell<u32>, } #[doc = "Only reset in case of full IC reset"] pub mod keylock; #[doc = "no description available"] pub struct KEYENABLE { register: ::vcell::VolatileCell<u32>, } #[doc = "no description available"] pub mod keyenable; #[doc = "Reinitialize Keys shift registers counters"] pub struct KEYRESET { register: ::vcell::VolatileCell<u32>, } #[doc = "Reinitialize Keys shift registers counters"] pub mod keyreset; #[doc = "no description available"] pub struct IDXBLK_L { register: ::vcell::VolatileCell<u32>, } #[doc = "no description available"] pub mod idxblk_l; #[doc = "no description available"] pub struct IDXBLK_H_DP { register: ::vcell::VolatileCell<u32>, } #[doc = "no description available"] pub mod idxblk_h_dp; #[doc = "Only reset in case of full IC reset"] pub struct KEYMASK { register: ::vcell::VolatileCell<u32>, } #[doc = "Only reset in case of full IC reset"] pub mod keymask; #[doc = "no description available"] pub struct IDXBLK_H { register: ::vcell::VolatileCell<u32>, } #[doc = "no description available"] pub mod idxblk_h; #[doc = "no description available"] pub struct IDXBLK_L_DP { register: ::vcell::VolatileCell<u32>, } #[doc = "no description available"] pub mod idxblk_l_dp; #[doc = "no description available"] pub struct SHIFT_STATUS { register: ::vcell::VolatileCell<u32>, } #[doc = "no description available"] pub mod shift_status;