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>
This commit is contained in:
parent
5fc6f90ef7
commit
bc98cc66b2
9 changed files with 42 additions and 36 deletions
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue