Files

342 lines
20 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>Whiskey Lake CRB Board &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="Developers Guide" href="../developer-guides/index.html" />
<link rel="prev" title="UP Xtreme i12 13th Board" href="upxtremei12rplp.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"><a class="reference internal" href="arl-rvp.html">Arrow Lake Platforms</a></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 current"><a class="current reference internal" href="#">Whiskey Lake CRB Board</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="#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="#slimbootloader-binary-for-capsule">Slimbootloader binary for capsule</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="#debug-uart">Debug UART</a></li>
<li class="toctree-l3"><a class="reference internal" href="#booting-yocto-linux-from-usb">Booting Yocto Linux from USB</a></li>
<li class="toctree-l3"><a class="reference internal" href="#booting-ubuntu">Booting Ubuntu</a></li>
<li class="toctree-l3"><a class="reference internal" href="#board-id-assignments">Board ID Assignments</a></li>
</ul>
</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">Whiskey Lake CRB Board</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="whiskey-lake-crb-board">
<span id="whl-crb"></span><h1>Whiskey Lake CRB Board<a class="headerlink" href="#whiskey-lake-crb-board" title="Permalink to this heading"></a></h1>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>8th and 9th Generation Intel® Core <sup>TM</sup> Processor Families formally known as Whiskey Lake and Coffee Lake Refresh platform.</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 <strong>Whiskey Lake, Coffee Lake Refresh Desktop S8+2, Coffee Lake Refresh Mobile H6+2 CRB</strong> platforms and <strong>UP Xtreme</strong> platform.</p>
</section>
<section id="building">
<h2>Building<a class="headerlink" href="#building" title="Permalink to this heading"></a></h2>
<p>To build SBL for Whiskey Lake, Coffee Lake Refresh and UP Xtreme platforms:</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="n">cfl</span>
</pre></div>
</div>
<p>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 Whiskey Lake, Coffee Lake Refresh or UP Xtreme 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 exising IFWI image on the board using SPI programmer.
This image contains additional firmware ingredients that are required to boot on Whiskey Lake, Coffee Lake Refresh or UP Xtreme.</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 only supports stitching with boot guard feature <strong>disabled</strong>.</p>
</div>
<ol class="arabic" start="2">
<li><p>Stitch SBL images into downloaded IFWI image:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>For Whiskey Lake and Coffee Lake Refresh CRB boards:
python Platform/CoffeelakeBoardPkg/Script/StitchLoader.py -i &lt;BIOS_IMAGE_NAME&gt;
-s Outputs/cfl/SlimBootloader.bin -o &lt;SBL_IFWI_IMAGE_NAME&gt;
For UP Xtreme board:
python Platform/CoffeelakeBoardPkg/Script/StitchLoader.py -i &lt;BIOS_IMAGE_NAME&gt;
-s Outputs/cfl/SlimBootloader.bin -o &lt;SBL_IFWI_IMAGE_NAME&gt; -p 0xAA00??10
&#39;??&#39; can be the following values:
02: Use PCH UART2 (Label CN16 on board) as debug serial port
FF: Use SIO UART1 (Label COM1 on board) as debug serial port
FE: Use SIO UART2 (Label COM2 on board) as debug serial port
where -i = Input file, -o = Output file.
</pre></div>
</div>
</li>
</ol>
<p>For example, stitching SBL IFWI image <code class="docutils literal notranslate"><span class="pre">sbl_cfl_ifwi.bin</span></code> from Coffee Lake Refresh firmware 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">CoffeelakeBoardPkg</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">cfl</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_cfl_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 IFWI image to the target board using DediProg SF100 or SF600 programmer.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Please check the alignment/polarity when connecting Dediprog to the board. Please power off the board before connecting the Dediprog.</p>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Please set the dediprog to flash the ifwi binary from offset 0</p>
</div>
<p>SPI Header to connect dediprog is provided in the table below:</p>
<blockquote>
<div><table class="docutils align-default">
<tbody>
<tr class="row-odd"><td><p>Board</p></td>
<td><p>Connector</p></td>
</tr>
<tr class="row-even"><td><p>Whiskey Lake</p></td>
<td><p><strong>J3H1</strong></p></td>
</tr>
<tr class="row-odd"><td><p>Coffee Lake Refresh Desktop S8+2</p></td>
<td><p><strong>J7H1</strong></p></td>
</tr>
<tr class="row-even"><td><p>Coffee Lake Refresh Mobile H6+2</p></td>
<td><p><strong>J7H2</strong></p></td>
</tr>
<tr class="row-odd"><td><p>UP Xtreme</p></td>
<td><p><strong>CN18</strong></p></td>
</tr>
</tbody>
</table>
</div></blockquote>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Please disconnect Deidprog before powering up the board again.</p>
</div>
</section>
<section id="slimbootloader-binary-for-capsule">
<h2>Slimbootloader binary for capsule<a class="headerlink" href="#slimbootloader-binary-for-capsule" title="Permalink to this heading"></a></h2>
<p>Creating slimbootloader binary for capsule image requires the following steps:</p>
<p>Build SBL for Whiskey Lake, Coffee Lake Refresh or UP Xtreme:</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="n">cfl</span>
</pre></div>
</div>
<p>slimbootloader binary generated in <code class="docutils literal notranslate"><span class="pre">outputs\cfl\slimbootloader.bin</span></code> can be used for generating capsule image.</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>Sample implementation of trigerring firmware update is explained below</p>
<p>SBL for Whiskey Lake, Coffee Lake Refresh 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.</p>
<p>please refer to IsFirmwareUpdate() function called in <code class="docutils literal notranslate"><span class="pre">Platform\CoffeelakeBoardPkg\Library\Stage1BBoardInitLib\Stage1BBoardInitLib.c</span></code> to understand how SBL will detect firmware update mode.</p>
</section>
<section id="debug-uart">
<h2>Debug UART<a class="headerlink" href="#debug-uart" title="Permalink to this heading"></a></h2>
<p>Serial port connector on board is provided in the table below:</p>
<blockquote>
<div><table class="docutils align-default">
<tbody>
<tr class="row-odd"><td><p>Board</p></td>
<td><p>Connector</p></td>
</tr>
<tr class="row-even"><td><p>Whiskey Lake</p></td>
<td><p><strong>J8J1</strong></p></td>
</tr>
<tr class="row-odd"><td><p>Coffee Lake Refresh Desktop S8+2</p></td>
<td><p><strong>J9B7</strong></p></td>
</tr>
<tr class="row-even"><td><p>Coffee Lake Refresh Mobile H6+2</p></td>
<td><p><strong>J4A1</strong></p></td>
</tr>
<tr class="row-odd"><td><p>UP Xtreme</p></td>
<td><p><strong>CN16/COM1/COM2</strong></p></td>
</tr>
</tbody>
</table>
</div></blockquote>
<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="booting-yocto-linux-from-usb">
<h2>Booting Yocto Linux from USB<a class="headerlink" href="#booting-yocto-linux-from-usb" 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>
</section>
<section id="booting-ubuntu">
<h2>Booting Ubuntu<a class="headerlink" href="#booting-ubuntu" title="Permalink to this heading"></a></h2>
<p>See <a class="reference internal" href="../how-tos/boot-ubuntu.html#boot-ubuntu"><span class="std std-ref">Boot Ubuntu</span></a> for more details.</p>
<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>
</section>
<section id="board-id-assignments">
<h2>Board ID Assignments<a class="headerlink" href="#board-id-assignments" title="Permalink to this heading"></a></h2>
<p>Each board is assigned 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>
</tr>
<tr class="row-even"><td><p>Whiskey Lake</p></td>
<td><p>0x14</p></td>
</tr>
<tr class="row-odd"><td><p>Coffee Lake Refresh Desktop S8+2</p></td>
<td><p>0x1B</p></td>
</tr>
<tr class="row-even"><td><p>Coffee Lake Refresh Mobile H6+2</p></td>
<td><p>0x16</p></td>
</tr>
<tr class="row-odd"><td><p>UP Xtreme</p></td>
<td><p>0x10</p></td>
</tr>
</tbody>
</table>
</div></blockquote>
<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="upxtremei12rplp.html" class="btn btn-neutral float-left" title="UP Xtreme i12 13th Board" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../developer-guides/index.html" class="btn btn-neutral float-right" title="Developers Guide" 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>