]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/pdk.git/blob - packages/ti/drv/sciclient/soc/sysfw/binaries/system-firmware-public-documentation/3_boardcfg/BOARDCFG_SEC.html
Migrating to SYSFW version v2021.01
[processor-sdk/pdk.git] / packages / ti / drv / sciclient / soc / sysfw / binaries / system-firmware-public-documentation / 3_boardcfg / BOARDCFG_SEC.html
3 <!DOCTYPE html>
4 <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
5 <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
6 <head>
7   <meta charset="utf-8">
8   
9   <meta name="viewport" content="width=device-width, initial-scale=1.0">
10   
11   <title>Security Board Configuration &mdash; TISCI User Guide</title>
12   
14   
15   
16     <link rel="shortcut icon" href="../_static/favicon.ico"/>
17   
19   
21   
22   
23     
25   
27   
28   
29     <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
30   
32   
33     <link rel="stylesheet" href="../_static/theme_overrides.css" type="text/css" />
34   
36   
37         <link rel="index" title="Index"
38               href="../genindex.html"/>
39         <link rel="search" title="Search" href="../search.html"/>
40     <link rel="top" title="TISCI User Guide" href="../index.html"/>
41         <link rel="up" title="Chapter 3: Board Configuration" href="index.html"/>
42         <link rel="next" title="Power Management Board Configuration" href="BOARDCFG_PM.html"/>
43         <link rel="prev" title="Resource Management Board Configuration" href="BOARDCFG_RM.html"/> 
45   
46   <script src="../_static/js/modernizr.min.js"></script>
48 </head>
50 <body class="wy-body-for-nav" role="document">
51   <header id="tiHeader">
52     <div class="top">
53       <ul>
54         <li id="top_logo">
55           <a href="http://www.ti.com">
56             <img src="../_static/img/ti_logo.png"/>
57           </a>
58         </li>
59       </ul>
60     </div>
61     <div class="nav"></div>
62   </header>
63   <div class="wy-grid-for-nav">
65     
66     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
67       <div class="wy-side-scroll">
68         <div class="wy-side-nav-search">
69           
71           
72             <a href="../index.html" class="icon icon-home"> TISCI
73           
75           
76           </a>
78           
79             
80             
81               <div class="version">
82                 21.01.00
83               </div>
84             
85           
87           
88 <div role="search">
89   <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
90     <input type="text" name="q" placeholder="Search docs" />
91     <input type="hidden" name="check_keywords" value="yes" />
92     <input type="hidden" name="area" value="default" />
93   </form>
94 </div>
96           
97         </div>
99         <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
100           
101             
102             
103                 <ul class="current">
104 <li class="toctree-l1"><a class="reference internal" href="../1_intro/index.html">Chapter 1: Introduction</a></li>
105 <li class="toctree-l1"><a class="reference internal" href="../2_tisci_msgs/index.html">Chapter 2: TISCI Message Documentation</a></li>
106 <li class="toctree-l1 current"><a class="reference internal" href="index.html">Chapter 3: Board Configuration</a><ul class="current">
107 <li class="toctree-l2"><a class="reference internal" href="BOARDCFG.html">Board Configuration</a></li>
108 <li class="toctree-l2"><a class="reference internal" href="BOARDCFG_RM.html">Resource Management Board Configuration</a></li>
109 <li class="toctree-l2 current"><a class="current reference internal" href="#">Security Board Configuration</a><ul>
110 <li class="toctree-l3"><a class="reference internal" href="#security-configuration-in-system-firmware">Security Configuration in System Firmware</a><ul>
111 <li class="toctree-l4"><a class="reference internal" href="#tisci-api-for-security-board-config">TISCI API for Security Board Config</a></li>
112 <li class="toctree-l4"><a class="reference internal" href="#configuration-substructure-enumeration">Configuration substructure enumeration</a></li>
113 <li class="toctree-l4"><a class="reference internal" href="#processor-access-list">Processor Access List</a></li>
114 <li class="toctree-l4"><a class="reference internal" href="#host-hierarchy">Host Hierarchy</a></li>
115 <li class="toctree-l4"><a class="reference internal" href="#extended-otp-array-configuration">Extended OTP array configuration</a></li>
116 <li class="toctree-l4"><a class="reference internal" href="#derived-kek-management">Derived KEK Management</a></li>
117 <li class="toctree-l4"><a class="reference internal" href="#reserved-entry">Reserved Entry</a></li>
118 <li class="toctree-l4"><a class="reference internal" href="#secure-debug-unlock">Secure Debug Unlock</a></li>
119 <li class="toctree-l4"><a class="reference internal" href="#security-handover">Security Handover</a></li>
120 </ul>
121 </li>
122 </ul>
123 </li>
124 <li class="toctree-l2"><a class="reference internal" href="BOARDCFG_PM.html">Power Management Board Configuration</a></li>
125 <li class="toctree-l2"><a class="reference internal" href="BOARDCFG_COMBINED_IMG_FORMAT.html">Board Configuration with ROM Combined Image format</a></li>
126 </ul>
127 </li>
128 <li class="toctree-l1"><a class="reference internal" href="../4_trace/index.html">Chapter 4: Interpreting Trace Data</a></li>
129 <li class="toctree-l1"><a class="reference internal" href="../5_soc_doc/index.html">Chapter 5: SoC Family Specific Documentation</a></li>
130 <li class="toctree-l1"><a class="reference internal" href="../6_topic_user_guides/index.html">Chapter 6: Topic User Guides</a></li>
131 </ul>
133             
134           
135         </div>
136       </div>
137     </nav>
139     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
141       
142       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
143         <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
144         <a href="../index.html">TISCI</a>
145       </nav>
148       
149       <div class="wy-nav-content">
150         <div class="rst-content">
151           
153  
157 <div role="navigation" aria-label="breadcrumbs navigation">
158   <ul class="wy-breadcrumbs">
159     <li><a href="../index.html">Docs</a> &raquo;</li>
160       
161           <li><a href="index.html">Chapter 3: Board Configuration</a> &raquo;</li>
162       
163     <li>Security Board Configuration</li>
164       <li class="wy-breadcrumbs-aside">
165         
166           
167         
168       </li>
169   </ul>
170   <hr/>
171 </div>
172           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
173            <div itemprop="articleBody">
174             
175   <div class="section" id="security-board-configuration">
176 <h1>Security Board Configuration<a class="headerlink" href="#security-board-configuration" title="Permalink to this headline">¶</a></h1>
177 <div class="section" id="security-configuration-in-system-firmware">
178 <span id="pub-boardcfg-sec-intro"></span><h2>Security Configuration in System Firmware<a class="headerlink" href="#security-configuration-in-system-firmware" title="Permalink to this headline">¶</a></h2>
179 <p>The security portion of system firmware has options that can be configured
180 independently of the main Board Configuration. These options are controlled
181 through the security board configuration. In addition, initialization of the
182 secure portion of the system firmware is deferred until the secure board
183 configuration is sent to allow tuning of the system boot time.</p>
184 <div class="admonition warning">
185 <p class="first admonition-title">Warning</p>
186 <p class="last">This message MUST be sent in order to initialize the security capabilities of
187 system firmware. Until it is received no security functionality is available.</p>
188 </div>
189 <p>A standalone board configuration message contains the security
190 data within a flat-typed array.  The security data is provided
191 separately to reduce DMSC boot time.  The security board cfg message
192 is sent any time after the boot notification message is sent and has no
193 dependence upon receipt of the standard board configuration message.</p>
194 <div class="admonition note">
195 <p class="first admonition-title">Note</p>
196 <p class="last">Security Board configuration requires to be signed and encrypted on HS devices
197 to ensure authenticity and protect secrets. Please refer to
198 <a class="reference internal" href="../6_topic_user_guides/hs_boardcfg_signing.html"><span class="doc">Signing Board Configuration on HS devices</span></a> on how to sign and encrypt
199 board configuration on HS devices.</p>
200 </div>
201 <div class="section" id="tisci-api-for-security-board-config">
202 <span id="pub-boardcfg-security-tisci"></span><h3>TISCI API for Security Board Config<a class="headerlink" href="#tisci-api-for-security-board-config" title="Permalink to this headline">¶</a></h3>
203 <p>The following are the parameters required in the TI-SCI message to pass security
204 board configuration data to DMSC after DMSC sends boot notification complete.
205 The security board configuration message is not dependent on receipt of the
206 standard board configuration message.</p>
207 <div class="section" id="usage">
208 <h4>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h4>
209 <table border="1" class="docutils">
210 <colgroup>
211 <col width="75%" />
212 <col width="25%" />
213 </colgroup>
214 <tbody valign="top">
215 <tr class="row-odd"><td><strong>Message Type</strong></td>
216 <td>Normal</td>
217 </tr>
218 <tr class="row-even"><td><strong>Secure Queue Only?</strong></td>
219 <td>Yes</td>
220 </tr>
221 </tbody>
222 </table>
223 </div>
224 <div class="section" id="tisci-message-id">
225 <h4>TISCI Message ID<a class="headerlink" href="#tisci-message-id" title="Permalink to this headline">¶</a></h4>
226 <p><code class="docutils literal"><span class="pre">TISCI_MSG_BOARD_CONFIG_SECURITY</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">(0x000DU)</span></code></p>
227 </div>
228 <div class="section" id="message-data-structures">
229 <h4>Message Data Structures<a class="headerlink" href="#message-data-structures" title="Permalink to this headline">¶</a></h4>
230 <p><p><strong>struct tisci_msg_board_config_security_req</strong></p>
231 <p>TISCI_MSG_BOARD_CONFIG_SECURITY request to provide the location and size of the boardcfg security configuration structure.</p>
232 <table border="1" class="docutils">
233 <colgroup>
234 <col width="21%" />
235 <col width="17%" />
236 <col width="62%" />
237 </colgroup>
238 <thead valign="bottom">
239 <tr class="row-odd"><th class="head">Parameter</th>
240 <th class="head">Type</th>
241 <th class="head">Description</th>
242 </tr>
243 </thead>
244 <tbody valign="top">
245 <tr class="row-even"><td>hdr</td>
246 <td>struct tisci_header</td>
247 <td>TISCI header</td>
248 </tr>
249 <tr class="row-odd"><td>boardcfg_securityp_low</td>
250 <td>u32</td>
251 <td>Low 32-bits of physical pointer to boardcfg security configuration struct.</td>
252 </tr>
253 <tr class="row-even"><td>boardcfg_securityp_high</td>
254 <td>u32</td>
255 <td>High 32-bits of physical pointer to boardcfg security configuration struct.</td>
256 </tr>
257 <tr class="row-odd"><td>boardcfg_security_size</td>
258 <td>u16</td>
259 <td>Size of security configuration data.</td>
260 </tr>
261 <tr class="row-even"><td>boardcfg_security_devgrp</td>
262 <td>devgrp_t</td>
263 <td>Device group for the security board configuration.</td>
264 </tr>
265 </tbody>
266 </table>
267 </p>
268 <div class="admonition note">
269 <p class="first admonition-title">Note</p>
270 <p>Even though the security board configuration structure contains the
271 <code class="docutils literal"><span class="pre">boardcfg_security_devgrp</span></code> member, it is ignored. Initialization of
272 firewalls is performed for a devgrp when it is enabled via the core board
273 configuration message. This is necessary to ensure isolation. See
274 <a class="reference internal" href="BOARDCFG.html"><span class="doc">Board Configuration</span></a>.</p>
275 <p class="last">The reamining security services are initialized when the security board configuration is
276 received for the first time. Subsequent security board configuration messages do not have
277 any effect on operation of System Firmware.</p>
278 </div>
279 <p><p><strong>struct tisci_msg_board_config_security_resp</strong></p>
280 <p>Empty response for TISCI_MSG_BOARD_CONFIG_SECURITY.</p>
281 <table border="1" class="docutils">
282 <colgroup>
283 <col width="27%" />
284 <col width="43%" />
285 <col width="31%" />
286 </colgroup>
287 <thead valign="bottom">
288 <tr class="row-odd"><th class="head">Parameter</th>
289 <th class="head">Type</th>
290 <th class="head">Description</th>
291 </tr>
292 </thead>
293 <tbody valign="top">
294 <tr class="row-even"><td>hdr</td>
295 <td>struct tisci_header</td>
296 <td>TISCI header.</td>
297 </tr>
298 </tbody>
299 </table>
300 <p>Although this message is essentially empty and contains only a header
301  a full data structure is created for consistency in implementation.</p>
302 </p>
303 <div class="admonition warning">
304 <p class="first admonition-title">Warning</p>
305 <p class="last">The boardcfg data structures described below <strong>must</strong> be placed in
306 MCU OCMC SRAM. The address used in the TISCI message will be
307 in MCU OCMC SRAM.</p>
308 </div>
309 </div>
310 </div>
311 <div class="section" id="configuration-substructure-enumeration">
312 <span id="pub-boardcfg-sec"></span><h3>Configuration substructure enumeration<a class="headerlink" href="#configuration-substructure-enumeration" title="Permalink to this headline">¶</a></h3>
313 <p>This is a fixed size c-structure which both defines the format of the
314 configuration as well as reserves DMSC memory to store the
315 configuration. The boardcfg_sec data structure makes use of the same
316 <a class="reference internal" href="BOARDCFG.html#pub-boardcfg-abi-rev"><span class="std std-ref">ABI revision structure</span></a> structure for the top level and
317 <a class="reference internal" href="BOARDCFG.html#pub-boardcfg-subhdr"><span class="std std-ref">boardcfg substructure header</span></a> for each member structure as the top level
318 boardcfg structure does..</p>
319 <table border="1" class="docutils">
320 <colgroup>
321 <col width="16%" />
322 <col width="37%" />
323 <col width="47%" />
324 </colgroup>
325 <thead valign="bottom">
326 <tr class="row-odd"><th class="head">Element</th>
327 <th class="head">Type</th>
328 <th class="head">Description</th>
329 </tr>
330 </thead>
331 <tbody valign="top">
332 <tr class="row-even"><td>boardcfg_abi_rev</td>
333 <td><a class="reference internal" href="BOARDCFG.html#pub-boardcfg-abi-rev"><span class="std std-ref">ABI revision structure</span></a></td>
334 <td>Board Config ABI version (separate from DMSC ABI version)</td>
335 </tr>
336 <tr class="row-odd"><td>processor_acl_list</td>
337 <td><a class="reference internal" href="#pub-boardcfg-proc-acl"><span class="std std-ref">Processor Access List</span></a></td>
338 <td>Processor access control list configuration</td>
339 </tr>
340 <tr class="row-even"><td>host_hierarchy</td>
341 <td><a class="reference internal" href="#pub-boardcfg-host-hierarchy"><span class="std std-ref">Host Hierarchy</span></a></td>
342 <td>Host hierarchy configuration</td>
343 </tr>
344 <tr class="row-odd"><td>otp_config</td>
345 <td><a class="reference internal" href="#pub-boardcfg-ext-otp-config"><span class="std std-ref">Extended OTP array configuration</span></a></td>
346 <td>Extended OTP access configuration</td>
347 </tr>
348 <tr class="row-even"><td>dkek_config</td>
349 <td><a class="reference internal" href="#pub-boardcfg-dkek-config"><span class="std std-ref">Derived KEK Management</span></a></td>
350 <td>DKEK access configuration</td>
351 </tr>
352 <tr class="row-odd"><td>reserved_cfg_entry</td>
353 <td><a class="reference internal" href="#pub-boardcfg-reserved-entry"><span class="std std-ref">Reserved Entry</span></a></td>
354 <td>Reserved configuration entry</td>
355 </tr>
356 <tr class="row-even"><td>reserved_cfg_entry</td>
357 <td><a class="reference internal" href="#pub-boardcfg-secure-debug-unlock"><span class="std std-ref">Secure Debug Unlock</span></a></td>
358 <td>Secure debug unlock configuration</td>
359 </tr>
360 </tbody>
361 </table>
362 </div>
363 <div class="section" id="processor-access-list">
364 <span id="pub-boardcfg-proc-acl"></span><h3>Processor Access List<a class="headerlink" href="#processor-access-list" title="Permalink to this headline">¶</a></h3>
365 <p>Access Control List for various Processors in the SoC.</p>
366 <div class="section" id="boardcfg-proc">
367 <span id="pub-boardcfg-proc"></span><h4>boardcfg_proc<a class="headerlink" href="#boardcfg-proc" title="Permalink to this headline">¶</a></h4>
368 <table border="1" class="docutils">
369 <colgroup>
370 <col width="15%" />
371 <col width="54%" />
372 <col width="31%" />
373 </colgroup>
374 <thead valign="bottom">
375 <tr class="row-odd"><th class="head">Element</th>
376 <th class="head">Type</th>
377 <th class="head">Description</th>
378 </tr>
379 </thead>
380 <tbody valign="top">
381 <tr class="row-even"><td>subhdr</td>
382 <td><a class="reference internal" href="BOARDCFG.html#pub-boardcfg-subhdr"><span class="std std-ref">boardcfg substructure header</span></a></td>
383 <td>Magic and size for integrity check</td>
384 </tr>
385 <tr class="row-odd"><td>proc_access_list</td>
386 <td><a class="reference internal" href="#pub-processor-access-list"><span class="std std-ref">processor_access_list</span></a> [32]</td>
387 <td>Processor access description</td>
388 </tr>
389 </tbody>
390 </table>
391 <p>The magic number to be populated in the <code class="docutils literal"><span class="pre">subhdr</span></code> is <code class="docutils literal"><span class="pre">0xF1EA</span></code>.</p>
392 </div>
393 <div class="section" id="processor-access-list-entry">
394 <span id="pub-processor-access-list"></span><h4>Processor access list entry<a class="headerlink" href="#processor-access-list-entry" title="Permalink to this headline">¶</a></h4>
395 <table border="1" class="docutils">
396 <colgroup>
397 <col width="25%" />
398 <col width="5%" />
399 <col width="70%" />
400 </colgroup>
401 <thead valign="bottom">
402 <tr class="row-odd"><th class="head">Element</th>
403 <th class="head">Type</th>
404 <th class="head">Description</th>
405 </tr>
406 </thead>
407 <tbody valign="top">
408 <tr class="row-even"><td>processor_id</td>
409 <td>u8</td>
410 <td>Processor ID (mandatory) - Use 0 to mark unused</td>
411 </tr>
412 <tr class="row-odd"><td>proc_access_master</td>
413 <td>u16</td>
414 <td>Recovery Host ID or Primary control master host ID (mandatory)</td>
415 </tr>
416 <tr class="row-even"><td>proc_access_secondary[0-2]</td>
417 <td>u16</td>
418 <td>Other Host IDs that can control this processor(set to DMSC host ID if unused)</td>
419 </tr>
420 </tbody>
421 </table>
422 </div>
423 </div>
424 <div class="section" id="host-hierarchy">
425 <span id="pub-boardcfg-host-hierarchy"></span><h3>Host Hierarchy<a class="headerlink" href="#host-hierarchy" title="Permalink to this headline">¶</a></h3>
426 <p>Host Hierarchy for various processing entities in the SoC.  Host hierarchy
427 defines the supervisory tree for all processing entities in the SoC.</p>
428 <div class="section" id="boardcfg-host-hierarchy">
429 <h4>boardcfg_host_hierarchy<a class="headerlink" href="#boardcfg-host-hierarchy" title="Permalink to this headline">¶</a></h4>
430 <table border="1" class="docutils">
431 <colgroup>
432 <col width="20%" />
433 <col width="49%" />
434 <col width="31%" />
435 </colgroup>
436 <thead valign="bottom">
437 <tr class="row-odd"><th class="head">Element</th>
438 <th class="head">Type</th>
439 <th class="head">Description</th>
440 </tr>
441 </thead>
442 <tbody valign="top">
443 <tr class="row-even"><td>subhdr</td>
444 <td><a class="reference internal" href="BOARDCFG.html#pub-boardcfg-subhdr"><span class="std std-ref">boardcfg substructure header</span></a></td>
445 <td>Magic and size for integrity check</td>
446 </tr>
447 <tr class="row-odd"><td>host_hierarchy_entries</td>
448 <td><a class="reference internal" href="#pub-host-hierarchy"><span class="std std-ref">host_hierarchy_entries</span></a> [32]</td>
449 <td>Host hierarchy description</td>
450 </tr>
451 </tbody>
452 </table>
453 <p>The magic number to be populated in the <code class="docutils literal"><span class="pre">subhdr</span></code> is <code class="docutils literal"><span class="pre">0x8D27</span></code>.</p>
454 </div>
455 <div class="section" id="host-hierarchy-entry">
456 <span id="pub-host-hierarchy"></span><h4>Host hierarchy entry<a class="headerlink" href="#host-hierarchy-entry" title="Permalink to this headline">¶</a></h4>
457 <table border="1" class="docutils">
458 <colgroup>
459 <col width="23%" />
460 <col width="7%" />
461 <col width="70%" />
462 </colgroup>
463 <thead valign="bottom">
464 <tr class="row-odd"><th class="head">Element</th>
465 <th class="head">Type</th>
466 <th class="head">Description</th>
467 </tr>
468 </thead>
469 <tbody valign="top">
470 <tr class="row-even"><td>host_id</td>
471 <td>u8</td>
472 <td>Processing entity Host ID (mandatory) - Use 0 to mark unused</td>
473 </tr>
474 <tr class="row-odd"><td>supervisor_host_id</td>
475 <td>u8</td>
476 <td>Supervisor Host ID</td>
477 </tr>
478 </tbody>
479 </table>
480 </div>
481 </div>
482 <div class="section" id="extended-otp-array-configuration">
483 <span id="pub-boardcfg-ext-otp-config"></span><h3>Extended OTP array configuration<a class="headerlink" href="#extended-otp-array-configuration" title="Permalink to this headline">¶</a></h3>
484 <p>The below structure defines which hosts read the OTP area and which host has
485 permissions to write to the OTP area. Please also refer to the below documents
486 to understand the usage of the board configuration structure.</p>
487 <ol class="arabic simple">
488 <li><a class="reference internal" href="../6_topic_user_guides/extended_otp.html"><span class="doc">Using Extended OTP on HS devices</span></a> and</li>
489 <li><a class="reference internal" href="../2_tisci_msgs/security/extended_otp.html"><span class="doc">Extended OTP TISCI Description</span></a> and</li>
490 </ol>
491 <table border="1" class="docutils">
492 <colgroup>
493 <col width="20%" />
494 <col width="49%" />
495 <col width="31%" />
496 </colgroup>
497 <thead valign="bottom">
498 <tr class="row-odd"><th class="head">Element</th>
499 <th class="head">Type</th>
500 <th class="head">Description</th>
501 </tr>
502 </thead>
503 <tbody valign="top">
504 <tr class="row-even"><td>subhdr</td>
505 <td><a class="reference internal" href="BOARDCFG.html#pub-boardcfg-subhdr"><span class="std std-ref">boardcfg substructure header</span></a></td>
506 <td>Magic and size for integrity check</td>
507 </tr>
508 <tr class="row-odd"><td>otp_entry</td>
509 <td><a class="reference internal" href="#pub-boardcfg-otp-entry"><span class="std std-ref">otp_entry</span></a> [32]</td>
510 <td>OTP MMR access control per row</td>
511 </tr>
512 <tr class="row-even"><td>write_host</td>
513 <td>u8</td>
514 <td>ID of the host who can perform
515 writes to OTP rows</td>
516 </tr>
517 </tbody>
518 </table>
519 <p>The magic number to be populated in the <code class="docutils literal"><span class="pre">subhdr</span></code> is <code class="docutils literal"><span class="pre">0x4081</span></code>.</p>
520 <div class="admonition note">
521 <p class="first admonition-title">Note</p>
522 <p class="last">Wildcard host ID (128U/0x80) cannot be used in the <code class="docutils literal"><span class="pre">write_host</span></code> field. The host ID used here must map to
523 a secure proxy thread.</p>
524 </div>
525 <div class="admonition warning">
526 <p class="first admonition-title">Warning</p>
527 <p class="last">Even though OTP functionality is not available on GP devices, the boardcfg structure for OTP must be present.
528 The header must be populated with the size and magic number correctly.</p>
529 </div>
530 <div class="section" id="extended-otp-row-entry">
531 <span id="pub-boardcfg-otp-entry"></span><h4>Extended OTP Row Entry<a class="headerlink" href="#extended-otp-row-entry" title="Permalink to this headline">¶</a></h4>
532 <table border="1" class="docutils">
533 <colgroup>
534 <col width="17%" />
535 <col width="10%" />
536 <col width="73%" />
537 </colgroup>
538 <thead valign="bottom">
539 <tr class="row-odd"><th class="head">Element</th>
540 <th class="head">Type</th>
541 <th class="head">Description</th>
542 </tr>
543 </thead>
544 <tbody valign="top">
545 <tr class="row-even"><td>host_id</td>
546 <td>u8</td>
547 <td><p class="first">Host ID</p>
548 <ul class="last simple">
549 <li>Set to 128 if the MMR must be accesible to all hosts</li>
550 <li>Set to 0 if the MMR must not be accesible to any host</li>
551 </ul>
552 </td>
553 </tr>
554 <tr class="row-odd"><td>host_perms</td>
555 <td>u8</td>
556 <td><p class="first">2 bit wide fields specifying permissions</p>
557 <ul class="last simple">
558 <li>bit 1:0 - 10b - non-secure, any other value secure</li>
559 <li>bit 7:2 - Reserved for future use.</li>
560 </ul>
561 </td>
562 </tr>
563 </tbody>
564 </table>
565 </div>
566 </div>
567 <div class="section" id="derived-kek-management">
568 <span id="pub-boardcfg-dkek-config"></span><h3>Derived KEK Management<a class="headerlink" href="#derived-kek-management" title="Permalink to this headline">¶</a></h3>
569 <p>The below structure controls access to DKEK on the SOC.
570 Please also refer to the below documents to understand the usage of the board configuration structure.</p>
571 <ol class="arabic simple">
572 <li><a class="reference internal" href="../6_topic_user_guides/dkek_management.html"><span class="doc">Using Derived KEK on HS devices</span></a> and</li>
573 <li><a class="reference internal" href="../2_tisci_msgs/security/dkek_management.html"><span class="doc">Derived KEK TISCI Description</span></a> and</li>
574 </ol>
575 <table border="1" class="docutils">
576 <colgroup>
577 <col width="25%" />
578 <col width="23%" />
579 <col width="52%" />
580 </colgroup>
581 <thead valign="bottom">
582 <tr class="row-odd"><th class="head">Element</th>
583 <th class="head">Type</th>
584 <th class="head">Description</th>
585 </tr>
586 </thead>
587 <tbody valign="top">
588 <tr class="row-even"><td>subhdr</td>
589 <td><a class="reference internal" href="BOARDCFG.html#pub-boardcfg-subhdr"><span class="std std-ref">boardcfg substructure header</span></a></td>
590 <td>Magic and size for integrity check</td>
591 </tr>
592 <tr class="row-odd"><td>dkek_allowed_hosts</td>
593 <td>u8[4]</td>
594 <td><p class="first">Hosts allowed access to DKEK</p>
595 <p class="last">Set one of the entries to 128 if DKEK must accessible to all
596 hosts.</p>
597 </td>
598 </tr>
599 <tr class="row-even"><td>allow_dkek_export_tisci</td>
600 <td>u8</td>
601 <td><p class="first">Flag indicating whether DKEK can be exported via TISCI API</p>
602 <p class="last">Set to 0x5A if TISCI export is allowed.</p>
603 </td>
604 </tr>
605 <tr class="row-odd"><td>rsvd</td>
606 <td>u8[3]</td>
607 <td>Reserved field. Currently unused. Set to 0.</td>
608 </tr>
609 </tbody>
610 </table>
611 <p>The magic number to be populated in the <code class="docutils literal"><span class="pre">subhdr</span></code> is <code class="docutils literal"><span class="pre">0x5170</span></code>.</p>
612 </div>
613 <div class="section" id="reserved-entry">
614 <span id="pub-boardcfg-reserved-entry"></span><h3>Reserved Entry<a class="headerlink" href="#reserved-entry" title="Permalink to this headline">¶</a></h3>
615 <p>The below entry is reserved for future use.</p>
616 <table border="1" class="docutils">
617 <colgroup>
618 <col width="16%" />
619 <col width="31%" />
620 <col width="54%" />
621 </colgroup>
622 <thead valign="bottom">
623 <tr class="row-odd"><th class="head">Element</th>
624 <th class="head">Type</th>
625 <th class="head">Description</th>
626 </tr>
627 </thead>
628 <tbody valign="top">
629 <tr class="row-even"><td>subhdr</td>
630 <td><a class="reference internal" href="BOARDCFG.html#pub-boardcfg-subhdr"><span class="std std-ref">boardcfg substructure header</span></a></td>
631 <td>Magic and size for integrity check</td>
632 </tr>
633 <tr class="row-odd"><td>rsvd</td>
634 <td>u8[4]</td>
635 <td>Reserved for future use. Set to 0</td>
636 </tr>
637 </tbody>
638 </table>
639 <p>The magic number to be populated in the <code class="docutils literal"><span class="pre">subhdr</span></code> is <code class="docutils literal"><span class="pre">0x23BE</span></code>.</p>
640 </div>
641 <div class="section" id="secure-debug-unlock">
642 <span id="pub-boardcfg-secure-debug-unlock"></span><h3>Secure Debug Unlock<a class="headerlink" href="#secure-debug-unlock" title="Permalink to this headline">¶</a></h3>
643 <table border="1" class="docutils">
644 <colgroup>
645 <col width="25%" />
646 <col width="23%" />
647 <col width="52%" />
648 </colgroup>
649 <thead valign="bottom">
650 <tr class="row-odd"><th class="head">Element</th>
651 <th class="head">Type</th>
652 <th class="head">Description</th>
653 </tr>
654 </thead>
655 <tbody valign="top">
656 <tr class="row-even"><td>subhdr</td>
657 <td><a class="reference internal" href="BOARDCFG.html#pub-boardcfg-subhdr"><span class="std std-ref">boardcfg substructure header</span></a></td>
658 <td>Magic and size for integrity check</td>
659 </tr>
660 <tr class="row-odd"><td>allow_jtag_unlock</td>
661 <td>u8</td>
662 <td><p class="first">Set to 0x5A if runtime jtag unlock is allowed.</p>
663 <p class="last">Set to 0 otherwise.</p>
664 </td>
665 </tr>
666 <tr class="row-even"><td>allow_wildcard_unlock</td>
667 <td>u8</td>
668 <td><p class="first">If this field is set to 0x5A, the same debug unlock
669 certificate will work across all devices where it passes the
670 remaining checks.</p>
671 <p>Set to 0 otherwise to enforce UID match before jtag unlock
672 The X509 certificate must contain the UID of the device
673 being unlocked in the designated field</p>
674 <p class="last">NOTE: This field is dependent on the <code class="docutils literal"><span class="pre">allow_jtag_unlock</span></code>
675 field above. If <code class="docutils literal"><span class="pre">allow_jtag_unlock</span></code> is set to 0, this field
676 is not used.</p>
677 </td>
678 </tr>
679 <tr class="row-odd"><td>allow_debug_level_rsvd</td>
680 <td>u8</td>
681 <td><p class="first">Reserved field. Currently unused. Set to 0.</p>
682 <p class="last">This field can be used in the future to control the level of
683 debug allowed with a certificate.</p>
684 </td>
685 </tr>
686 <tr class="row-even"><td>rsvd</td>
687 <td>u8</td>
688 <td>Reserved field. Currently unused. Set to 0.</td>
689 </tr>
690 <tr class="row-odd"><td>min_cert_rev</td>
691 <td>u32</td>
692 <td>Minimum revision value that must be contained in the debug
693 unlock certificate for it to be accepted.
694 Use this field to enforce rollback protection for debug
695 unlock certificates.
696 Set to 0 if you do not wish to use this field.</td>
697 </tr>
698 <tr class="row-even"><td>jtag_unlock_hosts</td>
699 <td>u8[4]</td>
700 <td><p class="first">Hosts allowed send jtag unlock message via TISCI</p>
701 <p class="last">Set one of the entries to 128 if jtag unlock must be allowed
702 for all hosts.</p>
703 </td>
704 </tr>
705 </tbody>
706 </table>
707 <p>The magic number to be populated in the <code class="docutils literal"><span class="pre">subhdr</span></code> is <code class="docutils literal"><span class="pre">0x42AF</span></code>.</p>
708 </div>
709 <div class="section" id="security-handover">
710 <span id="pub-boardcfg-security-handover"></span><h3>Security Handover<a class="headerlink" href="#security-handover" title="Permalink to this headline">¶</a></h3>
711 <div class="admonition note">
712 <p class="first admonition-title">Note</p>
713 <p class="last">This section is only processed on AM64 devices.</p>
714 </div>
715 <p>Please also refer to the below documents to understand the usage of the board configuration structure.</p>
716 <ol class="arabic simple">
717 <li><a class="reference internal" href="../6_topic_user_guides/security_handover.html"><span class="doc">Performing Security Handover</span></a> and</li>
718 <li><a class="reference internal" href="../2_tisci_msgs/security/security_handover.html"><span class="doc">Security Handover Message Description</span></a> and</li>
719 </ol>
720 <table border="1" class="docutils">
721 <colgroup>
722 <col width="25%" />
723 <col width="23%" />
724 <col width="52%" />
725 </colgroup>
726 <thead valign="bottom">
727 <tr class="row-odd"><th class="head">Element</th>
728 <th class="head">Type</th>
729 <th class="head">Description</th>
730 </tr>
731 </thead>
732 <tbody valign="top">
733 <tr class="row-even"><td>subhdr</td>
734 <td><a class="reference internal" href="BOARDCFG.html#pub-boardcfg-subhdr"><span class="std std-ref">boardcfg substructure header</span></a></td>
735 <td>Magic and size for integrity check</td>
736 </tr>
737 <tr class="row-odd"><td>handover_msg_sender</td>
738 <td>u8</td>
739 <td><p class="first">ID of the host who will send the security handover message</p>
740 <p class="last">Set to 0 if security handover is not desired
741 or is unsupported on the device.</p>
742 </td>
743 </tr>
744 <tr class="row-even"><td>handover_to_host_id</td>
745 <td>u8</td>
746 <td><p class="first">ID of the host who takes over the security functionality</p>
747 <p>The credentials of this host are programmed in the firewalls
748 protecting the security configuration registers.</p>
749 <p class="last">Set to 0 if security handover is not desired
750 or is unsupported on the device.</p>
751 </td>
752 </tr>
753 <tr class="row-odd"><td>rsvd</td>
754 <td>u8[4]</td>
755 <td><p class="first">Reserved field. Currently unused. Set to 0.</p>
756 <p class="last">Security handover currently transfers   ownership of the
757 SOC firewalls. These flags are intended for future use
758 to indicate whether ownership of additional resources must
759 be transferred</p>
760 </td>
761 </tr>
762 </tbody>
763 </table>
764 <p>The magic number to be populated in the <code class="docutils literal"><span class="pre">subhdr</span></code> is <code class="docutils literal"><span class="pre">0x608F</span></code>.</p>
765 </div>
766 </div>
767 </div>
770            </div>
771           </div>
772           <footer>
773   
774     <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
775       
776         <a href="BOARDCFG_PM.html" class="btn btn-neutral float-right" title="Power Management Board Configuration" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
777       
778       
779         <a href="BOARDCFG_RM.html" class="btn btn-neutral" title="Resource Management Board Configuration" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
780       
781     </div>
782   
784   <hr/>
786   <div role="contentinfo">
787     <p>
788       <a href="http://www.ti.com/corp/docs/legal/copyright.shtml">&copy; Copyright 2016-2021</a>, Texas Instruments Incorporated. All rights reserved. <br>
789       <a href="http://www.ti.com/corp/docs/legal/trademark/trademrk.htm">Trademarks</a> | <a href="http://www.ti.com/corp/docs/legal/privacy.shtml">Privacy policy</a> | <a href="http://www.ti.com/corp/docs/legal/termsofuse.shtml">Terms of use</a> | <a href="http://www.ti.com/lsds/ti/legal/termsofsale.page">Terms of sale</a>
791     </p>
792   </div> 
794 </footer>
796         </div>
797       </div>
799     </section>
801   </div>
802   
805   
807     <script type="text/javascript">
808         var DOCUMENTATION_OPTIONS = {
809             URL_ROOT:'../',
810             VERSION:'21.01.00',
811             COLLAPSE_INDEX:false,
812             FILE_SUFFIX:'.html',
813             HAS_SOURCE:  true
814         };
815     </script>
816       <script type="text/javascript" src="../_static/jquery.js"></script>
817       <script type="text/javascript" src="../_static/underscore.js"></script>
818       <script type="text/javascript" src="../_static/doctools.js"></script>
819       <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
821     <script src="http://www.ti.com/assets/js/headerfooter/analytics.js" type="text/javascript" charset="utf-8"></script>
823   
825   
826   
827     <script type="text/javascript" src="../_static/js/theme.js"></script>
828   
830   
831   
832   <script type="text/javascript">
833       jQuery(function () {
834           SphinxRtdTheme.StickyNav.enable();
835         });
837       var menuHeight = window.innerHeight;
839       var contentOffset = $(".wy-nav-content-wrap").offset();
840       var contentHeight = $(".wy-nav-content-wrap").height();
841       var contentBottom = contentOffset.top + contentHeight;
843       function setNavbarTop() {
844           var scrollTop = $(window).scrollTop();
845           var maxTop = scrollTop + menuHeight;
847           // If past the header
848           if (scrollTop > contentOffset.top && maxTop < contentBottom) {
849             stickyTop = scrollTop - contentOffset.top;
850           } else if (maxTop > contentBottom) {
851             stickyTop = scrollTop - contentOffset.top - (maxTop - contentBottom);
852           } else {
853             stickyTop = 0;
854           }
856           $(".wy-nav-side").css("top", stickyTop);
857       }
859       $(document).ready(function() {
860         setNavbarTop();
861         $(window).scroll(function () {
862           setNavbarTop();
863         });
865         $('body').on("mousewheel", function () {
866             // Remove default behavior
867             event.preventDefault();
868             // Scroll without smoothing
869             var wheelDelta = event.wheelDelta;
870             var currentScrollPosition = window.pageYOffset;
871             window.scrollTo(0, currentScrollPosition - wheelDelta);
872         });
873       });
874   </script>
875    
877 </body>
878 </html>