Matt DeVillier has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
documentation: Add documentation for Purism Librem Mini
Change-Id: Ie5699942f48d2d5b1417f447a9a36b98e4b18156 Signed-off-by: Matt DeVillier matt.devillier@puri.sm --- M Documentation/mainboard/index.md A Documentation/mainboard/purism/librem_mini.md A Documentation/mainboard/purism/librem_mini.png 3 files changed, 112 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/82/42882/1
diff --git a/Documentation/mainboard/index.md b/Documentation/mainboard/index.md index c229b06..ae5f523 100644 --- a/Documentation/mainboard/index.md +++ b/Documentation/mainboard/index.md @@ -139,6 +139,10 @@
- [Hermes](prodrive/hermes.md)
+## Purism + +- [Librem Mini](purism/librem_mini.md) + ## Protectli
- [FW2B / FW4B](protectli/fw2b_fw4b.md) diff --git a/Documentation/mainboard/purism/librem_mini.md b/Documentation/mainboard/purism/librem_mini.md new file mode 100644 index 0000000..13e2755 --- /dev/null +++ b/Documentation/mainboard/purism/librem_mini.md @@ -0,0 +1,108 @@ +# Purism Librem Mini + +```eval_rst ++------------------+--------------------------------------------------+ +| CPU | Intel Core i7-8665U | ++------------------+--------------------------------------------------+ +| PCH | Whiskey Lake / Cannon Lake LP | ++------------------+--------------------------------------------------+ +| Super I/O, EC | ITE IT8528E | ++------------------+--------------------------------------------------+ +| Coprocessor | Intel Management Engine (CSME 12.x) | ++------------------+--------------------------------------------------+ +``` + +![](librem_mini.png) + + + +## Required proprietary blobs + +To build a minimal working coreboot image some blobs are required (assuming +only the BIOS region is being modified). + +```eval_rst ++-----------------+---------------------------------+---------------------+ +| Binary file | Apply | Required / Optional | ++=================+=================================+=====================+ +| FSP-M, FSP-S | Intel Firmware Support Package | Required | ++-----------------+---------------------------------+---------------------+ +| microcode | CPU microcode | Required | ++-----------------+---------------------------------+---------------------+ +| vgabios | VGA Option ROM | Optional | ++-----------------+---------------------------------+---------------------+ +``` + +FSP-M and FSP-S are obtained after splitting the Coffee Lake FSP binary (done +automatically by the coreboot build system and included into the image) from +the `3rdparty/fsp` submodule. + +Microcode updates are automatically included into the coreboot image by build +system from the `3rdparty/intel-microcode` submodule. Official Purism release +images may include newer microcode, which is instead pulled from Purism's +[purism-blobs] repository. + +VGA Option ROM is not required to boot, but if one needs graphics in pre-OS +stage, it should be included (if not using FSP/GOP display init). It can +be extracted via cbfstool from the existing board firmware or pulled from +the [purism-blobs] repository. + +## Intel Management Engine + +The Librem Mini uses version 12.x of the Intel Management Engine (ME) / +Converged Security Engine (CSE). The ME/CSE is disabled using the High +Assurance Platform (HAP) bit, which puts the ME into a disabled state +after platform bring-up (BUP) and disables all PCI/HECI interfaces. +This can be verified via the coreboot cbmem utility: +`sudo ./cbmem -1 | grep 'ME:'` +provided coreboot has been modified to output the ME status even when +the PCI device is not visible/active (as it is in Purism's release builds). + +## Flashing coreboot + +### Internal programming + +The main SPI flash can be accessed using [flashrom]. The first version +supporting the chipset is flashrom v1.2. Firmware an be easily flashed +with internal programmer (either BIOS region or full image). + +### External programming + +The system has an internal flash chip which is a 8 MiB soldered SOIC-8 chip. +This chip is located on the bottom side of the board under the CPU heatsink, +in line with the front USB 2.0 ports. One has to remove all screws (in order): +2 top cover screws, 4 screws securing the mainboard to the chassis, and 4 screws +securing the heatsink/fan assembly to the mainboard (under the SODIMMs). +The m.2 SSD will need to be removed if the wifi antenna are connected to +an internal wifi/BT module. Use a SOIC-8 chip clip to program the chip. +Specifically, it's a Winbond W25Q128JV (3.3V) -[datasheet][W25Q128JV]. + +## Known issues + +- SeaBIOS can be finicky with detecting USB devices +- SATA issues with some devices have been mitigated by limiting the SATA speed to 3Gbps + +## Working + +- External displays via HDMI/DislpayPort with VGA option ROM or FSP/GOP init + (no libgfxinit support yet) +- SeaBIOS (1.13.x), Tianocore (CorebootPayloadkg), Heads (Purism downstream) payloads +- Ethernet, m.2 2230 Wifi +- AP firmware updates via flashrom +- PCIe NVMe +- m.2 and SATA III +- Audio via front 3.5mm jack, HDMI, and DisplayPort +- SMBus (reading SPD from DIMMs) +- Initialization with CFL FSP 2.0 +- Suspend/Resume +- Booting PureOS 9.x, Debian 10.x, Qubes 4.0.3, Linux Mint 19.3, Windows 10 2004 + +## Not working / untested + +- ITE IT8528E Super IO functions + + +[Purism Librem Mini]: https://puri.sm/products/librem-mini/ +[purism-blobs] : https://source.puri.sm/coreboot/purism-blobs +[W25Q128JV]: https://www.winbond.com/resource-files/w25q128jv%20revf%2003272018%20plus.pd... +[flashrom]: https://flashrom.org/Flashrom diff --git a/Documentation/mainboard/purism/librem_mini.png b/Documentation/mainboard/purism/librem_mini.png new file mode 100644 index 0000000..3bfc1ee --- /dev/null +++ b/Documentation/mainboard/purism/librem_mini.png Binary files differ
Hello build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/42882
to look at the new patch set (#2).
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
documentation: Add documentation for Purism Librem Mini
Change-Id: Ie5699942f48d2d5b1417f447a9a36b98e4b18156 Signed-off-by: Matt DeVillier matt.devillier@puri.sm --- M Documentation/mainboard/index.md A Documentation/mainboard/purism/librem_mini.md A Documentation/mainboard/purism/librem_mini.png 3 files changed, 114 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/82/42882/2
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
Patch Set 3: Code-Review+1
(11 comments)
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... File Documentation/mainboard/purism/librem_mini.md:
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 40: by build by *the* build
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 69: ### External programming Are there diodes on the flash chip's voltage rail?
Also, maybe mention that the EC has its firmware elsewhere, for the sake of completeness?
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 74: 2 top cover screws, 4 screws securing the mainboard to the chassis, and 4 screws : securing the heatsink/fan assembly to the mainboard (under the SODIMMs). Make it a list?
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 76: wifi Wi-Fi
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 77: wifi Wi-Fi
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 85: - SATA issues with some devices have been mitigated by limiting the SATA speed to 3Gbps Oh, there are SATA issues?
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 91: kg Pkg
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 93: AP Access Point?
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 98: trailing space
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 99: Suspend/Resume Prefix with "S3"
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... File Documentation/mainboard/purism/librem_mini.png:
PS3: I'd prefer a picture that shows the flash chip location, preferably with pin 1 clearly visible and marked
Hello build bot (Jenkins), Angel Pons,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/42882
to look at the new patch set (#5).
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
documentation: Add documentation for Purism Librem Mini
Change-Id: Ie5699942f48d2d5b1417f447a9a36b98e4b18156 Signed-off-by: Matt DeVillier matt.devillier@puri.sm --- M Documentation/mainboard/index.md A Documentation/mainboard/purism/librem_mini.md A Documentation/mainboard/purism/librem_mini.png A Documentation/mainboard/purism/librem_mini_flash.jpg 4 files changed, 126 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/82/42882/5
Hello build bot (Jenkins), Angel Pons,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/42882
to look at the new patch set (#6).
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
documentation: Add documentation for Purism Librem Mini
Change-Id: Ie5699942f48d2d5b1417f447a9a36b98e4b18156 Signed-off-by: Matt DeVillier matt.devillier@puri.sm --- M 3rdparty/amd_blobs M Documentation/mainboard/index.md A Documentation/mainboard/purism/librem_mini.md A Documentation/mainboard/purism/librem_mini.png A Documentation/mainboard/purism/librem_mini_flash.jpg 5 files changed, 127 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/82/42882/6
Matt DeVillier has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
Patch Set 6:
(11 comments)
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... File Documentation/mainboard/purism/librem_mini.md:
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 40: by build
by *the* build
Done
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 69: ### External programming
Are there diodes on the flash chip's voltage rail? […]
Done
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 74: 2 top cover screws, 4 screws securing the mainboard to the chassis, and 4 screws : securing the heatsink/fan assembly to the mainboard (under the SODIMMs).
Make it a list?
Done
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 76: wifi
Wi-Fi
Done
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 77: wifi
Wi-Fi
Done
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 85: - SATA issues with some devices have been mitigated by limiting the SATA speed to 3Gbps
Oh, there are SATA issues?
Done
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 91: kg
Pkg
Done
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 93: AP
Access Point?
Done
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 98:
trailing space
Done
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... PS3, Line 99: Suspend/Resume
Prefix with "S3"
Done
https://review.coreboot.org/c/coreboot/+/42882/3/Documentation/mainboard/pur... File Documentation/mainboard/purism/librem_mini.png:
PS3:
I'd prefer a picture that shows the flash chip location, preferably with pin 1 clearly visible and m […]
Done
Felix Singer has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
Patch Set 6:
(1 comment)
https://review.coreboot.org/c/coreboot/+/42882/6/3rdparty/amd_blobs File 3rdparty/amd_blobs:
PS6: I think this is a mistake?
Hello build bot (Jenkins), Angel Pons,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/42882
to look at the new patch set (#8).
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
documentation: Add documentation for Purism Librem Mini
Change-Id: Ie5699942f48d2d5b1417f447a9a36b98e4b18156 Signed-off-by: Matt DeVillier matt.devillier@puri.sm --- M Documentation/mainboard/index.md A Documentation/mainboard/purism/librem_mini.md A Documentation/mainboard/purism/librem_mini.png A Documentation/mainboard/purism/librem_mini_flash.jpg 4 files changed, 126 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/82/42882/8
Matt DeVillier has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
Patch Set 8:
(1 comment)
https://review.coreboot.org/c/coreboot/+/42882/6/3rdparty/amd_blobs File 3rdparty/amd_blobs:
PS6:
I think this is a mistake?
`git commit --amend -a` strikes again
Patrick Rudolph has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
Patch Set 10: Code-Review+2
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
Patch Set 10: Code-Review+1
(5 comments)
https://review.coreboot.org/c/coreboot/+/42882/10/Documentation/mainboard/pu... File Documentation/mainboard/purism/librem_mini.md:
https://review.coreboot.org/c/coreboot/+/42882/10/Documentation/mainboard/pu... PS10, Line 7: Whiskey Lake / Cannon Lake LP Cannon Point LP
https://review.coreboot.org/c/coreboot/+/42882/10/Documentation/mainboard/pu... PS10, Line 19: Three empty lines?
https://review.coreboot.org/c/coreboot/+/42882/10/Documentation/mainboard/pu... PS10, Line 75: trailing whitespace
https://review.coreboot.org/c/coreboot/+/42882/10/Documentation/mainboard/pu... File Documentation/mainboard/purism/librem_mini.png:
PS10: https://tinypng.com/ can halve the size of this image
https://review.coreboot.org/c/coreboot/+/42882/10/Documentation/mainboard/pu... File Documentation/mainboard/purism/librem_mini_flash.jpg:
PS10: http://jpeg-optimizer.com/ can more or less halve this image's size without resizing it
Hello build bot (Jenkins), Angel Pons, Patrick Rudolph,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/42882
to look at the new patch set (#11).
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
documentation: Add documentation for Purism Librem Mini
Change-Id: Ie5699942f48d2d5b1417f447a9a36b98e4b18156 Signed-off-by: Matt DeVillier matt.devillier@puri.sm --- M Documentation/mainboard/index.md A Documentation/mainboard/purism/librem_mini.md A Documentation/mainboard/purism/librem_mini.png A Documentation/mainboard/purism/librem_mini_flash.jpg 4 files changed, 124 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/82/42882/11
Matt DeVillier has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
Patch Set 11:
(5 comments)
https://review.coreboot.org/c/coreboot/+/42882/10/Documentation/mainboard/pu... File Documentation/mainboard/purism/librem_mini.md:
https://review.coreboot.org/c/coreboot/+/42882/10/Documentation/mainboard/pu... PS10, Line 7: Whiskey Lake / Cannon Lake LP
Cannon Point LP
Done
https://review.coreboot.org/c/coreboot/+/42882/10/Documentation/mainboard/pu... PS10, Line 19:
Three empty lines?
Done
https://review.coreboot.org/c/coreboot/+/42882/10/Documentation/mainboard/pu... PS10, Line 75:
trailing whitespace
Done
https://review.coreboot.org/c/coreboot/+/42882/10/Documentation/mainboard/pu... File Documentation/mainboard/purism/librem_mini.png:
PS10:
https://tinypng. […]
Done
https://review.coreboot.org/c/coreboot/+/42882/10/Documentation/mainboard/pu... File Documentation/mainboard/purism/librem_mini_flash.jpg:
PS10:
Done
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
Patch Set 11: Code-Review+1
Hello build bot (Jenkins), Angel Pons, Patrick Rudolph,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/42882
to look at the new patch set (#12).
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
documentation: Add documentation for Purism Librem Mini
Change-Id: Ie5699942f48d2d5b1417f447a9a36b98e4b18156 Signed-off-by: Matt DeVillier matt.devillier@puri.sm --- M Documentation/mainboard/index.md A Documentation/mainboard/purism/librem_mini.md A Documentation/mainboard/purism/librem_mini.png A Documentation/mainboard/purism/librem_mini_flash.jpg 4 files changed, 124 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/82/42882/12
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
Patch Set 12: Code-Review+2
Patrick Georgi has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
Patch Set 12:
can you reduce the image size a bit?
Matt DeVillier has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
Patch Set 12:
Patch Set 12:
can you reduce the image size a bit?
done :)
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
Patch Set 12: Code-Review+1
Hello build bot (Jenkins), Angel Pons, Patrick Rudolph,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/42882
to look at the new patch set (#13).
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
documentation: Add documentation for Purism Librem Mini
Change-Id: Ie5699942f48d2d5b1417f447a9a36b98e4b18156 Signed-off-by: Matt DeVillier matt.devillier@puri.sm --- M Documentation/mainboard/index.md A Documentation/mainboard/purism/librem_mini.jpg A Documentation/mainboard/purism/librem_mini.md A Documentation/mainboard/purism/librem_mini_flash.jpg 4 files changed, 124 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/82/42882/13
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
Patch Set 13: Code-Review+2
Patrick Georgi has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
Patch Set 13: Code-Review+2
Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/42882 )
Change subject: documentation: Add documentation for Purism Librem Mini ......................................................................
documentation: Add documentation for Purism Librem Mini
Change-Id: Ie5699942f48d2d5b1417f447a9a36b98e4b18156 Signed-off-by: Matt DeVillier matt.devillier@puri.sm Reviewed-on: https://review.coreboot.org/c/coreboot/+/42882 Reviewed-by: Angel Pons th3fanbus@gmail.com Reviewed-by: Patrick Georgi pgeorgi@google.com Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M Documentation/mainboard/index.md A Documentation/mainboard/purism/librem_mini.jpg A Documentation/mainboard/purism/librem_mini.md A Documentation/mainboard/purism/librem_mini_flash.jpg 4 files changed, 124 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Patrick Georgi: Looks good to me, approved Angel Pons: Looks good to me, approved
diff --git a/Documentation/mainboard/index.md b/Documentation/mainboard/index.md index 7507a15..1749064 100644 --- a/Documentation/mainboard/index.md +++ b/Documentation/mainboard/index.md @@ -136,6 +136,10 @@
- [Hermes](prodrive/hermes.md)
+## Purism + +- [Librem Mini](purism/librem_mini.md) + ## Protectli
- [FW2B / FW4B](protectli/fw2b_fw4b.md) diff --git a/Documentation/mainboard/purism/librem_mini.jpg b/Documentation/mainboard/purism/librem_mini.jpg new file mode 100644 index 0000000..004235d --- /dev/null +++ b/Documentation/mainboard/purism/librem_mini.jpg Binary files differ diff --git a/Documentation/mainboard/purism/librem_mini.md b/Documentation/mainboard/purism/librem_mini.md new file mode 100644 index 0000000..240dcff --- /dev/null +++ b/Documentation/mainboard/purism/librem_mini.md @@ -0,0 +1,120 @@ +# Purism Librem Mini + +```eval_rst ++------------------+--------------------------------------------------+ +| CPU | Intel Core i7-8665U | ++------------------+--------------------------------------------------+ +| PCH | Whiskey Lake / Cannon Point LP | ++------------------+--------------------------------------------------+ +| Super I/O, EC | ITE IT8528E | ++------------------+--------------------------------------------------+ +| Coprocessor | Intel Management Engine (CSME 12.x) | ++------------------+--------------------------------------------------+ +``` + +![](librem_mini.jpg) +![](librem_mini_flash.jpg) + +## Required proprietary blobs + +To build a minimal working coreboot image some blobs are required (assuming +only the BIOS region is being modified). + +```eval_rst ++-----------------+---------------------------------+---------------------+ +| Binary file | Apply | Required / Optional | ++=================+=================================+=====================+ +| FSP-M, FSP-S | Intel Firmware Support Package | Required | ++-----------------+---------------------------------+---------------------+ +| microcode | CPU microcode | Required | ++-----------------+---------------------------------+---------------------+ +| vgabios | VGA Option ROM | Optional | ++-----------------+---------------------------------+---------------------+ +``` + +FSP-M and FSP-S are obtained after splitting the Coffee Lake FSP binary (done +automatically by the coreboot build system and included into the image) from +the `3rdparty/fsp` submodule. + +Microcode updates are automatically included into the coreboot image by the build +system from the `3rdparty/intel-microcode` submodule. Official Purism release +images may include newer microcode, which is instead pulled from Purism's +[purism-blobs] repository. + +VGA Option ROM is not required to boot, but if one needs graphics in pre-OS +stage, it should be included (if not using FSP/GOP display init). It can +be extracted via cbfstool from the existing board firmware or pulled from +the [purism-blobs] repository. + +## Intel Management Engine + +The Librem Mini uses version 12.x of the Intel Management Engine (ME) / +Converged Security Engine (CSE). The ME/CSE is disabled using the High +Assurance Platform (HAP) bit, which puts the ME into a disabled state +after platform bring-up (BUP) and disables all PCI/HECI interfaces. +This can be verified via the coreboot cbmem utility: +`sudo ./cbmem -1 | grep 'ME:'` +provided coreboot has been modified to output the ME status even when +the PCI device is not visible/active (as it is in Purism's release builds). + +## Flashing coreboot + +### Internal programming + +The main SPI flash can be accessed using [flashrom]. The first version +supporting the chipset is flashrom v1.2. Firmware an be easily flashed +with internal programmer (either BIOS region or full image). + +### External programming + +The system has an internal flash chip which is a 8 MiB soldered SOIC-8 chip, +and has a diode attached to the VCC line for in-system programming. +This chip is located on the bottom side of the board under the CPU heatsink, +in line with the front USB 2.0 ports. + +One has to remove all screws (in order): + + * 2 top cover screws + * 4 screws securing the mainboard to the chassis + * 4 screws securing the heatsink/fan assembly to the mainboard (under the SODIMMs) + +The m.2 SSD will need to be removed if the Wi-Fi antenna are connected to +an internal Wi-Fi/BT module. Use a SOIC-8 chip clip to program the chip. +Specifically, it's a Winbond W25Q128JV (3.3V) -[datasheet][W25Q128JV]. + +The EC firmware is stored on a separate SOIC-8 chip (a Winbond W25Q80DV), +but is not protected by a diode and therefore cannot be read/written to without +desoldering it from the mainboard. + +## Known issues + + * SeaBIOS can be finicky with detecting USB devices + * Booting can sometimes hang when a bootsplash image is used with SeaBIOS + and VGA option ROM display init, related to display mode changing + * Issues with some SATA devices have been mitigated by limiting the SATA speed to 3Gbps + until the correct HSIO PHY settings can be determined. + +## Working + + * External displays via HDMI/DislpayPort with VGA option ROM or FSP/GOP init + (no libgfxinit support yet) + * SeaBIOS (1.13.x), Tianocore (CorebootPayloadpkg), Heads (Purism downstream) payloads + * Ethernet, m.2 2230 Wi-Fi + * System firmware updates via flashrom + * PCIe NVMe + * m.2 and SATA III + * Audio via front 3.5mm jack, HDMI, and DisplayPort + * SMBus (reading SPD from DIMMs) + * Initialization with CFL FSP 2.0 + * S3 Suspend/Resume + * Booting PureOS 9.x, Debian 10.x, Qubes 4.0.3, Linux Mint 19.3, Windows 10 2004 + +## Not working / untested + + * ITE IT8528E Super IO functions + + +[Purism Librem Mini]: https://puri.sm/products/librem-mini/ +[purism-blobs] : https://source.puri.sm/coreboot/purism-blobs +[W25Q128JV]: https://www.winbond.com/resource-files/w25q128jv%20revf%2003272018%20plus.pd... +[flashrom]: https://flashrom.org/Flashrom diff --git a/Documentation/mainboard/purism/librem_mini_flash.jpg b/Documentation/mainboard/purism/librem_mini_flash.jpg new file mode 100644 index 0000000..d1c6071 --- /dev/null +++ b/Documentation/mainboard/purism/librem_mini_flash.jpg Binary files differ