[coreboot-gerrit] Change in coreboot[master]: [WIP]Documentation: Add basic flashing tutorial for Lenovo

Patrick Rudolph (Code Review) gerrit at coreboot.org
Sat Aug 4 10:05:59 CEST 2018


Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/27852


Change subject: [WIP]Documentation: Add basic flashing tutorial for Lenovo
......................................................................

[WIP]Documentation: Add basic flashing tutorial for Lenovo

* Basic flashing tutorial for Lenovo devices.

Change-Id: Ia833e27f4e7d89ee32be9bed21a0c021839facec
Signed-off-by: Patrick Rudolph <siro at das-labor.org>
---
M Documentation/mainboard/index.md
A Documentation/mainboard/lenovo/flashlayout_xx20.svg
A Documentation/mainboard/lenovo/flashlayout_xx30.svg
A Documentation/mainboard/lenovo/t420.md
A Documentation/mainboard/lenovo/t430.md
A Documentation/mainboard/lenovo/xx20_series.md
A Documentation/mainboard/lenovo/xx30_series.md
7 files changed, 267 insertions(+), 0 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/52/27852/1

diff --git a/Documentation/mainboard/index.md b/Documentation/mainboard/index.md
index 5d41cec..425ee89 100644
--- a/Documentation/mainboard/index.md
+++ b/Documentation/mainboard/index.md
@@ -14,6 +14,18 @@
 
 - [Compaq 8200 Elite SFF](hp/compaq_8200_sff.md)
 
+## Lenovo
+
+### Sandy Bridge Series
+
+- [T420](lenovo/t420.md)
+- [T420 / T520 / X220 / T420s / W520 common](lenovo/xx20_series.md)
+
+### Ivy Bridge Series
+
+- [T430](lenovo/t430.md)
+- [T430 / T530 / X230 / W530 common](lenovo/xx30_series.md)
+
 ## SiFive
 
 - [SiFive HiFive Unleashed](sifive/hifive-unleashed.md)
