[coreboot-gerrit] Change in coreboot[master]: vboot: Assume EC_SOFTWARE_SYNC and VIRTUAL_DEV_SWITCH by def...

Julius Werner (Code Review) gerrit at coreboot.org
Tue Mar 28 22:15:56 CEST 2017


Julius Werner has submitted this change and it was merged. ( https://review.coreboot.org/18980 )

Change subject: vboot: Assume EC_SOFTWARE_SYNC and VIRTUAL_DEV_SWITCH by default
......................................................................


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 at chromium.org>
Reviewed-on: https://review.coreboot.org/18980
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin at chromium.org>
---
M src/mainboard/google/auron/Kconfig
M src/mainboard/google/auron/chromeos.c
M src/mainboard/google/beltino/Kconfig
M src/mainboard/google/beltino/chromeos.c
M src/mainboard/google/butterfly/chromeos.c
M src/mainboard/google/chell/chromeos.c
M src/mainboard/google/cosmos/chromeos.c
M src/mainboard/google/cyan/Kconfig
M src/mainboard/google/cyan/chromeos.c
M src/mainboard/google/daisy/chromeos.c
M src/mainboard/google/eve/chromeos.c
M src/mainboard/google/fizz/chromeos.c
M src/mainboard/google/foster/Kconfig
M src/mainboard/google/foster/chromeos.c
M src/mainboard/google/gale/Kconfig
M src/mainboard/google/gale/chromeos.c
M src/mainboard/google/glados/chromeos.c
M src/mainboard/google/gru/Kconfig
M src/mainboard/google/jecht/Kconfig
M src/mainboard/google/jecht/chromeos.c
M src/mainboard/google/lars/chromeos.c
M src/mainboard/google/link/chromeos.c
M src/mainboard/google/nyan/Kconfig
M src/mainboard/google/nyan/chromeos.c
M src/mainboard/google/nyan_big/Kconfig
M src/mainboard/google/nyan_big/chromeos.c
M src/mainboard/google/nyan_blaze/Kconfig
M src/mainboard/google/nyan_blaze/chromeos.c
M src/mainboard/google/oak/Kconfig
M src/mainboard/google/oak/chromeos.c
M src/mainboard/google/parrot/chromeos.c
M src/mainboard/google/peach_pit/chromeos.c
M src/mainboard/google/poppy/chromeos.c
M src/mainboard/google/purin/chromeos.c
M src/mainboard/google/rambi/Kconfig
M src/mainboard/google/rambi/chromeos.c
M src/mainboard/google/reef/chromeos.c
M src/mainboard/google/rotor/chromeos.c
M src/mainboard/google/slippy/Kconfig
M src/mainboard/google/slippy/chromeos.c
M src/mainboard/google/smaug/Kconfig
M src/mainboard/google/smaug/chromeos.c
M src/mainboard/google/storm/Kconfig
M src/mainboard/google/storm/chromeos.c
M src/mainboard/google/stout/chromeos.c
M src/mainboard/google/urara/chromeos.c
M src/mainboard/google/veyron/Kconfig
M src/mainboard/google/veyron/chromeos.c
M src/mainboard/google/veyron_mickey/Kconfig
M src/mainboard/google/veyron_mickey/chromeos.c
M src/mainboard/google/veyron_rialto/Kconfig
M src/mainboard/google/veyron_rialto/chromeos.c
M src/mainboard/intel/baskingridge/chromeos.c
M src/mainboard/intel/emeraldlake2/chromeos.c
M src/mainboard/intel/galileo/vboot.c
M src/mainboard/intel/kblrvp/chromeos.c
M src/mainboard/intel/kunimitsu/chromeos.c
M src/mainboard/intel/strago/Kconfig
M src/mainboard/intel/strago/chromeos.c
M src/mainboard/intel/wtm2/chromeos.c
M src/mainboard/samsung/lumpy/Kconfig
M src/mainboard/samsung/stumpy/Kconfig
M src/soc/intel/apollolake/Kconfig
M src/soc/intel/skylake/Kconfig
M src/vboot/bootmode.c
M src/vboot/vboot_handoff.c
M src/vboot/vboot_logic.c
M src/vendorcode/google/chromeos/Kconfig
M src/vendorcode/google/chromeos/chromeos.c
69 files changed, 17 insertions(+), 289 deletions(-)

Approvals:
  Aaron Durbin: Looks good to me, approved
  build bot (Jenkins): Verified



diff --git a/src/mainboard/google/auron/Kconfig b/src/mainboard/google/auron/Kconfig
index 00b4be8..41c9a7c 100644
--- a/src/mainboard/google/auron/Kconfig
+++ b/src/mainboard/google/auron/Kconfig
@@ -17,10 +17,8 @@
 config CHROMEOS
 	select CHROMEOS_RAMOOPS_DYNAMIC
 	select EC_GOOGLE_CHROMEEC_SWITCHES
-	select EC_SOFTWARE_SYNC
 	select LID_SWITCH
 	select VBOOT_VBNV_CMOS
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/auron/chromeos.c b/src/mainboard/google/auron/chromeos.c
index 61b3e4e..3355136 100644
--- a/src/mainboard/google/auron/chromeos.c
+++ b/src/mainboard/google/auron/chromeos.c
@@ -28,7 +28,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{CROS_WP_GPIO, ACTIVE_HIGH, 0, "write protect"},
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
diff --git a/src/mainboard/google/beltino/Kconfig b/src/mainboard/google/beltino/Kconfig
index c430018..bceb8fb 100644
--- a/src/mainboard/google/beltino/Kconfig
+++ b/src/mainboard/google/beltino/Kconfig
@@ -18,7 +18,6 @@
 config CHROMEOS
 	select PHYSICAL_REC_SWITCH
 	select VBOOT_VBNV_CMOS
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/beltino/chromeos.c b/src/mainboard/google/beltino/chromeos.c
index 4ee6810..7412c62 100644
--- a/src/mainboard/google/beltino/chromeos.c
+++ b/src/mainboard/google/beltino/chromeos.c
@@ -38,7 +38,6 @@
 		{GPIO_SPI_WP, ACTIVE_HIGH, 0, "write protect"},
 		{GPIO_REC_MODE, ACTIVE_LOW,
 			get_recovery_mode_switch(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, 1, "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
@@ -56,11 +55,6 @@
 	dev = dev_find_slot(0, PCI_DEVFN(0x1f, 2));
 #endif
 	return (pci_read_config32(dev, SATA_SP) >> FLAG_SPI_WP) & 1;
-}
-
-int get_developer_mode_switch(void)
-{
-	return 0;
 }
 
 int get_recovery_mode_switch(void)
diff --git a/src/mainboard/google/butterfly/chromeos.c b/src/mainboard/google/butterfly/chromeos.c
index b2e3356..42f6189 100644
--- a/src/mainboard/google/butterfly/chromeos.c
+++ b/src/mainboard/google/butterfly/chromeos.c
@@ -29,7 +29,6 @@
 #define WP_GPIO		6
 #define DEVMODE_GPIO	54
 #define FORCE_RECOVERY_MODE	0
-#define FORCE_DEVELOPER_MODE	0
 
 #ifndef __PRE_RAM__
 #include <boot/coreboot_tables.h>
@@ -60,13 +59,6 @@
 	gpios->gpios[1].polarity = ACTIVE_HIGH;
 	gpios->gpios[1].value = get_recovery_mode_switch();
 	strncpy((char *)gpios->gpios[1].name,"recovery", GPIO_MAX_NAME_LENGTH);
-
-	/* Developer: virtual GPIO active high */
-	gpios->gpios[2].port = -1;
-	gpios->gpios[2].polarity = ACTIVE_HIGH;
-	gpios->gpios[2].value = get_developer_mode_switch();
-	strncpy((char *)gpios->gpios[2].name,"developer",
-							GPIO_MAX_NAME_LENGTH);
 
 	/* lid switch value from EC */
 	gpios->gpios[3].port = -1;
@@ -99,23 +91,6 @@
 int get_lid_switch(void)
 {
 	return (ec_mem_read(EC_HW_GPI_STATUS) >> EC_GPI_LID_STAT_BIT) & 1;
-}
-
-int get_developer_mode_switch(void)
-{
-	int dev_mode = 0;
-
-#if FORCE_DEVELOPER_MODE
-	printk(BIOS_DEBUG,"FORCING DEVELOPER MODE.\n");
-	return 1;
-#endif
-
-	/* Servo GPIO is active low, reverse it for intial state (request) */
-	dev_mode = !get_gpio(DEVMODE_GPIO);
-	printk(BIOS_DEBUG,"DEVELOPER MODE FROM GPIO %d: %x\n",DEVMODE_GPIO,
-								 dev_mode);
-
-	return dev_mode;
 }
 
 int get_recovery_mode_switch(void)
diff --git a/src/mainboard/google/chell/chromeos.c b/src/mainboard/google/chell/chromeos.c
index fdd1486..3ff52d9 100644
--- a/src/mainboard/google/chell/chromeos.c
+++ b/src/mainboard/google/chell/chromeos.c
@@ -30,7 +30,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
diff --git a/src/mainboard/google/cosmos/chromeos.c b/src/mainboard/google/cosmos/chromeos.c
index a405cf0..d43daa2 100644
--- a/src/mainboard/google/cosmos/chromeos.c
+++ b/src/mainboard/google/cosmos/chromeos.c
@@ -20,11 +20,6 @@
 {
 }
 
-int get_developer_mode_switch(void)
-{
-	return 0;
-}
-
 int get_recovery_mode_switch(void)
 {
 	return 0;
diff --git a/src/mainboard/google/cyan/Kconfig b/src/mainboard/google/cyan/Kconfig
index 6b9d5a2..424c08f 100644
--- a/src/mainboard/google/cyan/Kconfig
+++ b/src/mainboard/google/cyan/Kconfig
@@ -17,10 +17,8 @@
 
 config CHROMEOS
 	select EC_GOOGLE_CHROMEEC_SWITCHES
-	select EC_SOFTWARE_SYNC
 	select LID_SWITCH
 	select VBOOT_VBNV_CMOS
-	select VIRTUAL_DEV_SWITCH
 
 config DISPLAY_SPD_DATA
 	bool "Display Memory Serial Presence Detect Data"
diff --git a/src/mainboard/google/cyan/chromeos.c b/src/mainboard/google/cyan/chromeos.c
index 672bc97..8aac84f 100644
--- a/src/mainboard/google/cyan/chromeos.c
+++ b/src/mainboard/google/cyan/chromeos.c
@@ -35,7 +35,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
 		{-1, ACTIVE_HIGH, vboot_recovery_mode_enabled(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
diff --git a/src/mainboard/google/daisy/chromeos.c b/src/mainboard/google/daisy/chromeos.c
index 452b728..dcac865 100644
--- a/src/mainboard/google/daisy/chromeos.c
+++ b/src/mainboard/google/daisy/chromeos.c
@@ -59,23 +59,10 @@
 		GPIO_MAX_NAME_LENGTH);
 	count++;
 
-	/* Developer: virtual GPIO active high */
-	gpios->gpios[count].port = -1;
-	gpios->gpios[count].polarity = ACTIVE_HIGH;
-	gpios->gpios[count].value = get_developer_mode_switch();
-	strncpy((char *)gpios->gpios[count].name, "developer",
-		GPIO_MAX_NAME_LENGTH);
-	count++;
-
 	gpios->size = sizeof(*gpios) + (count * sizeof(struct lb_gpio));
 	gpios->count = count;
 
 	printk(BIOS_ERR, "Added %d GPIOS size %d\n", count, gpios->size);
-}
-
-int get_developer_mode_switch(void)
-{
-	return 0;
 }
 
 int get_recovery_mode_switch(void)
diff --git a/src/mainboard/google/eve/chromeos.c b/src/mainboard/google/eve/chromeos.c
index de83eaa..a77a23e 100644
--- a/src/mainboard/google/eve/chromeos.c
+++ b/src/mainboard/google/eve/chromeos.c
@@ -29,7 +29,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
diff --git a/src/mainboard/google/fizz/chromeos.c b/src/mainboard/google/fizz/chromeos.c
index 48001e8..bde805f 100644
--- a/src/mainboard/google/fizz/chromeos.c
+++ b/src/mainboard/google/fizz/chromeos.c
@@ -28,7 +28,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
diff --git a/src/mainboard/google/foster/Kconfig b/src/mainboard/google/foster/Kconfig
index 3f02e68..c408ca1 100644
--- a/src/mainboard/google/foster/Kconfig
+++ b/src/mainboard/google/foster/Kconfig
@@ -28,7 +28,6 @@
 
 config CHROMEOS
 	select VBOOT_VBNV_FLASH
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/foster/chromeos.c b/src/mainboard/google/foster/chromeos.c
index e04aff1..3f86c29 100644
--- a/src/mainboard/google/foster/chromeos.c
+++ b/src/mainboard/google/foster/chromeos.c
@@ -52,14 +52,6 @@
 		GPIO_MAX_NAME_LENGTH);
 	count++;
 
-	/* Developer: virtual GPIO active high */
-	gpios->gpios[count].port = -1;
-	gpios->gpios[count].polarity = ACTIVE_HIGH;
-	gpios->gpios[count].value = get_developer_mode_switch();
-	strncpy((char *)gpios->gpios[count].name, "developer",
-		GPIO_MAX_NAME_LENGTH);
-	count++;
-
 	/* TODO: Reset: active low (output) */
 	gpios->gpios[count].port = GPIO(I5);
 	gpios->gpios[count].polarity = ACTIVE_LOW;
@@ -72,11 +64,6 @@
 	gpios->count = count;
 
 	printk(BIOS_ERR, "Added %d GPIOS size %d\n", count, gpios->size);
-}
-
-int get_developer_mode_switch(void)
-{
-	return 0;
 }
 
 int get_recovery_mode_switch(void)
diff --git a/src/mainboard/google/gale/Kconfig b/src/mainboard/google/gale/Kconfig
index 01e2945..b6639bc 100644
--- a/src/mainboard/google/gale/Kconfig
+++ b/src/mainboard/google/gale/Kconfig
@@ -33,7 +33,6 @@
 
 config CHROMEOS
 	select VBOOT_DISABLE_DEV_ON_RECOVERY
-	select VIRTUAL_DEV_SWITCH
 	select WIPEOUT_SUPPORTED
 
 config BOARD_VARIANT_DK01
diff --git a/src/mainboard/google/gale/chromeos.c b/src/mainboard/google/gale/chromeos.c
index 92a16b1..939b061 100644
--- a/src/mainboard/google/gale/chromeos.c
+++ b/src/mainboard/google/gale/chromeos.c
@@ -25,8 +25,6 @@
 #include <timer.h>
 #include <vendorcode/google/chromeos/chromeos.h>
 
-#define DEV_SW  41
-#define DEV_POL ACTIVE_LOW
 #define REC_POL ACTIVE_LOW
 #define WP_POL  ACTIVE_LOW
 
@@ -71,7 +69,6 @@
 void fill_lb_gpios(struct lb_gpios *gpios)
 {
 	struct lb_gpio chromeos_gpios[] = {
-		{DEV_SW, DEV_POL, read_gpio(DEV_SW), "developer"},
 		{get_rec_sw_gpio_pin(), REC_POL,
 			read_gpio(get_rec_sw_gpio_pin()), "recovery"},
 		{get_wp_status_gpio_pin(), WP_POL,
@@ -80,11 +77,6 @@
 		{-1, ACTIVE_LOW, 0, "lid"},
 	};
 	lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
-}
-
-int get_developer_mode_switch(void)
-{
-	return 0;
 }
 
 /*
diff --git a/src/mainboard/google/glados/chromeos.c b/src/mainboard/google/glados/chromeos.c
index 9ee6e6f..3cb3d89 100644
--- a/src/mainboard/google/glados/chromeos.c
+++ b/src/mainboard/google/glados/chromeos.c
@@ -31,7 +31,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
diff --git a/src/mainboard/google/gru/Kconfig b/src/mainboard/google/gru/Kconfig
index c9886f6..bd19a29 100644
--- a/src/mainboard/google/gru/Kconfig
+++ b/src/mainboard/google/gru/Kconfig
@@ -47,11 +47,9 @@
 
 config CHROMEOS
 	select EC_GOOGLE_CHROMEEC_SWITCHES
-	select EC_SOFTWARE_SYNC
 	select MAINBOARD_HAS_SPI_TPM_CR50 if GRU_HAS_TPM2
 	select SPI_TPM if GRU_HAS_TPM2
 	select VBOOT_VBNV_FLASH
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/jecht/Kconfig b/src/mainboard/google/jecht/Kconfig
index 37dac7e..39cee21 100644
--- a/src/mainboard/google/jecht/Kconfig
+++ b/src/mainboard/google/jecht/Kconfig
@@ -16,7 +16,6 @@
 	select CHROMEOS_RAMOOPS_DYNAMIC
 	select PHYSICAL_REC_SWITCH
 	select VBOOT_VBNV_CMOS
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/jecht/chromeos.c b/src/mainboard/google/jecht/chromeos.c
index c22f942..5f897f3 100644
--- a/src/mainboard/google/jecht/chromeos.c
+++ b/src/mainboard/google/jecht/chromeos.c
@@ -40,7 +40,6 @@
 			get_gpio(GPIO_SPI_WP), "write protect"},
 		{GPIO_REC_MODE, ACTIVE_LOW,
 			get_recovery_mode_switch(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, 1, "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
@@ -58,11 +57,6 @@
 	dev = dev_find_slot(0, PCI_DEVFN(0x1f, 2));
 #endif
 	return (pci_read_config32(dev, SATA_SP) >> FLAG_SPI_WP) & 1;
-}
-
-int get_developer_mode_switch(void)
-{
-	return 0;
 }
 
 int get_recovery_mode_switch(void)
diff --git a/src/mainboard/google/lars/chromeos.c b/src/mainboard/google/lars/chromeos.c
index 42763a7..54f9bbe 100644
--- a/src/mainboard/google/lars/chromeos.c
+++ b/src/mainboard/google/lars/chromeos.c
@@ -30,7 +30,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
diff --git a/src/mainboard/google/link/chromeos.c b/src/mainboard/google/link/chromeos.c
index 0469d65..335f1f7 100644
--- a/src/mainboard/google/link/chromeos.c
+++ b/src/mainboard/google/link/chromeos.c
@@ -54,12 +54,6 @@
 	gpios->gpios[3].value = 0;
 	strncpy((char *)gpios->gpios[3].name,"power", GPIO_MAX_NAME_LENGTH);
 
-	/* Developer: a tricky case on Link, there is no switch */
-	gpios->gpios[4].port = -1; /* Indicate that this is a pseudo GPIO */
-	gpios->gpios[4].polarity = ACTIVE_HIGH;
-	gpios->gpios[4].value = get_developer_mode_switch();
-	strncpy((char *)gpios->gpios[4].name,"developer", GPIO_MAX_NAME_LENGTH);
-
 	/* Did we load the VGA Option ROM? */
 	gpios->gpios[5].port = -1; /* Indicate that this is a pseudo GPIO */
 	gpios->gpios[5].polarity = ACTIVE_HIGH;
diff --git a/src/mainboard/google/nyan/Kconfig b/src/mainboard/google/nyan/Kconfig
index 515d16b..7f5854c 100644
--- a/src/mainboard/google/nyan/Kconfig
+++ b/src/mainboard/google/nyan/Kconfig
@@ -33,9 +33,7 @@
 
 config CHROMEOS
 	select EC_GOOGLE_CHROMEEC_SWITCHES
-	select EC_SOFTWARE_SYNC
 	select VBOOT_VBNV_EC
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/nyan/chromeos.c b/src/mainboard/google/nyan/chromeos.c
index aa7c9c6..4fb8e78 100644
--- a/src/mainboard/google/nyan/chromeos.c
+++ b/src/mainboard/google/nyan/chromeos.c
@@ -25,7 +25,6 @@
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
 		{GPIO(R4), ACTIVE_HIGH, -1, "lid"},
 		{GPIO(Q0), ACTIVE_LOW, -1, "power"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{GPIO(U4), ACTIVE_HIGH, -1, "EC in RW"},
 		{GPIO(I5), ACTIVE_LOW, -1, "reset"},
 	};
diff --git a/src/mainboard/google/nyan_big/Kconfig b/src/mainboard/google/nyan_big/Kconfig
index c8411bf..602e778 100644
--- a/src/mainboard/google/nyan_big/Kconfig
+++ b/src/mainboard/google/nyan_big/Kconfig
@@ -34,9 +34,7 @@
 
 config CHROMEOS
 	select EC_GOOGLE_CHROMEEC_SWITCHES
-	select EC_SOFTWARE_SYNC
 	select VBOOT_VBNV_EC
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/nyan_big/chromeos.c b/src/mainboard/google/nyan_big/chromeos.c
index 2c9ba28..f466d91 100644
--- a/src/mainboard/google/nyan_big/chromeos.c
+++ b/src/mainboard/google/nyan_big/chromeos.c
@@ -25,7 +25,6 @@
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
 		{GPIO(R4), ACTIVE_HIGH, -1, "lid"},
 		{GPIO(Q0), ACTIVE_LOW, -1, "power"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{GPIO(U4), ACTIVE_HIGH, -1, "EC in RW"},
 		{GPIO(I5), ACTIVE_LOW, -1, "reset"},
 	};
diff --git a/src/mainboard/google/nyan_blaze/Kconfig b/src/mainboard/google/nyan_blaze/Kconfig
index 530397c..d64eb72 100644
--- a/src/mainboard/google/nyan_blaze/Kconfig
+++ b/src/mainboard/google/nyan_blaze/Kconfig
@@ -35,9 +35,7 @@
 
 config CHROMEOS
 	select EC_GOOGLE_CHROMEEC_SWITCHES
-	select EC_SOFTWARE_SYNC
 	select VBOOT_VBNV_EC
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/nyan_blaze/chromeos.c b/src/mainboard/google/nyan_blaze/chromeos.c
index 2c9ba28..f466d91 100644
--- a/src/mainboard/google/nyan_blaze/chromeos.c
+++ b/src/mainboard/google/nyan_blaze/chromeos.c
@@ -25,7 +25,6 @@
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
 		{GPIO(R4), ACTIVE_HIGH, -1, "lid"},
 		{GPIO(Q0), ACTIVE_LOW, -1, "power"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{GPIO(U4), ACTIVE_HIGH, -1, "EC in RW"},
 		{GPIO(I5), ACTIVE_LOW, -1, "reset"},
 	};
diff --git a/src/mainboard/google/oak/Kconfig b/src/mainboard/google/oak/Kconfig
index 083ed9c..0efa478 100644
--- a/src/mainboard/google/oak/Kconfig
+++ b/src/mainboard/google/oak/Kconfig
@@ -35,11 +35,9 @@
 
 config CHROMEOS
 	select EC_GOOGLE_CHROMEEC_SWITCHES
-	select EC_SOFTWARE_SYNC
 	select VBOOT_EC_SLOW_UPDATE
 	select VBOOT_OPROM_MATTERS
 	select VBOOT_VBNV_FLASH
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/oak/chromeos.c b/src/mainboard/google/oak/chromeos.c
index fe4574e..a581364 100644
--- a/src/mainboard/google/oak/chromeos.c
+++ b/src/mainboard/google/oak/chromeos.c
@@ -40,7 +40,6 @@
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
 		{LID, ACTIVE_HIGH, -1, "lid"},
 		{POWER_BUTTON, ACTIVE_HIGH, -1, "power"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{EC_IN_RW, ACTIVE_HIGH, -1, "EC in RW"},
 		{EC_IRQ, ACTIVE_LOW, -1, "EC interrupt"},
 	};
diff --git a/src/mainboard/google/parrot/chromeos.c b/src/mainboard/google/parrot/chromeos.c
index 4dcbfa5..d2448eb 100644
--- a/src/mainboard/google/parrot/chromeos.c
+++ b/src/mainboard/google/parrot/chromeos.c
@@ -56,12 +56,6 @@
 	gpios->gpios[1].value = get_recovery_mode_switch();
 	strncpy((char *)gpios->gpios[1].name,"recovery", GPIO_MAX_NAME_LENGTH);
 
-	/* Developer: Virtual GPIO in the EC ( Servo GPIO17 active low) */
-	gpios->gpios[2].port = -1;
-	gpios->gpios[2].polarity = ACTIVE_HIGH;
-	gpios->gpios[2].value = get_developer_mode_switch();
-	strncpy((char *)gpios->gpios[2].name,"developer", GPIO_MAX_NAME_LENGTH);
-
 	/* Lid switch GPIO active high (open). */
 	gpios->gpios[3].port = 15;
 	gpios->gpios[3].polarity = ACTIVE_HIGH;
@@ -86,22 +80,6 @@
 int get_lid_switch(void)
 {
 	return get_gpio(15);
-}
-
-int get_developer_mode_switch(void)
-{
-	u8 gpio = !get_gpio(17);
-	/*
-	 * Dev mode is controlled by EC and uboot stores a flag in TPM.
-	 * This GPIO is only for the debug header.
-	 * It is AND'd to the EC request.
-	 */
-
-	printk(BIOS_DEBUG, "DEV MODE GPIO 17: %x\n", gpio);
-
-	/* GPIO17, active low -- return active high reading and let
-	 * it be inverted by the caller if needed. */
-	return gpio;
 }
 
 int get_write_protect_state(void)
diff --git a/src/mainboard/google/peach_pit/chromeos.c b/src/mainboard/google/peach_pit/chromeos.c
index bc3a279..4cab7dc 100644
--- a/src/mainboard/google/peach_pit/chromeos.c
+++ b/src/mainboard/google/peach_pit/chromeos.c
@@ -59,23 +59,10 @@
 		GPIO_MAX_NAME_LENGTH);
 	count++;
 
-	/* Developer: virtual GPIO active high */
-	gpios->gpios[count].port = -1;
-	gpios->gpios[count].polarity = ACTIVE_HIGH;
-	gpios->gpios[count].value = get_developer_mode_switch();
-	strncpy((char *)gpios->gpios[count].name, "developer",
-		GPIO_MAX_NAME_LENGTH);
-	count++;
-
 	gpios->size = sizeof(*gpios) + (count * sizeof(struct lb_gpio));
 	gpios->count = count;
 
 	printk(BIOS_ERR, "Added %d GPIOS size %d\n", count, gpios->size);
-}
-
-int get_developer_mode_switch(void)
-{
-	return 0;
 }
 
 int get_recovery_mode_switch(void)
