/* SPDX-License-Identifier: GPL-2.0 */ | |
#ifndef _LINUX_XGIFB | |
#define _LINUX_XGIFB | |
#include "vgatypes.h" | |
#include "vb_struct.h" | |
enum xgifb_display_type { | |
XGIFB_DISP_NONE = 0, | |
XGIFB_DISP_CRT, | |
XGIFB_DISP_LCD, | |
XGIFB_DISP_TV, | |
}; | |
#define HASVB_NONE 0x00 | |
#define HASVB_301 0x01 | |
#define HASVB_LVDS 0x02 | |
#define HASVB_TRUMPION 0x04 | |
#define HASVB_LVDS_CHRONTEL 0x10 | |
#define HASVB_302 0x20 | |
#define HASVB_CHRONTEL 0x80 | |
enum XGI_CHIP_TYPE { | |
XG40 = 32, | |
XG42, | |
XG20 = 48, | |
XG21, | |
XG27, | |
}; | |
enum xgi_tvtype { | |
TVMODE_NTSC = 0, | |
TVMODE_PAL, | |
TVMODE_HIVISION, | |
TVTYPE_PALM, | |
TVTYPE_PALN, | |
TVTYPE_NTSCJ, | |
TVMODE_TOTAL | |
}; | |
enum xgi_tv_plug { | |
TVPLUG_UNKNOWN = 0, | |
TVPLUG_COMPOSITE = 1, | |
TVPLUG_SVIDEO = 2, | |
TVPLUG_COMPOSITE_AND_SVIDEO = 3, | |
TVPLUG_SCART = 4, | |
TVPLUG_YPBPR_525i = 5, | |
TVPLUG_YPBPR_525P = 6, | |
TVPLUG_YPBPR_750P = 7, | |
TVPLUG_YPBPR_1080i = 8, | |
TVPLUG_TOTAL | |
}; | |
struct xgifb_video_info { | |
struct fb_info *fb_info; | |
struct xgi_hw_device_info hw_info; | |
struct vb_device_info dev_info; | |
int mode_idx; | |
int rate_idx; | |
u32 pseudo_palette[17]; | |
int chip_id; | |
unsigned int video_size; | |
phys_addr_t video_base; | |
void __iomem *video_vbase; | |
phys_addr_t mmio_base; | |
unsigned long mmio_size; | |
void __iomem *mmio_vbase; | |
unsigned long vga_base; | |
int mtrr; | |
int video_bpp; | |
int video_cmap_len; | |
int video_width; | |
int video_height; | |
int video_vwidth; | |
int video_vheight; | |
int org_x; | |
int org_y; | |
int video_linelength; | |
unsigned int refresh_rate; | |
enum xgifb_display_type display2; /* the second display output type */ | |
bool display2_force; | |
unsigned char hasVB; | |
unsigned char TV_type; | |
unsigned char TV_plug; | |
struct XGI21_LVDSCapStruct lvds_data; | |
enum XGI_CHIP_TYPE chip; | |
unsigned char revision_id; | |
unsigned short DstColor; | |
unsigned long XGI310_AccelDepth; | |
unsigned long CommandReg; | |
unsigned int pcibus; | |
unsigned int pcislot; | |
unsigned int pcifunc; | |
unsigned short subsysvendor; | |
unsigned short subsysdevice; | |
char reserved[236]; | |
}; | |
#endif |