summaryrefslogtreecommitdiff
path: root/board/elm
diff options
context:
space:
mode:
authorRong Chang <rongchang@google.com>2017-02-22 11:32:39 +0800
committerchrome-bot <chrome-bot@chromium.org>2017-02-27 16:56:24 -0800
commitec98dbfb35bb22bb6b9096eceedda93c9f88f85c (patch)
tree17a36638e971abafe0ad4b7a452a2078f47a67e4 /board/elm
parent31cfc63b80ea8f5b778e6c3f568f325a6064244a (diff)
downloadchrome-ec-ec98dbfb35bb22bb6b9096eceedda93c9f88f85c.tar.gz
stm32f09x: fix flash protection offset
STM32F091VC has 32 flash protection sectors (31 x 4KB + 1 x 132KB), which doesn't fit the layout requirement in config_std_internal_flash.h. This CL hardcodes the layout and flash bank mapping. BUG=chrome-os-partner:62372 BUG=chromium:694972 TEST=load on elm and manually enable write protect using flashrom # flashrom -p ec:dev=0 --wp-enable check ec console write protect option bytes, bank 31 is writable > rw 0x1ffff808 read 0x1ffff808 = 0xff00ff00 > rw 0x1ffff80c read 0x1ffff80c = 0x7f80ff00 BRANCH=oak Change-Id: I23dcf87bfbcd2f37e97a87e94847dce1ea1d343c Signed-off-by: Rong Chang <rongchang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/446176
Diffstat (limited to 'board/elm')
-rw-r--r--board/elm/board.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/board/elm/board.h b/board/elm/board.h
index f143dc614a..ea2452c34a 100644
--- a/board/elm/board.h
+++ b/board/elm/board.h
@@ -124,6 +124,30 @@
#define CONFIG_CMD_I2C_PROTECT
#define CONFIG_CMD_PD_CONTROL
+/*
+ * Flash layout:
+ * PSTATE(4KB)
+ * |
+ * (124KB) v (132KB)
+ * |<-----Protected Region------>|<------Unprotected Region----->|
+ * |<--------RO image--------->| | |<--------RW image----------->|
+ * 0 (120KB) ^ ^ (128KB)
+ * | |
+ * | sector 31(132KB sector)
+ * |
+ * sector 30(4KB sector)
+ */
+#undef CONFIG_RW_MEM_OFF
+#undef CONFIG_RW_SIZE
+#undef CONFIG_EC_WRITABLE_STORAGE_OFF
+#undef CONFIG_EC_WRITABLE_STORAGE_SIZE
+#undef CONFIG_WP_STORAGE_SIZE
+#define CONFIG_RW_MEM_OFF (128 * 1024)
+#define CONFIG_RW_SIZE (128 * 1024)
+#define CONFIG_EC_WRITABLE_STORAGE_OFF (128 * 1024)
+#define CONFIG_EC_WRITABLE_STORAGE_SIZE (128 * 1024)
+#define CONFIG_WP_STORAGE_SIZE (128 * 1024)
+
/* Drivers */
#ifndef __ASSEMBLER__