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 Reviewed-on: http://review.coreboot.org/9444 Reviewed-by: Patrick Georgi <pgeorgi@google.com> Tested-by: build bot (Jenkins)
This commit is contained in:
committed by
Aaron Durbin
parent
183ad81cfe
commit
2624c8d337
@ -18,6 +18,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||||||
select EXTERNAL_MRC_BLOB
|
select EXTERNAL_MRC_BLOB
|
||||||
select MONOTONIC_TIMER_MSR
|
select MONOTONIC_TIMER_MSR
|
||||||
select INTEL_INT15
|
select INTEL_INT15
|
||||||
|
select PHYSICAL_REC_SWITCH
|
||||||
|
|
||||||
config VBOOT_RAMSTAGE_INDEX
|
config VBOOT_RAMSTAGE_INDEX
|
||||||
hex
|
hex
|
||||||
|
@ -11,6 +11,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||||||
select NORTHBRIDGE_INTEL_SANDYBRIDGE
|
select NORTHBRIDGE_INTEL_SANDYBRIDGE
|
||||||
select SOUTHBRIDGE_INTEL_BD82X6X
|
select SOUTHBRIDGE_INTEL_BD82X6X
|
||||||
select SUPERIO_ITE_IT8772F
|
select SUPERIO_ITE_IT8772F
|
||||||
|
select PHYSICAL_REC_SWITCH
|
||||||
# LPC47N207 selected for external LPC card
|
# LPC47N207 selected for external LPC card
|
||||||
# not on board, should be made selectable.
|
# not on board, should be made selectable.
|
||||||
select SUPERIO_SMSC_LPC47N207
|
select SUPERIO_SMSC_LPC47N207
|
||||||
|
@ -159,6 +159,12 @@ config NO_TPM_RESUME
|
|||||||
boards, booting Windows will break if the TPM resume command
|
boards, booting Windows will break if the TPM resume command
|
||||||
is sent during an S3 resume.
|
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/vboot1/Kconfig
|
||||||
source src/vendorcode/google/chromeos/vboot2/Kconfig
|
source src/vendorcode/google/chromeos/vboot2/Kconfig
|
||||||
|
|
||||||
|
@ -226,10 +226,10 @@ static void vboot_invoke_wrapper(struct vboot_handoff *vboot_handoff)
|
|||||||
*iflags |= VB_INIT_FLAG_SW_WP_ENABLED;
|
*iflags |= VB_INIT_FLAG_SW_WP_ENABLED;
|
||||||
if (CONFIG_VIRTUAL_DEV_SWITCH)
|
if (CONFIG_VIRTUAL_DEV_SWITCH)
|
||||||
*iflags |= VB_INIT_FLAG_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;
|
*iflags |= VB_INIT_FLAG_EC_SOFTWARE_SYNC;
|
||||||
|
if (!CONFIG_PHYSICAL_REC_SWITCH)
|
||||||
*iflags |= VB_INIT_FLAG_VIRTUAL_REC_SWITCH;
|
*iflags |= VB_INIT_FLAG_VIRTUAL_REC_SWITCH;
|
||||||
}
|
|
||||||
if (CONFIG_VBOOT_EC_SLOW_UPDATE)
|
if (CONFIG_VBOOT_EC_SLOW_UPDATE)
|
||||||
*iflags |= VB_INIT_FLAG_EC_SLOW_UPDATE;
|
*iflags |= VB_INIT_FLAG_EC_SLOW_UPDATE;
|
||||||
if (CONFIG_VBOOT_OPROM_MATTERS) {
|
if (CONFIG_VBOOT_OPROM_MATTERS) {
|
||||||
|
@ -104,10 +104,11 @@ static void fill_vboot_handoff(struct vboot_handoff *vboot_handoff,
|
|||||||
/* TODO: Set these in depthcharge */
|
/* TODO: Set these in depthcharge */
|
||||||
if (CONFIG_VIRTUAL_DEV_SWITCH)
|
if (CONFIG_VIRTUAL_DEV_SWITCH)
|
||||||
vb_sd->flags |= VBSD_HONOR_VIRT_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;
|
vb_sd->flags |= VBSD_EC_SOFTWARE_SYNC;
|
||||||
|
if (!CONFIG_PHYSICAL_REC_SWITCH)
|
||||||
vb_sd->flags |= VBSD_BOOT_REC_SWITCH_VIRTUAL;
|
vb_sd->flags |= VBSD_BOOT_REC_SWITCH_VIRTUAL;
|
||||||
}
|
|
||||||
/* In vboot1, VBSD_FWB_TRIED is
|
/* In vboot1, VBSD_FWB_TRIED is
|
||||||
* set only if B is booted as explicitly requested. Therefore, if B 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
|
* booted because A was found bad, the flag should not be set. It's
|
||||||
|
Reference in New Issue
Block a user