diff --git a/Documentation/mainboard/lenovo/flashlayout_xx20.svg b/Documentation/mainboard/lenovo/flashlayout_xx20.svg
new file mode 100644
index 0000000..8884ac3
--- /dev/null
+++ b/Documentation/mainboard/lenovo/flashlayout_xx20.svg
@@ -0,0 +1,52 @@
+<?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="10cm" height="8cm" viewBox="265 -156 186 159" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <g>
+    <rect style="fill: #ffffff" x="307.888" y="-152.131" width="49.1438" height="30.4667"/>
+    <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="307.888" y="-152.131" width="49.1438" height="30.4667"/>
+    <text font-size="6.77333" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="332.46" y="-134.831">
+      <tspan x="332.46" y="-134.831">IFD</tspan>
+    </text>
+  </g>
+  <g>
+    <rect style="fill: #ffffff" x="308" y="-91.1844" width="49.1438" height="59.7756"/>
+    <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="308" y="-91.1844" width="49.1438" height="59.7756"/>
+    <text font-size="6.77333" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="332.572" y="-59.2299">
+      <tspan x="332.572" y="-59.2299">ME</tspan>
+    </text>
+  </g>
+  <g>
+    <rect style="fill: #ffffff" x="307.934" y="-31.6442" width="49.1438" height="30.8828"/>
+    <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="307.934" y="-31.6442" width="49.1438" height="30.8828"/>
+    <text font-size="6.77333" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="332.506" y="-14.1361">
+      <tspan x="332.506" y="-14.1361">BIOS</tspan>
+    </text>
+  </g>
+  <g>
+    <rect style="fill: #ffffff" x="308" y="-121.59" width="49.1438" height="30.4667"/>
+    <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="308" y="-121.59" width="49.1438" height="30.4667"/>
+    <text font-size="6.77333" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="332.572" y="-104.29">
+      <tspan x="332.572" y="-104.29">GBE</tspan>
+    </text>
+  </g>
+  <text font-size="6.77333" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="265.968" y="-149.208">
+    <tspan x="265.968" y="-149.208">0x000000</tspan>
+  </text>
+  <text font-size="6.77333" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="266.362" y="-120.102">
+    <tspan x="266.362" y="-120.102">0x001000</tspan>
+  </text>
+  <text font-size="6.77333" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="266.162" y="-88.8972">
+    <tspan x="266.162" y="-88.8972">0x003000</tspan>
+  </text>
+  <text font-size="6.77333" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="266.144" y="-29.6656">
+    <tspan x="266.144" y="-29.6656">0x500000</tspan>
+  </text>
+  <text font-size="6.77333" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="266.326" y="1.87412">
+    <tspan x="266.326" y="1.87412">0x800000</tspan>
+  </text>
+  <path style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" d="M 380.877 -151.013 C 401.876,-151.013 379.377,-73.513 400.627,-72.513"/>
+  <path style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" d="M 381.377 -0.763268 C 395.238,-0.763268 387.016,-72.763 400.877,-72.763"/>
+  <text font-size="10.1598" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="406.127" y="-68.513">
+    <tspan x="406.127" y="-68.513">Flash #0</tspan>
+  </text>
+</svg>
diff --git a/Documentation/mainboard/lenovo/flashlayout_xx30.svg b/Documentation/mainboard/lenovo/flashlayout_xx30.svg
new file mode 100644
index 0000000..5cc4e4f
--- /dev/null
+++ b/Documentation/mainboard/lenovo/flashlayout_xx30.svg
@@ -0,0 +1,61 @@
+<?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="10cm" height="11cm" viewBox="265 -156 187 213" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <g>
+    <rect style="fill: #ffffff" x="307.888" y="-152.131" width="49.1438" height="30.4667"/>
+    <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="307.888" y="-152.131" width="49.1438" height="30.4667"/>
+    <text font-size="6.77333" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="332.46" y="-134.831">
+      <tspan x="332.46" y="-134.831">IFD</tspan>
+    </text>
+  </g>
+  <g>
+    <rect style="fill: #ffffff" x="308" y="-91.1844" width="49.1438" height="59.7756"/>
+    <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="308" y="-91.1844" width="49.1438" height="59.7756"/>
+    <text font-size="6.77333" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="332.572" y="-59.2299">
+      <tspan x="332.572" y="-59.2299">ME</tspan>
+    </text>
+  </g>
+  <g>
+    <rect style="fill: #ffffff" x="307.934" y="-31.6442" width="49.1438" height="85.7161"/>
+    <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="307.934" y="-31.6442" width="49.1438" height="85.7161"/>
+    <text font-size="6.77333" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="332.506" y="13.2805">
+      <tspan x="332.506" y="13.2805">BIOS</tspan>
+    </text>
+  </g>
+  <g>
+    <rect style="fill: #ffffff" x="308" y="-121.59" width="49.1438" height="30.4667"/>
+    <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="308" y="-121.59" width="49.1438" height="30.4667"/>
+    <text font-size="6.77333" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="332.572" y="-104.29">
+      <tspan x="332.572" y="-104.29">GBE</tspan>
+    </text>
+  </g>
+  <text font-size="6.77333" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="265.968" y="-149.208">
+    <tspan x="265.968" y="-149.208">0x000000</tspan>
+  </text>
+  <text font-size="6.77333" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="266.362" y="-120.102">
+    <tspan x="266.362" y="-120.102">0x001000</tspan>
+  </text>
+  <text font-size="6.77333" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="266.162" y="-88.8972">
+    <tspan x="266.162" y="-88.8972">0x003000</tspan>
+  </text>
+  <text font-size="6.77333" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="266.144" y="-29.6656">
+    <tspan x="266.144" y="-29.6656">0x500000</tspan>
+  </text>
+  <text font-size="6.77333" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="266.326" y="1.87412">
+    <tspan x="266.326" y="1.87412">0x800000</tspan>
+  </text>
+  <path style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" d="M 380.877 -151.013 C 401.876,-151.013 379.377,-73.513 400.627,-72.513"/>
+  <path style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" d="M 381.377 -0.763268 C 395.238,-0.763268 387.016,-72.763 400.877,-72.763"/>
+  <text font-size="10.1598" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="406.127" y="-68.513">
+    <tspan x="406.127" y="-68.513">Flash #0</tspan>
+  </text>
+  <path style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" d="M 381.223 -0.537117 C 402.222,-0.537117 379.285,28.8102 399.872,27.8376"/>
+  <path style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" d="M 382.176 54.9128 C 396.037,54.9128 385.445,27.9997 399.548,27.8376"/>
+  <text font-size="10.1598" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="407.157" y="30.2529">
+    <tspan x="407.157" y="30.2529">Flash #1</tspan>
+  </text>
+  <text font-size="6.77333" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="266.591" y="54.9733">
+    <tspan x="266.591" y="54.9733">0xc00000</tspan>
+  </text>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" x1="305.271" y1="-1.2113" x2="378.831" y2="-1.17038"/>
+</svg>
diff --git a/Documentation/mainboard/lenovo/t420.md b/Documentation/mainboard/lenovo/t420.md
new file mode 100644
index 0000000..c5e4525
--- /dev/null
+++ b/Documentation/mainboard/lenovo/t420.md
@@ -0,0 +1,22 @@
+# Lenovo T420
+
+## Flashing instructions
+You have to disassemble the whole device, as the flash IC is on the bottom
+of the mainboard.
+
+For more details have a look at [T420 / T520 / X220 / T420s / W520 common].
+
+### Steps to access the flash IC:
+* Unplug the battery
+* Remove harddisk, CDROM, PCIexp-card, SIM-card, SDcard, SmartCard, ...
+* Open the bottom flap and remove the keyboard screw
+* Remove the keyboard
+* Remove the screen
+* Remove the top enclosure
+* Remove the speakers
+* Remove WWAN and WIFI card
+* Remove the CPU fan
+* Unplug the power cable
+* Remove the bottom enclosure
+
+[T420 / T520 / X220 / T420s / W520 common]: xx20_series.md
diff --git a/Documentation/mainboard/lenovo/t430.md b/Documentation/mainboard/lenovo/t430.md
new file mode 100644
index 0000000..195d74a
--- /dev/null
+++ b/Documentation/mainboard/lenovo/t430.md
@@ -0,0 +1,18 @@
+# Lenovo T420
+
+## Flashing instructions
+* You have to disassemble the whole device, as the flash IC is on the bottom
+of the mainboard.
+ 
+### Steps to access the flash IC:
+* Unplug the battery
+* Remove harddisk, CDROM, PCIexp-card, SIM-card, SDcard, SmartCard, ...
+* Open the bottom flap and remove the keyboard screw
+* Remove the keyboard
+* Remove the screen
+* Remove the top enclosure
+* Remove the speakers
+* Remove WWAN and WIFI card
+* Remove the CPU fan
+* Unplug the power cable
+* Remove the bottom enclosure
diff --git a/Documentation/mainboard/lenovo/xx20_series.md b/Documentation/mainboard/lenovo/xx20_series.md
new file mode 100644
index 0000000..45b0bff
--- /dev/null
+++ b/Documentation/mainboard/lenovo/xx20_series.md
@@ -0,0 +1,44 @@
+# Lenovo Sandy Bridge series
+
+## Flashing coreboot
+```eval_rst
++---------------------+--------------------+
+| Type                | Value              |
++=====================+====================+
+| Socketed flash      | no                 |
++---------------------+--------------------+
+| Model               | MACRONIX MX25L6436 |
++---------------------+--------------------+
+| Size                | 8 MiB              |
++---------------------+--------------------+
+| In circuit flashing | Yes                |
++---------------------+--------------------+
+| Package             | SOIC-8             |
++---------------------+--------------------+
+| Write protection    | No                 |
++---------------------+--------------------+
+| Dual BIOS feature   | No                 |
++---------------------+--------------------+
+| Internal flashing   | Yes                |
++---------------------+--------------------+
+```
+
+## Flashing instructions
+* It's safe to use the SPI flasher power, as all devices have a protection
+  diode near the flash IC.
+* Do **NOT** accidently swap pins or power on the board while a SPI flasher
+  is connected. It will permanently brick your device.
+* It's recommended to only flash the BIOS region. In that case you don't
+  need to extract BLOBs from vendor firmware.
+  If you want to flash the whole chip, you need BLOBs when building
+  coreboot.
+* The *Flash layout* shows that by default 3MiB of space are available for
+  the use with coreboot.
+
+Please also have a look at *TODO* [General Flashrom Usage].
+
+## Flash layout
+![][fl]
+
+[fl]: flashlayout_xx20.svg
+
diff --git a/Documentation/mainboard/lenovo/xx30_series.md b/Documentation/mainboard/lenovo/xx30_series.md
new file mode 100644
index 0000000..c896d95
--- /dev/null
+++ b/Documentation/mainboard/lenovo/xx30_series.md
@@ -0,0 +1,58 @@
+# Lenovo Sandy Bridge series
+
+## Flashing coreboot
+```eval_rst
++---------------------+--------------------+
+| Type                | Value              |
++=====================+====================+
+| Socketed flash      | no                 |
++---------------------+--------------------+
+| Model               | MACRONIX MX25L6436 |
++---------------------+--------------------+
+| Size                | 8 MiB + 4MiB       |
++---------------------+--------------------+
+| In circuit flashing | Yes                |
++---------------------+--------------------+
+| Package             | SOIC-8             |
++---------------------+--------------------+
+| Write protection    | No                 |
++---------------------+--------------------+
+| Dual BIOS feature   | No                 |
++---------------------+--------------------+
+| Internal flashing   | Yes                |
++---------------------+--------------------+
+```
+
+## Flashing instructions
+* It's safe to use the SPI flasher power, as all devices have a protection
+  diode near the flash IC.
+* Do **NOT** accidently swap pins or power on the board while a SPI flasher
+  is connected. It will permanently brick your device.
+* It's recommended to only flash the BIOS region. In that case you don't
+  need to extract BLOBs from vendor firmware.
+  If you want to flash the whole chip, you need BLOBs when building
+  coreboot.
+* The *Flash layout* shows that by default 7MiB of space are available for
+  the use with coreboot.
+* If you don't want to touch IFD, ME, GBE you must only flash the 4MiB
+  flash IC. In that case your BIOS region must not exceed 4MiB.
+
+Please also have a look at *TODO* [General Flashrom Usage].
+
+## Splitting the coreboot.rom
+
+To split the coreboot.rom into two images (one for the 8MiB and one for the
+4 MiB flash IC), run the following commands:
+
+  dd of=top.rom bs=1M if=build/coreboot.rom skip=8
+  dd of=bottom.rom bs=1M if=build/coreboot.rom count=8
+
+That give two ROMs for each flash IC.
+
+## Flash layout
+The two flash ICs appear as a 12MiB when flashing internaly.
+
+![][fl]
+
+[fl]: flashlayout_xx30.svg
+

-- 
To view, visit https://review.coreboot.org/27852
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia833e27f4e7d89ee32be9bed21a0c021839facec
Gerrit-Change-Number: 27852
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <siro at das-labor.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180804/8fca962a/attachment-0001.html>


More information about the coreboot-gerrit mailing list