diff options
author | Julius Werner <jwerner@chromium.org> | 2017-03-17 13:04:12 -0700 |
---|---|---|
committer | Julius Werner <jwerner@chromium.org> | 2017-03-28 22:15:46 +0200 |
commit | 320edbe2ba01a1b5d9de25bc217b8dae936b8b17 (patch) | |
tree | c89406965dfc086ea449b25c545e061938bc183f /src/vendorcode | |
parent | fa8fa7dd540db7c6f363f75c12b2063c3cdc3908 (diff) |
vboot: Assume EC_SOFTWARE_SYNC and VIRTUAL_DEV_SWITCH by default
The virtualized developer switch was invented five years ago and has
been used on every vboot system ever since. We shouldn't need to specify
it again and again for every new board. This patch flips the Kconfig
logic around and replaces CONFIG_VIRTUAL_DEV_SWITCH with
CONFIG_PHYSICAL_DEV_SWITCH, so that only a few ancient boards need to
set it and it fits better with CONFIG_PHYSICAL_REC_SWITCH. (Also set the
latter for Lumpy which seems to have been omitted incorrectly, and hide
it from menuconfig since it's a hardware parameter that shouldn't be
configurable.)
Since almost all our developer switches are virtual, it doesn't make
sense for every board to pass a non-existent or non-functional developer
mode switch in the coreboot tables, so let's get rid of that. It's also
dangerously confusing for many boards to define a get_developer_mode()
function that reads an actual pin (often from a debug header) which will
not be honored by coreboot because CONFIG_PHYSICAL_DEV_SWITCH isn't set.
Therefore, this patch removes all those non-functional instances of that
function. In the future, either the board has a physical dev switch and
must define it, or it doesn't and must not.
In a similar sense (and since I'm touching so many board configs
anyway), it's annoying that we have to keep selecting EC_SOFTWARE_SYNC.
Instead, it should just be assumed by default whenever a Chrome EC is
present in the system. This way, it can also still be overridden by
menuconfig.
CQ-DEPEND=CL:459701
Change-Id: If9cbaa7df530580a97f00ef238e3d9a8a86a4a7f
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/18980
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/vendorcode')
-rw-r--r-- | src/vendorcode/google/chromeos/Kconfig | 19 | ||||
-rw-r--r-- | src/vendorcode/google/chromeos/chromeos.c | 6 |
2 files changed, 11 insertions, 14 deletions
diff --git a/src/vendorcode/google/chromeos/Kconfig b/src/vendorcode/google/chromeos/Kconfig index 3c6237abcf..62e60d40d4 100644 --- a/src/vendorcode/google/chromeos/Kconfig +++ b/src/vendorcode/google/chromeos/Kconfig @@ -61,6 +61,7 @@ config CHROMEOS_RAMOOPS_RAM_SIZE config EC_SOFTWARE_SYNC bool "Enable EC software sync" + default y if EC_GOOGLE_CHROMEEC default n depends on VBOOT help @@ -76,13 +77,6 @@ config VBOOT_EC_SLOW_UPDATE Whether the EC (or PD) is slow to update and needs to display a screen that informs the user the update is happening. -config VIRTUAL_DEV_SWITCH - bool "Virtual developer switch support" - default n - depends on VBOOT - help - Whether this platform has a virtual developer switch. - config NO_TPM_RESUME bool default n @@ -91,8 +85,17 @@ config NO_TPM_RESUME boards, booting Windows will break if the TPM resume command is sent during an S3 resume. +config PHYSICAL_DEV_SWITCH + bool + default n + help + Whether this platform has a physical developer switch. Note that this + disables virtual dev switch functionality (through secdata). Operation + where both a physical pin and the virtual switch get sampled is not + supported by coreboot. + config PHYSICAL_REC_SWITCH - bool "Physical recovery switch is present" + bool default n help Whether this platform has a physical recovery switch diff --git a/src/vendorcode/google/chromeos/chromeos.c b/src/vendorcode/google/chromeos/chromeos.c index dddce63f0f..4edf74a844 100644 --- a/src/vendorcode/google/chromeos/chromeos.c +++ b/src/vendorcode/google/chromeos/chromeos.c @@ -17,12 +17,6 @@ #include <string.h> #include "chromeos.h" -int __attribute__((weak)) get_developer_mode_switch(void) -{ - // Weak implementation. No physical developer switch. - return 0; -} - int __attribute__((weak)) clear_recovery_mode_switch(void) { // Weak implementation. Nothing to do. |