X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=include%2Fvbe.h;h=f420f493ee1b05ce2bae5d8c39068832ec23daac;hb=da8a77124191e603e8cdeb2aaa94fba94def9509;hp=d4056914c4eb106b431be60828b311846c4aded6;hpb=fc9b0b80435cda721fbdbe507c9e4f388b0ea62b;p=oweals%2Fu-boot.git diff --git a/include/vbe.h b/include/vbe.h index d4056914c4..f420f493ee 100644 --- a/include/vbe.h +++ b/include/vbe.h @@ -1,10 +1,9 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ /****************************************************************************** * Copyright (c) 2004, 2008 IBM Corporation * Copyright (c) 2009 Pattrick Hueper * All rights reserved. * - * SPDX-License-Identifier: BSD-2-Clause - * * Contributors: * IBM Corporation - initial implementation *****************************************************************************/ @@ -12,7 +11,7 @@ #define _VBE_H /* these structs are for input from and output to OF */ -struct __packed screen_info { +struct __packed vbe_screen_info { u8 display_type; /* 0=NONE, 1= analog, 2=digital */ u16 screen_width; u16 screen_height; @@ -23,7 +22,7 @@ struct __packed screen_info { u8 edid_block_zero[128]; }; -struct __packed screen_info_input { +struct __packed vbe_screen_info_input { u8 signature[4]; u16 size_reserved; u8 monitor_number; @@ -35,10 +34,14 @@ struct __packed screen_info_input { struct __packed vbe_info { char signature[4]; u16 version; - u8 *oem_string_ptr; + u32 oem_string_ptr; u32 capabilities; - u16 video_mode_list[256]; + u32 modes_ptr; u16 total_memory; + u16 oem_version; + u32 vendor_name_ptr; + u32 product_name_ptr; + u32 product_rev_ptr; }; struct __packed vesa_mode_info { @@ -96,8 +99,15 @@ struct vbe_ddc_info { #define VESA_GET_INFO 0x4f00 #define VESA_GET_MODE_INFO 0x4f01 #define VESA_SET_MODE 0x4f02 +#define VESA_GET_CUR_MODE 0x4f03 + +extern struct vbe_mode_info mode_info; -struct graphic_device; -int vbe_get_video_info(struct graphic_device *gdev); +struct video_priv; +struct video_uc_platdata; +int vbe_setup_video_priv(struct vesa_mode_info *vesa, + struct video_priv *uc_priv, + struct video_uc_platdata *plat); +int vbe_setup_video(struct udevice *dev, int (*int15_handler)(void)); #endif