Patrick Georgi (pgeorgi@google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9444
-gerrit
commit 06eb1bf47da16d66e0ac6f203142c8ad6d866855 Author: Daisuke Nojiri dnojiri@chromium.org Date: Thu Nov 13 11:35:52 2014 -0800
vboot: add physical recovery switch support
PHYSICAL_REC_SWITCH is set n by default and y for panther and stumpy.
BUG=none BRANCH=ToT TEST=Built nyan_blaze using vboot1/2. Built falco, lumpy, nyan, blaze, parrot, rambi, samus, storm, pinky with default configuration. panther and stumpy are not tested because they currently don't build on ToT.
Original-Change-Id: Ic45f78708aaa7e485d2ab459fd1948524edb412f Original-Signed-off-by: Daisuke Nojiri dnojiri@chromium.org Original-Reviewed-on: https://chromium-review.googlesource.com/227940 Original-Reviewed-on: https://chromium-review.googlesource.com/229602 Original-Reviewed-by: Randall Spangler rspangler@chromium.org Original-Reviewed-by: David Hendricks dhendrix@chromium.org
(cherry picked from commit edb2ba347b48887ffe450586af0351e384faad59) Signed-off-by: Aaron Durbin adurbin@chromium.org
Change-Id: I277f665cd4f3e1c21745cdc5c7a2cfe148661abe --- src/mainboard/google/panther/Kconfig | 1 + src/mainboard/samsung/stumpy/Kconfig | 1 + src/vendorcode/google/chromeos/Kconfig | 6 ++++++ src/vendorcode/google/chromeos/vboot1/vboot_loader.c | 4 ++-- src/vendorcode/google/chromeos/vboot2/vboot_handoff.c | 5 +++-- 5 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/src/mainboard/google/panther/Kconfig b/src/mainboard/google/panther/Kconfig index 607b690..5f2efb9 100644 --- a/src/mainboard/google/panther/Kconfig +++ b/src/mainboard/google/panther/Kconfig @@ -18,6 +18,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select EXTERNAL_MRC_BLOB select MONOTONIC_TIMER_MSR select INTEL_INT15 + select PHYSICAL_REC_SWITCH
config VBOOT_RAMSTAGE_INDEX hex diff --git a/src/mainboard/samsung/stumpy/Kconfig b/src/mainboard/samsung/stumpy/Kconfig index 1b65eae..3f39e70 100644 --- a/src/mainboard/samsung/stumpy/Kconfig +++ b/src/mainboard/samsung/stumpy/Kconfig @@ -11,6 +11,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select NORTHBRIDGE_INTEL_SANDYBRIDGE select SOUTHBRIDGE_INTEL_BD82X6X select SUPERIO_ITE_IT8772F + select PHYSICAL_REC_SWITCH # LPC47N207 selected for external LPC card # not on board, should be made selectable. select SUPERIO_SMSC_LPC47N207 diff --git a/src/vendorcode/google/chromeos/Kconfig b/src/vendorcode/google/chromeos/Kconfig index 29252a6..cb15d13 100644 --- a/src/vendorcode/google/chromeos/Kconfig +++ b/src/vendorcode/google/chromeos/Kconfig @@ -159,6 +159,12 @@ config NO_TPM_RESUME boards, booting Windows will break if the TPM resume command is sent during an S3 resume.
+config PHYSICAL_REC_SWITCH + bool "Physical recovery switch is present" + default n + help + Whether this platform has a physical recovery switch + source src/vendorcode/google/chromeos/vboot1/Kconfig source src/vendorcode/google/chromeos/vboot2/Kconfig
diff --git a/src/vendorcode/google/chromeos/vboot1/vboot_loader.c b/src/vendorcode/google/chromeos/vboot1/vboot_loader.c index 0353a3a..97ca902 100644 --- a/src/vendorcode/google/chromeos/vboot1/vboot_loader.c +++ b/src/vendorcode/google/chromeos/vboot1/vboot_loader.c @@ -226,10 +226,10 @@ static void vboot_invoke_wrapper(struct vboot_handoff *vboot_handoff) *iflags |= VB_INIT_FLAG_SW_WP_ENABLED; if (CONFIG_VIRTUAL_DEV_SWITCH) *iflags |= VB_INIT_FLAG_VIRTUAL_DEV_SWITCH; - if (CONFIG_EC_SOFTWARE_SYNC) { + if (CONFIG_EC_SOFTWARE_SYNC) *iflags |= VB_INIT_FLAG_EC_SOFTWARE_SYNC; + if (!CONFIG_PHYSICAL_REC_SWITCH) *iflags |= VB_INIT_FLAG_VIRTUAL_REC_SWITCH; - } if (CONFIG_VBOOT_EC_SLOW_UPDATE) *iflags |= VB_INIT_FLAG_EC_SLOW_UPDATE; if (CONFIG_VBOOT_OPROM_MATTERS) { diff --git a/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c b/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c index 326a9bb..2dadffa 100644 --- a/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c +++ b/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c @@ -104,10 +104,11 @@ static void fill_vboot_handoff(struct vboot_handoff *vboot_handoff, /* TODO: Set these in depthcharge */ if (CONFIG_VIRTUAL_DEV_SWITCH) vb_sd->flags |= VBSD_HONOR_VIRT_DEV_SWITCH; - if (CONFIG_EC_SOFTWARE_SYNC) { + if (CONFIG_EC_SOFTWARE_SYNC) vb_sd->flags |= VBSD_EC_SOFTWARE_SYNC; + if (!CONFIG_PHYSICAL_REC_SWITCH) vb_sd->flags |= VBSD_BOOT_REC_SWITCH_VIRTUAL; - } + /* In vboot1, VBSD_FWB_TRIED is * set only if B is booted as explicitly requested. Therefore, if B is * booted because A was found bad, the flag should not be set. It's