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 <alexandrux.gagniuc@intel.com>
Signed-off-by: Andrey Petrov <andrey.petrov@intel.com>
Reviewed-on: https://review.coreboot.org/14248
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Alexandru Gagniuc 2016-03-03 13:16:36 -08:00 committed by Aaron Durbin
parent 922064162b
commit 0a4b47ee2d
1 changed files with 8 additions and 0 deletions

View File

@ -16,6 +16,7 @@
#include <commonlib/region.h> #include <commonlib/region.h>
#include <console/console.h> #include <console/console.h>
#include <fmap.h> #include <fmap.h>
#include <soc/intel/common/nvm.h>
/* The 128 KiB right below 4G are decoded by readonly SRAM, not boot media */ /* 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) #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", .name = "IAFW Locator",
.locate = iafw_boot_region_properties, .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;
}