diff options
author | Stefan Reinauer <reinauer@chromium.org> | 2011-08-04 17:13:12 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2011-08-29 10:59:23 -0700 |
commit | 0c5ff9c582cff50ea47b446af9e5bcd976d95fe1 (patch) | |
tree | 0f7d10abbe5c2eddb301954dc73ecd40eef37e50 /lib | |
parent | b4a3fbea1f1496c1600caff4b043530f3178f291 (diff) |
Implement missing functions for vboot:
* video_clear()
Clear the video framebuffer.
* cold_reboot()
Do a hard reset through the chipset's reset control register. This
register is available on all x86 systems (at least those built in
the last 10ys)
* power_off()
Power down the machine by using the power management sleep control
of the chipset. This will currently only work on Intel chipsets.
However, adapting it to new chipsets is fairly simple. You will
have to find the IO address of the power management register block
in your southbridge, and look up the appropriate SLP_TYP_S5 value
from your southbridge's data sheet.
BUG=chrome-os-partner:3912
TEST=Run vboot_twostage and see vboot first clear the screen and later cold boot.
Run poweroff and coldboot command in uboot console.
Change-Id: I59f49a41e8807b2ec3ebb3d083d2a06ced9553a0
Reviewed-on: http://gerrit.chromium.org/gerrit/5361
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Tested-by: Stefan Reinauer <reinauer@chromium.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/vbexport/display.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/vbexport/display.c b/lib/vbexport/display.c index cdf88627833..80f45128d99 100644 --- a/lib/vbexport/display.c +++ b/lib/vbexport/display.c @@ -55,6 +55,7 @@ static struct display_callbacks display_callbacks_ = { .dc_position_cursor = video_position_cursor, .dc_puts = video_puts, .dc_display_bitmap = video_display_bitmap, + .dc_display_clear = video_clear #endif }; @@ -191,9 +192,5 @@ VbError_t VbExDisplayDebugInfo(const char *info_str) /* this function is not technically part of the vboot interface */ int display_clear(void) { - if (display_callbacks_.dc_display_clear) - return display_callbacks_.dc_display_clear(); - - printf ("%s: not implemented!\n", __FUNCTION__); - return -1; + return display_callbacks_.dc_display_clear(); } |