blob: e256f72f6d8ae47f36017c03f87817adacbf51da [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
apatard@mandriva.comd7636e02010-05-19 10:44:14 +02002#ifndef _VB_STRUCT_
3#define _VB_STRUCT_
Tomi Valkeinenf7018c22014-02-13 15:31:38 +02004#include "../../video/fbdev/sis/vstruct.h"
apatard@mandriva.comd7636e02010-05-19 10:44:14 +02005
Kenji Toyama918122e2011-04-23 21:54:07 +08006struct XGI_LVDSCRT1HDataStruct {
7 unsigned char Reg[8];
Bill Pemberton80adad82010-06-17 13:10:51 -04008};
9
Kenji Toyama918122e2011-04-23 21:54:07 +080010struct XGI_LVDSCRT1VDataStruct {
11 unsigned char Reg[7];
Bill Pemberton80adad82010-06-17 13:10:51 -040012};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020013
Kenji Toyama918122e2011-04-23 21:54:07 +080014struct XGI_ExtStruct {
15 unsigned char Ext_ModeID;
16 unsigned short Ext_ModeFlag;
17 unsigned short Ext_ModeInfo;
Kenji Toyama918122e2011-04-23 21:54:07 +080018 unsigned char Ext_RESINFO;
Kenji Toyama918122e2011-04-23 21:54:07 +080019 unsigned char VB_ExtTVYFilterIndex;
20 unsigned char REFindex;
Bill Pemberton80adad82010-06-17 13:10:51 -040021};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020022
Kenji Toyama918122e2011-04-23 21:54:07 +080023struct XGI_Ext2Struct {
24 unsigned short Ext_InfoFlag;
25 unsigned char Ext_CRT1CRTC;
26 unsigned char Ext_CRTVCLK;
27 unsigned char Ext_CRT2CRTC;
28 unsigned char Ext_CRT2CRTC2;
29 unsigned char ModeID;
30 unsigned short XRes;
31 unsigned short YRes;
Bill Pemberton80adad82010-06-17 13:10:51 -040032};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020033
Kenji Toyama918122e2011-04-23 21:54:07 +080034struct XGI_ECLKDataStruct {
35 unsigned char SR2E, SR2F, SR30;
36 unsigned short CLOCK;
Bill Pemberton80adad82010-06-17 13:10:51 -040037};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020038
Kenji Toyama918122e2011-04-23 21:54:07 +080039/*add for new UNIVGABIOS*/
40struct XGI_LCDDesStruct {
41 unsigned short LCDHDES;
42 unsigned short LCDHRS;
43 unsigned short LCDVDES;
44 unsigned short LCDVRS;
Bill Pemberton80adad82010-06-17 13:10:51 -040045};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020046
Kenji Toyama918122e2011-04-23 21:54:07 +080047struct XGI330_LCDDataDesStruct2 {
48 unsigned short LCDHDES;
49 unsigned short LCDHRS;
50 unsigned short LCDVDES;
51 unsigned short LCDVRS;
52 unsigned short LCDHSync;
53 unsigned short LCDVSync;
Bill Pemberton80adad82010-06-17 13:10:51 -040054};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020055
Kenji Toyama918122e2011-04-23 21:54:07 +080056struct XGI330_LCDDataTablStruct {
57 unsigned char PANELID;
58 unsigned short MASK;
59 unsigned short CAP;
Aaro Koskinenbdc9eb12012-11-04 21:14:47 +020060 void const *DATAPTR;
Bill Pemberton80adad82010-06-17 13:10:51 -040061};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020062
Kenji Toyama918122e2011-04-23 21:54:07 +080063struct XGI330_TVDataTablStruct {
64 unsigned short MASK;
65 unsigned short CAP;
Aaro Koskinen18ba8662012-09-11 00:15:22 +030066 struct SiS_TVData const *DATAPTR;
Bill Pemberton80adad82010-06-17 13:10:51 -040067};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020068
Kenji Toyama918122e2011-04-23 21:54:07 +080069struct XGI_TimingHStruct {
70 unsigned char data[8];
Bill Pemberton80adad82010-06-17 13:10:51 -040071};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020072
Kenji Toyama918122e2011-04-23 21:54:07 +080073struct XGI_TimingVStruct {
74 unsigned char data[7];
Bill Pemberton80adad82010-06-17 13:10:51 -040075};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020076
Kenji Toyama918122e2011-04-23 21:54:07 +080077struct XGI_XG21CRT1Struct {
78 unsigned char ModeID, CR02, CR03, CR15, CR16;
Bill Pemberton80adad82010-06-17 13:10:51 -040079};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020080
Kenji Toyama918122e2011-04-23 21:54:07 +080081struct XGI330_LCDCapStruct {
82 unsigned char LCD_ID;
83 unsigned short LCD_Capability;
Kenji Toyama918122e2011-04-23 21:54:07 +080084 unsigned char LCD_HSyncWidth;
85 unsigned char LCD_VSyncWidth;
86 unsigned char LCD_VCLK;
87 unsigned char LCDA_VCLKData1;
88 unsigned char LCDA_VCLKData2;
89 unsigned char LCUCHAR_VCLKData1;
90 unsigned char LCUCHAR_VCLKData2;
Kenji Toyama918122e2011-04-23 21:54:07 +080091 unsigned char Spectrum_31;
92 unsigned char Spectrum_32;
93 unsigned char Spectrum_33;
94 unsigned char Spectrum_34;
Bill Pemberton80adad82010-06-17 13:10:51 -040095};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +020096
Kenji Toyama918122e2011-04-23 21:54:07 +080097struct XGI21_LVDSCapStruct {
98 unsigned short LVDS_Capability;
99 unsigned short LVDSHT;
100 unsigned short LVDSVT;
101 unsigned short LVDSHDE;
102 unsigned short LVDSVDE;
103 unsigned short LVDSHFP;
104 unsigned short LVDSVFP;
105 unsigned short LVDSHSYNC;
106 unsigned short LVDSVSYNC;
107 unsigned char VCLKData1;
108 unsigned char VCLKData2;
Aaro Koskinen2fd002b2012-09-11 00:15:12 +0300109 unsigned char PSC_S1; /* Duration between CPL on and signal on */
110 unsigned char PSC_S2; /* Duration signal on and Vdd on */
111 unsigned char PSC_S3; /* Duration between CPL off and signal off */
112 unsigned char PSC_S4; /* Duration signal off and Vdd off */
Kenji Toyama918122e2011-04-23 21:54:07 +0800113 unsigned char PSC_S5;
Bill Pemberton80adad82010-06-17 13:10:51 -0400114};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +0200115
Kenji Toyama918122e2011-04-23 21:54:07 +0800116struct XGI_CRT1TableStruct {
117 unsigned char CR[16];
Bill Pemberton80adad82010-06-17 13:10:51 -0400118};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +0200119
Kenji Toyama918122e2011-04-23 21:54:07 +0800120struct XGI301C_Tap4TimingStruct {
121 unsigned short DE;
122 unsigned char Reg[64]; /* C0-FF */
Bill Pemberton80adad82010-06-17 13:10:51 -0400123};
apatard@mandriva.comd7636e02010-05-19 10:44:14 +0200124
Kenji Toyama918122e2011-04-23 21:54:07 +0800125struct vb_device_info {
Kenji Toyama918122e2011-04-23 21:54:07 +0800126 unsigned long P3c4, P3d4, P3c0, P3ce, P3c2, P3cc;
127 unsigned long P3ca, P3c6, P3c7, P3c8, P3c9, P3da;
128 unsigned long Part0Port, Part1Port, Part2Port;
129 unsigned long Part3Port, Part4Port, Part5Port;
130 unsigned short RVBHCFACT, RVBHCMAX, RVBHRS;
131 unsigned short VGAVT, VGAHT, VGAVDE, VGAHDE;
132 unsigned short VT, HT, VDE, HDE;
133 unsigned short LCDHRS, LCDVRS, LCDHDES, LCDVDES;
apatard@mandriva.comd7636e02010-05-19 10:44:14 +0200134
Kenji Toyama918122e2011-04-23 21:54:07 +0800135 unsigned short ModeType;
Aaro Koskinen84a0b9b2013-03-27 23:53:08 +0200136 unsigned short IF_DEF_LVDS;
Aaro Koskinend2de85c2011-08-31 21:46:11 +0300137 unsigned short IF_DEF_CRT2Monitor;
Aaro Koskinen31fb40f2012-09-11 00:15:15 +0300138 unsigned short IF_DEF_YPbPr;
Aaro Koskinen4c14bfd2011-08-31 21:45:57 +0300139 unsigned short IF_DEF_HiVision;
Kenji Toyama918122e2011-04-23 21:54:07 +0800140 unsigned short LCDResInfo, LCDTypeInfo, VBType;/*301b*/
Aaro Koskinen9ffc7e92011-11-27 23:03:14 +0200141 unsigned short VBInfo, TVInfo, LCDInfo;
Kenji Toyama918122e2011-04-23 21:54:07 +0800142 unsigned short SetFlag;
143 unsigned short NewFlickerMode;
144 unsigned short SelectCRT2Rate;
apatard@mandriva.comd7636e02010-05-19 10:44:14 +0200145
Aaro Koskinenc44fa622011-09-13 22:49:33 +0300146 void __iomem *FBAddr;
apatard@mandriva.comd7636e02010-05-19 10:44:14 +0200147
Aaro Koskinen597d96b2013-03-27 23:53:15 +0200148 unsigned char const *SR18;
Peter Huewe87be0af2013-02-05 22:32:29 +0100149 unsigned char const (*CR40)[3];
Bill Pemberton80adad82010-06-17 13:10:51 -0400150
Aaro Koskinena68292f2012-11-04 21:15:07 +0200151 struct SiS_MCLKData const *MCLKData;
apatard@mandriva.comd7636e02010-05-19 10:44:14 +0200152
Peter Huewe6d12dae2012-06-14 00:21:52 +0200153 unsigned char XGINew_CR97;
apatard@mandriva.comd7636e02010-05-19 10:44:14 +0200154
Aaro Koskinenbdc9eb12012-11-04 21:14:47 +0200155 struct XGI330_LCDCapStruct const *LCDCapList;
apatard@mandriva.comd7636e02010-05-19 10:44:14 +0200156
Aaro Koskinen6154e7f2012-11-04 21:14:50 +0200157 struct XGI_TimingHStruct TimingH;
158 struct XGI_TimingVStruct TimingV;
apatard@mandriva.comd7636e02010-05-19 10:44:14 +0200159
Aaro Koskinen2af1a292011-10-11 21:47:31 +0300160 int ram_type;
Aaro Koskinenee055a42011-10-11 21:47:32 +0300161 int ram_channel;
Aaro Koskinen2f0f3952011-10-11 21:47:33 +0300162 int ram_bus;
Bill Pemberton80adad82010-06-17 13:10:51 -0400163}; /* _struct vb_device_info */
apatard@mandriva.comd7636e02010-05-19 10:44:14 +0200164
apatard@mandriva.comd7636e02010-05-19 10:44:14 +0200165#endif /* _VB_STRUCT_ */