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>
diff --git a/src/soc/qualcomm/sc7180/include/soc/symbols.h b/src/soc/qualcomm/sc7180/include/soc/symbols.h
index 207bc43..1281d63 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(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 65e50d1..482620a 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 b33baca..8447c01 100644
--- a/src/soc/qualcomm/sc7180/mmu.c
+++ b/src/soc/qualcomm/sc7180/mmu.c
@@ -22,5 +22,6 @@
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);
}