diff options
author | Fred Reitberger <reitbergerfred@gmail.com> | 2023-07-17 08:26:02 -0400 |
---|---|---|
committer | Fred Reitberger <reitbergerfred@gmail.com> | 2023-07-24 11:19:37 +0000 |
commit | 7bb960d7dfc4a90d7e007070c668e5cd95dccabf (patch) | |
tree | f5d648c994a1a3bf5f0230b613e8704e2b1a4c7f /src/soc | |
parent | 5f5e73cddd7feaf3f3c8eb097e74721defca86d6 (diff) |
soc/amd/common/block/apob: Add Kconfig option to disable APOB NV
Add Kconfig option to disable the non-volatile APOB cache for a
mainboard using an SOC that supports APOB.
BUG=b:290763369
TEST=verify APOB cache is disabled when selected
Signed-off-by: Fred Reitberger <reitbergerfred@gmail.com>
Change-Id: I0170355bbf29ea6386fa69a318e61f057b9a9a3f
Reviewed-on: https://review.coreboot.org/c/coreboot/+/76566
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/amd/common/block/apob/Kconfig | 9 | ||||
-rw-r--r-- | src/soc/amd/common/block/apob/Makefile.inc | 8 | ||||
-rw-r--r-- | src/soc/amd/common/block/include/amdblocks/apob_cache.h | 6 |
3 files changed, 16 insertions, 7 deletions
diff --git a/src/soc/amd/common/block/apob/Kconfig b/src/soc/amd/common/block/apob/Kconfig index c8ebc19ef8..a1cd0049e9 100644 --- a/src/soc/amd/common/block/apob/Kconfig +++ b/src/soc/amd/common/block/apob/Kconfig @@ -4,6 +4,15 @@ config SOC_AMD_COMMON_BLOCK_APOB Select this option to add firmware support for the non-volatile APOB cache to the build. +config SOC_AMD_COMMON_BLOCK_APOB_NV_DISABLE + bool "Disable non-volatile APOB support" + depends on SOC_AMD_COMMON_BLOCK_APOB + help + Select this to disable non-volatile APOB cache and train memory + on every boot. + + If unsure, say N. + config SOC_AMD_COMMON_BLOCK_APOB_HASH bool help diff --git a/src/soc/amd/common/block/apob/Makefile.inc b/src/soc/amd/common/block/apob/Makefile.inc index ae550bc522..d7e27a2d14 100644 --- a/src/soc/amd/common/block/apob/Makefile.inc +++ b/src/soc/amd/common/block/apob/Makefile.inc @@ -1,6 +1,6 @@ ## SPDX-License-Identifier: GPL-2.0-only -ifeq ($(CONFIG_SOC_AMD_COMMON_BLOCK_APOB),y) -romstage-y += apob_cache.c -ramstage-y += apob_cache.c +ifneq ($(CONFIG_SOC_AMD_COMMON_BLOCK_APOB_NV_DISABLE),y) +romstage-$(CONFIG_SOC_AMD_COMMON_BLOCK_APOB) += apob_cache.c +ramstage-$(CONFIG_SOC_AMD_COMMON_BLOCK_APOB) += apob_cache.c -endif # CONFIG_SOC_AMD_COMMON_BLOCK_APOB +endif # !CONFIG_SOC_AMD_COMMON_BLOCK_APOB_NV_DISABLE diff --git a/src/soc/amd/common/block/include/amdblocks/apob_cache.h b/src/soc/amd/common/block/include/amdblocks/apob_cache.h index bbb65a72e2..756b6b30cb 100644 --- a/src/soc/amd/common/block/include/amdblocks/apob_cache.h +++ b/src/soc/amd/common/block/include/amdblocks/apob_cache.h @@ -5,13 +5,13 @@ #include <stddef.h> -#if CONFIG(SOC_AMD_COMMON_BLOCK_APOB) +#if CONFIG(SOC_AMD_COMMON_BLOCK_APOB) && !CONFIG(SOC_AMD_COMMON_BLOCK_APOB_NV_DISABLE) /* Start loading the APOB as soon as possible so it is ready by the time we need it. */ void start_apob_cache_read(void); void *soc_fill_apob_cache(void); -#else /* CONFIG(SOC_AMD_COMMON_BLOCK_APOB) */ +#else /* CONFIG(SOC_AMD_COMMON_BLOCK_APOB) && !CONFIG(SOC_AMD_COMMON_BLOCK_APOB_NV_DISABLE) */ static inline void start_apob_cache_read(void) {} static inline void *soc_fill_apob_cache(void) { return NULL; } -#endif /* CONFIG(SOC_AMD_COMMON_BLOCK_APOB) */ +#endif /* CONFIG(SOC_AMD_COMMON_BLOCK_APOB) && !CONFIG(SOC_AMD_COMMON_BLOCK_APOB_NV_DISABLE) */ #endif /* AMD_BLOCK_APOB_CACHE_H */ |