diff options
author | Vic Yang <victoryang@chromium.org> | 2012-07-22 13:17:23 +0800 |
---|---|---|
committer | Gerrit <chrome-bot@google.com> | 2012-07-26 18:28:14 -0700 |
commit | 00799d5bc17c8aeb45bdff795b94a8310af9f18f (patch) | |
tree | f7a4225854fd7cfda75773f33d003fe9aa63304e /common/flash_common.c | |
parent | 82cd5b0daad82b34c27a18a9d0a38f74977fbf59 (diff) | |
download | chrome-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.c | 8 |
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); |