diff options
author | Vadim Bendebury <vbendeb@chromium.org> | 2011-07-27 16:38:15 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2011-08-29 10:59:17 -0700 |
commit | fd00e682c0ccd38ced77a91af4442d38d8cb2e09 (patch) | |
tree | 514d5a09acccd0be6a4389dec35f38280b6b4f3b /include | |
parent | 1eb652f3abce5058406161829af3ba0260f10443 (diff) |
Implement shared display support.
This change fills up the stubs in lib/vbexport/display.c to
provide support on both ARM (where LCD driver is used) and
X86 (where the CFB driver is used) platforms.
BUG=chrome-os-partner:4552
TEST=manual
On X86 (alex with a Dediprog programmer connected to it), run the
following commands:
. emerge-x86-alex vboot_reference-firmware chromeos-u-boot chromeos-coreboot
dd if=/build/x86-alex/coreboot/coreboot.rom of=/tmp/coreboot seek=3584 bs=1K
sudo flashrom -p dediprog -w /tmp/coreboot
. Reboot the machine, observe it come up to boot> prompt, start
ChromeOS (using the `boot' cli command).
On ARM (tegra2_kaen)
. emerge-tegra2_kaen vboot_reference-firmware chromeos-u-boot chromeos-bootimage
. program the resulting image into Kaen, restart it, observe the
machine come up.
. install the new OS image on the machine, restart it, observe
the machine come up.
. request recovery reboot using crossystem, restart the machine,
observe it come up in recovery request mode.
This test case actually failed: the system did show the
recovery request screen, but then proceeded to boot from the
plugged in USB stick (it was supposed to wait for the stick to
be removed/reinserted)
Change-Id: I75310de3f93464645cc9e61237f65d7d19b71873
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: http://gerrit.chromium.org/gerrit/4886
Reviewed-by: Stefan Reinauer <reinauer@google.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/chromeos/common.h | 3 | ||||
-rw-r--r-- | include/configs/coreboot.h | 7 | ||||
-rw-r--r-- | include/lcd.h | 6 | ||||
-rw-r--r-- | include/video.h | 6 |
4 files changed, 17 insertions, 5 deletions
diff --git a/include/chromeos/common.h b/include/chromeos/common.h index b959bbeaa7..95924b0c9b 100644 --- a/include/chromeos/common.h +++ b/include/chromeos/common.h @@ -20,4 +20,7 @@ #define VBDEBUG(fmt, args...) #endif +/* this function is implemented along with vboot_api */ +int display_clear(void); + #endif /* CHROMEOS_COMMON_H_ */ diff --git a/include/configs/coreboot.h b/include/configs/coreboot.h index 697fbb96d4..847d1d8c00 100644 --- a/include/configs/coreboot.h +++ b/include/configs/coreboot.h @@ -303,9 +303,6 @@ * Network device support */ #define CONFIG_NET_MULTI -/* this will have to be enabled to get the bitmaps to work... -#define CONFIG_LCD 1 -*/ #define CONFIG_CHROMEOS_HWID "COREBOOT U-BOOT 0000" #define CONFIG_OFFSET_GBB 0x000d0000 @@ -314,7 +311,7 @@ #define CONFIG_LENGTH_FMAP 0x00000400 #define CONFIG_LCD_vl_col 1366 #define CONFIG_LCD_vl_row 768 - -#define CONFIG_LZMA +#define CONFIG_LZMA 1 +#define CONFIG_SPLASH_SCREEN 1 #endif /* __CONFIG_H */ diff --git a/include/lcd.h b/include/lcd.h index 5be67c6216..5634af003a 100644 --- a/include/lcd.h +++ b/include/lcd.h @@ -219,6 +219,12 @@ void lcd_putc (const char c); void lcd_puts (const char *s); void lcd_printf (const char *fmt, ...); int lcd_clear (void); +int lcd_get_pixel_width (void); +int lcd_get_pixel_height(void); +int lcd_get_screen_rows (void); +int lcd_get_screen_columns (void); +int lcd_display_bitmap (ulong, int, int); +void lcd_position_cursor (unsigned col, unsigned row); /* Allow boards to customize the information displayed */ void lcd_show_board_info(void); diff --git a/include/video.h b/include/video.h index efcc682a29..8b3799b0b0 100644 --- a/include/video.h +++ b/include/video.h @@ -15,5 +15,11 @@ int video_init (void *videobase); void video_putc (const char c); void video_puts (const char *s); void video_printf (const char *fmt, ...); +void video_position_cursor (unsigned col, unsigned row); +int video_display_bitmap (ulong, int, int); +int video_get_screen_rows (void); +int video_get_screen_columns (void); +int video_get_pixel_width (void); +int video_get_pixel_height(void); #endif |