Martin Roth (martinroth@google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15113
-gerrit
commit 7e44cf91a987baf3787f1186b3cda5a9642d3d7e Author: Julius Werner jwerner@chromium.org Date: Wed Jun 1 14:53:48 2016 -0700
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 martinroth@chromium.org Original-Commit-Id: Original-Change-Id: I75e5cdda2ba2d111ea50ed2c7cdf94322679f1cd Original-Signed-off-by: Julius Werner jwerner@chromium.org Original-Reviewed-on: https://chromium-review.googlesource.com/348786 Original-Reviewed-by: Vadim Bendebury vbendeb@chromium.org Original-Reviewed-by: Duncan Laurie dlaurie@chromium.org --- 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(-)
diff --git a/src/mainboard/google/oak/Kconfig b/src/mainboard/google/oak/Kconfig index 34031bc..87849a3 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 bd38d76..49929ad 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 08ed475..b470892 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 2601c70..39c0152 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 0f394b1..ea34bb9 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 38d0f00..63e343e 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 7726895..269c176 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"