summaryrefslogtreecommitdiff
path: root/Documentation/soc
diff options
context:
space:
mode:
authorFelix Singer <felix.singer@9elements.com>2019-05-22 18:32:46 +0200
committerPatrick Rudolph <siro@das-labor.org>2019-06-17 14:26:42 +0000
commit9b7e990d18d5f6212df6ea967428c28b802e1b64 (patch)
tree213c9755fa5ff12865fed7a80b5db57c3539d320 /Documentation/soc
parent9065657957f5cb8c5a02695af7528263cfdceeaa (diff)
downloadcoreboot-9b7e990d18d5f6212df6ea967428c28b802e1b64.tar.xz
doc/mb/upsquared: Add documentation
This patch adds documentation about the UPĀ² mainboard and the IFWI used by Apollolake platform. Change-Id: Ic708ddbd2616eee4e5ec2740b3eac18b408bde38 Signed-off-by: Felix Singer <felix.singer@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/32935 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Diffstat (limited to 'Documentation/soc')
-rw-r--r--Documentation/soc/intel/apollolake/flash_layout.diabin0 -> 1988 bytes
-rw-r--r--Documentation/soc/intel/apollolake/flash_layout.svg122
-rw-r--r--Documentation/soc/intel/apollolake/index.md17
-rw-r--r--Documentation/soc/intel/index.md1
4 files changed, 140 insertions, 0 deletions
diff --git a/Documentation/soc/intel/apollolake/flash_layout.dia b/Documentation/soc/intel/apollolake/flash_layout.dia
new file mode 100644
index 0000000000..4ea5440619
--- /dev/null
+++ b/Documentation/soc/intel/apollolake/flash_layout.dia
Binary files differ
diff --git a/Documentation/soc/intel/apollolake/flash_layout.svg b/Documentation/soc/intel/apollolake/flash_layout.svg
new file mode 100644
index 0000000000..9322875d90
--- /dev/null
+++ b/Documentation/soc/intel/apollolake/flash_layout.svg
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
+<svg width="38cm" height="18cm" viewBox="118 98 744 344" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g>
+ <rect style="fill: #ffffff" x="620" y="100" width="180" height="60"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 3; stroke: #000000" x="620" y="100" width="180" height="60"/>
+ </g>
+ <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="710" y="134.425">
+ <tspan x="710" y="134.425">DEVICE_EXTENSION</tspan>
+ </text>
+ <g>
+ <rect style="fill: #ffffff" x="300" y="100" width="320" height="60"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 3; stroke: #000000" x="300" y="100" width="320" height="60"/>
+ </g>
+ <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="460" y="134.425">
+ <tspan x="460" y="134.425">BIOS</tspan>
+ </text>
+ <g>
+ <rect style="fill: #ffffff" x="240" y="100" width="60" height="60"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 3; stroke: #000000" x="240" y="100" width="60" height="60"/>
+ </g>
+ <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="270" y="134.425">
+ <tspan x="270" y="134.425">IFD</tspan>
+ </text>
+ <g>
+ <rect style="fill: #ffffff" x="200" y="240" width="80" height="60"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 3; stroke: #000000" x="200" y="240" width="80" height="60"/>
+ </g>
+ <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="240" y="274.425">
+ <tspan x="240" y="274.425">IFWI</tspan>
+ </text>
+ <g>
+ <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 200 240 C 200,160 460,220 460,169.736"/>
+ <polygon style="fill: #000000" points="460,162.236 465,172.236 460,169.736 455,172.236 "/>
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="460,162.236 465,172.236 460,169.736 455,172.236 "/>
+ </g>
+ <g>
+ <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 700 240 C 700,160 460,220 460,169.736"/>
+ <polygon style="fill: #000000" points="460,162.236 465,172.236 460,169.736 455,172.236 "/>
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="460,162.236 465,172.236 460,169.736 455,172.236 "/>
+ </g>
+ <g>
+ <rect style="fill: #ffffff" x="800" y="100" width="60" height="60"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 3; stroke: #000000" x="800" y="100" width="60" height="60"/>
+ </g>
+ <g>
+ <rect style="fill: #ffffff" x="320" y="380" width="60" height="60"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 3; stroke: #000000" x="320" y="380" width="60" height="60"/>
+ </g>
+ <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="350" y="414.425">
+ <tspan x="350" y="414.425">FMAP</tspan>
+ </text>
+ <g>
+ <rect style="fill: #ffffff" x="440" y="380" width="100" height="60"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 3; stroke: #000000" x="440" y="380" width="100" height="60"/>
+ </g>
+ <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="490" y="414.425">
+ <tspan x="490" y="414.425">CONSOLE</tspan>
+ </text>
+ <g>
+ <rect style="fill: #ffffff" x="540" y="380" width="160" height="60"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 3; stroke: #000000" x="540" y="380" width="160" height="60"/>
+ </g>
+ <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="620" y="414.425">
+ <tspan x="620" y="414.425">COREBOOT(CBFS)</tspan>
+ </text>
+ <g>
+ <rect style="fill: #ffffff" x="700" y="380" width="140" height="60"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 3; stroke: #000000" x="700" y="380" width="140" height="60"/>
+ </g>
+ <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="770" y="414.425">
+ <tspan x="770" y="414.425">BIOS_UNUSABLE</tspan>
+ </text>
+ <g>
+ <rect style="fill: #ffffff" x="380" y="380" width="60" height="60"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 3; stroke: #000000" x="380" y="380" width="60" height="60"/>
+ </g>
+ <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="410" y="414.425">
+ <tspan x="410" y="414.425">MRC</tspan>
+ </text>
+ <g>
+ <rect style="fill: #ffffff" x="280" y="240" width="420" height="60"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 3; stroke: #000000" x="280" y="240" width="420" height="60"/>
+ </g>
+ <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="490" y="274.425">
+ <tspan x="490" y="274.425">OBB</tspan>
+ </text>
+ <g>
+ <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 320 380 C 320,300 490,360 490,311"/>
+ <polygon style="fill: #000000" points="495,311 490,301 485,311 "/>
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="495,311 490,301 485,311 "/>
+ </g>
+ <g>
+ <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 840 380 C 840,300 490,360 490,311"/>
+ <polygon style="fill: #000000" points="495,311 490,301 485,311 "/>
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="495,311 490,301 485,311 "/>
+ </g>
+ <g>
+ <rect style="fill: #ffffff" x="120" y="380" width="60" height="60"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 3; stroke: #000000" x="120" y="380" width="60" height="60"/>
+ </g>
+ <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="150" y="414.425">
+ <tspan x="150" y="414.425">TXE</tspan>
+ </text>
+ <g>
+ <rect style="fill: #ffffff" x="180" y="380" width="120" height="60"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 3; stroke: #000000" x="180" y="380" width="120" height="60"/>
+ </g>
+ <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="240" y="414.425">
+ <tspan x="240" y="414.425">BOOTBLOCK</tspan>
+ </text>
+ <g>
+ <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 300 380 C 300,320 240,360 240,311"/>
+ <polygon style="fill: #000000" points="245,311 240,301 235,311 "/>
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="245,311 240,301 235,311 "/>
+ </g>
+ <g>
+ <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 120 380 C 120,320 240,360 240,311"/>
+ <polygon style="fill: #000000" points="245,311 240,301 235,311 "/>
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="245,311 240,301 235,311 "/>
+ </g>
+</svg>
diff --git a/Documentation/soc/intel/apollolake/index.md b/Documentation/soc/intel/apollolake/index.md
new file mode 100644
index 0000000000..d4a5ee51ae
--- /dev/null
+++ b/Documentation/soc/intel/apollolake/index.md
@@ -0,0 +1,17 @@
+# Apollolake
+## SPI flash layout
+
+![][apl_flash_layout]
+
+With Apollolake Intel invented another flash layout for x86 firmware called IFWI (Intel FirmWare Image).
+
+Usually on x86 platforms the bootblock is stored at the end of the bios region
+and the Intel ME / TXE has its own IFD region. On Apollolake both have been
+moved into the IFWI region, which is a subregion of "BIOS", since it allows to
+store multiple firmware components.
+
+The IFWI region can be manipulated by `ifwitool`.
+
+[apl_flash_layout]: flash_layout.svg
+
+
diff --git a/Documentation/soc/intel/index.md b/Documentation/soc/intel/index.md
index 86f4de7155..f30ff9a1d6 100644
--- a/Documentation/soc/intel/index.md
+++ b/Documentation/soc/intel/index.md
@@ -9,3 +9,4 @@ This section contains documentation about coreboot on specific Intel SOCs.
- [Ice Lake/9th Gen Core-i series](icelake/index.md)
- [MP Initialization](mp_init/mp_init.md)
- [Firmware Interface Table](fit.md)
+- [Apollolake](apollolake/index.md)