summaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
authorKarthikeyan Ramasubramanian <kramasub@google.com>2023-07-13 11:12:16 -0600
committerMartin Roth <martin.roth@amd.corp-partner.google.com>2023-07-14 18:16:03 +0000
commit2118fb1f69009d65abc0d0ab7faad0b7fc5a0bdc (patch)
treee286ac8ec32d8b5a53d55935dcf51b32172aa89d /src/soc
parentebafd4b905d913c37274ce97ff21c8f26ffabd78 (diff)
soc/amd/phoenix: Disable APOB Cache
There is a data abort in ABL when the memory training data is used from APOB Cache. Disable APOB Cache until the cause is identified. The downside of this change is that the memory training happens in every boot cycle. BUG=b:290763369 TEST=Build BIOS image and boot to OS in Myst. Trigger a reboot from AP console and ensure that the system boots to OS. Change-Id: I20f4f40cdaac68bca6e121e3a238d13fe80d0d3c Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/76422 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martin.roth@amd.corp-partner.google.com> Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/amd/common/block/include/amdblocks/apob_cache.h7
-rw-r--r--src/soc/amd/phoenix/Kconfig5
2 files changed, 10 insertions, 2 deletions
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 e91720fa61..bbb65a72e2 100644
--- a/src/soc/amd/common/block/include/amdblocks/apob_cache.h
+++ b/src/soc/amd/common/block/include/amdblocks/apob_cache.h
@@ -3,8 +3,15 @@
#ifndef AMD_BLOCK_APOB_CACHE_H
#define AMD_BLOCK_APOB_CACHE_H
+#include <stddef.h>
+
+#if CONFIG(SOC_AMD_COMMON_BLOCK_APOB)
/* 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) */
+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 /* AMD_BLOCK_APOB_CACHE_H */
diff --git a/src/soc/amd/phoenix/Kconfig b/src/soc/amd/phoenix/Kconfig
index 5f4e5d174e..8c4280bbc6 100644
--- a/src/soc/amd/phoenix/Kconfig
+++ b/src/soc/amd/phoenix/Kconfig
@@ -42,8 +42,9 @@ config SOC_AMD_PHOENIX
select SOC_AMD_COMMON_BLOCK_ACPI_GPIO # TODO: Check if this is still correct
select SOC_AMD_COMMON_BLOCK_ACPI_IVRS # TODO: Check if this is still correct
select SOC_AMD_COMMON_BLOCK_AOAC
- select SOC_AMD_COMMON_BLOCK_APOB
- select SOC_AMD_COMMON_BLOCK_APOB_HASH
+ # TODO (b/290763369): Enable APOB after resolving data_abort in ABL
+ # select SOC_AMD_COMMON_BLOCK_APOB
+ # select SOC_AMD_COMMON_BLOCK_APOB_HASH
select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
select SOC_AMD_COMMON_BLOCK_CPUFREQ_FAM17H_19H
select SOC_AMD_COMMON_BLOCK_DATA_FABRIC