LattePanda Mu
This page describes how to run coreboot on the LattePanda Mu, an Intel Alder Lake-N system-on-module (SoM).
Overview
The LattePanda Mu is a compute module: the N100/N305 SoC, LPDDR5 memory and the primary power sequencing live on a small SO-DIMM-style module, while all user-facing I/O is broken out by a separate carrier board. Because of this split, the coreboot port is organized as a common baseboard (the SoM) plus one variant per carrier:
Board |
Variant dir |
Description |
|---|---|---|
|
|
SoM only, no carrier |
|
|
Full “Lite Carrier” eval board (DFR1141) |
|
|
Reduced carrier (DFR1142) |
The baseboard devicetree.cb describes only what is fixed on the module
(SoC, memory, IT8613E Super I/O, eSPI, CRB TPM). Each carrier variant adds an
overridetree.cb and its own GPIO table for the peripherals wired on that
carrier. This makes the port a convenient starting point for custom
carrier modules: copy one of the variants/dfr114x directories, adjust
the GPIO table, overridetree.cb and any carrier-specific HSIO/PCIe
mapping, and add a matching BOARD_LATTEPANDA_MU_* Kconfig entry.
Required proprietary blobs
Binary file |
Apply |
Required / Optional |
|---|---|---|
FSP-M & FSP-S |
Intel Firmware Support Package |
Required |
ME |
Intel Management Engine |
Required |
IFD |
Intel Flash Descriptor |
Required (see below) |
VBT |
Video BIOS Table |
Optional (display) |
FSP is pulled automatically from the 3rdparty/fsp submodule
(Alder Lake-N / IoT package). The ME and IFD regions must be preserved
from, or extracted from, the stock firmware (see below).
DFR1141 HSIO configuration and the Flash Descriptor
On the DFR1141 carrier, SoC HSIO lanes 10 and 11 are multiplexed between
the x4 slot connector and a SATA port. Which function is active is
determined by soft straps in the Intel Flash Descriptor, so coreboot
cannot switch it at runtime — the descriptor built into the image must
match the desired configuration. BOARD_LATTEPANDA_MU_DFR1141 therefore
exposes an HSIO choice in Kconfig:
Kconfig choice |
Behavior |
|---|---|
|
All four lanes routed to the x4 slot. SATA is disabled in ramstage. Uses the vendor “SR-B” descriptor straps. |
|
HSIO10+11 routed to SATA; the slot runs x2. Uses the vendor “SR-B-SATA” descriptor straps. |
The HSIO Kconfig choice only controls the ramstage side of the mux (it disables SATA for the x4 option). It does not automatically select the matching Flash Descriptor (as coreboot does not bundle vendor descriptors), so you must supply one and point coreboot at it yourself.
The descriptor is extracted from the corresponding stock firmware image,
which is published by the vendor on GitHub in the
LattePanda Mu BIOS repository. The Default (PCIe) branch provides the
straps for the x4 configuration and the SATA branch provides the straps
for the x2 + SATA configuration. Extract the descriptor region from the
matching stock image with ifdtool:
ifdtool -p adl -x S70NC1R200-16G-A.bin # or the -SATA image for x2 + SATA
This writes flashregion_0_flashdescriptor.bin. Store it wherever you
like (outside the tree is fine) and tell coreboot to use it by setting
CONFIG_IFD_BIN_PATH in your .config, e.g.:
CONFIG_IFD_BIN_PATH="../lattepanda-blobs/flashdescriptor_pcie_x4.bin"
Re-run make after editing .config so the new value takes effect
(alternatively set it interactively under
Chipset -> Add Intel descriptor.bin file).
Because the HSIO mux lives in the descriptor, using a descriptor that does not match the selected HSIO Kconfig option will result in a non-functional slot and/or SATA port.
Building coreboot
Select the board matching your hardware:
LattePanda Mu (SOM only)— module on a custom/unknown carrierLattePanda Mu with DFR1141 full eval carrierLattePanda Mu with DFR1142 lite carrier
Also select the soldered memory density under
Mainboard -> On-board LP5X memory size (8 GB or 16 GB); the matching
SPD image is included in CBFS.
For DFR1141, pick the HSIO configuration under
Mainboard -> HSIO configuration (x4 slot mux) and set
CONFIG_IFD_BIN_PATH to the matching descriptor as described above.
Flashing coreboot
The stock firmware does not lock the flash regions, so coreboot can be flashed internally with flashprog (or flashrom). To update only the BIOS region and leave the descriptor and ME intact:
flashprog -p internal --ifd -i bios -w ./build/coreboot.rom -N
The SoM’s SPI flash can also be programmed externally with an SPI programmer (3.3V) if the system will not boot.
Specification
SoC |
Intel Alder Lake-N (N100 / N305) |
Memory |
Soldered LPDDR5x on module (8 GB or 16 GB) |
Super I/O / EC |
ITE IT8613E (power sequencing, fan control) |
TPM |
Intel PTT (fTPM 2.0) via CRB |
SPI flash |
16 MiB on module |
Super I/O UART |
Serial console on IT8613E COM1 |
Payload |
EDK2 |