coreboot-kgpe-d16/src/mainboard/google/veyron_pinky
Julius Werner 2460a5564f veyron: Trigger hard reset (via GPIO) if last reboot was caused by watchdog
Like Nyan, Veyron boards use a GPIO to reset the system so that we can
make the accompanying TPM reset secure and unforgeable. The normal
kernel reboot driver knows that, but the SoC-internal watchdog doesn't.

This patch implements a check for the global reset status register in
the early bootblock and triggers a hard_reset() when it matches "first
global watchdog reset" or "second global watchdog reset". Seems that
the difference between the two is is a choice controlled by
wdt_glb_srst_ctrl (unconfirmed), and we want this code to run in both
cases.

BRANCH=None
BUG=chrome-os-partner:33141
TEST=Run 'mem w 0xff800000 0x9' from the command line, watch how you end
up in recovery without this patch but can boot normally with it.

Change-Id: Ice79648831e1e97d22325711da9e82bbf6bf3c75
Signed-off-by: Stefan Reinauer <reinauer@chromium.org>
Original-Commit-Id: 5d7cb52b2c2dcb2fff0bf83fc168439dade4b1b7
Original-Change-Id: I2581bde84f0445c15896060544e9acb60de91c8c
Original-Signed-off-by: Julius Werner <jwerner@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/231734
Original-Reviewed-by: David Hendricks <dhendrix@chromium.org>
Reviewed-on: http://review.coreboot.org/9629
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marc.jones@se-eng.com>
2015-04-15 16:27:23 +02:00
..
sdram_inf veyron_pinky/rk3288: Use KHz, MHz and GHz constants 2015-04-04 15:02:24 +02:00
board.h gpio: Extend common GPIO header, simplify function names 2015-04-10 11:57:33 +02:00
boardid.c veyron*: sdram_get_ram_code() -> ram_code() 2015-04-10 20:50:16 +02:00
bootblock.c veyron: Trigger hard reset (via GPIO) if last reboot was caused by watchdog 2015-04-15 16:27:23 +02:00
chromeos.c nyan/rush/veyron: Align ChromeOS GPIOs to new model 2015-04-13 13:03:01 +02:00
devicetree.cb rockchip: support display 2015-04-10 20:50:53 +02:00
Kconfig veyron*: select VIRTUAL_DEV_SWITCH 2015-04-10 20:50:47 +02:00
mainboard.c veyron: Turn off SD card power in romstage 2015-04-15 07:30:12 +02:00
Makefile.inc New mechanism to define SRAM/memory map with automatic bounds checking 2015-04-06 22:05:01 +02:00
memlayout.ld rk3288: Change all SoC headers to <soc/headername.h> system 2015-04-08 09:28:50 +02:00
reset.c gpio: Extend common GPIO header, simplify function names 2015-04-10 11:57:33 +02:00
romstage.c veyron: Turn off SD card power in romstage 2015-04-15 07:30:12 +02:00
sdram_configs.c veyron*: sdram_get_ram_code() -> ram_code() 2015-04-10 20:50:16 +02:00