1. Memory mapping[edit | edit source]
The table below gives an overview of the BSEC OTP memory mapping with useful information in the context of this Wiki reading. It gives the global mapping view including the SoC restricted layout (immutable) and the additional ecosystem choice that is used with OpenSTLinux ecosystem.
OTP words 0 to 127 are called lower OTP and are bit wise programmable.
OTP words 128 to 255 are called middle OTP and are bulk programmable.
OTP words 256 to 383 are called upper OTP and are bulk programmable. These OTP are the one where sensitive information (such as password or private keys) must be stored.
Further information for the words and fields that are not explicitly described here can be found in the reference
manual.
OTP word | Bit field (size) | Name | Description |
---|---|---|---|
Lower OTP region | |||
0 | OTP_HW_WORD0 | OTP check word (virgin -> non virgin) | |
1 | OTP_HW_WORD1 | OTP Security word to close security state | |
2 | OTP_HW_WORD2 | OTP word for re-opening (CLOSE->OPEN) via RMA password : RMA bits | |
3 | OTP_HW_WORD3 | OTP word for re-opening (CLOSE->OPEN) via RMA password : RMA tries bits | |
4 | OTP_HW_WORD4 | OTP word for TK retries (ECIES) and retention cell disabling | |
5 | ID0 | ID0 for Engineering purposes | |
6 | ID1 | ID1 for Engineering purposes | |
7 | ID2 | ID2 for Engineering purposes | |
8 | Reserved | - | |
9 | RPN_CODING | STM32MP25 Reference Manuals | |
10 | BOOTROM_CONFIG_1 | STM32MP25 Reference Manuals | |
11 | BOOTROM_CONFIG_2 | STM32MP25 Reference Manuals | |
12 | BOOTROM_CONFIG_3 | STM32MP25 Reference Manuals | |
13 | BOOTROM_CONFIG_4 | STM32MP25 Reference Manuals | |
14 | BOOTROM_CONFIG_5 | STM32MP25 Reference Manuals | |
15 | BOOTROM_CONFIG_6 | STM32MP25 Reference Manuals | |
16 | BOOTROM_CONFIG_7 | STM32MP25 Reference Manuals | |
17 | BOOTROM_CONFIG_8 | STM32MP25 Reference Manuals | |
18 | BOOTROM_CONFIG_9 | STM32MP25 Reference Manuals | |
19 | BOOTROM_CONFIG_10 | STM32MP25 Reference Manuals | |
20 | BOOTROM_CONFIG_11 | STM32MP25 Reference Manuals | |
21 | BOOTROM_CONFIG_12 | STM32MP25 Reference Manuals | |
22 | BOOTROM_CONFIG_13 | STM32MP25 Reference Manuals | |
23 | Reserved | - | |
24 | Reserved | - | |
25 | Reserved | - | |
26 | Reserved | - | |
27 | Reserved | - | |
28 | Reserved | - | |
29 | Reserved | - | |
30 | Reserved | - | |
31 | Reserved | - | |
32 | Reserved | - | |
33 | Reserved | - | |
34 | Reserved | - | |
35 | Reserved | - | |
36 | Reserved | - | |
37 | Reserved | - | |
38 | Reserved | - | |
39 | Reserved | - | |
40 | Reserved | - | |
41 | Reserved | - | |
42 | Reserved | - | |
43 | Reserved | - | |
44 | Reserved | - | |
45 | Reserved | - | |
46 | Reserved | - | |
47 | Reserved | - | |
48 | Reserved | - | |
49 | Reserved | - | |
50 | Reserved | - | |
51 | Reserved | - | |
52 | Reserved | - | |
53 | Reserved | - | |
54 | Reserved | - | |
55 | Reserved | - | |
56 | Reserved | - | |
57 | Reserved | - | |
58 | Reserved | - | |
59 | Reserved | - | |
60 | Reserved | - | |
61 | Reserved | - | |
62 | Reserved | - | |
63 | Reserved | - | |
64 | Reserved | - | |
65 | Reserved | - | |
66 | Reserved | - | |
67 | Reserved | - | |
68 | Reserved | - | |
69 | Reserved | - | |
70 | Reserved | - | |
71 | Reserved | - | |
72 | Reserved | - | |
73 | Reserved | - | |
74 | Reserved | - | |
75 | Reserved | - | |
76 | Reserved | - | |
77 | Reserved | - | |
78 | Reserved | - | |
79 | Reserved | - | |
80 | Reserved | - | |
81 | Reserved | - | |
82 | Reserved | - | |
83 | Reserved | - | |
84 | Reserved | - | |
85 | Reserved | - | |
86 | Reserved | - | |
87 | Reserved | - | |
88 | Reserved | - | |
89 | Reserved | - | |
90 | Reserved | - | |
91 | Reserved | - | |
92 | Reserved | - | |
93 | Reserved | - | |
94 | Reserved | - | |
95 | Reserved | - | |
96 | Reserved | - | |
97 | Reserved | - | |
98 | Reserved | - | |
99 | Reserved | - | |
100 | Reserved | - | |
101 | Reserved | - | |
102 | Reserved | - | |
103 | CRC_HSM | STM32MP25 Reference Manuals | |
104 | CAL1 | STM32MP25 Reference Manuals | |
105 | CAL2 | STM32MP25 Reference Manuals | |
106 | CAL3 | STM32MP25 Reference Manuals | |
107 | CAL4 | STM32MP25 Reference Manuals | |
108 | CAL5 | STM32MP25 Reference Manuals | |
109 | CAL6 | STM32MP25 Reference Manuals | |
110 | CAL7 | STM32MP25 Reference Manuals | |
111 | CAL8 | STM32MP25 Reference Manuals | |
112 | ENGI1 | STM32MP25 Reference Manuals | |
113 | ENGI2 | STM32MP25 Reference Manuals | |
114 | ENGI3 | STM32MP25 Reference Manuals | |
115 | ENGI4 | STM32MP25 Reference Manuals | |
116 | ENGI5 | STM32MP25 Reference Manuals | |
117 | ENGI6 | STM32MP25 Reference Manuals | |
118 | ENGI7 | STM32MP25 Reference Manuals | |
119 | ENGI8 | STM32MP25 Reference Manuals | |
120 | ATRIM1 | STM32MP25 Reference Manuals | |
121 | ATRIM2 | STM32MP25 Reference Manuals | |
122 | ATRIM3 | STM32MP25 Reference Manuals | |
123 | ATRIM4 | STM32MP25 Reference Manuals | |
124 | HCONF1 | STM32MP25 Reference Manuals | |
125 | MREPAIR1 | STM32MP25 Reference Manuals | |
126 | MREPAIR2 | STM32MP25 Reference Manuals | |
127 | MREPAIR3 | STM32MP25 Reference Manuals | |
Middle OTP region | |||
128 | STM32CERTIF0 | STM32 chip certificate (public key) | |
129 | STM32CERTIF1 | STM32 chip certificate (public key) | |
130 | STM32CERTIF2 | STM32 chip certificate (public key) | |
131 | STM32CERTIF3 | STM32 chip certificate (public key) | |
132 | STM32CERTIF4 | STM32 chip certificate (public key) | |
133 | STM32CERTIF5 | STM32 chip certificate (public key) | |
134 | STM32CERTIF6 | STM32 chip certificate (public key) | |
135 | STM32CERTIF7 | STM32 chip certificate (public key) | |
136 | STM32CERTIF8 | STM32 chip certificate (public key) | |
137 | STM32CERTIF9 | STM32 chip certificate (public key) | |
138 | STM32CERTIF10 | STM32 chip certificate (public key) | |
139 | STM32CERTIF11 | STM32 chip certificate (public key) | |
140 | STM32CERTIF12 | STM32 chip certificate (public key) | |
141 | STM32CERTIF13 | STM32 chip certificate (public key) | |
142 | STM32CERTIF14 | STM32 chip certificate (public key) | |
143 | STM32CERTIF15 | STM32 chip certificate (public key) | |
144 | OEM_KEY1_ROT0 | OEM Key1 Root of Trust Hash | |
145 | OEM_KEY1_ROT1 | OEM Key1 Root of Trust Hash | |
146 | OEM_KEY1_ROT2 | OEM Key1 Root of Trust Hash | |
147 | OEM_KEY1_ROT3 | OEM Key1 Root of Trust Hash | |
148 | OEM_KEY1_ROT4 | OEM Key1 Root of Trust Hash | |
149 | OEM_KEY1_ROT5 | OEM Key1 Root of Trust Hash | |
150 | OEM_KEY1_ROT6 | OEM Key1 Root of Trust Hash | |
151 | OEM_KEY1_ROT7 | OEM Key1 Root of Trust Hash | |
152 | OEM_KEY2_ROT0 | OEM Key2 Root of Trust Hash | |
153 | OEM_KEY2_ROT1 | OEM Key2 Root of Trust Hash | |
154 | OEM_KEY2_ROT2 | OEM Key2 Root of Trust Hash | |
155 | OEM_KEY2_ROT3 | OEM Key2 Root of Trust Hash | |
156 | OEM_KEY2_ROT4 | OEM Key2 Root of Trust Hash | |
157 | OEM_KEY2_ROT5 | OEM Key2 Root of Trust Hash | |
158 | OEM_KEY2_ROT6 | OEM Key2 Root of Trust Hash | |
159 | OEM_KEY2_ROT7 | OEM Key2 Root of Trust Hash | |
160 | STM32PUBKEY0 | STM32 chip public key | |
161 | STM32PUBKEY1 | STM32 chip public key | |
162 | STM32PUBKEY2 | STM32 chip public key | |
163 | STM32PUBKEY3 | STM32 chip public key | |
164 | STM32PUBKEY4 | STM32 chip public key | |
165 | STM32PUBKEY5 | STM32 chip public key | |
166 | STM32PUBKEY6 | STM32 chip public key | |
167 | STM32PUBKEY7 | STM32 chip public key | |
168 | STM32PUBKEY8 | STM32 chip public key | |
169 | STM32PUBKEY9 | STM32 chip public key | |
170 | STM32PUBKEY10 | STM32 chip public key | |
171 | STM32PUBKEY11 | STM32 chip public key | |
172 | STM32PUBKEY12 | STM32 chip public key | |
173 | STM32PUBKEY13 | STM32 chip public key | |
174 | STM32PUBKEY14 | STM32 chip public key | |
175 | STM32PUBKEY15 | STM32 chip public key | |
176 | available to customer | ||
177 | available to customer | ||
178 | available to customer | ||
179 | available to customer | ||
180 | available to customer | ||
181 | available to customer | ||
182 | available to customer | ||
183 | available to customer | ||
184 | available to customer | ||
185 | available to customer | ||
186 | available to customer | ||
187 | available to customer | ||
188 | available to customer | ||
189 | available to customer | ||
190 | available to customer | ||
191 | available to customer | ||
192 | available to customer | ||
193 | available to customer | ||
194 | available to customer | ||
195 | available to customer | ||
196 | available to customer | ||
197 | available to customer | ||
198 | available to customer | ||
199 | available to customer | ||
200 | available to customer | ||
201 | available to customer | ||
202 | available to customer | ||
203 | available to customer | ||
204 | available to customer | ||
205 | available to customer | ||
206 | available to customer | ||
207 | available to customer | ||
208 | available to customer | ||
209 | available to customer | ||
210 | available to customer | ||
211 | available to customer | ||
212 | available to customer | ||
213 | available to customer | ||
214 | available to customer | ||
215 | available to customer | ||
216 | available to customer | ||
217 | available to customer | ||
218 | available to customer | ||
219 | available to customer | ||
220 | available to customer | ||
221 | available to customer | ||
222 | available to customer | ||
223 | available to customer | ||
224 | available to customer | ||
225 | available to customer | ||
226 | available to customer | ||
227 | available to customer | ||
228 | available to customer | ||
229 | available to customer | ||
230 | available to customer | ||
231 | available to customer | ||
232 | available to customer | ||
233 | available to customer | ||
234 | available to customer | ||
235 | available to customer | ||
236 | available to customer | ||
237 | available to customer | ||
238 | available to customer | ||
239 | available to customer | ||
240 | available to customer | ||
241 | available to customer | ||
242 | available to customer | ||
243 | available to customer | ||
244 | available to customer | ||
245 | available to customer | ||
246 | ST_BOARD_ID | Identifier for ST boards (available to customer on chip) | |
247 | MAC_ADDR_0 | Mac address [coding 1] | |
248 | MAC_ADDR_1 | Mac address [coding 1] | |
249 | MAC_ADDR_2 | Mac address [coding 1] | |
250 | MAC_ADDR_3 | Mac address [coding 1] | |
251 | MAC_ADDR_4 | Mac address [coding 1] | |
252 | MAC_ADDR_5 | Mac address [coding 1] | |
253 | MAC_ADDR_6 | Mac address [coding 1] | |
254 | MAC_ADDR_7 | Mac address [coding 1] | |
255 | ST_RSSE_EDMK_DERIV_CSTE_FUSE | STM32MP25 Reference Manuals | |
Upper OTP region | |||
256 | OTP_RMA_LOCK_PSWD0 | RMA lock password (128 bit) | |
257 | OTP_RMA_LOCK_PSWD1 | RMA lock password (128 bit) | |
258 | OTP_RMA_LOCK_PSWD2 | RMA lock password (128 bit) | |
259 | OTP_RMA_LOCK_PSWD3 | RMA lock password (128 bit) | |
260 | FIP-EDMK0 | FIP encryption decryption master key (256-bit) | |
261 | FIP-EDMK1 | FIP encryption decryption master key (256-bit) | |
262 | FIP-EDMK2 | FIP encryption decryption master key (256-bit) | |
263 | FIP-EDMK3 | FIP encryption decryption master key (256-bit) | |
264 | FIP-EDMK4 | FIP encryption decryption master key (256-bit) | |
265 | FIP-EDMK5 | FIP encryption decryption master key (256-bit) | |
266 | FIP-EDMK6 | FIP encryption decryption master key (256-bit) | |
267 | FIP-EDMK7 | FIP encryption decryption master key (256-bit) | |
268 | OEM Secrets available to customer | ||
269 | OEM Secrets available to customer | ||
270 | OEM Secrets available to customer | ||
271 | OEM Secrets available to customer | ||
272 | OEM Secrets available to customer | ||
273 | OEM Secrets available to customer | ||
274 | OEM Secrets available to customer | ||
275 | OEM Secrets available to customer | ||
276 | OEM Secrets available to customer | ||
277 | OEM Secrets available to customer | ||
278 | OEM Secrets available to customer | ||
279 | OEM Secrets available to customer | ||
280 | OEM Secrets available to customer | ||
281 | OEM Secrets available to customer | ||
282 | OEM Secrets available to customer | ||
283 | OEM Secrets available to customer | ||
284 | OEM Secrets available to customer | ||
285 | OEM Secrets available to customer | ||
286 | OEM Secrets available to customer | ||
287 | OEM Secrets available to customer | ||
288 | OEM Secrets available to customer | ||
289 | OEM Secrets available to customer | ||
290 | OEM Secrets available to customer | ||
291 | OEM Secrets available to customer | ||
292 | OEM Secrets available to customer | ||
293 | OEM Secrets available to customer | ||
294 | OEM Secrets available to customer | ||
295 | OEM Secrets available to customer | ||
296 | OEM Secrets available to customer | ||
297 | OEM Secrets available to customer | ||
298 | OEM Secrets available to customer | ||
299 | OEM Secrets available to customer | ||
300 | OEM Secrets available to customer | ||
301 | OEM Secrets available to customer | ||
302 | OEM Secrets available to customer | ||
303 | OEM Secrets available to customer | ||
304 | OEM Secrets available to customer | ||
305 | OEM Secrets available to customer | ||
306 | OEM Secrets available to customer | ||
307 | OEM Secrets available to customer | ||
308 | OEM Secrets available to customer | ||
309 | OEM Secrets available to customer | ||
310 | OEM Secrets available to customer | ||
311 | OEM Secrets available to customer | ||
312 | OEM Secrets available to customer | ||
313 | OEM Secrets available to customer | ||
314 | OEM Secrets available to customer | ||
315 | OEM Secrets available to customer | ||
316 | OEM Secrets available to customer | ||
317 | OEM Secrets available to customer | ||
318 | OEM Secrets available to customer | ||
319 | OEM Secrets available to customer | ||
320 | OEM Secrets available to customer | ||
321 | OEM Secrets available to customer | ||
322 | OEM Secrets available to customer | ||
323 | OEM Secrets available to customer | ||
324 | OEM Secrets available to customer | ||
325 | OEM Secrets available to customer | ||
326 | OEM Secrets available to customer | ||
327 | OEM Secrets available to customer | ||
328 | OEM Secrets available to customer | ||
329 | OEM Secrets available to customer | ||
330 | OEM Secrets available to customer | ||
331 | OEM Secrets available to customer | ||
332 | OEM Secrets available to customer | ||
333 | OEM Secrets available to customer | ||
334 | OEM Secrets available to customer | ||
335 | OEM Secrets available to customer | ||
336 | OEM Secrets available to customer | ||
337 | OEM Secrets available to customer | ||
338 | OEM Secrets available to customer | ||
339 | OEM Secrets available to customer | ||
340 | OEM Secrets available to customer | ||
341 | OEM Secrets available to customer | ||
342 | OEM Secrets available to customer | ||
343 | OEM Secrets available to customer | ||
344 | OEM Secrets available to customer | ||
345 | OEM Secrets available to customer | ||
346 | OEM Secrets available to customer | ||
347 | OEM Secrets available to customer | ||
348 | OEM Secrets available to customer | ||
349 | OEM Secrets available to customer | ||
350 | OEM Secrets available to customer | ||
351 | OEM Secrets available to customer | ||
352 | TF-M IAK0 | Initial attestation 256-bit key (Symmetric or Asymmetric key) | |
353 | TF-M IAK1 | Initial attestation 256-bit key (Symmetric or Asymmetric key) | |
354 | TF-M IAK2 | Initial attestation 256-bit key (Symmetric or Asymmetric key) | |
355 | TF-M IAK3 | Initial attestation 256-bit key (Symmetric or Asymmetric key) | |
356 | TF-M IAK4 | Initial attestation 256-bit key (Symmetric or Asymmetric key) | |
357 | TF-M IAK5 | Initial attestation 256-bit key (Symmetric or Asymmetric key) | |
358 | TF-M IAK6 | Initial attestation 256-bit key (Symmetric or Asymmetric key) | |
359 | TF-M IAK7 | Initial attestation 256-bit key (Symmetric or Asymmetric key) | |
360 | OEM_KEY2_EDMK0 | OEM master key used to derive FSBLM decryption key (Optional) | |
361 | OEM_KEY2_EDMK1 | OEM master key used to derive FSBLM decryption key (Optional) | |
362 | OEM_KEY2_EDMK2 | OEM master key used to derive FSBLM decryption key (Optional) | |
363 | OEM_KEY2_EDMK3 | OEM master key used to derive FSBLM decryption key (Optional) | |
364 | OEM_KEY1_EDMK0 | OEM master key used to derive FSBLA or M decryption key | |
365 | OEM_KEY1_EDMK1 | OEM master key used to derive FSBLA or M decryption key | |
366 | OEM_KEY1_EDMK2 | OEM master key used to derive FSBLA or M decryption key | |
367 | OEM_KEY1_EDMK3 | OEM master key used to derive FSBLA or M decryption key | |
368 | STM32PRVKEY0 | STM32 chip private key (ST) | |
369 | STM32PRVKEY1 | STM32 chip private key (ST) | |
370 | STM32PRVKEY2 | STM32 chip private key (ST) | |
371 | STM32PRVKEY3 | STM32 chip private key (ST) | |
372 | STM32PRVKEY4 | STM32 chip private key (ST) | |
373 | STM32PRVKEY5 | STM32 chip private key (ST) | |
374 | STM32PRVKEY6 | STM32 chip private key (ST) | |
375 | STM32PRVKEY7 | STM32 chip private key (ST) | |
376 | HWKEY0 | Secret hardware unique key | |
377 | HWKEY1 | Secret hardware unique key | |
378 | HWKEY2 | Secret hardware unique key | |
379 | HWKEY3 | Secret hardware unique key | |
380 | HWKEY4 | Secret hardware unique key | |
381 | HWKEY5 | Secret hardware unique key | |
382 | HWKEY6 | Secret hardware unique key | |
383 | HWKEY7 | Secret hardware unique key |
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7
Mac addresses are stored using the following coding convention:
- OTP 247: mac_addr_1[high]
- OTP 248: mac_addr_2[high] | mac_addr_1[low]
- OTP 249: mac_addr_2[low]
- OTP 250: mac_addr_3[high]
- ...
Example:
247 = 0xE37AE710 / 248 = 0xE710F495 / 250 = 0xF595E37A
ETH2 mac_addr : 10:E7:7A:E3:95:F4
ETH1 mac_addr : 10:E7:7A:E3:95:F5
...