GOOGLE/SNOW: get graphics working

This adds support for display bring-up on Snow. It
includes framebuffer initialization and LCD enable functions.

Note: We fixed a merge conflict in this CL by making a fake edid
struct for Snow and passing it into vbe_mode_info_valid().

Change-Id: I16e711c97e9d02c916824f621e2313297448732b
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Signed-off-by: David Hendricks <dhendrix@chromium.org>
Reviewed-on: http://review.coreboot.org/3116
Tested-by: build bot (Jenkins)
This commit is contained in:
Ronald G. Minnich 2013-04-18 18:09:24 -07:00 committed by David Hendricks
commit abf0254fa9
5 changed files with 89 additions and 37 deletions

View file

@ -33,6 +33,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select EXYNOS_DISPLAYPORT
select CHROMEOS
select DRIVER_TI_TPS65090
select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_DO_NATIVE_VGA_INIT
config MAINBOARD_DIR
string

View file

@ -23,6 +23,9 @@
#include <drivers/ti/tps65090/tps65090.h>
#include <cbmem.h>
#include <delay.h>
#include <edid.h>
#include <vbe.h>
#include <boot/coreboot_tables.h>
#include <arch/cache.h>
#include <arch/exception.h>
#include <arch/gpio.h>
@ -41,9 +44,16 @@
#define DRAM_SIZE CONFIG_DRAM_SIZE_MB
#define DRAM_END (DRAM_START + DRAM_SIZE) /* plus one... */
static struct edid snow_edid = {
.ha = 1366,
.va = 768,
.bpp = 16,
};
void hardwaremain(int boot_complete);
void main(void)
{
void *graphics_address;
console_init();
printk(BIOS_INFO,
"hello from ramstage; now with deluxe exception handling.\n");
@ -77,6 +87,8 @@ void main(void)
clock_set_i2s_clk_prescaler(epll_hz, sample_rate * lr_frame_size);
power_enable_xclkout();
graphics_address = cbmem_find(CBMEM_ID_CONSOLE);
set_vbe_mode_info_valid(&snow_edid, (uintptr_t)graphics_address);
hardwaremain(0);
}