diff --git a/boards/nitropad-ns50/nitropad-ns50.config b/boards/nitropad-ns50/nitropad-ns50.config index 8a165060..16490feb 100644 --- a/boards/nitropad-ns50/nitropad-ns50.config +++ b/boards/nitropad-ns50/nitropad-ns50.config @@ -1,15 +1,13 @@ # Nitrokey Nitropad NS51 board configuration +# Note: for reference, other GOP enabled FB board is librem_11 export CONFIG_COREBOOT=y -export CONFIG_COREBOOT_VERSION=nitrokey +export CONFIG_COREBOOT_VERSION=dasharo export CONFIG_LINUX_VERSION=6.1.8 CONFIG_COREBOOT_CONFIG=config/coreboot-nitropad-ns50.config CONFIG_LINUX_CONFIG=config/linux-nitropad-x.config -#Enable blobs packed under coreboot at build time -CONFIG_NITROKEY_BLOBS=y - #Enable DEBUG output #export CONFIG_DEBUG_OUTPUT=y #export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=y diff --git a/boards/nitropad-nv41/nitropad-nv41.config b/boards/nitropad-nv41/nitropad-nv41.config index 3a6d157c..7ba4d589 100644 --- a/boards/nitropad-nv41/nitropad-nv41.config +++ b/boards/nitropad-nv41/nitropad-nv41.config @@ -1,15 +1,13 @@ # Nitrokey Nitropad NV41 board configuration +# Note: for reference, other GOP enabled FB board is librem_11 export CONFIG_COREBOOT=y -export CONFIG_COREBOOT_VERSION=nitrokey +export CONFIG_COREBOOT_VERSION=dasharo export CONFIG_LINUX_VERSION=6.1.8 CONFIG_COREBOOT_CONFIG=config/coreboot-nitropad-nv41.config CONFIG_LINUX_CONFIG=config/linux-nitropad-x.config -#Enable blobs packed under coreboot at build time -CONFIG_NITROKEY_BLOBS=y - #Enable DEBUG output #export CONFIG_DEBUG_OUTPUT=y #export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=y diff --git a/config/coreboot-nitropad-ns50.config b/config/coreboot-nitropad-ns50.config index a6e90d95..9e5dc0ee 100644 --- a/config/coreboot-nitropad-ns50.config +++ b/config/coreboot-nitropad-ns50.config @@ -39,8 +39,7 @@ CONFIG_BOOTSPLASH_IMAGE=y CONFIG_BOOTSPLASH_FILE="@BRAND_DIR@/bootsplash.jpg" CONFIG_BOOTSPLASH_CONVERT=y CONFIG_BOOTSPLASH_CONVERT_QUALITY=90 -CONFIG_BOOTSPLASH_CONVERT_RESIZE=y -CONFIG_BOOTSPLASH_CONVERT_RESOLUTION="1920x1080" +# CONFIG_BOOTSPLASH_CONVERT_RESIZE is not set # CONFIG_BOOTSPLASH_CONVERT_COLORSWAP is not set # CONFIG_FW_CONFIG is not set @@ -159,8 +158,8 @@ CONFIG_MAX_ACPI_TABLE_SIZE_KB=144 CONFIG_HAVE_INTEL_FIRMWARE=y CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000 CONFIG_DRIVERS_INTEL_WIFI=y -CONFIG_IFD_BIN_PATH="../nitrokey-blobs/nitropad-ns51/flashdescriptor-HAP.bin" -CONFIG_ME_BIN_PATH="../nitrokey-blobs/nitropad-ns51/me.bin" +CONFIG_IFD_BIN_PATH="3rdparty/dasharo-blobs/novacustom/ns5x_adl/descriptor.bin" +CONFIG_ME_BIN_PATH="3rdparty/dasharo-blobs/novacustom/ns5x_adl/me.bin" CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_VBT_DATA_SIZE_KB=9 CONFIG_CARDBUS_PLUGIN_SUPPORT=y @@ -508,13 +507,30 @@ CONFIG_EC_SYSTEM76_EC=y # # Intel Firmware # +CONFIG_IFDTOOL_DISABLE_ME=y CONFIG_HAVE_ME_BIN=y # CONFIG_STITCH_ME_BIN is not set # CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS is not set +CONFIG_HAVE_INTEL_ME_HAP=y +# CONFIG_INTEL_ME_DISABLED_HECI is not set +CONFIG_INTEL_ME_DISABLED_HAP=y +# CONFIG_INTEL_ME_ENABLED is not set +CONFIG_INTEL_ME_DEFAULT_STATE=2 # CONFIG_DO_NOT_TOUCH_DESCRIPTOR_REGION is not set # CONFIG_LOCK_MANAGEMENT_ENGINE is not set CONFIG_UNLOCK_FLASH_REGIONS=y CONFIG_BIOS_VENDOR="3mdeb" + +# +# Dasharo +# + +# +# Dasharo Configuration +# +CONFIG_DASHARO_PREFER_S3_SLEEP=y +# end of Dasharo Configuration + CONFIG_UDK_BASE=y CONFIG_UDK_202005_BINDING=y CONFIG_UDK_2013_VERSION=2013 @@ -586,7 +602,7 @@ CONFIG_INTEL_GMA_HAVE_VBT=y CONFIG_INTEL_GMA_ADD_VBT=y # CONFIG_SOFTWARE_I2C is not set CONFIG_I2C_TRANSFER_TIMEOUT_US=500000 -CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y +# CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set # end of Devices # @@ -597,13 +613,10 @@ CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000 # CONFIG_ELOG is not set CONFIG_CACHE_MRC_SETTINGS=y CONFIG_MRC_SETTINGS_PROTECT=y -CONFIG_SMMSTORE=y -# CONFIG_SMMSTORE_V2 is not set -CONFIG_SMMSTORE_SIZE=0x40000 +# CONFIG_SMMSTORE is not set CONFIG_SPI_FLASH=y CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y -CONFIG_SPI_FLASH_SMM=y # CONFIG_SPI_FLASH_NO_FAST_READ is not set CONFIG_TPM_INIT_RAMSTAGE=y # CONFIG_TPM_PPI is not set @@ -686,7 +699,7 @@ CONFIG_VBOOT_LIB=y # # Trusted Platform Module # -# CONFIG_NO_TPM is not set +# CONFIG_TPM1 is not set CONFIG_TPM2=y CONFIG_TPM=y CONFIG_MAINBOARD_HAS_TPM2=y diff --git a/config/coreboot-nitropad-nv41.config b/config/coreboot-nitropad-nv41.config index 5de5c478..9484aaf5 100644 --- a/config/coreboot-nitropad-nv41.config +++ b/config/coreboot-nitropad-nv41.config @@ -39,8 +39,7 @@ CONFIG_BOOTSPLASH_IMAGE=y CONFIG_BOOTSPLASH_FILE="@BRAND_DIR@/bootsplash.jpg" CONFIG_BOOTSPLASH_CONVERT=y CONFIG_BOOTSPLASH_CONVERT_QUALITY=90 -CONFIG_BOOTSPLASH_CONVERT_RESIZE=y -CONFIG_BOOTSPLASH_CONVERT_RESOLUTION="1920x1080" +# CONFIG_BOOTSPLASH_CONVERT_RESIZE is not set # CONFIG_BOOTSPLASH_CONVERT_COLORSWAP is not set # CONFIG_FW_CONFIG is not set @@ -144,7 +143,7 @@ CONFIG_BOARD_CLEVO_NV40PZ_BASE=y CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="Nitropad NV41" CONFIG_CONSOLE_POST=y # CONFIG_USE_PM_ACPI_TIMER is not set -CONFIG_TPM_PIRQ=0x0 +CONFIG_TPM_PIRQ=0x27 # CONFIG_SOC_INTEL_CSE_SEND_EOP_EARLY is not set CONFIG_VBOOT_FWID_VERSION="$(CONFIG_LOCALVERSION)" CONFIG_EC_SYSTEM76_EC_BAT_THRESHOLDS=y @@ -159,8 +158,8 @@ CONFIG_MAX_ACPI_TABLE_SIZE_KB=144 CONFIG_HAVE_INTEL_FIRMWARE=y CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000 CONFIG_DRIVERS_INTEL_WIFI=y -CONFIG_IFD_BIN_PATH="../nitrokey-blobs/nitropad-nv41/flashdescriptor-HAP.bin" -CONFIG_ME_BIN_PATH="../nitrokey-blobs/nitropad-nv41/me.bin" +CONFIG_IFD_BIN_PATH="3rdparty/dasharo-blobs/novacustom/nv4x_adl/descriptor.bin" +CONFIG_ME_BIN_PATH="3rdparty/dasharo-blobs/novacustom/nv4x_adl/me.bin" CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_VBT_DATA_SIZE_KB=9 CONFIG_CARDBUS_PLUGIN_SUPPORT=y @@ -509,13 +508,30 @@ CONFIG_EC_SYSTEM76_EC_DGPU=y # # Intel Firmware # +CONFIG_IFDTOOL_DISABLE_ME=y CONFIG_HAVE_ME_BIN=y # CONFIG_STITCH_ME_BIN is not set # CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS is not set +CONFIG_HAVE_INTEL_ME_HAP=y +# CONFIG_INTEL_ME_DISABLED_HECI is not set +CONFIG_INTEL_ME_DISABLED_HAP=y +# CONFIG_INTEL_ME_ENABLED is not set +CONFIG_INTEL_ME_DEFAULT_STATE=2 # CONFIG_DO_NOT_TOUCH_DESCRIPTOR_REGION is not set # CONFIG_LOCK_MANAGEMENT_ENGINE is not set CONFIG_UNLOCK_FLASH_REGIONS=y CONFIG_BIOS_VENDOR="3mdeb" + +# +# Dasharo +# + +# +# Dasharo Configuration +# +CONFIG_DASHARO_PREFER_S3_SLEEP=y +# end of Dasharo Configuration + CONFIG_UDK_BASE=y CONFIG_UDK_202005_BINDING=y CONFIG_UDK_2013_VERSION=2013 @@ -587,7 +603,7 @@ CONFIG_INTEL_GMA_HAVE_VBT=y CONFIG_INTEL_GMA_ADD_VBT=y # CONFIG_SOFTWARE_I2C is not set CONFIG_I2C_TRANSFER_TIMEOUT_US=500000 -CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y +# CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set # end of Devices # @@ -598,13 +614,10 @@ CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000 # CONFIG_ELOG is not set CONFIG_CACHE_MRC_SETTINGS=y CONFIG_MRC_SETTINGS_PROTECT=y -CONFIG_SMMSTORE=y -# CONFIG_SMMSTORE_V2 is not set -CONFIG_SMMSTORE_SIZE=0x40000 +# CONFIG_SMMSTORE is not set CONFIG_SPI_FLASH=y CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y -CONFIG_SPI_FLASH_SMM=y # CONFIG_SPI_FLASH_NO_FAST_READ is not set CONFIG_TPM_INIT_RAMSTAGE=y # CONFIG_TPM_PPI is not set @@ -687,7 +700,7 @@ CONFIG_VBOOT_LIB=y # # Trusted Platform Module # -# CONFIG_NO_TPM is not set +# CONFIG_TPM1 is not set CONFIG_TPM2=y CONFIG_TPM=y CONFIG_MAINBOARD_HAS_TPM2=y diff --git a/modules/coreboot b/modules/coreboot index 718508e6..aaebdc14 100644 --- a/modules/coreboot +++ b/modules/coreboot @@ -88,20 +88,18 @@ coreboot-purism_repo := https://source.puri.sm/firmware/coreboot.git coreboot-purism_commit_hash := 0d57cff58fba2f3a4d3a714a4eae65753e58c6ff $(eval $(call coreboot_module,purism,)) -#Nitrokey nv41/ns50 are based on Dasharo coreboot port, -# with patches staging under coreboot-clevo_release -coreboot-nitrokey_repo := https://github.com/dasharo/coreboot -coreboot-nitrokey_commit_hash := 1bcb338682b612cfcca8bba02846f78139b2e0c8 -coreboot-nitrokey_patch_version := clevo_release -#We use clevo_release's crossgcc for now, unshared but between nitropad nv41/ns50 -$(eval $(call coreboot_module,nitrokey,)) +# MSI and Nitropad NV41 / NS50 boards are based on Dasharo coreboot port +coreboot-dasharo_repo := https://github.com/dasharo/coreboot +coreboot-dasharo_commit_hash := 3a9aa3a4692f3dd49732f5b4e3ec54be385f0969 +coreboot-dasharo_patch_version := unreleased +$(eval $(call coreboot_module,dasharo,)) # Check that the board configured the coreboot version correctly ifeq "$(CONFIG_COREBOOT_VERSION)" "" $(error "$(BOARD): does not specify coreboot version under CONFIG_COREBOOT_VERSION") else ifeq "$(coreboot-$(CONFIG_COREBOOT_VERSION)_dir)" "" $(error "$(BOARD): coreboot version $(CONFIG_COREBOOT_VERSION) not known") -endif +endif coreboot_module := coreboot-$(CONFIG_COREBOOT_VERSION) modules-y += $(coreboot_module) @@ -110,11 +108,12 @@ coreboot_dir := $($(coreboot_module)_dir) coreboot_base_dir := $($(coreboot_module)_base_dir) $(coreboot_module)_depends += $(if $(CONFIG_PURISM_BLOBS), purism-blobs) -$(coreboot_module)_depends += $(if $(CONFIG_NITROKEY_BLOBS), nitrokey-blobs) # coreboot builds are specialized on a per-target basis. # The builds are done in a per-target subdirectory CONFIG_COREBOOT_CONFIG ?= config/coreboot-$(BOARD).config +CONFIG_COREBOOT_LOCALVERSION ?= "$(BRAND_NAME)-$(HEADS_GIT_VERSION)" +CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME ?= $(BOARD) # Ensure that touching the config file will force a rebuild $(build)/$(coreboot_dir)/.configured: $(CONFIG_COREBOOT_CONFIG) @@ -137,11 +136,17 @@ else endif $(coreboot_module)_configure := \ - mkdir -p "$(build)/$(coreboot_dir)" \ - && $(call install_config,$(pwd)/$(CONFIG_COREBOOT_CONFIG),$(build)/$(coreboot_dir)/.config) \ - && echo 'CONFIG_LOCALVERSION="$(BRAND_NAME)-$(HEADS_GIT_VERSION)"' >> $(build)/$(coreboot_dir)/.config \ - && echo 'CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="$(BOARD)"' >> $(build)/$(coreboot_dir)/.config \ - && $(MAKE) olddefconfig \ + mkdir -p "$(build)/$(coreboot_dir)"; \ + $(call install_config,$(pwd)/$(CONFIG_COREBOOT_CONFIG),$(build)/$(coreboot_dir)/.config); \ + sed -i '/^CONFIG_LOCALVERSION/d' $(build)/$(coreboot_dir)/.config; \ + echo 'CONFIG_LOCALVERSION=$(CONFIG_COREBOOT_LOCALVERSION)' >> $(build)/$(coreboot_dir)/.config; \ + sed -i '/^CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME/d' $(build)/$(coreboot_dir)/.config; \ + echo 'CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="$(CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME)"' >> $(build)/$(coreboot_dir)/.config; \ + if [ ! -z "$(CONFIG_COREBOOT_SMBIOS_MANUFACTURER)" ]; then \ + sed -i '/^CONFIG_MAINBOARD_SMBIOS_MANUFACTURER/d' $(build)/$(coreboot_dir)/.config; \ + echo 'CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="$(CONFIG_COREBOOT_SMBIOS_MANUFACTURER)"' >> $(build)/$(coreboot_dir)/.config; \ + fi; \ + $(MAKE) olddefconfig \ -C "$(build)/$(coreboot_base_dir)" \ obj="$(build)/$(coreboot_dir)" \ DOTCONFIG="$(build)/$(coreboot_dir)/.config" \ @@ -249,7 +254,7 @@ coreboot.save_in_defconfig_format_in_place: DOTCONFIG="$(build)/$(coreboot_dir)/.config" \ savedefconfig && \ mv "$(build)/$(coreboot_base_dir)/defconfig" "$(pwd)/$(CONFIG_COREBOOT_CONFIG)" - + coreboot.save_in_oldconfig_format_in_place: mkdir -p "$(build)/$(coreboot_dir)" && \ cp "$(pwd)/$(CONFIG_COREBOOT_CONFIG)" "$(build)/$(coreboot_dir)/.config" && \ diff --git a/modules/nitrokey-blobs b/modules/nitrokey-blobs deleted file mode 100644 index eafef400..00000000 --- a/modules/nitrokey-blobs +++ /dev/null @@ -1,12 +0,0 @@ -modules-$(CONFIG_NITROKEY_BLOBS) += nitrokey-blobs - -nitrokey-blobs_base_dir := nitrokey-blobs -nitrokey-blobs_version := b629bad31046ff2f5f363656326646fe2081d033 -nitrokey-blobs_tar := nitrokey-blobs-${nitrokey-blobs_version}.tar.gz -nitrokey-blobs_tar_opt := --strip 1 -nitrokey-blobs_url := https://github.com/Nitrokey/firmware-blobs/archive/${nitrokey-blobs_version}.tar.gz -nitrokey-blobs_hash := 73daf2180e3ffd070e9dc80c84ccd2573a24f636dc273e3d9fe81aefc7c5d425 - -## there is nothing to be built -nitrokey-blobs_output := .built -nitrokey-blobs_configure := echo -e 'all:\n\ttouch .built' > Makefile diff --git a/patches/coreboot-dasharo-unreleased/501.patch b/patches/coreboot-dasharo-unreleased/501.patch new file mode 100644 index 00000000..6f626ae3 --- /dev/null +++ b/patches/coreboot-dasharo-unreleased/501.patch @@ -0,0 +1,27 @@ +From 6cd77aa95a7ab46771874b72c7dba6b3600d9b29 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20=C5=BBygowski?= +Date: Mon, 13 May 2024 09:31:27 +0200 +Subject: [PATCH] src/mainboard/clevo/adl-p/Kconfig: Add missing TPM PIRQ for + NV41 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Michał Żygowski +--- + src/mainboard/clevo/adl-p/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/mainboard/clevo/adl-p/Kconfig b/src/mainboard/clevo/adl-p/Kconfig +index 6e4b679d4d1..e9bcf53c7be 100644 +--- a/src/mainboard/clevo/adl-p/Kconfig ++++ b/src/mainboard/clevo/adl-p/Kconfig +@@ -115,7 +115,7 @@ config FMDFILE + default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/vboot-rwa.fmd" if VBOOT && VBOOT_SLOTS_RW_A + + config TPM_PIRQ +- default 0x27 if BOARD_CLEVO_NS50PU_BASE # GPP_E1 ++ default 0x27 # GPP_E1 + + config SOC_INTEL_CSE_SEND_EOP_EARLY + default n diff --git a/patches/coreboot-nitrokey-clevo_release/0001-dasharo-hardcode-configurations.patch b/patches/coreboot-nitrokey-clevo_release/0001-dasharo-hardcode-configurations.patch deleted file mode 100644 index 5bc9754d..00000000 --- a/patches/coreboot-nitrokey-clevo_release/0001-dasharo-hardcode-configurations.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -ur dasharo_cb.org/src/vendorcode/dasharo/options.c dasharo_cb/src/vendorcode/dasharo/options.c ---- dasharo_cb.org/src/vendorcode/dasharo/options.c 2023-12-18 21:57:46.915582991 +0100 -+++ dasharo_cb/src/vendorcode/dasharo/options.c 2023-12-19 19:16:13.077019389 +0100 -@@ -189,7 +189,12 @@ - - uint8_t get_sleep_type_option(void) - { -+ -+#if CONFIG(BOARD_NOVACUSTOM_NV4X_ADLP) -+ uint8_t sleep_type = SLEEP_TYPE_OPTION_S3; -+#else - uint8_t sleep_type = SLEEP_TYPE_OPTION_S0IX; -+#endif - - if (CONFIG(DRIVERS_EFI_VARIABLE_STORE)) - read_u8_var("SleepType", &sleep_type); diff --git a/patches/coreboot-nitrokey-clevo_release/0002-dasharo-hardcode-me.patch b/patches/coreboot-nitrokey-clevo_release/0002-dasharo-hardcode-me.patch deleted file mode 100644 index cb4a7786..00000000 --- a/patches/coreboot-nitrokey-clevo_release/0002-dasharo-hardcode-me.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur coreboot-nitrokey.org/src/vendorcode/dasharo/options.c coreboot-nitrokey/src/vendorcode/dasharo/options.c ---- coreboot-nitrokey.org/src/vendorcode/dasharo/options.c 2024-01-22 14:11:59.525612567 +0100 -+++ coreboot-nitrokey/src/vendorcode/dasharo/options.c 2024-01-22 14:12:07.535544365 +0100 -@@ -133,7 +133,7 @@ - if (CONFIG(DRIVERS_EFI_VARIABLE_STORE)) - read_u8_var("MeMode", &var); - -- return var; -+ return ME_MODE_DISABLE_HAP; - } - - bool is_smm_bwp_permitted(void)