summaryrefslogtreecommitdiff
path: root/common/flash_common.c
diff options
context:
space:
mode:
authorVic Yang <victoryang@chromium.org>2012-07-22 13:17:23 +0800
committerGerrit <chrome-bot@google.com>2012-07-26 18:28:14 -0700
commit00799d5bc17c8aeb45bdff795b94a8310af9f18f (patch)
treef7a4225854fd7cfda75773f33d003fe9aa63304e /common/flash_common.c
parent82cd5b0daad82b34c27a18a9d0a38f74977fbf59 (diff)
downloadchrome-ec-00799d5bc17c8aeb45bdff795b94a8310af9f18f.tar.gz
stm32f: Flash write protect
Implement STM32F write protect to match refactored flash module. Also move fake write-protect pin to use backup register to preserve value across reboot. BUG=chrome-os-partner:11699 TEST=1. 'flashinfo' -> no flags 2. 'fakewp 1' -> 'wp_gpio_asserted' 3. 'flashwp enable' -> 'wp_gpio_asserted ro_at_boot' 4. 'reboot' -> 'wp_gpio_asserted ro_at_boot ro_now' 5. 'fakewp 0' -> 'ro_at_boot ro_now' 6. 'reboot' -> 'ro_at_boot' 7. 'fakewp 1' -> 'wp_gpio_asserted ro_at_boot' 8. 'flashwp rw' -> 'wp_gpio_asserted ro_at_boot rw_at_boot' 9. 'reboot' -> 'wp_gpio_asserted ro_at_boot ro_now rw_at_boot rw_now' 10.'flashwp disable'-> error 7 11.'flashwp norw' -> 'wp_gpio_asserted ro_at_boot ro_now rw_now' 12.'reboot' -> 'wp_gpio_asserted ro_at_boot ro_now' Change-Id: I40405c266e30b10793ccae2f1d26fb9710ce304b Reviewed-on: https://gerrit.chromium.org/gerrit/28372 Reviewed-by: Randall Spangler <rspangler@chromium.org> Commit-Ready: Vic Yang <victoryang@chromium.org> Tested-by: Vic Yang <victoryang@chromium.org>
Diffstat (limited to 'common/flash_common.c')
-rw-r--r--common/flash_common.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/common/flash_common.c b/common/flash_common.c
index b2cb5fbaf5..84a2a2d55a 100644
--- a/common/flash_common.c
+++ b/common/flash_common.c
@@ -93,6 +93,8 @@ static int command_flash_info(int argc, char **argv)
ccputs(" wp_gpio_asserted");
if (i & EC_FLASH_PROTECT_RO_AT_BOOT)
ccputs(" ro_at_boot");
+ if (i & EC_FLASH_PROTECT_RW_AT_BOOT)
+ ccputs(" rw_at_boot");
if (i & EC_FLASH_PROTECT_RO_NOW)
ccputs(" ro_now");
if (i & EC_FLASH_PROTECT_RW_NOW)
@@ -192,11 +194,15 @@ static int command_flash_wp(int argc, char **argv)
else if (!strcasecmp(argv[1], "now"))
return flash_set_protect(EC_FLASH_PROTECT_RW_NOW |
EC_FLASH_PROTECT_RO_NOW, -1);
+ else if (!strcasecmp(argv[1], "rw"))
+ return flash_set_protect(EC_FLASH_PROTECT_RW_AT_BOOT, -1);
+ else if (!strcasecmp(argv[1], "norw"))
+ return flash_set_protect(EC_FLASH_PROTECT_RW_AT_BOOT, 0);
else
return EC_ERROR_PARAM1;
}
DECLARE_CONSOLE_COMMAND(flashwp, command_flash_wp,
- "<enable | disable | now>",
+ "<enable | disable | now | rw | norw>",
"Modify flash write protect",
NULL);