diff options
author | Vic Yang <victoryang@chromium.org> | 2012-07-05 11:16:22 +0800 |
---|---|---|
committer | Gerrit <chrome-bot@google.com> | 2012-07-10 21:52:13 -0700 |
commit | 142b0073bca43bd6d83b45cb6c9abdbcdf1c4f79 (patch) | |
tree | 68fba850d2759060cbfcd102069ecf115d7939fb /board | |
parent | 29332907d401aec3485e793ba505cd0c3f402dd1 (diff) | |
download | chrome-ec-142b0073bca43bd6d83b45cb6c9abdbcdf1c4f79.tar.gz |
Set proper value for BOOTCFG
We choose PE2/USB1_CTL1 for BOOTCFG. If we somehow brick the EC, we can
pull this signal to ground and boot EC into boot loader to recover it.
BUG=chrome-os-partner:8769
TEST=On link:
- Factory reset EC to clear BOOTCFG
- Flash new EC binary and reboot
- rw 0x400fe1d0 to check BOOTCFG value is correctly written
- Boot normally and check EC is operating correctly
- Pull the signal to ground and reset EC, check EC stays in boot
loader. Check in this case we can program EC.
- Attempt to write different value to BOOTCFG and check BOOTCFG
doesn't change.
Change-Id: Ia6705114d495b18bd7ee4afc1e61e84a21b51198
Reviewed-on: https://gerrit.chromium.org/gerrit/27000
Reviewed-by: Vic Yang <victoryang@chromium.org>
Tested-by: Vic Yang <victoryang@chromium.org>
Commit-Ready: Vic Yang <victoryang@chromium.org>
Diffstat (limited to 'board')
-rw-r--r-- | board/link/board.h | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/board/link/board.h b/board/link/board.h index c720a68b6b..d6911f86bd 100644 --- a/board/link/board.h +++ b/board/link/board.h @@ -225,13 +225,10 @@ enum temp_sensor_id { /* The number of TMP006 sensor chips on the board. */ #define TMP006_COUNT 4 -/* Target value for BOOTCFG. This currently toggles the polarity bit without - * enabling the boot loader, simply to prove we can program it. */ -/* TODO: (crosbug.com/p/8769) set BOOTCFG to 0x7ffffffe, which will prevent - * subsequent writes to BOOTCFG. Alternately, we could set BOOTCFG to some - * signal which has a pullup/pulldown, and use that as a failsafe to get into - * the boot loader, if we somehow brick the RO firmware. */ -#define BOOTCFG_VALUE 0xfffffdfe +/* Target value for BOOTCFG. This is set to PE2/USB1_CTL1, which has an external + * pullup. If this signal is pulled to ground when the EC boots, the EC will get + * into the boot loader and we can recover bricked EC. */ +#define BOOTCFG_VALUE 0x7fff88fe /* Known board versions for system_get_board_version(). */ enum board_version { |