summaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
authorT Michael Turney <mturney@codeaurora.org>2020-11-05 13:49:59 -0800
committerJulius Werner <jwerner@chromium.org>2020-11-06 22:34:25 +0000
commit7bfef7d50ce6e7c6e562189249a180e4e9861749 (patch)
treedab22f11b779ee75734d28d3789d967979b4e495 /src/soc
parentac2da047acb50ce8a776e8d2218c2b304af8be02 (diff)
downloadcoreboot-7bfef7d50ce6e7c6e562189249a180e4e9861749.tar.xz
sc7180: Correct mmu configuration for AOP SRAM regions
NOC errors detected at runtime in AOP SRAM region strongly suggested speculative memory accesses were occurring in memory regions that either don't exist or are device memory rather than SRAM. Signed-off-by: T Michael Turney <mturney@codeaurora.org> Change-Id: I6611dc614c80063c7df057b59337417c8f56fd9c Reviewed-on: https://review.coreboot.org/c/coreboot/+/47261 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/qualcomm/sc7180/include/soc/symbols.h3
-rw-r--r--src/soc/qualcomm/sc7180/memlayout.ld3
-rw-r--r--src/soc/qualcomm/sc7180/mmu.c3
3 files changed, 6 insertions, 3 deletions
diff --git a/src/soc/qualcomm/sc7180/include/soc/symbols.h b/src/soc/qualcomm/sc7180/include/soc/symbols.h
index 207bc4377e..1281d6370d 100644
--- a/src/soc/qualcomm/sc7180/include/soc/symbols.h
+++ b/src/soc/qualcomm/sc7180/include/soc/symbols.h
@@ -14,7 +14,8 @@ DECLARE_REGION(dram_modem_extra)
DECLARE_REGION(dcb)
DECLARE_REGION(pmic)
DECLARE_REGION(limits_cfg)
-DECLARE_REGION(aop)
+DECLARE_REGION(aop_code_ram)
+DECLARE_REGION(aop_data_ram)
DECLARE_REGION(modem_id)
#endif /* _SOC_QUALCOMM_SC7180_SYMBOLS_H_ */
diff --git a/src/soc/qualcomm/sc7180/memlayout.ld b/src/soc/qualcomm/sc7180/memlayout.ld
index 65e50d106e..482620a579 100644
--- a/src/soc/qualcomm/sc7180/memlayout.ld
+++ b/src/soc/qualcomm/sc7180/memlayout.ld
@@ -18,7 +18,8 @@
SECTIONS
{
AOPSRAM_START(0x0B000000)
- REGION(aop, 0x0B000000, 0x100000, 4096)
+ REGION(aop_code_ram, 0x0B000000, 0x80000, 4096)
+ REGION(aop_data_ram, 0x0B0E0000, 0x20000, 4096)
AOPSRAM_END(0x0B100000)
SSRAM_START(0x14680000)
diff --git a/src/soc/qualcomm/sc7180/mmu.c b/src/soc/qualcomm/sc7180/mmu.c
index b33baca0f1..8447c01b72 100644
--- a/src/soc/qualcomm/sc7180/mmu.c
+++ b/src/soc/qualcomm/sc7180/mmu.c
@@ -22,5 +22,6 @@ void sc7180_mmu_init(void)
void soc_mmu_dram_config_post_dram_init(void)
{
- mmu_config_range((void *)_aop, REGION_SIZE(aop), CACHED_RAM);
+ mmu_config_range((void *)_aop_code_ram, REGION_SIZE(aop_code_ram), CACHED_RAM);
+ mmu_config_range((void *)_aop_data_ram, REGION_SIZE(aop_data_ram), CACHED_RAM);
}