+/* SPDX-License-Identifier: BSD-2-Clause */
/******************************************************************************
* Copyright (c) 2004, 2008 IBM Corporation
* All rights reserved.
*
- * SPDX-License-Identifier: BSD-2-Clause
- *
* Contributors:
* IBM Corporation - initial implementation
*****************************************************************************/
#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;
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;
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 {
#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_plat;
+int vbe_setup_video_priv(struct vesa_mode_info *vesa,
+ struct video_priv *uc_priv,
+ struct video_uc_plat *plat);
+int vbe_setup_video(struct udevice *dev, int (*int15_handler)(void));
#endif