]> 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.html
Migrating to SYSFW version v2020.05 and AM64 presilicon
[processor-sdk/pdk.git] / packages / ti / drv / sciclient / soc / sysfw / binaries / system-firmware-public-documentation / 3_boardcfg / BOARDCFG.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>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="Resource Management Board Configuration" href="BOARDCFG_RM.html"/>
43         <link rel="prev" title="Chapter 3: Board Configuration" href="index.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                 20.05.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 current"><a class="current reference internal" href="#">Board Configuration</a><ul>
108 <li class="toctree-l3"><a class="reference internal" href="#board-configuration-in-system-firmware">Board Configuration in System Firmware</a></li>
109 <li class="toctree-l3"><a class="reference internal" href="#functional-goals">Functional goals</a></li>
110 <li class="toctree-l3"><a class="reference internal" href="#design">Design</a><ul>
111 <li class="toctree-l4"><a class="reference internal" href="#compile-time-configuration">Compile Time Configuration</a></li>
112 <li class="toctree-l4"><a class="reference internal" href="#tisci-api-for-board-config">TISCI API for Board Config</a></li>
113 <li class="toctree-l4"><a class="reference internal" href="#abi-revision-structure">ABI revision structure</a></li>
114 <li class="toctree-l4"><a class="reference internal" href="#configuration-substructure-enumeration">Configuration substructure enumeration</a></li>
115 <li class="toctree-l4"><a class="reference internal" href="#design-for-boardcfg-msmc">Design for boardcfg_msmc</a></li>
116 <li class="toctree-l4"><a class="reference internal" href="#design-details-for-system-firmware-debug-console">Design details for System Firmware Debug Console</a></li>
117 </ul>
118 </li>
119 </ul>
120 </li>
121 <li class="toctree-l2"><a class="reference internal" href="BOARDCFG_RM.html">Resource Management Board Configuration</a></li>
122 <li class="toctree-l2"><a class="reference internal" href="BOARDCFG_SEC.html">Security Board Configuration</a></li>
123 <li class="toctree-l2"><a class="reference internal" href="BOARDCFG_PM.html">Power Management Board Configuration</a></li>
124 </ul>
125 </li>
126 <li class="toctree-l1"><a class="reference internal" href="../4_trace/index.html">Chapter 4: Interpreting Trace Data</a></li>
127 <li class="toctree-l1"><a class="reference internal" href="../5_soc_doc/index.html">Chapter 5: SoC Family Specific Documentation</a></li>
128 <li class="toctree-l1"><a class="reference internal" href="../6_topic_user_guides/index.html">Chapter 6: Topic User Guides</a></li>
129 </ul>
131             
132           
133         </div>
134       </div>
135     </nav>
137     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
139       
140       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
141         <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
142         <a href="../index.html">TISCI</a>
143       </nav>
146       
147       <div class="wy-nav-content">
148         <div class="rst-content">
149           
151  
155 <div role="navigation" aria-label="breadcrumbs navigation">
156   <ul class="wy-breadcrumbs">
157     <li><a href="../index.html">Docs</a> &raquo;</li>
158       
159           <li><a href="index.html">Chapter 3: Board Configuration</a> &raquo;</li>
160       
161     <li>Board Configuration</li>
162       <li class="wy-breadcrumbs-aside">
163         
164           
165         
166       </li>
167   </ul>
168   <hr/>
169 </div>
170           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
171            <div itemprop="articleBody">
172             
173   <div class="section" id="board-configuration">
174 <h1>Board Configuration<a class="headerlink" href="#board-configuration" title="Permalink to this headline">ΒΆ</a></h1>
175 <div class="section" id="board-configuration-in-system-firmware">
176 <h2>Board Configuration in System Firmware<a class="headerlink" href="#board-configuration-in-system-firmware" title="Permalink to this headline">ΒΆ</a></h2>
177 <p>There is board configuration data that serves two roles:</p>
178 <ol class="arabic simple">
179 <li>Actual board design choices.</li>
180 <li>Application defined boot-time configuration. These are detailed below.</li>
181 </ol>
182 </div>
183 <div class="section" id="functional-goals">
184 <h2>Functional goals<a class="headerlink" href="#functional-goals" title="Permalink to this headline">ΒΆ</a></h2>
185 <p>Board configuration module enables one time (per boot) configuration of the
186 details of the integration of the SoC onto the board as well as one-time
187 application specific configuration.</p>
188 </div>
189 <div class="section" id="design">
190 <h2>Design<a class="headerlink" href="#design" title="Permalink to this headline">ΒΆ</a></h2>
191 <p>Board configuration consists of structured configurations that are placed into
192 regular memory by the host software, made coherent (writeback and fences as
193 required by host architecture) then passed to System Firmware via
194 <a class="reference internal" href="#pub-boardcfg-tisci"><span class="std std-ref">TISCI_MSG_BOARD_CONFIG</span></a>. On HS devices, the board
195 config blob is signed and encrypted using customer root public key and customer
196 encryption key for HS-SE devices. For HS-FS and GP devices there are no customer
197 keys, therefore board config must be unsigned and plain text. 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 <p>It is presumed that this memory is owned by trusted software that will not
201 intentionally corrupt the memory while System Firmware is processing. However,
202 System Firmware will take reasonable precautions for misconfiguration by
203 validating data before it is used.</p>
204 <div class="admonition warning">
205 <p class="first admonition-title">Warning</p>
206 <p class="last">It is highly recommended that the TISCI_MSG_BOARD_CONFIG_PM message be sent
207 immediately after TISCI_MSG_BOARD_CONFIG before sending other boardcfg
208 messages to ensure RM and SECURITY have all resources configured as needed.</p>
209 </div>
210 <p>Power management data used to statically define power management
211 configuration is discussed in detail in
212 <a class="reference internal" href="BOARDCFG_PM.html#pub-boardcfg-pm-intro"><span class="std std-ref">Power Management Board Configuration</span></a>.</p>
213 <p>Resource management board configuration data is detailed in
214 <a class="reference internal" href="BOARDCFG_RM.html"><span class="doc">Resource Management Board Configuration</span></a>.  The RM data
215 defines the following for Hosts:</p>
216 <ul class="simple">
217 <li>Resource range assignments</li>
218 <li>Order IDs</li>
219 <li>QoS values</li>
220 <li>Priority values</li>
221 <li>Host hierarchy</li>
222 </ul>
223 <p>Security data used to statically define security configuration is
224 discussed in detail in
225 <a class="reference internal" href="BOARDCFG_SEC.html#pub-boardcfg-sec-intro"><span class="std std-ref">Security Management Board Configuration</span></a>.</p>
226 <div class="section" id="compile-time-configuration">
227 <h3>Compile Time Configuration<a class="headerlink" href="#compile-time-configuration" title="Permalink to this headline">ΒΆ</a></h3>
228 <table border="1" class="docutils">
229 <colgroup>
230 <col width="8%" />
231 <col width="2%" />
232 <col width="90%" />
233 </colgroup>
234 <thead valign="bottom">
235 <tr class="row-odd"><th class="head">Define</th>
236 <th class="head">Type</th>
237 <th class="head">Description</th>
238 </tr>
239 </thead>
240 <tbody valign="top">
241 <tr class="row-even"><td>BOARDCFG_MAX_MAIN_HOST_COUNT</td>
242 <td>(u16)</td>
243 <td>Maximum number of different processing entities for main, scales all main boardcfg tables. This is the number of simutaneous host id permitted after compacting the holes. Thus, as an example, in soc_doc_am6_public_host_desc_host_list, it is ((u16)18u).</td>
244 </tr>
245 <tr class="row-odd"><td>BOARDCFG_MAX_MCU_HOST_COUNT</td>
246 <td>(u16)</td>
247 <td>Maximum number of different processing entities for MCU, scales all MCU boardcfg tables. This is the number of simutaneous host id permitted after compacting the holes. In the example soc_doc_am6_public_host_desc_host_list, it could be up to ((u16)18u) to allow all processing entities to use dedicated resources in MCU.</td>
248 </tr>
249 </tbody>
250 </table>
251 </div>
252 <div class="section" id="tisci-api-for-board-config">
253 <span id="pub-boardcfg-tisci"></span><h3>TISCI API for Board Config<a class="headerlink" href="#tisci-api-for-board-config" title="Permalink to this headline">ΒΆ</a></h3>
254 <p>The following are the parameters required in the TI-SCI message to pass board
255 configuration data to System Firmware after System Firmware sends boot
256 notification complete.</p>
257 <div class="section" id="usage">
258 <h4>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">ΒΆ</a></h4>
259 <table border="1" class="docutils">
260 <colgroup>
261 <col width="75%" />
262 <col width="25%" />
263 </colgroup>
264 <tbody valign="top">
265 <tr class="row-odd"><td><strong>Message Type</strong></td>
266 <td>Normal</td>
267 </tr>
268 <tr class="row-even"><td><strong>Secure Queue Only?</strong></td>
269 <td>Yes</td>
270 </tr>
271 </tbody>
272 </table>
273 </div>
274 <div class="section" id="tisci-message-id">
275 <h4>TISCI Message ID<a class="headerlink" href="#tisci-message-id" title="Permalink to this headline">ΒΆ</a></h4>
276 <p><code class="docutils literal notranslate"><span class="pre">TISCI_MSG_BOARD_CONFIG</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">(0x000BU)</span></code></p>
277 </div>
278 <div class="section" id="message-data-structures">
279 <h4>Message Data Structures<a class="headerlink" href="#message-data-structures" title="Permalink to this headline">ΒΆ</a></h4>
280 <p><p><strong>struct tisci_msg_board_config_req</strong></p>
281 <p>TISCI_MSG_BOARD_CONFIG request to provide the location and size of the boardcfg structure.</p>
282 <table border="1" class="docutils">
283 <colgroup>
284 <col width="18%" />
285 <col width="23%" />
286 <col width="59%" />
287 </colgroup>
288 <thead valign="bottom">
289 <tr class="row-odd"><th class="head">Parameter</th>
290 <th class="head">Type</th>
291 <th class="head">Description</th>
292 </tr>
293 </thead>
294 <tbody valign="top">
295 <tr class="row-even"><td>hdr</td>
296 <td>struct tisci_header</td>
297 <td>TISCI header</td>
298 </tr>
299 <tr class="row-odd"><td>boardcfgp_low</td>
300 <td>u32</td>
301 <td>Low 32-bits of physical pointer to boardcfg struct.</td>
302 </tr>
303 <tr class="row-even"><td>boardcfgp_high</td>
304 <td>u32</td>
305 <td>High 32-bits of physical pointer to boardcfg struct.</td>
306 </tr>
307 <tr class="row-odd"><td>boardcfg_size</td>
308 <td>u16</td>
309 <td>Size of configuration data.</td>
310 </tr>
311 <tr class="row-even"><td>boardcfg_devgrp</td>
312 <td>devgrp_t</td>
313 <td>Device group for the base board configuration.</td>
314 </tr>
315 </tbody>
316 </table>
317 </p>
318 <p><p><strong>struct tisci_msg_board_config_resp</strong></p>
319 <p>Empty response for TISCI_MSG_BOARD_CONFIG.</p>
320 <table border="1" class="docutils">
321 <colgroup>
322 <col width="27%" />
323 <col width="43%" />
324 <col width="31%" />
325 </colgroup>
326 <thead valign="bottom">
327 <tr class="row-odd"><th class="head">Parameter</th>
328 <th class="head">Type</th>
329 <th class="head">Description</th>
330 </tr>
331 </thead>
332 <tbody valign="top">
333 <tr class="row-even"><td>hdr</td>
334 <td>struct tisci_header</td>
335 <td>TISCI header.</td>
336 </tr>
337 </tbody>
338 </table>
339 <p>Although this message is essentially empty and contains only a header
340  a full data structure is created for consistency in implementation.</p>
341 </p>
342 <div class="admonition warning">
343 <p class="first admonition-title">Warning</p>
344 <p class="last">The boardcfg data structures described below <strong>must</strong> be placed in
345 MCU OCMC SRAM. The address used in the TISCI message will be
346 in MCU OCMC SRAM.</p>
347 </div>
348 <div class="admonition warning">
349 <p class="first admonition-title">Warning</p>
350 <p class="last">Please ensure that MSMC is not being accessed when <code class="docutils literal notranslate"><span class="pre">TISCI_MSG_BOARD_CONFIG</span></code>
351 is sent. System Firmware reconfigures the MSMC firewall on receiving this message.
352 MSMC needs to be inactive for the firewall reconfiguration to succeed.</p>
353 </div>
354 </div>
355 </div>
356 <div class="section" id="abi-revision-structure">
357 <span id="pub-boardcfg-abi-rev"></span><h3>ABI revision structure<a class="headerlink" href="#abi-revision-structure" title="Permalink to this headline">ΒΆ</a></h3>
358 <p>This design <em>requires</em> that both boardcfg_abi_maj and boardcfg_abi_min exactly
359 match what is expected by System Firmware.</p>
360 <table border="1" class="docutils">
361 <colgroup>
362 <col width="17%" />
363 <col width="6%" />
364 <col width="78%" />
365 </colgroup>
366 <thead valign="bottom">
367 <tr class="row-odd"><th class="head">Element</th>
368 <th class="head">Type</th>
369 <th class="head">Description</th>
370 </tr>
371 </thead>
372 <tbody valign="top">
373 <tr class="row-even"><td>boardcfg_abi_maj</td>
374 <td>u8</td>
375 <td>Major ABI version (for boardcfg_cfg version, not overall System Firmware version)</td>
376 </tr>
377 <tr class="row-odd"><td>boardcfg_abi_min</td>
378 <td>u8</td>
379 <td>Minor ABI version (for boardcfg_cfg version, not overall System Firmware version)</td>
380 </tr>
381 </tbody>
382 </table>
383 </div>
384 <div class="section" id="configuration-substructure-enumeration">
385 <span id="pub-boardcfg-cfg"></span><h3>Configuration substructure enumeration<a class="headerlink" href="#configuration-substructure-enumeration" title="Permalink to this headline">ΒΆ</a></h3>
386 <p>This is a fixed size c-structure which defines the format of the configuration.</p>
387 <table border="1" class="docutils">
388 <colgroup>
389 <col width="14%" />
390 <col width="39%" />
391 <col width="48%" />
392 </colgroup>
393 <thead valign="bottom">
394 <tr class="row-odd"><th class="head">Element</th>
395 <th class="head">Type</th>
396 <th class="head">Description</th>
397 </tr>
398 </thead>
399 <tbody valign="top">
400 <tr class="row-even"><td>boardcfg_abi_rev</td>
401 <td><a class="reference internal" href="#pub-boardcfg-abi-rev"><span class="std std-ref">struct boardcfg_abi_rev</span></a></td>
402 <td>Board Config ABI version (separate from System Firmware ABI version)</td>
403 </tr>
404 <tr class="row-odd"><td>control</td>
405 <td><a class="reference internal" href="#pub-boardcfg-control"><span class="std std-ref">struct boardcfg_control</span></a></td>
406 <td>System Firmware feature control selections</td>
407 </tr>
408 <tr class="row-even"><td>secproxy</td>
409 <td><a class="reference internal" href="#pub-boardcfg-secproxy"><span class="std std-ref">struct boardcfg_secproxy</span></a></td>
410 <td>Secure proxy configuration</td>
411 </tr>
412 <tr class="row-odd"><td>msmc</td>
413 <td><a class="reference internal" href="#pub-boardcfg-msmc"><span class="std std-ref">struct boardcfg_msmc</span></a></td>
414 <td>MSMC configuration</td>
415 </tr>
416 <tr class="row-even"><td>debug_cfg</td>
417 <td><a class="reference internal" href="#pub-boardcfg-dbg-cfg"><span class="std std-ref">struct boardcfg_dbg_cfg</span></a></td>
418 <td>Debug/trace configuration</td>
419 </tr>
420 </tbody>
421 </table>
422 <div class="section" id="boardcfg-substructure-header">
423 <span id="pub-boardcfg-subhdr"></span><h4>boardcfg substructure header<a class="headerlink" href="#boardcfg-substructure-header" title="Permalink to this headline">ΒΆ</a></h4>
424 <p>This contains a unique magic number for each substructure and the size of the
425 associated superstructure for data validation/API compatibility checks.</p>
426 <table border="1" class="docutils">
427 <colgroup>
428 <col width="8%" />
429 <col width="5%" />
430 <col width="87%" />
431 </colgroup>
432 <thead valign="bottom">
433 <tr class="row-odd"><th class="head">Element</th>
434 <th class="head">Type</th>
435 <th class="head">Description</th>
436 </tr>
437 </thead>
438 <tbody valign="top">
439 <tr class="row-even"><td>magic</td>
440 <td>u16</td>
441 <td>unique magic number for data integrity check matching <a class="reference internal" href="#pub-boardcfg-subhdr-magic-numbers"><span class="std std-ref">boardcfg substructure header magic numbers</span></a></td>
442 </tr>
443 <tr class="row-odd"><td>size</td>
444 <td>u16</td>
445 <td>sizeof(superstructure containing this header) for data integrity check</td>
446 </tr>
447 </tbody>
448 </table>
449 <div class="section" id="boardcfg-substructure-header-magic-numbers">
450 <span id="pub-boardcfg-subhdr-magic-numbers"></span><h5>boardcfg substructure header magic numbers<a class="headerlink" href="#boardcfg-substructure-header-magic-numbers" title="Permalink to this headline">ΒΆ</a></h5>
451 <p>A unique magic number must be provided for each of the boardcfg
452 structures listed below. The exact value must be used in the
453 <code class="docutils literal notranslate"><span class="pre">magic</span></code> field of <a class="reference internal" href="#pub-boardcfg-subhdr"><span class="std std-ref">boardcfg substructure header</span></a> or the boardcfg
454 data will be rejected.</p>
455 <table border="1" class="docutils">
456 <colgroup>
457 <col width="45%" />
458 <col width="44%" />
459 <col width="11%" />
460 </colgroup>
461 <thead valign="bottom">
462 <tr class="row-odd"><th class="head">Boardcfg Structure</th>
463 <th class="head">Macro Name</th>
464 <th class="head">Value</th>
465 </tr>
466 </thead>
467 <tbody valign="top">
468 <tr class="row-even"><td><a class="reference internal" href="#pub-boardcfg-control"><span class="std std-ref">boardcfg_control structure</span></a></td>
469 <td>BOARDCFG_CONTROL_MAGIC_NUM</td>
470 <td>0xC1D3U</td>
471 </tr>
472 <tr class="row-odd"><td><a class="reference internal" href="#pub-boardcfg-secproxy"><span class="std std-ref">boardcfg_secproxy structure</span></a></td>
473 <td>BOARDCFG_SECPROXY_MAGIC_NUM</td>
474 <td>0x1207U</td>
475 </tr>
476 <tr class="row-even"><td><a class="reference internal" href="#pub-boardcfg-msmc"><span class="std std-ref">Design for boardcfg_msmc</span></a></td>
477 <td>BOARDCFG_MSMC_MAGIC_NUM</td>
478 <td>0xA5C3U</td>
479 </tr>
480 <tr class="row-odd"><td><a class="reference internal" href="BOARDCFG_SEC.html#pub-boardcfg-proc-acl"><span class="std std-ref">Processor Access List</span></a></td>
481 <td>BOARDCFG_PROC_ACL_MAGIC_NUM</td>
482 <td>0xF1EAU</td>
483 </tr>
484 <tr class="row-even"><td><a class="reference internal" href="BOARDCFG_SEC.html#pub-boardcfg-host-hierarchy"><span class="std std-ref">Host Hierarchy</span></a></td>
485 <td>BOARDCFG_HOST_HIERARCHY_MAGIC_NUM</td>
486 <td>0x8D27U</td>
487 </tr>
488 <tr class="row-odd"><td><a class="reference internal" href="#pub-boardcfg-dbg-cfg"><span class="std std-ref">boardcfg_dbg_cfg</span></a></td>
489 <td>BOARDCFG_DBG_CFG_MAGIC_NUM</td>
490 <td>0x020CU</td>
491 </tr>
492 <tr class="row-even"><td><a class="reference internal" href="BOARDCFG_SEC.html#pub-boardcfg-ext-otp-config"><span class="std std-ref">Extended OTP array configuration</span></a></td>
493 <td>BOARDCFG_OTP_CFG_MAGIC_NUM</td>
494 <td>0x4081U</td>
495 </tr>
496 <tr class="row-odd"><td><a class="reference internal" href="BOARDCFG_RM.html#pub-boardcfg-rm-host-cfg"><span class="std std-ref">boardcfg_rm_host_cfg structure</span></a></td>
497 <td>BOARDCFG_RM_HOST_CFG_MAGIC_NUM</td>
498 <td>0x4C41U</td>
499 </tr>
500 <tr class="row-even"><td><a class="reference internal" href="BOARDCFG_RM.html#pub-boardcfg-rm-resasg"><span class="std std-ref">boardcfg_rm_resasg structure</span></a></td>
501 <td>BOARDCFG_RM_RESASG_MAGIC_NUM</td>
502 <td>0x7B25U</td>
503 </tr>
504 <tr class="row-odd"><td><a class="reference internal" href="BOARDCFG_SEC.html#pub-boardcfg-dkek-config"><span class="std std-ref">Derived KEK Management</span></a></td>
505 <td>BOARDCFG_DKEK_CFG_MAGIC_NUM</td>
506 <td>0x5170U</td>
507 </tr>
508 </tbody>
509 </table>
510 </div>
511 </div>
512 <div class="section" id="boardcfg-control-structure">
513 <span id="pub-boardcfg-control"></span><h4>boardcfg_control structure<a class="headerlink" href="#boardcfg-control-structure" title="Permalink to this headline">ΒΆ</a></h4>
514 <p>The boardcfg_control structure is used to enable/disable features in System
515 Firmware based on usecase.</p>
516 <table border="1" class="docutils">
517 <colgroup>
518 <col width="11%" />
519 <col width="26%" />
520 <col width="63%" />
521 </colgroup>
522 <thead valign="bottom">
523 <tr class="row-odd"><th class="head">Element</th>
524 <th class="head">Type</th>
525 <th class="head">Description</th>
526 </tr>
527 </thead>
528 <tbody valign="top">
529 <tr class="row-even"><td>subhdr</td>
530 <td><a class="reference internal" href="#pub-boardcfg-subhdr"><span class="std std-ref">struct boardcfg_subhdr</span></a></td>
531 <td>Magic and size for integrity check</td>
532 </tr>
533 <tr class="row-odd"><td>main_isolation_enable</td>
534 <td>ftbool</td>
535 <td>Enable/disable support for System Firmware main isolation. If disabled, main isolation SCI message will be rejected with NAK.</td>
536 </tr>
537 <tr class="row-even"><td>main_isolation_hostid</td>
538 <td>u16</td>
539 <td>Host-ID allowed to send SCI-message for main isolation. If mismatch, SCI message will be rejected with NAK.</td>
540 </tr>
541 </tbody>
542 </table>
543 </div>
544 <div class="section" id="boardcfg-secproxy-structure">
545 <span id="pub-boardcfg-secproxy"></span><h4>boardcfg_secproxy structure<a class="headerlink" href="#boardcfg-secproxy-structure" title="Permalink to this headline">ΒΆ</a></h4>
546 <table border="1" class="docutils">
547 <colgroup>
548 <col width="11%" />
549 <col width="18%" />
550 <col width="72%" />
551 </colgroup>
552 <thead valign="bottom">
553 <tr class="row-odd"><th class="head">Element</th>
554 <th class="head">Type</th>
555 <th class="head">Description</th>
556 </tr>
557 </thead>
558 <tbody valign="top">
559 <tr class="row-even"><td>subhdr</td>
560 <td><a class="reference internal" href="#pub-boardcfg-subhdr"><span class="std std-ref">struct boardcfg_subhdr</span></a></td>
561 <td>Magic and size for integrity check</td>
562 </tr>
563 <tr class="row-odd"><td>scaling_factor</td>
564 <td>u8</td>
565 <td>Memory allocation for messages scaling factor. In current design, only value of β€œ1” is supported. For future design, a value of β€œ2” would double all memory allocations and credits, β€œ3” would triple, and so on.</td>
566 </tr>
567 <tr class="row-even"><td>scaling_profile</td>
568 <td>u8</td>
569 <td>Memory allocation for messages profile number. In current design, only a value of β€œ1” is supported. β€œ0” is always invalid due to fault tolerance.</td>
570 </tr>
571 <tr class="row-odd"><td>disable_main_nav_secure_proxy</td>
572 <td>u8</td>
573 <td>Do not configure main nav secure proxy. This removes all MSMC memory demands from System Firmware but limits MPU channels to one set of secure and one set of insecure. In current design, supports only β€œ0”.</td>
574 </tr>
575 </tbody>
576 </table>
577 <div class="admonition note">
578 <p class="first admonition-title">Note</p>
579 <p class="last">disable_main_nav_secure_proxy paramter is not used in the current System Firmware.</p>
580 </div>
581 </div>
582 </div>
583 <div class="section" id="design-for-boardcfg-msmc">
584 <span id="pub-boardcfg-msmc"></span><h3>Design for boardcfg_msmc<a class="headerlink" href="#design-for-boardcfg-msmc" title="Permalink to this headline">ΒΆ</a></h3>
585 <p>Cache must be configured by System Firmware in order for MSMC to be used for
586 main secure proxy backing memory and ring memory.</p>
587 <div class="section" id="boardcfg-msmc-structure">
588 <h4>boardcfg_msmc structure<a class="headerlink" href="#boardcfg-msmc-structure" title="Permalink to this headline">ΒΆ</a></h4>
589 <table border="1" class="docutils">
590 <colgroup>
591 <col width="8%" />
592 <col width="26%" />
593 <col width="66%" />
594 </colgroup>
595 <thead valign="bottom">
596 <tr class="row-odd"><th class="head">Element</th>
597 <th class="head">Type</th>
598 <th class="head">Description</th>
599 </tr>
600 </thead>
601 <tbody valign="top">
602 <tr class="row-even"><td>subhdr</td>
603 <td><a class="reference internal" href="#pub-boardcfg-subhdr"><span class="std std-ref">struct boardcfg_subhdr</span></a></td>
604 <td>Magic and size for integrity check</td>
605 </tr>
606 <tr class="row-odd"><td>msmc_cache_size</td>
607 <td>u8</td>
608 <td>fraction of msmc to be cache in /32 units. Rounds up. Since current msmc support /8 allocation this means that 1/32 rounds up to 1/8.</td>
609 </tr>
610 </tbody>
611 </table>
612 </div>
613 </div>
614 <div class="section" id="design-details-for-system-firmware-debug-console">
615 <span id="pub-boardcfg-debug-console"></span><h3>Design details for System Firmware Debug Console<a class="headerlink" href="#design-details-for-system-firmware-debug-console" title="Permalink to this headline">ΒΆ</a></h3>
616 <p>One value is provided to specific the debug console from the following options
617 specified as bits (so all, some, or none can be enabled)</p>
618 <div class="section" id="boardcfg-dbg-dst-ports">
619 <span id="pub-boardcfg-dbg-dst-ports"></span><h4>boardcfg_dbg_dst_ports<a class="headerlink" href="#boardcfg-dbg-dst-ports" title="Permalink to this headline">ΒΆ</a></h4>
620 <table border="1" class="docutils">
621 <colgroup>
622 <col width="27%" />
623 <col width="13%" />
624 <col width="60%" />
625 </colgroup>
626 <thead valign="bottom">
627 <tr class="row-odd"><th class="head">Bit</th>
628 <th class="head">Value</th>
629 <th class="head">Definition</th>
630 </tr>
631 </thead>
632 <tbody valign="top">
633 <tr class="row-even"><td>TRACE_DST_UART0</td>
634 <td>0x0001</td>
635 <td>Traces to UART0 in wakeupss enabled</td>
636 </tr>
637 <tr class="row-odd"><td>TRACE_DST_ITM</td>
638 <td>0x0004</td>
639 <td>Traces to ITM (JTAG) enabled</td>
640 </tr>
641 <tr class="row-even"><td>TRACE_DST_MEM</td>
642 <td>0x0008</td>
643 <td>Traces to memory buffer enabled</td>
644 </tr>
645 </tbody>
646 </table>
647 </div>
648 <div class="section" id="boardcfg-dbg-src">
649 <span id="pub-boardcfg-dbg-src"></span><h4>boardcfg_dbg_src<a class="headerlink" href="#boardcfg-dbg-src" title="Permalink to this headline">ΒΆ</a></h4>
650 <table border="1" class="docutils">
651 <colgroup>
652 <col width="23%" />
653 <col width="12%" />
654 <col width="65%" />
655 </colgroup>
656 <thead valign="bottom">
657 <tr class="row-odd"><th class="head">Bit</th>
658 <th class="head">Value</th>
659 <th class="head">Definition</th>
660 </tr>
661 </thead>
662 <tbody valign="top">
663 <tr class="row-even"><td>TRACE_SRC_PM</td>
664 <td>0x0001</td>
665 <td>Traces from power management are allowed</td>
666 </tr>
667 <tr class="row-odd"><td>TRACE_SRC_RM</td>
668 <td>0x0002</td>
669 <td>Traces from resource management are allowed</td>
670 </tr>
671 <tr class="row-even"><td>TRACE_SRC_SEC</td>
672 <td>0x0004</td>
673 <td>Traces from security management are allowed</td>
674 </tr>
675 <tr class="row-odd"><td>TRACE_SRC_BASE</td>
676 <td>0x0008</td>
677 <td>Traces from baseport are allowed</td>
678 </tr>
679 <tr class="row-even"><td>TRACE_SRC_USER</td>
680 <td>0x0010</td>
681 <td>Traces from user tasks are allowed</td>
682 </tr>
683 <tr class="row-odd"><td>TRACE_SRC_SUPR</td>
684 <td>0x0020</td>
685 <td>Traces from supervisor tasks are allowed</td>
686 </tr>
687 </tbody>
688 </table>
689 </div>
690 <div class="section" id="boardcfg-dbg-cfg">
691 <span id="pub-boardcfg-dbg-cfg"></span><h4>boardcfg_dbg_cfg<a class="headerlink" href="#boardcfg-dbg-cfg" title="Permalink to this headline">ΒΆ</a></h4>
692 <table border="1" class="docutils">
693 <colgroup>
694 <col width="9%" />
695 <col width="24%" />
696 <col width="68%" />
697 </colgroup>
698 <thead valign="bottom">
699 <tr class="row-odd"><th class="head">Field</th>
700 <th class="head">Type</th>
701 <th class="head">Description</th>
702 </tr>
703 </thead>
704 <tbody valign="top">
705 <tr class="row-even"><td>subhdr</td>
706 <td><a class="reference internal" href="#pub-boardcfg-subhdr"><span class="std std-ref">struct boardcfg_subhdr</span></a></td>
707 <td>Magic and size for integrity check</td>
708 </tr>
709 <tr class="row-odd"><td>trace_dst_enables</td>
710 <td>u16</td>
711 <td>Each bit from TRACE_DST in <a class="reference internal" href="#pub-boardcfg-dbg-dst-ports"><span class="std std-ref">struct boardcfg_dbg_dst_ports</span></a>. Using u16 to allow 2 bits per value for fault tolerance</td>
712 </tr>
713 <tr class="row-even"><td>trace_src_enables</td>
714 <td>u16</td>
715 <td>Each bit from TRACE_SRC in <a class="reference internal" href="#pub-boardcfg-dbg-src"><span class="std std-ref">struct boardcfg_dbg_src</span></a>. Using u16 to allow 2 bits per value for fault tolerance</td>
716 </tr>
717 </tbody>
718 </table>
719 </div>
720 </div>
721 </div>
722 </div>
725            </div>
726           </div>
727           <footer>
728   
729     <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
730       
731         <a href="BOARDCFG_RM.html" class="btn btn-neutral float-right" title="Resource Management Board Configuration" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
732       
733       
734         <a href="index.html" class="btn btn-neutral" title="Chapter 3: Board Configuration" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
735       
736     </div>
737   
739   <hr/>
741   <div role="contentinfo">
742     <p>
743       <a href="http://www.ti.com/corp/docs/legal/copyright.shtml">&copy; Copyright 2016-2020</a>, Texas Instruments Incorporated. All rights reserved. <br>
744       <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>
746     </p>
747   </div> 
749 </footer>
751         </div>
752       </div>
754     </section>
756   </div>
757   
760   
762     <script type="text/javascript">
763         var DOCUMENTATION_OPTIONS = {
764             URL_ROOT:'../',
765             VERSION:'20.05.00',
766             COLLAPSE_INDEX:false,
767             FILE_SUFFIX:'.html',
768             HAS_SOURCE:  true
769         };
770     </script>
771       <script type="text/javascript" src="../_static/jquery.js"></script>
772       <script type="text/javascript" src="../_static/underscore.js"></script>
773       <script type="text/javascript" src="../_static/doctools.js"></script>
774       <script type="text/javascript" src="../_static/language_data.js"></script>
776     <script src="http://www.ti.com/assets/js/headerfooter/analytics.js" type="text/javascript" charset="utf-8"></script>
778   
780   
781   
782     <script type="text/javascript" src="../_static/js/theme.js"></script>
783   
785   
786   
787   <script type="text/javascript">
788       jQuery(function () {
789           SphinxRtdTheme.StickyNav.enable();
790         });
792       var menuHeight = window.innerHeight;
794       var contentOffset = $(".wy-nav-content-wrap").offset();
795       var contentHeight = $(".wy-nav-content-wrap").height();
796       var contentBottom = contentOffset.top + contentHeight;
798       function setNavbarTop() {
799           var scrollTop = $(window).scrollTop();
800           var maxTop = scrollTop + menuHeight;
802           // If past the header
803           if (scrollTop > contentOffset.top && maxTop < contentBottom) {
804             stickyTop = scrollTop - contentOffset.top;
805           } else if (maxTop > contentBottom) {
806             stickyTop = scrollTop - contentOffset.top - (maxTop - contentBottom);
807           } else {
808             stickyTop = 0;
809           }
811           $(".wy-nav-side").css("top", stickyTop);
812       }
814       $(document).ready(function() {
815         setNavbarTop();
816         $(window).scroll(function () {
817           setNavbarTop();
818         });
820         $('body').on("mousewheel", function () {
821             // Remove default behavior
822             event.preventDefault();
823             // Scroll without smoothing
824             var wheelDelta = event.wheelDelta;
825             var currentScrollPosition = window.pageYOffset;
826             window.scrollTo(0, currentScrollPosition - wheelDelta);
827         });
828       });
829   </script>
830    
832 </body>
833 </html>