mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
x86: Pass video settings from SPL to U-Boot proper
When video is set up in SPL, U-Boot proper needs to use the correct parameters so it can write to the display. Put these in a bloblist so they are available to U-Boot proper. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Nikhil M Jain <n-jain1@ti.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
@@ -113,6 +113,7 @@ enum bloblist_tag_t {
|
||||
BLOBLISTT_PROJECT_AREA = 0x8000,
|
||||
BLOBLISTT_U_BOOT_SPL_HANDOFF = 0x8000, /* Hand-off info from SPL */
|
||||
BLOBLISTT_VBE = 0x8001, /* VBE per-phase state */
|
||||
BLOBLISTT_U_BOOT_VIDEO = 0x8002, /* Video information from SPL */
|
||||
|
||||
/*
|
||||
* Vendor-specific tags are permitted here. Projects can be open source
|
||||
|
||||
@@ -134,6 +134,30 @@ struct video_ops {
|
||||
|
||||
#define video_get_ops(dev) ((struct video_ops *)(dev)->driver->ops)
|
||||
|
||||
/**
|
||||
* struct video_handoff - video information passed from SPL
|
||||
*
|
||||
* This is used when video is set up by SPL, to provide the details to U-Boot
|
||||
* proper.
|
||||
*
|
||||
* @fb: Base address of frame buffer, 0 if not yet known
|
||||
* @size: Frame-buffer size, in bytes
|
||||
* @xsize: Number of pixel columns (e.g. 1366)
|
||||
* @ysize: Number of pixels rows (e.g.. 768)
|
||||
* @line_length: Length of each frame buffer line, in bytes. This can be
|
||||
* set by the driver, but if not, the uclass will set it after
|
||||
* probing
|
||||
* @bpix: Encoded bits per pixel (enum video_log2_bpp)
|
||||
*/
|
||||
struct video_handoff {
|
||||
u64 fb;
|
||||
u32 size;
|
||||
u16 xsize;
|
||||
u16 ysize;
|
||||
u32 line_length;
|
||||
u8 bpix;
|
||||
};
|
||||
|
||||
/** enum colour_idx - the 16 colors supported by consoles */
|
||||
enum colour_idx {
|
||||
VID_BLACK = 0,
|
||||
|
||||
Reference in New Issue
Block a user