⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hw.h

📁 via framebuffer driver
💻 H
📖 第 1 页 / 共 2 页
字号:
/* IGA1 Vertical Blank End */struct iga1_ver_blank_end {	int reg_num;	struct io_register reg[IGA1_VER_BLANK_END_REG_NUM];};/* IGA1 Vertical Sync Start */struct iga1_ver_sync_start {	int reg_num;	struct io_register reg[IGA1_VER_SYNC_START_REG_NUM];};/* IGA1 Vertical Sync End */struct iga1_ver_sync_end {	int reg_num;	struct io_register reg[IGA1_VER_SYNC_END_REG_NUM];};/*******************************************************      Define IGA2 Shadow Display Timing         *********************************************************//* IGA2 Shadow Horizontal Total */struct iga2_shadow_hor_total {	int reg_num;	struct io_register reg[IGA2_SHADOW_HOR_TOTAL_REG_NUM];};/* IGA2 Shadow Horizontal Blank End */struct iga2_shadow_hor_blank_end {	int reg_num;	struct io_register reg[IGA2_SHADOW_HOR_BLANK_END_REG_NUM];};/* IGA2 Shadow Vertical Total */struct iga2_shadow_ver_total {	int reg_num;	struct io_register reg[IGA2_SHADOW_VER_TOTAL_REG_NUM];};/* IGA2 Shadow Vertical Addressable Video */struct iga2_shadow_ver_addr {	int reg_num;	struct io_register reg[IGA2_SHADOW_VER_ADDR_REG_NUM];};/* IGA2 Shadow Vertical Blank Start */struct iga2_shadow_ver_blank_start {	int reg_num;	struct io_register reg[IGA2_SHADOW_VER_BLANK_START_REG_NUM];};/* IGA2 Shadow Vertical Blank End */struct iga2_shadow_ver_blank_end {	int reg_num;	struct io_register reg[IGA2_SHADOW_VER_BLANK_END_REG_NUM];};/* IGA2 Shadow Vertical Sync Start */struct iga2_shadow_ver_sync_start {	int reg_num;	struct io_register reg[IGA2_SHADOW_VER_SYNC_START_REG_NUM];};/* IGA2 Shadow Vertical Sync End */struct iga2_shadow_ver_sync_end {	int reg_num;	struct io_register reg[IGA2_SHADOW_VER_SYNC_END_REG_NUM];};/*******************************************************      Define IGA2 Display Timing                **********************************************************//* IGA2 Horizontal Total */struct iga2_hor_total {	int reg_num;	struct io_register reg[IGA2_HOR_TOTAL_REG_NUM];};/* IGA2 Horizontal Addressable Video */struct iga2_hor_addr {	int reg_num;	struct io_register reg[IGA2_HOR_ADDR_REG_NUM];};/* IGA2 Horizontal Blank Start */struct iga2_hor_blank_start {	int reg_num;	struct io_register reg[IGA2_HOR_BLANK_START_REG_NUM];};/* IGA2 Horizontal Blank End */struct iga2_hor_blank_end {	int reg_num;	struct io_register reg[IGA2_HOR_BLANK_END_REG_NUM];};/* IGA2 Horizontal Sync Start */struct iga2_hor_sync_start {	int reg_num;	struct io_register reg[IGA2_HOR_SYNC_START_REG_NUM];};/* IGA2 Horizontal Sync End */struct iga2_hor_sync_end {	int reg_num;	struct io_register reg[IGA2_HOR_SYNC_END_REG_NUM];};/* IGA2 Vertical Total */struct iga2_ver_total {	int reg_num;	struct io_register reg[IGA2_VER_TOTAL_REG_NUM];};/* IGA2 Vertical Addressable Video */struct iga2_ver_addr {	int reg_num;	struct io_register reg[IGA2_VER_ADDR_REG_NUM];};/* IGA2 Vertical Blank Start */struct iga2_ver_blank_start {	int reg_num;	struct io_register reg[IGA2_VER_BLANK_START_REG_NUM];};/* IGA2 Vertical Blank End */struct iga2_ver_blank_end {	int reg_num;	struct io_register reg[IGA2_VER_BLANK_END_REG_NUM];};/* IGA2 Vertical Sync Start */struct iga2_ver_sync_start {	int reg_num;	struct io_register reg[IGA2_VER_SYNC_START_REG_NUM];};/* IGA2 Vertical Sync End */struct iga2_ver_sync_end {	int reg_num;	struct io_register reg[IGA2_VER_SYNC_END_REG_NUM];};/* IGA1 Offset Register */struct iga1_offset {	int reg_num;	struct io_register reg[IGA1_OFFSET_REG_NUM];};/* IGA2 Offset Register */struct iga2_offset {	int reg_num;	struct io_register reg[IGA2_OFFSET_REG_NUM];};struct offset {	struct iga1_offset iga1_offset_reg;	struct iga2_offset iga2_offset_reg;};/* IGA1 Fetch Count Register */struct iga1_fetch_count {	int reg_num;	struct io_register reg[IGA1_FETCH_COUNT_REG_NUM];};/* IGA2 Fetch Count Register */struct iga2_fetch_count {	int reg_num;	struct io_register reg[IGA2_FETCH_COUNT_REG_NUM];};struct fetch_count {	struct iga1_fetch_count iga1_fetch_count_reg;	struct iga2_fetch_count iga2_fetch_count_reg;};/* Starting Address Register */struct iga1_starting_addr {	int reg_num;	struct io_register reg[IGA1_STARTING_ADDR_REG_NUM];};struct iga2_starting_addr {	int reg_num;	struct io_register reg[IGA2_STARTING_ADDR_REG_NUM];};struct starting_addr {	struct iga1_starting_addr iga1_starting_addr_reg;	struct iga2_starting_addr iga2_starting_addr_reg;};/* LCD Power Sequence Timer */struct lcd_pwd_seq_td0 {	int reg_num;	struct io_register reg[LCD_POWER_SEQ_TD0_REG_NUM];};struct lcd_pwd_seq_td1 {	int reg_num;	struct io_register reg[LCD_POWER_SEQ_TD1_REG_NUM];};struct lcd_pwd_seq_td2 {	int reg_num;	struct io_register reg[LCD_POWER_SEQ_TD2_REG_NUM];};struct lcd_pwd_seq_td3 {	int reg_num;	struct io_register reg[LCD_POWER_SEQ_TD3_REG_NUM];};struct _lcd_pwd_seq_timer {	struct lcd_pwd_seq_td0 td0;	struct lcd_pwd_seq_td1 td1;	struct lcd_pwd_seq_td2 td2;	struct lcd_pwd_seq_td3 td3;};/* LCD Scaling Factor */struct _lcd_hor_scaling_factor {	int reg_num;	struct io_register reg[LCD_HOR_SCALING_FACTOR_REG_NUM];};struct _lcd_ver_scaling_factor {	int reg_num;	struct io_register reg[LCD_VER_SCALING_FACTOR_REG_NUM];};struct _lcd_scaling_factor {	struct _lcd_hor_scaling_factor lcd_hor_scaling_factor;	struct _lcd_ver_scaling_factor lcd_ver_scaling_factor;};struct pll_map {	u32 clk;	u32 cle266_pll;	u32 k800_pll;	u32 cx700_pll;};struct rgbLUT {	u8 red;	u8 green;	u8 blue;};struct lcd_pwd_seq_timer {	u16 td0;	u16 td1;	u16 td2;	u16 td3;};/* Display FIFO Relation Registers*/struct iga1_fifo_depth_select {	int reg_num;	struct io_register reg[IGA1_FIFO_DEPTH_SELECT_REG_NUM];};struct iga1_fifo_threshold_select {	int reg_num;	struct io_register reg[IGA1_FIFO_THRESHOLD_REG_NUM];};struct iga1_fifo_high_threshold_select {	int reg_num;	struct io_register reg[IGA1_FIFO_HIGH_THRESHOLD_REG_NUM];};struct iga1_display_queue_expire_num {	int reg_num;	struct io_register reg[IGA1_DISPLAY_QUEUE_EXPIRE_NUM_REG_NUM];};struct iga2_fifo_depth_select {	int reg_num;	struct io_register reg[IGA2_FIFO_DEPTH_SELECT_REG_NUM];};struct iga2_fifo_threshold_select {	int reg_num;	struct io_register reg[IGA2_FIFO_THRESHOLD_REG_NUM];};struct iga2_fifo_high_threshold_select {	int reg_num;	struct io_register reg[IGA2_FIFO_HIGH_THRESHOLD_REG_NUM];};struct iga2_display_queue_expire_num {	int reg_num;	struct io_register reg[IGA2_DISPLAY_QUEUE_EXPIRE_NUM_REG_NUM];};struct fifo_depth_select {	struct iga1_fifo_depth_select iga1_fifo_depth_select_reg;	struct iga2_fifo_depth_select iga2_fifo_depth_select_reg;};struct fifo_threshold_select {	struct iga1_fifo_threshold_select iga1_fifo_threshold_select_reg;	struct iga2_fifo_threshold_select iga2_fifo_threshold_select_reg;};struct fifo_high_threshold_select {	struct iga1_fifo_high_threshold_select	 iga1_fifo_high_threshold_select_reg;	struct iga2_fifo_high_threshold_select	 iga2_fifo_high_threshold_select_reg;};struct display_queue_expire_num {	struct iga1_display_queue_expire_num	 iga1_display_queue_expire_num_reg;	struct iga2_display_queue_expire_num	 iga2_display_queue_expire_num_reg;};struct iga1_crtc_timing {	struct iga1_hor_total hor_total;	struct iga1_hor_addr hor_addr;	struct iga1_hor_blank_start hor_blank_start;	struct iga1_hor_blank_end hor_blank_end;	struct iga1_hor_sync_start hor_sync_start;	struct iga1_hor_sync_end hor_sync_end;	struct iga1_ver_total ver_total;	struct iga1_ver_addr ver_addr;	struct iga1_ver_blank_start ver_blank_start;	struct iga1_ver_blank_end ver_blank_end;	struct iga1_ver_sync_start ver_sync_start;	struct iga1_ver_sync_end ver_sync_end;};struct iga2_shadow_crtc_timing {	struct iga2_shadow_hor_total hor_total_shadow;	struct iga2_shadow_hor_blank_end hor_blank_end_shadow;	struct iga2_shadow_ver_total ver_total_shadow;	struct iga2_shadow_ver_addr ver_addr_shadow;	struct iga2_shadow_ver_blank_start ver_blank_start_shadow;	struct iga2_shadow_ver_blank_end ver_blank_end_shadow;	struct iga2_shadow_ver_sync_start ver_sync_start_shadow;	struct iga2_shadow_ver_sync_end ver_sync_end_shadow;};struct iga2_crtc_timing {	struct iga2_hor_total hor_total;	struct iga2_hor_addr hor_addr;	struct iga2_hor_blank_start hor_blank_start;	struct iga2_hor_blank_end hor_blank_end;	struct iga2_hor_sync_start hor_sync_start;	struct iga2_hor_sync_end hor_sync_end;	struct iga2_ver_total ver_total;	struct iga2_ver_addr ver_addr;	struct iga2_ver_blank_start ver_blank_start;	struct iga2_ver_blank_end ver_blank_end;	struct iga2_ver_sync_start ver_sync_start;	struct iga2_ver_sync_end ver_sync_end;};/* device ID */#define CLE266              0x3123#define KM400               0x3205#define CN400_FUNCTION2     0x2259#define CN400_FUNCTION3     0x3259/* support VT3314 chipset */#define CN700_FUNCTION2     0x2314#define CN700_FUNCTION3     0x3208/* VT3324 chipset */#define CX700_FUNCTION2     0x2324#define CX700_FUNCTION3     0x3324/* VT3204 chipset*/#define KM800_FUNCTION3      0x3204/* VT3336 chipset*/#define KM890_FUNCTION3      0x3336/* VT3327 chipset*/#define P4M890_FUNCTION3     0x3327/* VT3293 chipset*/#define CN750_FUNCTION3     0x3208/* VT3364 chipset*/#define P4M900_FUNCTION3    0x3364/* VT3353 chipset*/#define VX800_FUNCTION3     0x3353#define NUM_TOTAL_PLL_TABLE ARRAY_SIZE(pll_value)struct IODATA {	u8 Index;	u8 Mask;	u8 Data;};struct pci_device_id_info {	u32 vendor;	u32 device;	u32 chip_index;};extern unsigned int viafb_second_virtual_xres;extern unsigned int viafb_second_offset;extern int viafb_second_size;extern int viafb_SAMM_ON;extern int viafb_dual_fb;extern int viafb_LCD2_ON;extern int viafb_LCD_ON;extern int viafb_DVI_ON;extern int via_fb_accel;extern int via_fb_hotplug;extern struct pll_map pll_value[68];extern struct fifo_depth_select display_fifo_depth_reg;extern struct fifo_threshold_select fifo_threshold_select_reg;extern struct fifo_high_threshold_select fifo_high_threshold_select_reg;extern struct display_queue_expire_num display_queue_expire_num_reg;extern struct fetch_count fetch_count_reg;extern struct iga1_crtc_timing iga1_crtc_reg;extern struct iga2_crtc_timing iga2_crtc_reg;void viafb_write_reg_mask(u8 index, int io_port, u8 data, u8 mask);void viafb_set_output_path(int device, int set_iga,	int output_interface);void viafb_fill_crtc_timing(struct crt_mode_table *crt_table,		      int mode_index, int bpp_byte, int set_iga);void viafb_set_vclock(u32 CLK, int set_iga);void viafb_load_reg(int timing_value, int viafb_load_reg_num,	struct io_register *reg,	      int io_type);void viafb_crt_disable(void);void viafb_crt_enable(void);void init_ad9389(void);/* Access I/O Function */void viafb_write_reg(u8 index, u16 io_port, u8 data);u8 viafb_read_reg(int io_port, u8 index);void viafb_lock_crt(void);void viafb_unlock_crt(void);void viafb_load_offset_reg(int h_addr, int bpp_byte, int set_iga);void viafb_load_fetch_count_reg(int h_addr, int bpp_byte, int set_iga);void viafb_write_regx(struct io_reg RegTable[], int ItemNum);struct VideoModeTable *viafb_get_modetbl_pointer(int Index);u32 viafb_get_clk_value(int clk);void viafb_load_FIFO_reg(int set_iga, int hor_active, int ver_active);void viafb_set_color_depth(int bpp_byte, int set_iga);void viafb_set_dpa_gfx(int output_interface, struct GFX_DPA_SETTING\					*p_gfx_dpa_setting);int viafb_setmode(int vmode_index, int hor_res, int ver_res,	    int video_bpp, int vmode_index1, int hor_res1,	    int ver_res1, int video_bpp1);void viafb_init_chip_info(void);void viafb_init_dac(int set_iga);int viafb_get_pixclock(int hres, int vres, int vmode_refresh);int viafb_get_refresh(int hres, int vres, u32 float_refresh);void viafb_update_device_setting(int hres, int vres, int bpp,			   int vmode_refresh, int flag);void viafb_get_mmio_info(unsigned long *mmio_base,	unsigned long *mmio_len);void viafb_set_iga_path(void);void viafb_set_start_addr(void);void viafb_get_fb_info(unsigned int *fb_base, unsigned int *fb_len);#endif /* __HW_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -