From 0a4b47ee2d5fabec468aebbfbd0f27dc50ebf231 Mon Sep 17 00:00:00 2001 From: Alexandru Gagniuc Date: Thu, 3 Mar 2016 13:16:36 -0800 Subject: [PATCH] soc/intel/apollolake: Override default to_flash_offset implementation The default nvm_mmio_to_flash_offset() implementation used by NVM code in intel/common does not work on apollolake. As a result, provide the correct override. Change-Id: I01a94f90dfdd33586a4aac5c05dd8c73e8804437 Signed-off-by: Alexandru Gagniuc Signed-off-by: Andrey Petrov Reviewed-on: https://review.coreboot.org/14248 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/soc/intel/apollolake/mmap_boot.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/soc/intel/apollolake/mmap_boot.c b/src/soc/intel/apollolake/mmap_boot.c index 36259243f4..a618d4a1d9 100644 --- a/src/soc/intel/apollolake/mmap_boot.c +++ b/src/soc/intel/apollolake/mmap_boot.c @@ -16,6 +16,7 @@ #include #include #include +#include /* The 128 KiB right below 4G are decoded by readonly SRAM, not boot media */ #define IFD_BIOS_MAX_MAPPED (CONFIG_IFD_BIOS_END - 128 * KiB) @@ -72,3 +73,10 @@ const struct cbfs_locator cbfs_master_header_locator = { .name = "IAFW Locator", .locate = iafw_boot_region_properties, }; + +uint32_t nvm_mmio_to_flash_offset(void *p) +{ + uintptr_t xlate_base; + xlate_base = VIRTUAL_ROM_BASE; + return (uintptr_t)p - xlate_base + CONFIG_IFD_BIOS_START; +}