Add more documentation on the features that the EDK-II CorebootPayloadPkg is using. Add 8254 and 8259 documentation links. Add EDK-II documentation links. TEST=Boot CorebootPayloadPkg to shell prompt Change-Id: I66df1be0ba908b51b5ddb44a8671b2d7bdb46493 Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com> Reviewed-on: https://review.coreboot.org/13851 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martinroth@google.com>
		
			
				
	
	
		
			219 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			219 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html>
 | |
|   <head>
 | |
|     <title>Quark™ SoC</title>
 | |
|   </head>
 | |
|   <body>
 | |
| 
 | |
| <h1>Intel® Quark™ 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™ 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>
 | |
|       </ul>
 | |
|     </td>
 | |
|   </tr>
 | |
| </table>
 | |
| 
 | |
| 
 | |
| 
 | |
| <hr>
 | |
| <h1>Quark™ 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>Intel® 64 and IA-32 Architectures <a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Software Developer Manual</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>
 | |
| </ul>
 | |
| 
 | |
| 
 | |
| 
 | |
| <hr>
 | |
| <h1><a name="CorebootPayloadPkg">Quark™ EDK2 CorebootPayloadPkg</a></h1>
 | |
| <p>
 | |
| Build Instructions:
 | |
| </p>
 | |
| <ol>
 | |
|   <li>Set up <a href="#BuildEnvironment">build environment</a></li>
 | |
|   <li>For the Galileo Gen 2, replace the following lines in
 | |
|     CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc:
 | |
| <pre><code>  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|FALSE
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x03F8
 | |
| </code></pre>
 | |
| with:
 | |
| <pre><code>#
 | |
| # Quark configuration
 | |
| #
 | |
|   gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|1
 | |
| 
 | |
| #
 | |
| # Specify Galileo HSUART1 serial port
 | |
| #
 | |
| [PcdsPatchableInModule.common]
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialPciDeviceInfo|{0xff}
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|TRUE
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0xA0019000
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|4
 | |
| 
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|44236800
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|921600
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl|3 # 8-bits, no parity
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|FALSE
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialDetectCable|FALSE
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|1 # Enable FIFO
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|16
 | |
| </code></pre>
 | |
|   </li>
 | |
|   <li>Build Instructions:
 | |
|     <ul>
 | |
|       <li>Linux (assumes GCC48):
 | |
|         <ol type="A">
 | |
|           <li>Edit Conf/tools_def.txt to add " -march=i586" to the IA32_CC_FLAGS
 | |
|             for the GCC compiler being used:
 | |
| <pre><code>*_GCC48_IA32_CC_FLAGS             = DEF(GCC48_IA32_CC_FLAGS) -Os -march=i586</code></pre>
 | |
|           </li>
 | |
|           <li>
 | |
| <pre><code>build -p CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc  -a IA32  -t GCC48  -b DEBUG  -DDEBUG_PROPERTY_MASK=0x27  -DDEBUG_PRINT_ERROR_LEVEL=0x80000042
 | |
| ls Build/CorebootPayloadPkgIA32/DEBUG_GCC48/FV/UEFIPAYLOAD.fd
 | |
| </code></pre>
 | |
|           </li>
 | |
|         </ol>
 | |
|       </li>
 | |
|       <li>Windows:
 | |
| <pre><code>build -p CorebootPayloadPkg\CorebootPayloadPkgIa32.dsc  -a IA32  -t VS2012x86  -b DEBUG  -DDEBUG_PROPERTY_MASK=0x27  -DDEBUG_PRINT_ERROR_LEVEL=0x80000042
 | |
| dir Build\CorebootPayloadPkgIA32\DEBUG_VS2012x86\FV\UEFIPAYLOAD.fd
 | |
| </code></pre>
 | |
|       </li>
 | |
|     </ul>
 | |
|   </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™ 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-FatPkg: git clone <a target="_blank" href="https://github.com/tianocore/edk2-FatPkg.git">https://github.com/tianocore/edk2-FatPkg.git</a> FatPkg</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/FatPkg:$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%\FatPkg;%WORKSPACE%\edk2-non-osi
 | |
| set EDK_TOOLS_BIN=%WORKSPACE%\edk2-BaseTools-win32
 | |
| cd edk2
 | |
| edksetup.bat
 | |
| </code></pre>
 | |
|       </li>
 | |
|     </ul>
 | |
|   </li>
 | |
| </ol>
 | |
| 
 | |
| <p>
 | |
| EDK2 Documentation:
 | |
| </p>
 | |
| <ul>
 | |
|   <li>Build <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/Build_Spec_1_26.pdf">V1.26</a></li>
 | |
|   <li>Coding Standards <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/CCS_2_1_Draft.pdf">V2.1</a></li>
 | |
|   <li>DEC <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/DEC_Spec_1_25.pdf">V1.25</a></li>
 | |
|   <li>DSC <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/DSC_Spec_1_26.pdf">V1.26</a></li>
 | |
|   <li>Expression Syntax <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/ExpressionSyntax_1.1.pdf">V1.1</a></li>
 | |
|   <li>FDF <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/FDF_Spec_1_26.pdf">V1.26</a></li>
 | |
|   <li>INF <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/INF_Spec_1_25.pdf">V1.25</a></li>
 | |
|   <li>PCD <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/PCD_Infrastructure.pdf">PCD</a>V0.55</li>
 | |
|   <li>UNI <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/UNI_File_Spec_v1_2_Errata_A.pdf">V1.2 Errata A</a></li>
 | |
|   <li>VRF <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/VFR_1_9.pdf">V1.9</a></li>
 | |
| </ul>
 | |
| 
 | |
| 
 | |
| 
 | |
| <hr>
 | |
| <h1>Quark™ FSP</h1>
 | |
| <p>
 | |
| Documentation:
 | |
| </p>
 | |
| <ul>
 | |
|   <li>Intel® Firmware Support Package External Architecture Specification <a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/fsp-architecture-spec-v1-1.pdf">V1.1</a></li>
 | |
| </ul>
 | |
| 
 | |
| 
 | |
| 
 | |
| <hr>
 | |
| <h1>Quark™ 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>Intel® Quark™ 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: 24 February 2016</p>
 | |
|   </body>
 | |
| </html> |