diff options
author | Vincent Palatin <vpalatin@chromium.org> | 2015-01-06 16:04:43 -0800 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-01-08 00:38:17 +0000 |
commit | cca794d2fec61133f09b6e1cc6816392f11e15cb (patch) | |
tree | 06cff81c910ae796f2859b9d78f3b656ae1d846a /util | |
parent | dc1362ca82e72ac488bb25d308c97aaf733274fc (diff) | |
download | chrome-ec-cca794d2fec61133f09b6e1cc6816392f11e15cb.tar.gz |
pd: dingdong/hoho: Enable flash write-protection
These USB type-C accessories don't have a write-protect GPIO.
Add a configure flag (CONFIG_WP_ALWAYS) to force the flash
write-protection on the dongles.
Also set the read protection (by elevating RDP to level 1),
so trying to unprotect the flash will trigger a full erase.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BRANCH=samus
BUG=chrome-os-partner:35088
TEST=boot Hoho,
check the flash OBR and WRPR registers:
"rw 0x4002201c" / "rw 0x40022020"
and the option bytes write-protect bits: "rw 0x1FFFF808"
dump the logical state with "flashinfo" command.
> rw 0x4002201c
read 0x40022020 = 0xffff0002
> rw 0x40022020
read 0x40022020 = 0xffff0000
> rw 0x1FFFF808
read 0x1ffff808 = 0xff00ff00
> flashinfo
Physical: 128 KB
Usable: 128 KB
Write: 2 B (ideal 2 B)
Erase: 2048 B (to 1-bits)
Protect: 4096 B
Flags: wp_gpio_asserted ro_at_boot ro_now
Protected now:
YYYYYYYY YYYYYYYY ........ ........
Change-Id: I45bbc0bce40ecc174b6b8a1ebacf4f53d2fd372d
Reviewed-on: https://chromium-review.googlesource.com/238893
Trybot-Ready: Vincent Palatin <vpalatin@chromium.org>
Commit-Queue: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Todd Broch <tbroch@chromium.org>
Tested-by: Todd Broch <tbroch@chromium.org>
Diffstat (limited to 'util')
-rwxr-xr-x | util/flash_ec | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/util/flash_ec b/util/flash_ec index 3278f1d8fd..0d840a9ae4 100755 --- a/util/flash_ec +++ b/util/flash_ec @@ -353,6 +353,11 @@ function flash_stm32_dfu() { fi SIZE=$(wc -c ${IMG} | cut -d' ' -f1) + # Remove read protection + sudo $DFU_UTIL -a 0 -s ${ADDR}:${SIZE}:force:unprotect -D "${IMG}" + # Wait for mass-erase and reboot after unprotection + sleep 1 + # Actual image flashing sudo $DFU_UTIL -a 0 -s ${ADDR}:${SIZE} -D "${IMG}" } |