summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2011-07-27 16:38:15 -0700
committerSimon Glass <sjg@chromium.org>2011-08-29 10:59:17 -0700
commitfd00e682c0ccd38ced77a91af4442d38d8cb2e09 (patch)
tree514d5a09acccd0be6a4389dec35f38280b6b4f3b /include
parent1eb652f3abce5058406161829af3ba0260f10443 (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.h3
-rw-r--r--include/configs/coreboot.h7
-rw-r--r--include/lcd.h6
-rw-r--r--include/video.h6
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