summaryrefslogtreecommitdiff
path: root/src/vendorcode/google
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2017-03-17 13:04:12 -0700
committerJulius Werner <jwerner@chromium.org>2017-03-28 22:15:46 +0200
commit320edbe2ba01a1b5d9de25bc217b8dae936b8b17 (patch)
treec89406965dfc086ea449b25c545e061938bc183f /src/vendorcode/google
parentfa8fa7dd540db7c6f363f75c12b2063c3cdc3908 (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/google')
-rw-r--r--src/vendorcode/google/chromeos/Kconfig19
-rw-r--r--src/vendorcode/google/chromeos/chromeos.c6
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.