summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorAllen-kh Cheng <allen-kh.cheng@mediatek.corp-partner.google.com>2022-08-24 13:20:12 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-08-26 10:59:29 +0000
commit5d5611dfa23fda1f3f692316f0039b471dc903c0 (patch)
tree91317d46644e127dd171d68af9d19ae25d0e35ce /board
parent573bcf3ac69bc9e8a4bb79f3cf0bd4a6ea49026d (diff)
downloadchrome-ec-5d5611dfa23fda1f3f692316f0039b471dc903c0.tar.gz
mtk_scp: Enable I/D-cache for mt8186
1. Enable cache mapping on scp boot. 2. Add interrupt disable/enable to prevent preempt when setting cache range. BRANCH=none BUG=b:218771968 TEST=Boot kukui scp and open cam ok make BOARD=corsola_scp -j ALLOW_CONFIG=1 Signed-off-by: Allen-kh Cheng <allen-kh.cheng@mediatek.corp-partner.google.com> Change-Id: I8d586afc33cba55d388d553dd2a2fc2047089553 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3853765 Commit-Queue: Hsin-Yi Wang <hsinyi@chromium.org> Reviewed-by: Hsin-Yi Wang <hsinyi@chromium.org> Reviewed-by: Wei-Shun Chang <weishunc@chromium.org>
Diffstat (limited to 'board')
-rw-r--r--board/kukui_scp/board.h39
1 files changed, 33 insertions, 6 deletions
diff --git a/board/kukui_scp/board.h b/board/kukui_scp/board.h
index bc4b5a0dda..16aba19948 100644
--- a/board/kukui_scp/board.h
+++ b/board/kukui_scp/board.h
@@ -27,10 +27,12 @@
#define CONFIG_HOSTCMD_ALIGNED
/*
+ * mt8183:
+ *
* RW only, no flash
* +-------------------- 0x0
* | ROM vectortable, .text, .rodata, .data LMA
- * +-------------------- 0x10000
+ * +-------------------- 0x58000
* | RAM .bss, .data
* +-------------------- 0x7BDB0
* | IPI shared buffer with AP (288 + 8) * 2
@@ -40,11 +42,23 @@
* | 8KB D-CACHE
* +-------------------- 0x80000
*/
-#ifdef CHIP_VARIANT_MT8186
-#define ICACHE_BASE 0x3E000
-#else
-#define ICACHE_BASE 0x7C000
-#endif
+
+/*
+ * mt8186:
+ *
+ * RW only, no flash
+ * +-------------------- 0x0
+ * | ROM vectortable, .text, .rodata, .data LMA
+ * +-------------------- 0x2C000
+ * | RAM .bss, .data
+ * +-------------------- 0x3BDB0
+ * | IPI shared buffer with AP (288 + 8) * 2 => 0x250
+ * +-------------------- 0x3C000
+ * | 8KB I-CACHE
+ * +-------------------- 0x3E000
+ * | 8KB D-CACHE
+ * +-------------------- 0x40000
+ */
#define CONFIG_ROM_BASE 0x0
@@ -54,6 +68,12 @@
#define CONFIG_RAM_BASE 0x58000
#endif
+#ifdef CHIP_VARIANT_MT8186
+#define ICACHE_BASE 0x3C000
+#else
+#define ICACHE_BASE 0x7C000
+#endif
+
#define CONFIG_ROM_SIZE (CONFIG_RAM_BASE - CONFIG_ROM_BASE)
#define CONFIG_RAM_SIZE (CONFIG_IPC_SHARED_OBJ_ADDR - CONFIG_RAM_BASE)
#define CONFIG_CODE_RAM_SIZE CONFIG_RAM_BASE
@@ -64,7 +84,14 @@
#define CONFIG_DRAM_BASE 0x10000000
/* Shared memory address in AP physical address space. */
#define CONFIG_DRAM_BASE_LOAD 0x50000000
+
+#ifdef CHIP_VARIANT_MT8186
+#define CONFIG_DRAM_SIZE 0x010a0000 /* 16 MB */
+#define CACHE_TRANS_AP_SIZE 0x010a0000
+#else
#define CONFIG_DRAM_SIZE 0x01400000 /* 20 MB */
+#define CACHE_TRANS_AP_SIZE 0x00400000
+#endif
/* IPI configs */
#define CONFIG_IPC_SHARED_OBJ_BUF_SIZE 288