diff options
author | Aaron Durbin <adurbin@chromium.org> | 2015-09-02 09:21:36 -0500 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2015-09-04 15:09:00 +0000 |
commit | bc98cc66b2fe787173ec04b84ea11bc3e57fe373 (patch) | |
tree | 15e1aa71a74fd52bfbc25f0055c3015cb31ca983 /src/mainboard | |
parent | 5fc6f90ef7d3a69e87a004b07b99ef337c6d3380 (diff) | |
download | coreboot-bc98cc66b2fe787173ec04b84ea11bc3e57fe373.tar.xz |
bootmode: add display_init_required()
Some of the Chrome OS boards were directly calling vboot
called in some form after contorting around #ifdef preprocessor
macros. The reasoning is that Chrome OS doesn't always do display
initialization during startup. It's runtime dependent. While
this is a requirement that doesn't mean vboot functions should be
sprinkled around in the mainboard and chipset code. Instead provide
one function, display_init_required(), that provides the policy
for determining display initialization action. For Chrome OS
devices this function honors vboot_skip_display_init() and all
other configurations default to initializing display.
Change-Id: I403213e22c0e621e148773597a550addfbaf3f7e
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/11490
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/mainboard')
-rw-r--r-- | src/mainboard/google/rush/mainboard.c | 7 | ||||
-rw-r--r-- | src/mainboard/google/rush_ryu/mainboard.c | 3 | ||||
-rw-r--r-- | src/mainboard/google/smaug/mainboard.c | 12 |
3 files changed, 8 insertions, 14 deletions
diff --git a/src/mainboard/google/rush/mainboard.c b/src/mainboard/google/rush/mainboard.c index cffb7ac588..aa67ec28b3 100644 --- a/src/mainboard/google/rush/mainboard.c +++ b/src/mainboard/google/rush/mainboard.c @@ -18,7 +18,9 @@ */ #include <arch/mmu.h> +#include <bootmode.h> #include <boot/coreboot_tables.h> +#include <delay.h> #include <device/device.h> #include <memrange.h> #include <soc/addressmap.h> @@ -32,9 +34,6 @@ #include <soc/nvidia/tegra/dc.h> #include <soc/display.h> -#include <vendorcode/google/chromeos/chromeos.h> -#include <delay.h> - static const struct pad_config sdmmc3_pad[] = { /* MMC3(SDCARD) */ PAD_CFG_SFIO(SDMMC3_CLK, PINMUX_INPUT_ENABLE, SDMMC3), @@ -184,7 +183,7 @@ static void mainboard_init(device_t dev) i2c_init(I2C1_BUS); /* for max98090 codec */ /* if panel needs to bringup */ - if (!vboot_skip_display_init()) + if (display_init_required()) configure_display_blocks(); } diff --git a/src/mainboard/google/rush_ryu/mainboard.c b/src/mainboard/google/rush_ryu/mainboard.c index 863ab528af..1af739597f 100644 --- a/src/mainboard/google/rush_ryu/mainboard.c +++ b/src/mainboard/google/rush_ryu/mainboard.c @@ -19,6 +19,7 @@ #include <arch/mmu.h> #include <boardid.h> +#include <bootmode.h> #include <boot/coreboot_tables.h> #include <cbmem.h> #include <delay.h> @@ -281,7 +282,7 @@ static void mainboard_init(device_t dev) soc_configure_pads(lcd_gpio_padcfgs, ARRAY_SIZE(lcd_gpio_padcfgs)); /* if panel needs to bringup */ - if (!vboot_skip_display_init()) + if (display_init_required()) configure_display_blocks(); } diff --git a/src/mainboard/google/smaug/mainboard.c b/src/mainboard/google/smaug/mainboard.c index 1cf4d32bda..6e3393d67d 100644 --- a/src/mainboard/google/smaug/mainboard.c +++ b/src/mainboard/google/smaug/mainboard.c @@ -20,7 +20,9 @@ #include <arch/io.h> #include <arch/mmu.h> +#include <bootmode.h> #include <boot/coreboot_tables.h> +#include <delay.h> #include <device/device.h> #include <device/i2c.h> #include <soc/addressmap.h> @@ -36,12 +38,6 @@ #include <soc/pmc.h> #include <soc/power.h> -#if IS_ENABLED(CONFIG_CHROMEOS) -#include <vendorcode/google/chromeos/vboot_handoff.h> -#include <vendorcode/google/chromeos/vboot2/misc.h> -#endif -#include <delay.h> - #include "gpio.h" #include "pmic.h" @@ -202,9 +198,7 @@ static void mainboard_init(device_t dev) setup_audio(); /* if panel needs to bringup */ -#if IS_ENABLED(CONFIG_CHROMEOS) - if (!vboot_skip_display_init()) -#endif + if (display_init_required()) configure_display_blocks(); powergate_unused_partitions(); |