summaryrefslogtreecommitdiff
path: root/board/bds
diff options
context:
space:
mode:
authorBill Richardson <wfrichar@chromium.org>2013-08-21 08:59:53 -0700
committerChromeBot <chrome-bot@google.com>2013-08-21 19:20:39 -0700
commit5d1eeefdbcf16e9eb18540b7b6ed4aff8609c4d9 (patch)
tree837a935dce6b5fe30036de20cfd66bd0f7b2948b /board/bds
parent046d6256712e35ea0bc9eae4acf0363a9f8895d4 (diff)
downloadchrome-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/bds')
-rw-r--r--board/bds/board.h4
1 files changed, 0 insertions, 4 deletions
diff --git a/board/bds/board.h b/board/bds/board.h
index 9d4672a34d..b35cf0445b 100644
--- a/board/bds/board.h
+++ b/board/bds/board.h
@@ -66,10 +66,6 @@ enum gpio_signal {
#define EEPROM_BLOCK_START_PSTORE 16 /* Host persistent storage */
#define EEPROM_BLOCK_COUNT_PSTORE 16
-/* Target value for BOOTCFG. This currently toggles the polarity bit without
- * enabling the boot loader, simply to prove we can program it. */
-#define BOOTCFG_VALUE 0xfffffdfe
-
#endif /* !__ASSEMBLER__ */
#endif /* __BOARD_H */