From 0a0f9c5d688c7efa496e60f5f285672c903c28d9 Mon Sep 17 00:00:00 2001 From: Julius Werner Date: Wed, 1 Jun 2016 14:53:48 -0700 Subject: Kconfig: Set VBOOT_OPROM_MATTERS for relevant non-x86 devices The VBOOT_OPROM_MATTERS configuration option signals to vboot that the board can skip display initialization in the normal boot path. It's name is a left-over from a time when this could only happen by avoiding loading the VGA option ROM on x86 devices. Now we have other boards that can skip their native display initialization paths too, and the effect to vboot is the same. (Really, we should rename oprom_matters and oprom_loaded to display_skippable and display_initialized or something, but I don't think that's worth the amount of repositories this would need to touch.) The only effect this still has in today's vboot is to reboot and explicitly request display initialization for EC software sync on VBOOT_EC_SLOW_UPDATE devices (which we haven't had yet on ARM). Still, the vboot flag just declares the capability (for skipping display init), and it should be set correctly regardless of whether that actually makes a difference on a given platform (right now). This patch updates all boards/SoCs that have a conditional path based on display_init_required() accordingly. BRANCH=None BUG=chrome-os-partner:51145 TEST=Booted Oak, confirmed that there's no notable boot time impact. Change-Id: Ic7c77dbd8356d67af7aee54e7869f9ac35241b99 Signed-off-by: Martin Roth Original-Commit-Id: 9c242f7 Original-Change-Id: I75e5cdda2ba2d111ea50ed2c7cdf94322679f1cd Original-Signed-off-by: Julius Werner Original-Reviewed-on: https://chromium-review.googlesource.com/348786 Original-Reviewed-by: Vadim Bendebury Original-Reviewed-by: Duncan Laurie Reviewed-on: https://review.coreboot.org/15113 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Furquan Shaikh --- src/mainboard/google/oak/Kconfig | 1 + src/soc/nvidia/tegra124/Kconfig | 3 +++ src/soc/nvidia/tegra132/Kconfig | 3 +++ src/soc/nvidia/tegra210/Kconfig | 1 + src/soc/rockchip/rk3288/Kconfig | 1 + src/soc/rockchip/rk3399/Kconfig | 1 + src/vendorcode/google/chromeos/Kconfig | 9 +++++++-- 7 files changed, 17 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mainboard/google/oak/Kconfig b/src/mainboard/google/oak/Kconfig index 34031bc49a..87849a3527 100644 --- a/src/mainboard/google/oak/Kconfig +++ b/src/mainboard/google/oak/Kconfig @@ -36,6 +36,7 @@ config BOARD_SPECIFIC_OPTIONS config CHROMEOS select CHROMEOS_VBNV_FLASH select EC_SOFTWARE_SYNC + select VBOOT_OPROM_MATTERS select VIRTUAL_DEV_SWITCH config MAINBOARD_DIR diff --git a/src/soc/nvidia/tegra124/Kconfig b/src/soc/nvidia/tegra124/Kconfig index bd38d7619a..49929ad9cc 100644 --- a/src/soc/nvidia/tegra124/Kconfig +++ b/src/soc/nvidia/tegra124/Kconfig @@ -16,6 +16,9 @@ config SOC_NVIDIA_TEGRA124 if SOC_NVIDIA_TEGRA124 +config CHROMEOS + select VBOOT_OPROM_MATTERS + config TEGRA124_MODEL_TD570D bool "TD570D" diff --git a/src/soc/nvidia/tegra132/Kconfig b/src/soc/nvidia/tegra132/Kconfig index 08ed47567b..b47089268a 100644 --- a/src/soc/nvidia/tegra132/Kconfig +++ b/src/soc/nvidia/tegra132/Kconfig @@ -17,6 +17,9 @@ config SOC_NVIDIA_TEGRA132 if SOC_NVIDIA_TEGRA132 +config CHROMEOS + select VBOOT_OPROM_MATTERS + config MAINBOARD_DO_DSI_INIT bool "Use dsi graphics interface" depends on MAINBOARD_DO_NATIVE_VGA_INIT diff --git a/src/soc/nvidia/tegra210/Kconfig b/src/soc/nvidia/tegra210/Kconfig index 2601c70201..39c0152e28 100644 --- a/src/soc/nvidia/tegra210/Kconfig +++ b/src/soc/nvidia/tegra210/Kconfig @@ -19,6 +19,7 @@ if SOC_NVIDIA_TEGRA210 config CHROMEOS select CHROMEOS_RAMOOPS_NON_ACPI + select VBOOT_OPROM_MATTERS config MAINBOARD_DO_DSI_INIT bool "Use dsi graphics interface" diff --git a/src/soc/rockchip/rk3288/Kconfig b/src/soc/rockchip/rk3288/Kconfig index 0f394b18b4..ea34bb9130 100644 --- a/src/soc/rockchip/rk3288/Kconfig +++ b/src/soc/rockchip/rk3288/Kconfig @@ -32,6 +32,7 @@ config SOC_ROCKCHIP_RK3288 if SOC_ROCKCHIP_RK3288 config CHROMEOS + select VBOOT_OPROM_MATTERS select VBOOT_STARTS_IN_BOOTBLOCK select SEPARATE_VERSTAGE select RETURN_FROM_VERSTAGE diff --git a/src/soc/rockchip/rk3399/Kconfig b/src/soc/rockchip/rk3399/Kconfig index 38d0f00413..63e343e149 100644 --- a/src/soc/rockchip/rk3399/Kconfig +++ b/src/soc/rockchip/rk3399/Kconfig @@ -19,6 +19,7 @@ if SOC_ROCKCHIP_RK3399 config CHROMEOS select RETURN_FROM_VERSTAGE select SEPARATE_VERSTAGE + select VBOOT_OPROM_MATTERS select VBOOT_STARTS_IN_BOOTBLOCK config PMIC_BUS diff --git a/src/vendorcode/google/chromeos/Kconfig b/src/vendorcode/google/chromeos/Kconfig index 7726895a08..269c176e14 100644 --- a/src/vendorcode/google/chromeos/Kconfig +++ b/src/vendorcode/google/chromeos/Kconfig @@ -111,11 +111,16 @@ config VBOOT_EC_SLOW_UPDATE screen that informs the user the update is happening. config VBOOT_OPROM_MATTERS - bool "Video option ROM matters" + bool "Video option ROM matters (= can skip display init)" default n depends on VBOOT_VERIFY_FIRMWARE help - Whether the video option ROM has run matters on this platform. + Set this option to indicate to vboot that this platform will skip its + display initialization on a normal (non-recovery, non-developer) boot. + Vboot calls this "oprom matters" because on x86 devices this + traditionally meant that the video option ROM will not be loaded, but + it works functionally the same for other platforms that can skip their + native display initialization code instead. config VIRTUAL_DEV_SWITCH bool "Virtual developer switch support" -- cgit v1.2.3