diff options
author | Matthew Garrett <mjg59@google.com> | 2018-07-24 14:06:39 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2020-03-16 14:42:04 +0000 |
commit | 2f62a352ea3f62e58c166c430d37ec2d2565eeca (patch) | |
tree | c62c7379e7efb5a605dc2e73a4bde0486950143a /Documentation/mainboard | |
parent | 2677e2dbf6a2733de6a7d6c4ff0975d8a2650e13 (diff) | |
download | coreboot-2f62a352ea3f62e58c166c430d37ec2d2565eeca.tar.xz |
mb/51nb: Add support for the 51nb X210
The 51nb X210 is a replacement motherboard for Thinkpad X200/X201 systems,
based on a modern Kabylake CPU. It also ships with no firmware protection,
(IFD is fully unlocked, no protected regions are set, no Bootguard),
making it an ideal coreboot target. This port is based on the support for
the Skylake-based Purism Librem 13v3, with the following significant
changes:
* EC firmware is contained within the system SPI flash, and so a blob of
EC firmware must be injected to a defined location during image build.
* GPIO layout is different - this is currently just a raw import of the
GPIO configuration from the vendor firmware
* The system has two DIMMs, so an additional SPD address has been added
* The USB port layout is different
* The EC must be enabled at boot time through SuperIO-style logical device
configuration
* EC register layout is different, necessitating changes in the ACPI tables
* The HDA pins are different
* The genx_dec config is different
All hardware appears to work as expected, although the SD reader is
untested.
Signed-off-by: Matthew Garrett <mjg59@google.com>
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Change-Id: If74621e76d703f629b54f1feb1acfc95cc72d183
Reviewed-on: https://review.coreboot.org/c/coreboot/+/32531
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'Documentation/mainboard')
-rw-r--r-- | Documentation/mainboard/51nb/x210.jpg | bin | 0 -> 48701 bytes | |||
-rw-r--r-- | Documentation/mainboard/51nb/x210.md | 45 | ||||
-rw-r--r-- | Documentation/mainboard/index.md | 4 |
3 files changed, 49 insertions, 0 deletions
diff --git a/Documentation/mainboard/51nb/x210.jpg b/Documentation/mainboard/51nb/x210.jpg Binary files differnew file mode 100644 index 0000000000..66fb7e3a8e --- /dev/null +++ b/Documentation/mainboard/51nb/x210.jpg diff --git a/Documentation/mainboard/51nb/x210.md b/Documentation/mainboard/51nb/x210.md new file mode 100644 index 0000000000..645c3ba816 --- /dev/null +++ b/Documentation/mainboard/51nb/x210.md @@ -0,0 +1,45 @@ +# 51NB X210 + +## Extracting vendor EC firmware + +EC firmware is included in the SPI image. To extract it, run: + +`` +dd bs=64K skip=32 count=1 if=bios.rom of=ec.bin +`` + +and ensure that you have a file that includes the string "Insyde Software Corp" + +## Flashing instructions + +This can be performed using the internal SPI controller, even when flashing +from stock firmware. Use flashrom -p internal and follow the appropriate +flashrom instructions to force it. Alternatively, external flashing has been +tested with Dediprog SF100 and SF600 and using a Beaglebone Black. The flash +is located on the upper side of the motherboard, below the keyboard +connector. It is circled in red here: +![](x210.jpg) + +## Flashing a subset of the ROM + +If you want to flash coreboot without extracting firmware blobs, you can +flash coreboot without overwriting those blobs. After building coreboot, +create a layout file with the following content: + +``` +00000000:001fffff me +00200000:0020ffff ec +00210000:007fffff main +``` + +and run flashrom with the "--layout rom.layout --image main" arguments. This +will flash the main firmware without overwriting the existing EC or ME +firmware. + +## Working + +All hardware features are believed to be working, although the SD reader is +untested. Note that certain hotkeys don't work (including the Thinkvantage +button) - this is a limitation of the EC firmware, and these keys also +generate no events under the stock vendor firmware. + diff --git a/Documentation/mainboard/index.md b/Documentation/mainboard/index.md index 8cb367077e..f319edb510 100644 --- a/Documentation/mainboard/index.md +++ b/Documentation/mainboard/index.md @@ -2,6 +2,10 @@ This section contains documentation about coreboot on specific mainboards. +## 51NB + +- [X210](51nb/x210.md) + ## AMD - [padmelon](amd/padmelon/padmelon.md) |