diff options
author | Bill Richardson <wfrichar@chromium.org> | 2013-08-21 08:59:53 -0700 |
---|---|---|
committer | ChromeBot <chrome-bot@google.com> | 2013-08-21 19:20:39 -0700 |
commit | 5d1eeefdbcf16e9eb18540b7b6ed4aff8609c4d9 (patch) | |
tree | 837a935dce6b5fe30036de20cfd66bd0f7b2948b /board/link | |
parent | 046d6256712e35ea0bc9eae4acf0363a9f8895d4 (diff) | |
download | chrome-ec-5d1eeefdbcf16e9eb18540b7b6ed4aff8609c4d9.tar.gz |
Lock BOOTCFG to safe values for all LM4s
The BOOTCFG register configures a couple of important things: whether to
allow jumping into the builtin ROM bootloader at reset, and whether or not
to allow JTAG access for programing and debugging.
The default is "no" and "yes". But the BOOTCFG register can be locked so
that it can't be changed again, which means that if the wrong values are put
into it, the system is pretty much bricked.
On Link, we wrote a BOOTCFG value that allowed a GPIO to be used as a bypass
to optionally trigger the ROM bootloader, but on Slippy and its derivatives
that GPIO is not pulled up. If you program the Link values into BOOTCFG on a
Slippy, the system is stuck in the ROM bootloader more or less forever.
This change disables that GPIO, keeps JTAG enabled, and locks those settings
for all LM4 chips (it's a chip config now, not a board config). We've never
actually used the GPIO to invoke the ROM bootloader, but we have managed to
brick a number of systems just by having it enabled, so we're going to lock
it into a safe configuration now.
BUG=chrome-os-partner:19247
BRANCH=falco,peppy
TEST=manual
Reflash, boot, power cycle (actually unplug the EC from AC and battery) a
few times. It should continue to work.
Change-Id: Iaf1a81d6814104421a56425490e3d5164ea9b617
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/66538
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'board/link')
-rw-r--r-- | board/link/board.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/board/link/board.h b/board/link/board.h index 7c1a9f23ba..e5a6c58691 100644 --- a/board/link/board.h +++ b/board/link/board.h @@ -207,11 +207,6 @@ enum temp_sensor_id { /* The number of TMP006 sensor chips on the board. */ #define TMP006_COUNT 4 -/* 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 - /* Wireless signals */ #define WIRELESS_GPIO_WLAN GPIO_RADIO_ENABLE_WLAN #define WIRELESS_GPIO_BLUETOOTH GPIO_RADIO_ENABLE_BT |