1<?xml version="1.0" encoding="utf-8" standalone="no"?> 2<device xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.1" xs:noNamespaceSchemaLocation="svd_schema.xsd"> 3 <peripheral> 4 <name>TRNG</name> 5 <description>Random Number Generator.</description> 6 <baseAddress>0x4004D000</baseAddress> 7 <addressBlock> 8 <offset>0x00</offset> 9 <size>0x1000</size> 10 <usage>registers</usage> 11 </addressBlock> 12 <interrupt> 13 <name>TRNG</name> 14 <description>TRNG interrupt.</description> 15 <value>4</value> 16 </interrupt> 17 <registers> 18 <register> 19 <name>CTRL</name> 20 <description>TRNG Control Register.</description> 21 <addressOffset>0x00</addressOffset> 22 <resetValue>0x00000003</resetValue> 23 <fields> 24 <field> 25 <name>OD_HEALTH</name> 26 <description>Start On-Demand health test.</description> 27 <bitOffset>0</bitOffset> 28 <bitWidth>1</bitWidth> 29 </field> 30 <field> 31 <name>RND_IE</name> 32 <description>To enable IRQ generation when a new 32-bit Random number is ready.</description> 33 <bitOffset>1</bitOffset> 34 <bitWidth>1</bitWidth> 35 <enumeratedValues> 36 <enumeratedValue> 37 <name>disable</name> 38 <description>Disable</description> 39 <value>0</value> 40 </enumeratedValue> 41 <enumeratedValue> 42 <name>enable</name> 43 <description>Enable</description> 44 <value>1</value> 45 </enumeratedValue> 46 </enumeratedValues> 47 </field> 48 <field> 49 <name>HEALTH_IE</name> 50 <description>Enable IRQ generation when a health test fails.</description> 51 <bitOffset>2</bitOffset> 52 <bitWidth>1</bitWidth> 53 </field> 54 <field> 55 <name>MEU_KEYGEN</name> 56 <description>If set to 1, the TRNG generates the 256-bit AES MEU keys.</description> 57 <bitOffset>3</bitOffset> 58 <bitWidth>1</bitWidth> 59 </field> 60 <field> 61 <name>XIP_KEYGEN</name> 62 <description>If set to 1, the TRNG generates the 128-bit QSPI (XIP) keys.</description> 63 <bitOffset>4</bitOffset> 64 <bitWidth>1</bitWidth> 65 </field> 66 <field> 67 <name>OD_ROMON</name> 68 <description>Start ring oscillator monitor on demand test.</description> 69 <bitOffset>6</bitOffset> 70 <bitWidth>1</bitWidth> 71 </field> 72 <field> 73 <name>OD_EE</name> 74 <description>Start entropy estimator on demand test.</description> 75 <bitOffset>7</bitOffset> 76 <bitWidth>1</bitWidth> 77 </field> 78 <field> 79 <name>ROMON_EE_FOE</name> 80 <description>Ring Oscillator Monitors and Entropy Estimator Freeze on Error.</description> 81 <bitOffset>8</bitOffset> 82 <bitWidth>1</bitWidth> 83 </field> 84 <field> 85 <name>ROMON_EE_FOD</name> 86 <description>Ring Oscillator Monitors and Entropy Estimator Freeze on Done.</description> 87 <bitOffset>9</bitOffset> 88 <bitWidth>1</bitWidth> 89 </field> 90 <field> 91 <name>EBLS</name> 92 <description>Entropy Bit Load Select.</description> 93 <bitOffset>10</bitOffset> 94 <bitWidth>1</bitWidth> 95 </field> 96 <field> 97 <name>KEYWIPE</name> 98 <description>To wipe the Battery Backed key.</description> 99 <bitOffset>15</bitOffset> 100 <bitWidth>1</bitWidth> 101 </field> 102 <field> 103 <name>GET_TERO_CNT</name> 104 <description>Get Tero Count.</description> 105 <bitOffset>16</bitOffset> 106 <bitWidth>1</bitWidth> 107 </field> 108 <field> 109 <name>EE_DONE_IE</name> 110 <description>Entropy Estimator Done Interrupt Enable.</description> 111 <bitOffset>23</bitOffset> 112 <bitWidth>1</bitWidth> 113 </field> 114 <field> 115 <name>ROMON_DIS</name> 116 <description>Ring Oscillator Disable.</description> 117 <bitOffset>24</bitOffset> 118 <bitWidth>3</bitWidth> 119 <enumeratedValues> 120 <enumeratedValue> 121 <name>RO_0</name> 122 <description>Ring Oscillator 0.</description> 123 <value>1</value> 124 </enumeratedValue> 125 <enumeratedValue> 126 <name>RO_1</name> 127 <description>Ring Oscillator 1.</description> 128 <value>2</value> 129 </enumeratedValue> 130 <enumeratedValue> 131 <name>RO_2</name> 132 <description>Ring Oscillator 2.</description> 133 <value>4</value> 134 </enumeratedValue> 135 </enumeratedValues> 136 </field> 137 </fields> 138 </register> 139 <register> 140 <name>STATUS</name> 141 <description>Data. The content of this register is valid only when RNG_IS = 1. When TRNG is disabled, read returns 0x0000 0000.</description> 142 <addressOffset>0x04</addressOffset> 143 <fields> 144 <field> 145 <name>RDY</name> 146 <description>32-bit random data is ready to read from TRNG_DATA register. Reading TRNG_DATA when RND_RDY=0 will return all 0's. IRQ is generated when RND_RDY=1 if TRNG_CN.RND_IRQ_EN=1.</description> 147 <bitOffset>0</bitOffset> 148 <bitWidth>1</bitWidth> 149 <enumeratedValues> 150 <enumeratedValue> 151 <name>Busy</name> 152 <description>TRNG Busy</description> 153 <value>0</value> 154 </enumeratedValue> 155 <enumeratedValue> 156 <name>Ready</name> 157 <description>32 bit random data is ready</description> 158 <value>1</value> 159 </enumeratedValue> 160 </enumeratedValues> 161 </field> 162 <field> 163 <name>OD_HEALTH</name> 164 <description>On-Demand health test status.</description> 165 <bitOffset>1</bitOffset> 166 <bitWidth>1</bitWidth> 167 </field> 168 <field> 169 <name>HEALTH</name> 170 <description>Health test status.</description> 171 <bitOffset>2</bitOffset> 172 <bitWidth>1</bitWidth> 173 </field> 174 <field> 175 <name>SRCFAIL</name> 176 <description>Entropy source has failed.</description> 177 <bitOffset>3</bitOffset> 178 <bitWidth>1</bitWidth> 179 </field> 180 <field> 181 <name>AES_KEYGEN</name> 182 <description>AESKGD.</description> 183 <bitOffset>4</bitOffset> 184 <bitWidth>1</bitWidth> 185 </field> 186 <field> 187 <name>OD_ROMON</name> 188 <description>On demand ring oscillator test status.</description> 189 <bitOffset>6</bitOffset> 190 <bitWidth>1</bitWidth> 191 </field> 192 <field> 193 <name>OD_EE</name> 194 <description>On demand entropy estimator status.</description> 195 <bitOffset>7</bitOffset> 196 <bitWidth>1</bitWidth> 197 </field> 198 <field> 199 <name>PP_ERR</name> 200 <description>Post process error.</description> 201 <bitOffset>8</bitOffset> 202 <bitWidth>1</bitWidth> 203 </field> 204 <field> 205 <name>ROMON_0_ERR</name> 206 <description>Ring Oscillator 0 Monitor Error.</description> 207 <bitOffset>9</bitOffset> 208 <bitWidth>1</bitWidth> 209 </field> 210 <field> 211 <name>ROMON_1_ERR</name> 212 <description>Ring Oscillator 1 Monitor Error.</description> 213 <bitOffset>10</bitOffset> 214 <bitWidth>1</bitWidth> 215 </field> 216 <field> 217 <name>ROMON_2_ERR</name> 218 <description>Ring Oscillator 2 Monitor Error.</description> 219 <bitOffset>11</bitOffset> 220 <bitWidth>1</bitWidth> 221 </field> 222 <field> 223 <name>EE_ERR_THR</name> 224 <description>Entropy Estimator Threshold Error.</description> 225 <bitOffset>12</bitOffset> 226 <bitWidth>1</bitWidth> 227 </field> 228 <field> 229 <name>EE_ERR_OOB</name> 230 <description>Entropy Estimator Out of Bounds Error..</description> 231 <bitOffset>13</bitOffset> 232 <bitWidth>1</bitWidth> 233 </field> 234 <field> 235 <name>EE_ERR_LOCK</name> 236 <description>Entropy Estimator Lock Error.</description> 237 <bitOffset>14</bitOffset> 238 <bitWidth>1</bitWidth> 239 </field> 240 <field> 241 <name>TERO_CNT_RDY</name> 242 <description>TERO Count Ready.</description> 243 <bitOffset>16</bitOffset> 244 <bitWidth>1</bitWidth> 245 </field> 246 <field> 247 <name>RC_ERR</name> 248 <description>Repetition Count Error.</description> 249 <bitOffset>17</bitOffset> 250 <bitWidth>1</bitWidth> 251 </field> 252 <field> 253 <name>AP_ERR</name> 254 <description>Adaptive Proportion Error.</description> 255 <bitOffset>18</bitOffset> 256 <bitWidth>1</bitWidth> 257 </field> 258 <field> 259 <name>DATA_DONE</name> 260 <description>Data register has been loaded with at least 32 new entropy bits.</description> 261 <bitOffset>19</bitOffset> 262 <bitWidth>1</bitWidth> 263 </field> 264 <field> 265 <name>DATA_NIST_DONE</name> 266 <description>Data NIST register has been loaded with at least 32 new entropy bits.</description> 267 <bitOffset>20</bitOffset> 268 <bitWidth>1</bitWidth> 269 </field> 270 <field> 271 <name>HEALTH_DONE</name> 272 <description>Health Test Done.</description> 273 <bitOffset>21</bitOffset> 274 <bitWidth>1</bitWidth> 275 </field> 276 <field> 277 <name>ROMON_DONE</name> 278 <description>Ring Oscillator Monitor Test Done.</description> 279 <bitOffset>22</bitOffset> 280 <bitWidth>1</bitWidth> 281 </field> 282 <field> 283 <name>EE_DONE</name> 284 <description>Entropy Estimator Test Done.</description> 285 <bitOffset>23</bitOffset> 286 <bitWidth>1</bitWidth> 287 </field> 288 </fields> 289 </register> 290 <register> 291 <name>DATA</name> 292 <description>Data. The content of this register is valid only when RNG_IS = 1. When TRNG is disabled, read returns 0x0000 0000.</description> 293 <addressOffset>0x08</addressOffset> 294 <access>read-only</access> 295 <fields> 296 <field> 297 <name>DATA</name> 298 <description>Data. The content of this register is valid only when RNG_IS =1. When TNRG is disabled, read returns 0x0000 0000.</description> 299 <bitOffset>0</bitOffset> 300 <bitWidth>32</bitWidth> 301 </field> 302 </fields> 303 </register> 304 <register> 305 <name>DATA_NIST</name> 306 <description>Data NIST Register.</description> 307 <addressOffset>0x38</addressOffset> 308 <fields> 309 <field> 310 <name>DATA</name> 311 <description>Ring Oscillator 1 Monitor Last Ring Oscillator Count.</description> 312 <bitOffset>0</bitOffset> 313 <bitWidth>32</bitWidth> 314 </field> 315 </fields> 316 </register> 317 </registers> 318 </peripheral> 319 <!-- TRNG:Random Number Generator --> 320</device>