ast_mode.h revision de78e416
1/*
2 * Copyright (c) 2005 ASPEED Technology Inc.
3 *
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that
7 * copyright notice and this permission notice appear in supporting
8 * documentation, and that the name of the authors not be used in
9 * advertising or publicity pertaining to distribution of the software without
10 * specific, written prior permission.  The authors makes no representations
11 * about the suitability of this software for any purpose.  It is provided
12 * "as is" without express or implied warranty.
13 *
14 * THE AUTHORS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16 * EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20 * PERFORMANCE OF THIS SOFTWARE.
21 */
22
23/* Mode Limitation */
24#define MAX_HResolution		1920
25#define MAX_VResolution		1200
26
27/* Std. Table Index Definition */
28#define TextModeIndex 		0
29#define EGAModeIndex 		1
30#define VGAModeIndex 		2
31#define HiCModeIndex 		3
32#define TrueCModeIndex 		4
33
34/* DCLK Index */
35#define VCLK25_175     		0x00
36#define VCLK28_322     		0x01
37#define VCLK31_5       		0x02
38#define VCLK36         		0x03
39#define VCLK40         		0x04
40#define VCLK49_5       		0x05
41#define VCLK50         		0x06
42#define VCLK56_25      		0x07
43#define VCLK65		 	0x08
44#define VCLK75	        	0x09
45#define VCLK78_75      		0x0A
46#define VCLK94_5       		0x0B
47#define VCLK108        		0x0C
48#define VCLK135        		0x0D
49#define VCLK157_5      		0x0E
50#define VCLK162        		0x0F
51/* #define VCLK193_25     		0x10 */
52#define VCLK154     		0x10
53
54/* Flags Definition */
55#define Charx8Dot               0x00000001
56#define HalfDCLK                0x00000002
57#define DoubleScanMode          0x00000004
58#define LineCompareOff          0x00000008
59#define SyncPP                  0x00000000
60#define SyncPN                  0x00000040
61#define SyncNP                  0x00000080
62#define SyncNN                  0x000000C0
63#define HBorder                 0x00000020
64#define VBorder                 0x00000010
65
66/* DAC Definition */
67#define DAC_NUM_TEXT		64
68#define DAC_NUM_EGA		64
69#define DAC_NUM_VGA		256
70
71/* Data Structure decalration for internal use */
72typedef struct {
73
74    UCHAR MISC;
75    UCHAR SEQ[4];
76    UCHAR CRTC[25];
77    UCHAR AR[20];
78    UCHAR GR[9];
79
80} VBIOS_STDTABLE_STRUCT, *PVBIOS_STDTABLE_STRUCT;
81
82typedef struct {
83
84    ULONG HT;
85    ULONG HDE;
86    ULONG HFP;
87    ULONG HSYNC;
88    ULONG VT;
89    ULONG VDE;
90    ULONG VFP;
91    ULONG VSYNC;
92    ULONG DCLKIndex;
93    ULONG Flags;
94
95    ULONG ulRefreshRate;
96    ULONG ulRefreshRateIndex;
97    ULONG ulModeID;
98
99} VBIOS_ENHTABLE_STRUCT, *PVBIOS_ENHTABLE_STRUCT;
100
101typedef struct {
102    UCHAR Param1;
103    UCHAR Param2;
104    UCHAR Param3;
105} VBIOS_DCLK_INFO, *PVBIOS_DCLK_INFO;
106
107typedef struct {
108    UCHAR DACR;
109    UCHAR DACG;
110    UCHAR DACB;
111} VBIOS_DAC_INFO, *PVBIOS_DAC_INFO;
112
113typedef struct {
114    PVBIOS_STDTABLE_STRUCT pStdTableEntry;
115    PVBIOS_ENHTABLE_STRUCT pEnhTableEntry;
116
117} VBIOS_MODE_INFO, *PVBIOS_MODE_INFO;
118