diff --git a/src/mainboard/google/poppy/chromeos.c b/src/mainboard/google/poppy/chromeos.c
index 03a9afe..8004d7b 100644
--- a/src/mainboard/google/poppy/chromeos.c
+++ b/src/mainboard/google/poppy/chromeos.c
@@ -28,7 +28,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
diff --git a/src/mainboard/google/purin/chromeos.c b/src/mainboard/google/purin/chromeos.c
index e6843a1..5e7cdfe 100644
--- a/src/mainboard/google/purin/chromeos.c
+++ b/src/mainboard/google/purin/chromeos.c
@@ -20,11 +20,6 @@
 {
 }
 
-int get_developer_mode_switch(void)
-{
-	return 0;
-}
-
 int get_recovery_mode_switch(void)
 {
 	return 0;
diff --git a/src/mainboard/google/rambi/Kconfig b/src/mainboard/google/rambi/Kconfig
index 128e609..9b25b49 100644
--- a/src/mainboard/google/rambi/Kconfig
+++ b/src/mainboard/google/rambi/Kconfig
@@ -15,10 +15,8 @@
 
 config CHROMEOS
 	select EC_GOOGLE_CHROMEEC_SWITCHES
-	select EC_SOFTWARE_SYNC
 	select LID_SWITCH
 	select VBOOT_VBNV_CMOS
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/rambi/chromeos.c b/src/mainboard/google/rambi/chromeos.c
index 10e0762..99a97d8 100644
--- a/src/mainboard/google/rambi/chromeos.c
+++ b/src/mainboard/google/rambi/chromeos.c
@@ -29,7 +29,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
 		{-1, ACTIVE_HIGH, vboot_recovery_mode_enabled(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
diff --git a/src/mainboard/google/reef/chromeos.c b/src/mainboard/google/reef/chromeos.c
index 256db16..7b7f2b8 100644
--- a/src/mainboard/google/reef/chromeos.c
+++ b/src/mainboard/google/reef/chromeos.c
@@ -25,7 +25,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
diff --git a/src/mainboard/google/rotor/chromeos.c b/src/mainboard/google/rotor/chromeos.c
index e03114f..c73fe47 100644
--- a/src/mainboard/google/rotor/chromeos.c
+++ b/src/mainboard/google/rotor/chromeos.c
@@ -23,11 +23,6 @@
 	/*TODO: implement fill_lb_gpios */
 }
 
-int get_developer_mode_switch(void)
-{
-	return 0;
-}
-
 int get_recovery_mode_switch(void)
 {
 	return 0;
diff --git a/src/mainboard/google/slippy/Kconfig b/src/mainboard/google/slippy/Kconfig
index 0413cd8..a19c966 100644
--- a/src/mainboard/google/slippy/Kconfig
+++ b/src/mainboard/google/slippy/Kconfig
@@ -23,11 +23,9 @@
 
 config CHROMEOS
 	select EC_GOOGLE_CHROMEEC_SWITCHES
-	select EC_SOFTWARE_SYNC
 	select LID_SWITCH
 	select MAINBOARD_DO_NATIVE_VGA_INIT if (BOARD_GOOGLE_FALCO || BOARD_GOOGLE_PEPPY)
 	select VBOOT_VBNV_CMOS
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/slippy/chromeos.c b/src/mainboard/google/slippy/chromeos.c
index 22ec074..e26c3fb 100644
--- a/src/mainboard/google/slippy/chromeos.c
+++ b/src/mainboard/google/slippy/chromeos.c
@@ -27,7 +27,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{58, ACTIVE_HIGH, 0, "write protect"},
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
diff --git a/src/mainboard/google/smaug/Kconfig b/src/mainboard/google/smaug/Kconfig
index ba6252b..5207674 100644
--- a/src/mainboard/google/smaug/Kconfig
+++ b/src/mainboard/google/smaug/Kconfig
@@ -34,9 +34,7 @@
 
 config CHROMEOS
 	select EC_GOOGLE_CHROMEEC_SWITCHES
-	select EC_SOFTWARE_SYNC
 	select VBOOT_VBNV_FLASH
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/smaug/chromeos.c b/src/mainboard/google/smaug/chromeos.c
index 0372584..fe8e5aa 100644
--- a/src/mainboard/google/smaug/chromeos.c
+++ b/src/mainboard/google/smaug/chromeos.c
@@ -26,7 +26,6 @@
 			gpio_get(WRITE_PROTECT_L), "write protect"},
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
 		{POWER_BUTTON, ACTIVE_LOW, -1, "power"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{EC_IN_RW, ACTIVE_HIGH, -1, "EC in RW"},
 		{AP_SYS_RESET_L, ACTIVE_LOW, -1, "reset"},
 	};
diff --git a/src/mainboard/google/storm/Kconfig b/src/mainboard/google/storm/Kconfig
index 268b11d..f844cf8 100644
--- a/src/mainboard/google/storm/Kconfig
+++ b/src/mainboard/google/storm/Kconfig
@@ -32,7 +32,6 @@
 config CHROMEOS
 	select VBOOT_DISABLE_DEV_ON_RECOVERY
 	select WIPEOUT_SUPPORTED
-	select VIRTUAL_DEV_SWITCH
 
 config BOARD_VARIANT_AP148
 	bool "pick this to build an image for ap148"
diff --git a/src/mainboard/google/storm/chromeos.c b/src/mainboard/google/storm/chromeos.c
index a379280..3110228 100644
--- a/src/mainboard/google/storm/chromeos.c
+++ b/src/mainboard/google/storm/chromeos.c
@@ -43,18 +43,12 @@
 void fill_lb_gpios(struct lb_gpios *gpios)
 {
 	struct lb_gpio chromeos_gpios[] = {
-		{DEV_SW, ACTIVE_LOW, read_gpio(DEV_SW), "developer"},
 		{REC_SW, ACTIVE_LOW, read_gpio(REC_SW), "recovery"},
 		{WP_SW, ACTIVE_LOW, read_gpio(WP_SW), "write protect"},
 		{-1, ACTIVE_LOW, 1, "power"},
 		{-1, ACTIVE_LOW, 0, "lid"},
 	};
 	lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
-}
-
-int get_developer_mode_switch(void)
-{
-	return 0;
 }
 
 /*
diff --git a/src/mainboard/google/stout/chromeos.c b/src/mainboard/google/stout/chromeos.c
index cbb9574..047e6a1 100644
--- a/src/mainboard/google/stout/chromeos.c
+++ b/src/mainboard/google/stout/chromeos.c
@@ -49,12 +49,6 @@
 	gpios->gpios[1].value = get_recovery_mode_switch();
 	strncpy((char *)gpios->gpios[1].name,"recovery", GPIO_MAX_NAME_LENGTH);
 
-	/* Developer: Virtual switch */
-	gpios->gpios[2].port = -1;
-	gpios->gpios[2].polarity = ACTIVE_HIGH;
-	gpios->gpios[2].value = get_developer_mode_switch();
-	strncpy((char *)gpios->gpios[2].name,"developer", GPIO_MAX_NAME_LENGTH);
-
 	/* Lid Switch: Virtual switch */
 	gpios->gpios[3].port = -1;
 	gpios->gpios[3].polarity = ACTIVE_HIGH;
@@ -90,12 +84,6 @@
 {
 	/* hard-code to open */
 	return 1;
-}
-
-/* The dev-switch is virtual on Stout (and so handled elsewhere). */
-int get_developer_mode_switch(void)
-{
-	return 0;
 }
 
 /*
diff --git a/src/mainboard/google/urara/chromeos.c b/src/mainboard/google/urara/chromeos.c
index 4db06c6..3f7ec32 100644
--- a/src/mainboard/google/urara/chromeos.c
+++ b/src/mainboard/google/urara/chromeos.c
@@ -29,12 +29,6 @@
 	printk(BIOS_ERR, "%s unsupported, but called\n", __func__);
 }
 
-int get_developer_mode_switch(void)
-{
-	printk(BIOS_ERR, "%s unsupported, but called\n", __func__);
-	return 0;
-}
-
 int get_recovery_mode_switch(void)
 {
 	printk(BIOS_ERR, "%s unsupported, but called\n", __func__);
diff --git a/src/mainboard/google/veyron/Kconfig b/src/mainboard/google/veyron/Kconfig
index e638652..3eb3252 100644
--- a/src/mainboard/google/veyron/Kconfig
+++ b/src/mainboard/google/veyron/Kconfig
@@ -46,9 +46,7 @@
 	select SPI_FLASH_WINBOND
 
 config CHROMEOS
-	select EC_SOFTWARE_SYNC
 	select VBOOT_VBNV_EC
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/veyron/chromeos.c b/src/mainboard/google/veyron/chromeos.c
index b730622..b8fb3bc 100644
--- a/src/mainboard/google/veyron/chromeos.c
+++ b/src/mainboard/google/veyron/chromeos.c
@@ -47,18 +47,12 @@
 			get_recovery_mode_switch(), "recovery"},
 		{GPIO_LID.raw, ACTIVE_HIGH, -1, "lid"},
 		{GPIO_POWER.raw, ACTIVE_LOW, -1, "power"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{GPIO_ECINRW.raw, ACTIVE_HIGH, -1, "EC in RW"},
 		{GPIO_ECIRQ.raw, ACTIVE_LOW, -1, "EC interrupt"},
 		{GPIO_RESET.raw, ACTIVE_HIGH, -1, "reset"},
 		{GPIO_BACKLIGHT.raw, ACTIVE_HIGH, -1, "backlight"},
 	};
 	lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
-}
-
-int get_developer_mode_switch(void)
-{
-	return 0;
 }
 
 int get_recovery_mode_switch(void)
diff --git a/src/mainboard/google/veyron_mickey/Kconfig b/src/mainboard/google/veyron_mickey/Kconfig
index 1a94831..24d7921 100644
--- a/src/mainboard/google/veyron_mickey/Kconfig
+++ b/src/mainboard/google/veyron_mickey/Kconfig
@@ -33,7 +33,6 @@
 config CHROMEOS
 	select PHYSICAL_REC_SWITCH
 	select VBOOT_VBNV_FLASH
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/veyron_mickey/chromeos.c b/src/mainboard/google/veyron_mickey/chromeos.c
index 5cb9ec4..2988ea7 100644
--- a/src/mainboard/google/veyron_mickey/chromeos.c
+++ b/src/mainboard/google/veyron_mickey/chromeos.c
@@ -36,15 +36,9 @@
 		{GPIO_WP.raw, ACTIVE_LOW, gpio_get(GPIO_WP), "write protect"},
 		{GPIO_RECOVERY.raw, ACTIVE_LOW,
 			gpio_get(GPIO_RECOVERY), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{GPIO_RESET.raw, ACTIVE_HIGH, -1, "reset"},
 	};
 	lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
-}
-
-int get_developer_mode_switch(void)
-{
-	return 0;
 }
 
 int get_recovery_mode_switch(void)
diff --git a/src/mainboard/google/veyron_rialto/Kconfig b/src/mainboard/google/veyron_rialto/Kconfig
index b6d3f65..bbd6ffd 100644
--- a/src/mainboard/google/veyron_rialto/Kconfig
+++ b/src/mainboard/google/veyron_rialto/Kconfig
@@ -33,7 +33,6 @@
 config CHROMEOS
 	select PHYSICAL_REC_SWITCH
 	select VBOOT_VBNV_FLASH
-	select VIRTUAL_DEV_SWITCH
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/veyron_rialto/chromeos.c b/src/mainboard/google/veyron_rialto/chromeos.c
index ac1afd9..c68cd7a 100644
--- a/src/mainboard/google/veyron_rialto/chromeos.c
+++ b/src/mainboard/google/veyron_rialto/chromeos.c
@@ -44,15 +44,9 @@
 		{GPIO_RECOVERY_PUSHKEY.raw, ACTIVE_LOW,
 			!get_recovery_mode_switch(), "recovery"},
 		{GPIO_POWER.raw, ACTIVE_LOW, -1, "power"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{GPIO_RESET.raw, ACTIVE_HIGH, -1, "reset"},
 	};
 	lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
-}
-
-int get_developer_mode_switch(void)
-{
-	return 0;
 }
 
 int get_recovery_mode_switch(void)
diff --git a/src/mainboard/intel/baskingridge/chromeos.c b/src/mainboard/intel/baskingridge/chromeos.c
index 1666fc5..5ed9e36 100644
--- a/src/mainboard/intel/baskingridge/chromeos.c
+++ b/src/mainboard/intel/baskingridge/chromeos.c
@@ -36,7 +36,6 @@
 		return;
 
 	u32 gp_lvl  = inl(gpio_base + GP_LVL);
-	u32 gp_lvl2 = inl(gpio_base + GP_LVL2);
 	u32 gp_lvl3 = inl(gpio_base + GP_LVL3);
 
 	gpios->size = sizeof(*gpios) + (GPIO_COUNT * sizeof(struct lb_gpio));
@@ -54,12 +53,6 @@
 	gpios->gpios[1].polarity = ACTIVE_HIGH;
 	gpios->gpios[1].value = (gp_lvl3 >> (69-64)) & 1;
 	strncpy((char *)gpios->gpios[1].name,"recovery", GPIO_MAX_NAME_LENGTH);
-
-	/* Developer: GPIO48 - BIOS_RESP - J8E4 (silkscreen: J8E3) */
-	gpios->gpios[2].port = 48;
-	gpios->gpios[2].polarity = ACTIVE_LOW;
-	gpios->gpios[2].value = (gp_lvl2 >> (48-32)) & 1;
-	strncpy((char *)gpios->gpios[2].name,"developer", GPIO_MAX_NAME_LENGTH);
 
 	/* Hard code the lid switch GPIO to open. */
 	gpios->gpios[3].port = -1;
@@ -80,15 +73,6 @@
 	strncpy((char *)gpios->gpios[5].name,"oprom", GPIO_MAX_NAME_LENGTH);
 }
 #endif
-
-int get_developer_mode_switch(void)
-{
-	/*
-	 * Developer: GPIO48, Connected to J8E4, however the silkscreen says
-	 * J8E3. The jumper is active low.
-	 */
-	return !get_gpio(48);
-}
 
 int get_recovery_mode_switch(void)
 {
diff --git a/src/mainboard/intel/emeraldlake2/chromeos.c b/src/mainboard/intel/emeraldlake2/chromeos.c
index 896f876..eac995a 100644
--- a/src/mainboard/intel/emeraldlake2/chromeos.c
+++ b/src/mainboard/intel/emeraldlake2/chromeos.c
@@ -55,12 +55,6 @@
 	gpios->gpios[1].value = (gp_lvl >> 22) & 1;
 	strncpy((char *)gpios->gpios[1].name,"recovery", GPIO_MAX_NAME_LENGTH);
 
-	/* Developer: GPIO57 */
-	gpios->gpios[2].port = 57;
-	gpios->gpios[2].polarity = ACTIVE_LOW;
-	gpios->gpios[2].value = (gp_lvl2 >> (57-32)) & 1;
-	strncpy((char *)gpios->gpios[2].name,"developer", GPIO_MAX_NAME_LENGTH);
-
 	/* Hard code the lid switch GPIO to open. */
 	gpios->gpios[3].port = -1;
 	gpios->gpios[3].polarity = ACTIVE_HIGH;
@@ -80,12 +74,6 @@
 	strncpy((char *)gpios->gpios[5].name,"oprom", GPIO_MAX_NAME_LENGTH);
 }
 #endif
-
-int get_developer_mode_switch(void)
-{
-	/* Developer: GPIO57, active high */
-	return get_gpio(57);
-}
 
 int get_recovery_mode_switch(void)
 {
diff --git a/src/mainboard/intel/galileo/vboot.c b/src/mainboard/intel/galileo/vboot.c
index cc8831e..70fe113 100644
--- a/src/mainboard/intel/galileo/vboot.c
+++ b/src/mainboard/intel/galileo/vboot.c
@@ -32,11 +32,6 @@
 	return 0;
 }
 
-int get_developer_mode_switch(void)
-{
-	return 0;
-}
-
 int get_recovery_mode_switch(void)
 {
 	return 0;
diff --git a/src/mainboard/intel/kblrvp/chromeos.c b/src/mainboard/intel/kblrvp/chromeos.c
index fc1bcd2..4bd802a 100644
--- a/src/mainboard/intel/kblrvp/chromeos.c
+++ b/src/mainboard/intel/kblrvp/chromeos.c
@@ -36,7 +36,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
@@ -53,12 +52,6 @@
 
 	/* Lid always open */
 	return 1;
-}
-
-int get_developer_mode_switch(void)
-{
-	/* No physical developer mode switch. */
-	return 0;
 }
 
 int get_recovery_mode_switch(void)
diff --git a/src/mainboard/intel/kunimitsu/chromeos.c b/src/mainboard/intel/kunimitsu/chromeos.c
index 42763a7..54f9bbe 100644
--- a/src/mainboard/intel/kunimitsu/chromeos.c
+++ b/src/mainboard/intel/kunimitsu/chromeos.c
@@ -30,7 +30,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
 		{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
diff --git a/src/mainboard/intel/strago/Kconfig b/src/mainboard/intel/strago/Kconfig
index 8915323..c7221e9 100644
--- a/src/mainboard/intel/strago/Kconfig
+++ b/src/mainboard/intel/strago/Kconfig
@@ -17,10 +17,8 @@
 
 config CHROMEOS
 	select EC_GOOGLE_CHROMEEC_SWITCHES
-	select EC_SOFTWARE_SYNC
 	select LID_SWITCH
 	select VBOOT_VBNV_CMOS
-	select VIRTUAL_DEV_SWITCH
 
 config DYNAMIC_VNN_SUPPORT
 	bool "Enables support for Dynamic VNN"
diff --git a/src/mainboard/intel/strago/chromeos.c b/src/mainboard/intel/strago/chromeos.c
index 6d00d72..fbcbcf7 100644
--- a/src/mainboard/intel/strago/chromeos.c
+++ b/src/mainboard/intel/strago/chromeos.c
@@ -32,7 +32,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
 		{-1, ACTIVE_HIGH, vboot_recovery_mode_enabled(), "recovery"},
-		{-1, ACTIVE_HIGH, get_developer_mode_switch(), "developer"},
 		{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
diff --git a/src/mainboard/intel/wtm2/chromeos.c b/src/mainboard/intel/wtm2/chromeos.c
index 862f4a4..fe98fd8 100644
--- a/src/mainboard/intel/wtm2/chromeos.c
+++ b/src/mainboard/intel/wtm2/chromeos.c
@@ -21,8 +21,7 @@
 #include <soc/gpio.h>
 #include <vendorcode/google/chromeos/chromeos.h>
 
-/* Compile-time settings for developer and recovery mode. */
-#define DEV_MODE_SETTING 1
+/* Compile-time settings for recovery mode. */
 #define REC_MODE_SETTING 0
 
 #ifndef __PRE_RAM__
@@ -33,7 +32,6 @@
 	struct lb_gpio chromeos_gpios[] = {
 		{-1, ACTIVE_HIGH, 0, "write protect"},
 		{-1, ACTIVE_HIGH, REC_MODE_SETTING, "recovery"},
-		{-1, ACTIVE_HIGH, DEV_MODE_SETTING, "developer"},
 		{-1, ACTIVE_HIGH, 1, "lid"}, // force open
 		{-1, ACTIVE_HIGH, 0, "power"},
 		{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
@@ -41,11 +39,6 @@
 	lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
 }
 #endif
-
-int get_developer_mode_switch(void)
-{
-	return DEV_MODE_SETTING;
-}
 
 int get_recovery_mode_switch(void)
 {
diff --git a/src/mainboard/samsung/lumpy/Kconfig b/src/mainboard/samsung/lumpy/Kconfig
index 7cb00e5..db1debb 100644
--- a/src/mainboard/samsung/lumpy/Kconfig
+++ b/src/mainboard/samsung/lumpy/Kconfig
@@ -21,6 +21,8 @@
 	select INTEL_INT15
 
 config CHROMEOS
+	select PHYSICAL_DEV_SWITCH
+	select PHYSICAL_REC_SWITCH
 	select VBOOT_VBNV_CMOS
 
 config MAINBOARD_DIR
diff --git a/src/mainboard/samsung/stumpy/Kconfig b/src/mainboard/samsung/stumpy/Kconfig
index 3777f69..f8e9b99 100644
--- a/src/mainboard/samsung/stumpy/Kconfig
+++ b/src/mainboard/samsung/stumpy/Kconfig
@@ -18,6 +18,7 @@
 	select INTEL_INT15
 
 config CHROMEOS
+	select PHYSICAL_DEV_SWITCH
 	select PHYSICAL_REC_SWITCH
 	select VBOOT_VBNV_CMOS
 
diff --git a/src/soc/intel/apollolake/Kconfig b/src/soc/intel/apollolake/Kconfig
index 9b847da..234e290 100644
--- a/src/soc/intel/apollolake/Kconfig
+++ b/src/soc/intel/apollolake/Kconfig
@@ -70,14 +70,12 @@
 
 config CHROMEOS
 	select CHROMEOS_RAMOOPS_DYNAMIC
-	select EC_SOFTWARE_SYNC if EC_GOOGLE_CHROMEEC
 	select SEPARATE_VERSTAGE
 	select VBOOT_OPROM_MATTERS
 	select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
 	select VBOOT_STARTS_IN_BOOTBLOCK
 	select VBOOT_VBNV_CMOS
 	select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
-	select VIRTUAL_DEV_SWITCH
 
 config TPM_ON_FAST_SPI
 	bool
diff --git a/src/soc/intel/skylake/Kconfig b/src/soc/intel/skylake/Kconfig
index 0108372..b7c5552 100644
--- a/src/soc/intel/skylake/Kconfig
+++ b/src/soc/intel/skylake/Kconfig
@@ -87,7 +87,6 @@
 
 config CHROMEOS
 	select CHROMEOS_RAMOOPS_DYNAMIC
-	select EC_SOFTWARE_SYNC if EC_GOOGLE_CHROMEEC
 	select SEPARATE_VERSTAGE
 	select VBOOT_EC_SLOW_UPDATE if EC_GOOGLE_CHROMEEC
 	select VBOOT_OPROM_MATTERS
@@ -95,7 +94,6 @@
 	select VBOOT_STARTS_IN_BOOTBLOCK
 	select VBOOT_VBNV_CMOS
 	select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
-	select VIRTUAL_DEV_SWITCH
 
 config BOOTBLOCK_RESETS
 	string
diff --git a/src/vboot/bootmode.c b/src/vboot/bootmode.c
index 46b78e1..21922d4 100644
--- a/src/vboot/bootmode.c
+++ b/src/vboot/bootmode.c
@@ -162,9 +162,6 @@
 	if (!IS_ENABLED(CONFIG_VBOOT))
 		return 0;
 
-	if (get_developer_mode_switch())
-		return 1;
-
 	if (cbmem_possibly_online() && vboot_handoff_check_developer_flag())
 		return 1;
 
diff --git a/src/vboot/vboot_handoff.c b/src/vboot/vboot_handoff.c
index 2bd5c09..85be928 100644
--- a/src/vboot/vboot_handoff.c
+++ b/src/vboot/vboot_handoff.c
@@ -83,7 +83,7 @@
 		vb_sd->flags |= VBSD_LF_DEV_SWITCH_ON;
 	}
 	/* TODO: Set these in depthcharge */
-	if (IS_ENABLED(CONFIG_VIRTUAL_DEV_SWITCH))
+	if (!IS_ENABLED(CONFIG_PHYSICAL_DEV_SWITCH))
 		vb_sd->flags |= VBSD_HONOR_VIRT_DEV_SWITCH;
 	if (IS_ENABLED(CONFIG_EC_SOFTWARE_SYNC))
 		vb_sd->flags |= VBSD_EC_SOFTWARE_SYNC;
diff --git a/src/vboot/vboot_logic.c b/src/vboot/vboot_logic.c
index af7e947..fbbe3e8 100644
--- a/src/vboot/vboot_logic.c
+++ b/src/vboot/vboot_logic.c
@@ -329,7 +329,7 @@
 	antirollback_read_space_firmware(&ctx);
 	timestamp_add_now(TS_END_TPMINIT);
 
-	if (!IS_ENABLED(CONFIG_VIRTUAL_DEV_SWITCH) &&
+	if (IS_ENABLED(CONFIG_PHYSICAL_DEV_SWITCH) &&
 	    get_developer_mode_switch())
 		ctx.flags |= VB2_CONTEXT_FORCE_DEVELOPER_MODE;
 
diff --git a/src/vendorcode/google/chromeos/Kconfig b/src/vendorcode/google/chromeos/Kconfig
index 3c6237a..62e60d4 100644
--- a/src/vendorcode/google/chromeos/Kconfig
+++ b/src/vendorcode/google/chromeos/Kconfig
@@ -61,6 +61,7 @@
 
 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 @@
 	  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 @@
 	  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 dddce63..4edf74a 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.

-- 
To view, visit https://review.coreboot.org/18980
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: If9cbaa7df530580a97f00ef238e3d9a8a86a4a7f
Gerrit-PatchSet: 13
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Owner: Julius Werner <jwerner at chromium.org>
Gerrit-Reviewer: Aaron Durbin <adurbin at chromium.org>
Gerrit-Reviewer: Furquan Shaikh <furquan at google.com>
Gerrit-Reviewer: Julius Werner <jwerner at chromium.org>
Gerrit-Reviewer: Patrick Georgi <pgeorgi at google.com>
Gerrit-Reviewer: Paul Menzel <paulepanter at users.sourceforge.net>
Gerrit-Reviewer: build bot (Jenkins)



More information about the coreboot-gerrit mailing list