From c23be2cfd94375780f4b1aeeaa735c28028d6ec2 Mon Sep 17 00:00:00 2001 From: David Hendricks Date: Mon, 15 Dec 2014 21:20:35 -0800 Subject: [PATCH] rk3288: Add a config variable hack to skip display init The current display init code causes Brain to crash when trying to allocate resources. This just avoids doing display init if a config variable is set. Once code has been implemented to properly setup different types of displays we can get rid of this hack. BUG=none BRANCH=none TEST=built and booted (to depthcharge) on Brain, compiled for pinky with FEATURES=noclean and ensured config variable is 0 Signed-off-by: David Hendricks Change-Id: I04c9e8181c58fa0608fd20776fa8c4798a023474 Reviewed-on: https://chromium-review.googlesource.com/235922 Reviewed-by: Julius Werner Reviewed-on: https://chromium-review.googlesource.com/242136 Tested-by: Julius Werner Commit-Queue: Julius Werner --- src/mainboard/google/veyron_brain/Kconfig | 8 ++++++++ src/mainboard/google/veyron_brain/mainboard.c | 6 ------ src/soc/rockchip/rk3288/soc.c | 2 ++ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/mainboard/google/veyron_brain/Kconfig b/src/mainboard/google/veyron_brain/Kconfig index 9c6973e6eb..1621fb20b2 100644 --- a/src/mainboard/google/veyron_brain/Kconfig +++ b/src/mainboard/google/veyron_brain/Kconfig @@ -74,4 +74,12 @@ config CONSOLE_SERIAL_UART_ADDRESS depends on CONSOLE_SERIAL_UART default 0xFF690000 +# FIXME(dhendrix): This is a gross hack intended to get us past +# display init which currently hangs the machine. It will be removed +# once we've re-factored the display init code to properly handle +# various types of displays. +config SKIP_DISPLAY_INIT_HACK + int + default 1 + endif # BOARD_GOOGLE_VEYRON_BRAIN diff --git a/src/mainboard/google/veyron_brain/mainboard.c b/src/mainboard/google/veyron_brain/mainboard.c index d8719c06b4..53f861ef6d 100644 --- a/src/mainboard/google/veyron_brain/mainboard.c +++ b/src/mainboard/google/veyron_brain/mainboard.c @@ -111,9 +111,3 @@ void lb_board(struct lb_header *header) dma->range_start = (uintptr_t)_dma_coherent; dma->range_size = _dma_coherent_size; } - -/* called from rk3288 display.c, but there is no backlight for this platform */ -void mainboard_power_on_backlight(void) -{ - return; -} diff --git a/src/soc/rockchip/rk3288/soc.c b/src/soc/rockchip/rk3288/soc.c index 578976c27d..f366f958fe 100644 --- a/src/soc/rockchip/rk3288/soc.c +++ b/src/soc/rockchip/rk3288/soc.c @@ -47,8 +47,10 @@ static void soc_init(device_t dev) if (vboot_skip_display_init()) printk(BIOS_INFO, "Skipping display init.\n"); +#if !IS_ENABLED(CONFIG_SKIP_DISPLAY_INIT_HACK) else rk_display_init(dev, lcdbase, fb_size); +#endif } static void soc_noop(device_t dev)