<!DOCTYPE html>
<html>
  <head>
    <title>Quark&trade; SoC</title>
  </head>
  <body>

<h1>Intel&reg; Quark&trade; SoC</h1>
<table>
  <tr>
    <td><a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/images/embedded/16x9/edc-quark-block-diagram-16x9.png"><img alt="Quark Block Diagram" src="http://www.intel.com/content/dam/www/public/us/en/images/embedded/16x9/edc-quark-block-diagram-16x9.png" width=500></a></td>
    <td>
      The Quark&trade; SoC code was developed using the
      <a target="_blank" href="../Board/galileo.html">Galileo Gen 2</a>
      board:
      <ul>
        <li><a target="_blank" href="../development.html">Overall</a> development</li>
        <li><a target="_blank" href="soc.html">SoC</a> support</li>
        <li><a target="_blank" href="../fsp1_1.html">FSP 1.1</a> integration</li>
        <li><a target="_blank" href="../Board/board.html">Board</a> support</li>
        <li><a target="_blank" href="#QuarkFsp">Quark&trade; FSP</a></li>
        <li><a target="_blank" href="#CorebootPayloadPkg">CorebootPayloadPkg</a></li>
      </ul>
    </td>
  </tr>
</table>



<hr>
<h1>Quark&trade; Documentation</h1>
<ul>
  <li><a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/images/embedded/16x9/edc-quark-block-diagram-16x9.png">Block Diagram</a></li>
  <li><a target="_blank" href="http://www.intel.com/content/www/us/en/embedded/products/quark/specifications.html">Specifications</a>:
    <ul>
      <li><a target="_blank" href="http://ark.intel.com/products/79084/Intel-Quark-SoC-X1000-16K-Cache-400-MHz">X1000</a>
        - <a target="_blank" href="http://www.intel.com/content/www/us/en/search.html?keyword=X1000">Documentation</a>:
        <ul>
          <li><a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/quark-x1000-datasheet.pdf">Datasheet</a></li>
          <li><a target="_blank" href="http://www.intel.com/content/dam/support/us/en/documents/processors/quark/sb/intelquarkcore_devman_001.pdf">Developer's Manual</a></li>
          <li><a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/intel-quark-product-brief-v3.pdf">Product Brief</a></li>
        </ul>
      </li>
    </ul>
  </li>
  <li><a target="_blank" href="../index.html#Documentation">More documentation</a></li>
</ul>



<hr>
<h1><a name="CorebootPayloadPkg">Quark&trade; EDK2 CorebootPayloadPkg</a></h1>
<p>
Build Instructions:
</p>
<ol>
  <li>Set up <a href="#BuildEnvironment">build environment</a></li>
  <li>Linux (assumes GCC48):
<pre><code>build  -p CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc  -a IA32  \
    -t GCC48  -b DEBUG  -DDEBUG_PROPERTY_MASK=0x27  \
    -DDEBUG_PRINT_ERROR_LEVEL=0x80000042  -DSHELL_TYPE=BUILD_SHELL  \
    -DMAX_LOGICAL_PROCESSORS=1
ls Build/CorebootPayloadPkgIA32/DEBUG_GCC48/FV/UEFIPAYLOAD.fd
</code></pre>
  </li>
  <li>Windows (assumes Visual Studio 2015):
<pre><code>build  -p CorebootPayloadPkg\CorebootPayloadPkgIa32.dsc  -a IA32  -t VS2015x86  -b DEBUG  -DDEBUG_PROPERTY_MASK=0x27  -DDEBUG_PRINT_ERROR_LEVEL=0x80000042  -DSHELL_TYPE=BUILD_SHELL  -DMAX_LOGICAL_PROCESSORS=1
dir Build\CorebootPayloadPkgIA32\DEBUG_VS2015x86\FV\UEFIPAYLOAD.fd
</code></pre>
  </li>
  <li>In the .config for coreboot, set the following Kconfig values:
    <ul>
      <li>CONFIG_PAYLOAD_ELF=y</li>
      <li>CONFIG_PAYLOAD_FILE="path to UEFIPAYLOAD.fd"</li>
    </ul>
  </li>
  <li>Build coreboot</li>
  <li>Copy the image build/coreboot.rom into flash</li>
</ol>



<hr>
<h1><a name="BuildEnvironment">Quark&trade; EDK2 Build Environment</a></h1>
<p>
  Use the following steps to setup a build environment:
</p>
<ol>
  <li>Get the EDK2 sources:
    <ol type="A">
      <li>EDK2: git clone <a target="_blank" href="https://github.com/tianocore/edk2.git">https://github.com/tianocore/edk2.git</a></li>
      <li>EDK2-non-osi: git clone <a target="_blank" href="https://github.com/tianocore/edk2-non-osi.git">https://github.com/tianocore/edk2-non-osi.git</a></li>
      <li>Win32 BaseTools: git clone <a target="_blank" href="https://github.com/tianocore/edk2-BaseTools-win32.git">https://github.com/tianocore/edk2-BaseTools-win32.git</a></li>
    </ol>
  </li>
  <li>Set up a build window:
    <ul>
      <li>Linux:
<pre><code>export WORKSPACE=$PWD
export PACKAGES_PATH="$PWD/edk2:$PWD/edk2-non-osi"
cd edk2
export WORKSPACE=$PWD
. edksetup.sh
</code></pre>
      </li>
      <li>Windows:
<pre><code>set WORKSPACE=%CD%
set PACKAGES_PATH=%WORKSPACE%\edk2;%WORKSPACE%\edk2-non-osi
set EDK_TOOLS_BIN=%WORKSPACE%\edk2-BaseTools-win32
cd edk2
edksetup.bat
</code></pre>
      </li>
    </ul>
  </li>
</ol>



<hr>
<h1><a name="QuarkFsp">Quark&trade; FSP</a></h1>
<p>
Getting the Quark FSP source:
</p>
<ol>
  <li>Set up an EDK-II <a href="#BuildEnvironment">Build Environment</a></li>
  <li>cd edk2</li>
  <li>mkdir QuarkFspPkg</li>
  <li>cd QuarkFspPkg</li>
  <li>Use git to clone <a target="_blank" href="https://review.gerrithub.io/#/admin/projects/LeeLeahy/quarkfsp">QuarkFspPkg</a> into the QuarkFpsPkg directory (.)</li>
</ol>

<p>
Building QuarkFspPkg:
</p>
<ul>
  <li>Linux: QuarkFspPkg/BuildFsp.sh  -d32</li>
  <li>Windows: QuarkFspPkg/BuildFsp.bat  -d32</li>
</ul>



<hr>
<h1>Quark&trade; EDK2 BIOS</h1>
<p>
Build Instructions:
</p>
<ol>
  <li>Set up <a href="#BuildEnvironment">build environment</a></li>
  <li>Build the image:
    <ul>
      <li>Linux:
<pre><code>build -p QuarkPlatformPkg/Quark.dsc  -a IA32  -t GCC48  -b DEBUG  -DDEBUG_PROPERTY_MASK=0x27  -DDEBUG_PRINT_ERROR_LEVEL=0x80000042
ls Build/Quark/DEBUG_GCC48/FV/Quark.fd
</code></pre>
      </li>
      <li>Windows:
<pre><code>build -p QuarkPlatformPkg/Quark.dsc  -a IA32  -t VS2012x86  -b DEBUG  -DDEBUG_PROPERTY_MASK=0x27  -DDEBUG_PRINT_ERROR_LEVEL=0x80000042
dir Build\Quark\DEBUG_VS2012x86\FV\Quark.fd
</code></pre>
  </li>
    </ul>
  </li>
</ol>

<p>
Documentation:
</p>
<ul>
  <li><a target="_blank" href="https://github.com/tianocore/edk2/tree/master/QuarkPlatformPkg">EDK II firmware for Intel&reg; Quark&trade; SoC X1000 based platforms</a></li>
  <li>Intel&reg; Quark&trade; SoC X1000 <a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/guides/quark-x1000-uefi-firmware-writers-guide.pdf">UEFI Firmware Writer's Guide</a></li>
</ul>



<hr>
<p>Modified: 17 May 2016</p>
  </body>
</html>