Files

371 lines
25 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Arrow Lake Platforms &mdash; Slim Bootloader 1.0 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/graphviz.css" type="text/css" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
<link rel="shortcut icon" href="../_static/sbl_logo_blue_32x32_icon.ico"/>
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="../_static/jquery.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Arrow Island Board" href="arlh-ari.html" />
<link rel="prev" title="Apollo Lake CRB Boards" href="apollo-lake-crb.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
Slim Bootloader
<img src="../_static/sbl_logo_white_200x200.png" class="logo" alt="Logo"/>
</a>
<div class="version">
1.0
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../introduction/index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../getting-started/index.html">Getting Started</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Supported Hardware</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="adl-rvp.html">Alder Lake Platforms</a></li>
<li class="toctree-l2"><a class="reference internal" href="apollo-lake-crb.html">Apollo Lake CRB Boards</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Arrow Lake Platforms</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#supported-boards">Supported Boards</a></li>
<li class="toctree-l3"><a class="reference internal" href="#debug-uart">Debug UART</a></li>
<li class="toctree-l3"><a class="reference internal" href="#building">Building</a></li>
<li class="toctree-l3"><a class="reference internal" href="#stitching">Stitching</a></li>
<li class="toctree-l3"><a class="reference internal" href="#flashing">Flashing</a></li>
<li class="toctree-l3"><a class="reference internal" href="#capsule-image-for-arl">Capsule image for Arrow Lake</a></li>
<li class="toctree-l3"><a class="reference internal" href="#triggering-firmware-update">Triggering Firmware Update</a></li>
<li class="toctree-l3"><a class="reference internal" href="#booting-yocto-linux">Booting Yocto Linux</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="arlh-ari.html">Arrow Island Board</a></li>
<li class="toctree-l2"><a class="reference internal" href="cfl-crb.html">Coffee Lake Refresh CRB Board</a></li>
<li class="toctree-l2"><a class="reference internal" href="cml-rvp.html">Comet Lake RVP Board</a></li>
<li class="toctree-l2"><a class="reference internal" href="ehl-crb.html">Elkhart Lake CRB Board</a></li>
<li class="toctree-l2"><a class="reference internal" href="icdx-crb.html">Ice Lake -D CRB Boards</a></li>
<li class="toctree-l2"><a class="reference internal" href="mtl-mcl.html">McLaren Island Board</a></li>
<li class="toctree-l2"><a class="reference internal" href="mtl-rvp.html">Meteor Lake Platforms</a></li>
<li class="toctree-l2"><a class="reference internal" href="qemu.html">QEMU Virtual Platform</a></li>
<li class="toctree-l2"><a class="reference internal" href="qsp.html">Simics® QSP Virtual Platform</a></li>
<li class="toctree-l2"><a class="reference internal" href="raptor-lake.html">Raptor Lake Platforms</a></li>
<li class="toctree-l2"><a class="reference internal" href="rplp-rki.html">Rock Island Board</a></li>
<li class="toctree-l2"><a class="reference internal" href="tgl-rvp.html">Tiger Lake RVP Board</a></li>
<li class="toctree-l2"><a class="reference internal" href="up2.html">UP<sup>2</sup> Board</a></li>
<li class="toctree-l2"><a class="reference internal" href="up2-6000.html">UP<sup>2</sup> 6000 Board</a></li>
<li class="toctree-l2"><a class="reference internal" href="up7000adln50.html">UP Squared Pro 7000 Edge Board</a></li>
<li class="toctree-l2"><a class="reference internal" href="upxtreme.html">UP Xtreme Board</a></li>
<li class="toctree-l2"><a class="reference internal" href="upxtremei11.html">UP Xtreme i11 Board</a></li>
<li class="toctree-l2"><a class="reference internal" href="upxtremei12.html">UP Xtreme i12 Board</a></li>
<li class="toctree-l2"><a class="reference internal" href="upxtremei12rplp.html">UP Xtreme i12 13th Board</a></li>
<li class="toctree-l2"><a class="reference internal" href="whl-crb.html">Whiskey Lake CRB Board</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../developer-guides/index.html">Developers Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security/index.html">Security Features</a></li>
<li class="toctree-l1"><a class="reference internal" href="../how-tos/index.html">How-Tos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/index.html">Tutorials</a></li>
<li class="toctree-l1"><a class="reference internal" href="../specs/index.html">Specifications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references/references.html">References and Links</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references/terminology.html">Terminology and Acronyms</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">Slim Bootloader</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html">Supported Hardware</a></li>
<li class="breadcrumb-item active">Arrow Lake Platforms</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="arrow-lake-platforms">
<h1>Arrow Lake Platforms<a class="headerlink" href="#arrow-lake-platforms" title="Permalink to this heading"></a></h1>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>15th Generation Intel® Core™ Processor, formally known as Arrow Lake family.</p>
</div>
<section id="supported-boards">
<h2>Supported Boards<a class="headerlink" href="#supported-boards" title="Permalink to this heading"></a></h2>
<p>SBL supports various platforms corresponding to Arrow Lake-H , Arrow Lake-U and Arrow Lake-S.</p>
<p>Each Arrow Lake board is assigned with a unique platform ID.</p>
<blockquote>
<div><table class="docutils align-default">
<tbody>
<tr class="row-odd"><td><p>Board</p></td>
<td><p>Platform ID</p></td>
<td><p>SPI Programmer</p></td>
<td><p>UART</p></td>
<td><p>PLAT</p></td>
</tr>
<tr class="row-even"><td><p>ARL-H/U DDR5 RVP</p></td>
<td><p>0x0018</p></td>
<td><p>J1G2</p></td>
<td><p>J9B2</p></td>
<td><p>arlh / arlu</p></td>
</tr>
<tr class="row-odd"><td><p>ARL-H/U DDR5 CRB</p></td>
<td><p>0x001A</p></td>
<td><p>J3H2</p></td>
<td><p>J7A1</p></td>
<td><p>arlh / arlu</p></td>
</tr>
<tr class="row-even"><td><p>ARL-H/U LPDDR5</p></td>
<td><p>0x0019</p></td>
<td><p>J1G2</p></td>
<td><p>J9B2</p></td>
<td><p>arlh / arlu</p></td>
</tr>
<tr class="row-odd"><td><p>ARL-S DDR5 RVP S02</p></td>
<td><p>0x0017</p></td>
<td><p>J2B4</p></td>
<td><p>J6J3</p></td>
<td><p>arls</p></td>
</tr>
<tr class="row-even"><td><p>ARL-S DDR5 RVP S03</p></td>
<td><p>0x0016</p></td>
<td><p>J122198</p></td>
<td><p>J6J3</p></td>
<td><p>arls</p></td>
</tr>
<tr class="row-odd"><td><p>ARL-S DDR5 RVP S04</p></td>
<td><p>0x0015</p></td>
<td><p>Flash on SPI Socket</p></td>
<td><p>J6J3</p></td>
<td><p>arls</p></td>
</tr>
</tbody>
</table>
</div></blockquote>
</section>
<section id="debug-uart">
<h2>Debug UART<a class="headerlink" href="#debug-uart" title="Permalink to this heading"></a></h2>
<p>For Arrow Lake platforms, serial port connector location can be found from the above table for each supported target board.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Configure host PuTTY or minicom to 115200bps, 8N1, no hardware flow control.</p>
</div>
</section>
<section id="building">
<h2>Building<a class="headerlink" href="#building" title="Permalink to this heading"></a></h2>
<p>To build SBL for any Arrow Lake platform:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">BuildLoader</span><span class="o">.</span><span class="n">py</span> <span class="n">build</span> <span class="o">&lt;</span><span class="n">PLAT</span><span class="o">&gt;</span>
<span class="o">&lt;</span><span class="n">PLAT</span><span class="o">&gt;</span> <span class="o">=</span> <span class="n">arlh</span> <span class="o">/</span> <span class="n">arlu</span> <span class="o">/</span> <span class="n">arls</span>
</pre></div>
</div>
<p>Note: The output images are generated under <code class="docutils literal notranslate"><span class="pre">Outputs</span></code> directory.</p>
</section>
<section id="stitching">
<h2>Stitching<a class="headerlink" href="#stitching" title="Permalink to this heading"></a></h2>
<ol class="arabic simple">
<li><p>Gather Arrow Lake IFWI firmware image</p></li>
</ol>
<blockquote>
<div><p>Users can either download the full IFWI image if the IFWI image release is available or read the existing IFWI image on the board using SPI programmer.
This image contains additional firmware ingredients that are required boot on Arrow Lake.</p>
</div></blockquote>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p><code class="docutils literal notranslate"><span class="pre">StitchLoader.py</span></code> currently does not support stitching with boot guard feature <strong>enabled</strong>.
To stitch with Boot Guard enabled, please use <code class="docutils literal notranslate"><span class="pre">StitchIfwi.py</span></code>.</p>
</div>
<ol class="arabic" start="2">
<li><p>Stitch SBL images into downloaded BIOS image:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">Platform</span><span class="o">/</span><span class="n">ArrowlakeBoardPkg</span><span class="o">/</span><span class="n">Script</span><span class="o">/</span><span class="n">StitchLoader</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">i</span> <span class="o">&lt;</span><span class="n">BIOS_IMAGE_NAME</span><span class="o">&gt;</span> <span class="o">-</span><span class="n">s</span> <span class="n">Outputs</span><span class="o">/&lt;</span><span class="n">plat</span><span class="o">&gt;/</span><span class="n">SlimBootloader</span><span class="o">.</span><span class="n">bin</span> <span class="o">-</span><span class="n">o</span> <span class="o">&lt;</span><span class="n">SBL_IFWI_IMAGE_NAME</span><span class="o">&gt;</span>
</pre></div>
</div>
</li>
</ol>
<blockquote>
<div><p>where -i = Input file, -o = Output file, plat = arlh, arlu or arls</p>
</div></blockquote>
<p>For example, to stitch SBL IFWI image <code class="docutils literal notranslate"><span class="pre">sbl_arlh_ifwi.bin</span></code> from ARL-H downloaded firmware images:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">Platform</span><span class="o">/</span><span class="n">ArrowlakeBoardPkg</span><span class="o">/</span><span class="n">Script</span><span class="o">/</span><span class="n">StitchLoader</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">i</span> <span class="n">xxxx</span><span class="o">.</span><span class="n">bin</span> <span class="o">-</span><span class="n">s</span> <span class="n">Outputs</span><span class="o">/</span><span class="n">arlh</span><span class="o">/</span><span class="n">SlimBootloader</span><span class="o">.</span><span class="n">bin</span> <span class="o">-</span><span class="n">o</span> <span class="n">sbl_arlh_ifwi</span><span class="o">.</span><span class="n">bin</span>
</pre></div>
</div>
<p>For more details on stitch tool, see <a class="reference internal" href="../tools/StitchTool.html#stitch-tool"><span class="std std-ref">Stitch Tool</span></a> on how to stitch the IFWI image with SBL.</p>
</section>
<section id="flashing">
<h2>Flashing<a class="headerlink" href="#flashing" title="Permalink to this heading"></a></h2>
<p>Flash the generated <code class="docutils literal notranslate"><span class="pre">sbl_arlh_ifwi.bin</span></code> to the target board using a DediProg SF100 or SF600 programmer.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Refer the table above to identify the connector on the target board for SPI flash programmer. When using such device, please ensure:</p>
<ol class="arabic simple">
<li><p>The alignment/polarity when connecting Dediprog to the board.</p></li>
<li><p>The power to the board is turned <strong>off</strong> while the programmer is connected (even when not in use).</p></li>
<li><p>The programmer is set to update the flash from offset 0x0.</p></li>
</ol>
</div>
</section>
<section id="capsule-image-for-arl">
<h2>Capsule image for Arrow Lake<a class="headerlink" href="#capsule-image-for-arl" title="Permalink to this heading"></a></h2>
<p>The Slimbootloader.bin image generated from the build steps above can be used to create a capsule image.
Please refer to <a class="reference internal" href="../tools/BuildTool.html#build-tool"><span class="std std-ref">Build Tool</span></a> on generating SBL image.</p>
<p>For all Arrow Lake platforms, the below command can be used:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="o">./</span><span class="n">BootloaderCorePkg</span><span class="o">/</span><span class="n">Tools</span><span class="o">/</span><span class="n">GenCapsuleFirmware</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">p</span> <span class="n">BIOS</span> <span class="n">Outputs</span><span class="o">/&lt;</span><span class="n">plat</span><span class="o">&gt;/</span><span class="n">SlimBootloader</span><span class="o">.</span><span class="n">bin</span> <span class="o">-</span><span class="n">k</span> <span class="o">&lt;</span><span class="n">Keys</span><span class="o">&gt;</span> <span class="o">-</span><span class="n">o</span> <span class="n">FwuImage</span><span class="o">.</span><span class="n">bin</span>
</pre></div>
</div>
<p>For more details on generating capsule image, please refer <a class="reference internal" href="../security/firmware-update.html#generate-capsule"><span class="std std-ref">Generating capsule</span></a>.</p>
</section>
<section id="triggering-firmware-update">
<h2>Triggering Firmware Update<a class="headerlink" href="#triggering-firmware-update" title="Permalink to this heading"></a></h2>
<p>SBL for Arrow Lake uses BIT16 of PMC I/O register (Over-Clocking WDT Control (OC_WDT_CTL) - Offset 54h) to trigger firmware update. When BIT16 is set, SBL will set the boot mode to FLASH_UPDATE.
Please refer to <a class="reference internal" href="../security/firmware-update.html#firmware-update"><span class="std std-ref">Firmware Update</span></a> on how to trigger firmware update flow.
Below is an example:</p>
<p>To trigger firmware update in SBL shell:</p>
<ol class="arabic">
<li><p>Copy <code class="docutils literal notranslate"><span class="pre">FwuImage.bin</span></code> into root directory on FAT partition of a USB key</p></li>
<li><p>Boot and press any key to enter SBL shell</p></li>
<li><p>Type command <code class="docutils literal notranslate"><span class="pre">fwupdate</span></code> from shell</p>
<p>SBL will reset the platform and initiate firmware update flow. The platform will reset <em>multiple</em> times to complete the update process.</p>
<p>A sample boot messages from console:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Shell</span><span class="o">&gt;</span> <span class="n">fwupdate</span>
<span class="o">...</span>
<span class="o">=============</span> <span class="n">Intel</span> <span class="n">Slim</span> <span class="n">Bootloader</span> <span class="n">STAGE1A</span> <span class="o">=============</span>
<span class="o">...</span>
<span class="o">=============</span> <span class="n">Intel</span> <span class="n">Slim</span> <span class="n">Bootloader</span> <span class="n">STAGE1B</span> <span class="o">=============</span>
<span class="o">...</span>
<span class="n">BOOT</span><span class="p">:</span> <span class="n">BP0</span>
<span class="n">MODE</span><span class="p">:</span> <span class="mi">18</span>
<span class="o">...</span>
<span class="o">=============</span> <span class="n">Intel</span> <span class="n">Slim</span> <span class="n">Bootloader</span> <span class="n">STAGE2</span> <span class="o">=============</span>
<span class="o">...</span>
<span class="n">Jump</span> <span class="n">to</span> <span class="n">payload</span>
<span class="o">...</span>
<span class="n">Starting</span> <span class="n">Firmware</span> <span class="n">Update</span>
<span class="o">...</span>
<span class="o">=================</span><span class="n">Read</span> <span class="n">Capsule</span> <span class="n">Image</span><span class="o">==============</span>
<span class="o">...</span>
<span class="o">................</span>
<span class="n">Finished</span> <span class="mi">1</span><span class="o">%</span>
<span class="o">...</span>
<span class="n">Finished</span> <span class="mi">99</span><span class="o">%</span>
<span class="o">...</span>
<span class="o">...</span>
<span class="n">Reset</span> <span class="n">required</span> <span class="n">to</span> <span class="n">proceed</span> <span class="k">with</span> <span class="n">the</span> <span class="n">firmware</span> <span class="n">update</span><span class="o">.</span>
<span class="o">=============</span> <span class="n">Intel</span> <span class="n">Slim</span> <span class="n">Bootloader</span> <span class="n">STAGE1A</span> <span class="o">=============</span>
<span class="o">...</span>
<span class="o">=============</span> <span class="n">Intel</span> <span class="n">Slim</span> <span class="n">Bootloader</span> <span class="n">STAGE1B</span> <span class="o">=============</span>
<span class="o">...</span>
<span class="n">BOOT</span><span class="p">:</span> <span class="n">BP1</span>
<span class="n">MODE</span><span class="p">:</span> <span class="mi">18</span>
<span class="o">...</span>
<span class="o">=============</span> <span class="n">Intel</span> <span class="n">Slim</span> <span class="n">Bootloader</span> <span class="n">STAGE2</span> <span class="o">=============</span>
<span class="o">...</span>
<span class="o">=================</span><span class="n">Read</span> <span class="n">Capsule</span> <span class="n">Image</span><span class="o">==============</span>
<span class="o">...</span>
<span class="o">................</span>
<span class="n">Finished</span> <span class="mi">1</span><span class="o">%</span>
<span class="o">...</span>
<span class="n">Finished</span> <span class="mi">99</span><span class="o">%</span>
<span class="n">Updating</span> <span class="mh">0x002B1000</span><span class="p">,</span> <span class="n">Size</span><span class="p">:</span><span class="mh">0x0A000</span>
<span class="o">...............</span>
<span class="n">Finished</span> <span class="mi">100</span><span class="o">%</span>
<span class="n">Set</span> <span class="nb">next</span> <span class="n">FWU</span> <span class="n">state</span><span class="p">:</span> <span class="mh">0x7C</span>
<span class="n">Firmware</span> <span class="n">Update</span> <span class="n">status</span> <span class="n">updated</span> <span class="n">to</span> <span class="n">reserved</span> <span class="n">region</span>
<span class="n">Set</span> <span class="nb">next</span> <span class="n">FWU</span> <span class="n">state</span><span class="p">:</span> <span class="mh">0x77</span>
<span class="n">Reset</span> <span class="n">required</span> <span class="n">to</span> <span class="n">proceed</span> <span class="k">with</span> <span class="n">the</span> <span class="n">firmware</span> <span class="n">update</span><span class="o">.</span>
<span class="o">...</span>
<span class="o">====================</span> <span class="n">OS</span> <span class="n">Loader</span> <span class="o">====================</span>
<span class="n">Starting</span> <span class="n">Kernel</span> <span class="o">...</span>
</pre></div>
</div>
</li>
</ol>
</section>
<section id="booting-yocto-linux">
<h2>Booting Yocto Linux<a class="headerlink" href="#booting-yocto-linux" title="Permalink to this heading"></a></h2>
<p>You may need to change boot options to boot from USB. See <a class="reference internal" href="../how-tos/change-boot-option.html#change-boot-options"><span class="std std-ref">Change Boot Options</span></a>.</p>
<ol class="arabic simple">
<li><p>Download Yocto Linux</p></li>
<li><p>Create bootable USB key. For example: In Windows, Rufus can be used. In Linux, etcher app can be used.</p></li>
<li><p>Boot the bootable OS image from USB key on the board.</p></li>
</ol>
<p>See <a class="reference internal" href="../developer-guides/configuration.html#dynamic-platform-id"><span class="std std-ref">Platform ID Detection using GPIOs</span></a> for more details.</p>
<p>To customize board configurations in <code class="docutils literal notranslate"><span class="pre">*.dlt</span></code> file, make sure to specify <code class="docutils literal notranslate"><span class="pre">PlatformId</span></code> to the corresponding values for the board.</p>
<p>See <a class="reference internal" href="../tools/ConfigTools.html#configuration-tool"><span class="std std-ref">Configuration Tools</span></a> for more details.</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="apollo-lake-crb.html" class="btn btn-neutral float-left" title="Apollo Lake CRB Boards" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="arlh-ari.html" class="btn btn-neutral float-right" title="Arrow Island Board" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018 - 2025, Intel Corporation.
<span class="lastupdated">Last updated on Jun 27, 2025.
</span></p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>