Hi,
I'd like to get used to coreboot. Therefore, I'd like to be able to boot Linux and Windows on any platform yet.
I've checked the coreboot tree and an Intel Apollo Lake CRB, namely Leafhill, is currently the only platform I have access to and coreboot has a mainboard folder for. So far, I'm able to boot Linux. It has some issues, e.g. the external PCIe slot of the board is not working yet, but it boots. Windows 10 dies with a BSOD and complains about UNSUPPORTED_PROCESSOR. Has anyone seen this issue before or can help me debug this issue? I've attached a boot log when trying to boot a Windows 10 Installer.
What I did so far: I'm using a BIOS published by Intel, LEAFHILD.X64.0071.R01.1809030849.bin [1], for IFWI stitching of coreboot. I've verified that the Intel BIOS itself is working on my board. I've extracted the VBT and flashdescriptor of the Intel BIOS and passed it to my coreboot config shown below [2]. I've also applied some patches [3][4] to the coreboot tree itself because the USB port was not working on Linux and the flash layout does not fit to the flashdescriptor extracted by the Intel BIOS.
[1] https://www.intel.com/content/www/us/en/developer/articles/tool/uefi-firmwar... [2] CONFIG_CCACHE=y CONFIG_VENDOR_INTEL=y CONFIG_INTEL_GMA_VBT_FILE="i915_vbt" CONFIG_IFD_BIN_PATH="flashregion_0_flashdescriptor.bin" CONFIG_BOARD_INTEL_LEAFHILL=y CONFIG_NEED_IFWI=y CONFIG_IFWI_FILE_NAME="leafhill.rom" CONFIG_VALIDATE_INTEL_DESCRIPTOR=y CONFIG_RUN_FSP_GOP=y CONFIG_BOOTSPLASH=y CONFIG_PAYLOAD_EDK2=y CONFIG_EDK2_USE_EDK2_PLATFORMS=y CONFIG_EDK2_SERIAL_SUPPORT=y CONFIG_DISPLAY_FSP_CALLS_AND_STATUS=y [3] https://review.coreboot.org/c/coreboot/+/28547/1/src/mainboard/intel/leafhil... [4] diff --git a/src/mainboard/intel/leafhill/brd_gpio.h b/src/mainboard/intel/leafhill/brd_gpio.h index 7c6298f266a..df85752c056 100644 --- a/src/mainboard/intel/leafhill/brd_gpio.h +++ b/src/mainboard/intel/leafhill/brd_gpio.h @@ -33,4 +33,9 @@ static const struct pad_config gpio_table[] = {
PAD_CFG_NF(SMB_CLK, NATIVE, DEEP, NF1), PAD_CFG_NF(SMB_DATA, NATIVE, DEEP, NF1), + + /// Added feature to enable USB power for USB devices, specifically keyboard + /// and mouse. + PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_23, 1, DEEP, DN_20K, TxLASTRxE, + SAME), /// Feature: LB USB Power in LFH }; diff --git a/src/mainboard/intel/leafhill/leafhill.16384.fmd b/src/mainboard/intel/leafhill/leafhill.16384.fmd index a91ba9a6d85..7feddef49e0 100644 --- a/src/mainboard/intel/leafhill/leafhill.16384.fmd +++ b/src/mainboard/intel/leafhill/leafhill.16384.fmd @@ -1,14 +1,10 @@ -FLASH 16M { +FLASH@0xff000000 0x1000000 { SI_DESC@0x0 0x1000 - IFWI@0x1000 0x2ff000 - FMAP@0x300000 0x800 - COREBOOT(CBFS)@0x300800 0xc1d800 - UNIFIED_MRC_CACHE@0xf1e000 0x21000 { - RECOVERY_MRC_CACHE@0x0 0x10000 - RW_MRC_CACHE@0x10000 0x10000 - RW_VAR_MRC_CACHE@0x20000 0x1000 + SI_BIOS@0x1000 0x6fe000 { + IFWI@0x0 0x2ff000 + RW_MRC_CACHE@0x2ff000 0x10000 + SMMSTORE@0x30f000 0x40000 + FMAP@0x34f000 0x800 + COREBOOT(CBFS)@0x34f800 0x36b800 } - BIOS_UNUSABLE@0xf3f000 0x40000 - DEVICE_EXTENSION@0xf7f000 0x7f000 - UNUSED_HOLE@0xfff000 0x1000 }