ast_mode.h revision 15fb4814
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		1600
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
52/* Flags Definition */
53#define Charx8Dot               0x00000001
54#define HalfDCLK                0x00000002
55#define DoubleScanMode          0x00000004
56#define LineCompareOff          0x00000008
57#define SyncPP                  0x00000000
58#define SyncPN                  0x00000040
59#define SyncNP                  0x00000080
60#define SyncNN                  0x000000C0
61#define HBorder                 0x00000020
62#define VBorder                 0x00000010
63
64/* DAC Definition */
65#define DAC_NUM_TEXT		64
66#define DAC_NUM_EGA		64
67#define DAC_NUM_VGA		256
68
69/* Data Structure decalration for internal use */
70typedef struct {
71
72    UCHAR MISC;
73    UCHAR SEQ[4];
74    UCHAR CRTC[25];
75    UCHAR AR[20];
76    UCHAR GR[9];
77
78} VBIOS_STDTABLE_STRUCT, *PVBIOS_STDTABLE_STRUCT;
79
80typedef struct {
81
82    ULONG HT;
83    ULONG HDE;
84    ULONG HFP;
85    ULONG HSYNC;
86    ULONG VT;
87    ULONG VDE;
88    ULONG VFP;
89    ULONG VSYNC;
90    ULONG DCLKIndex;
91    ULONG Flags;
92
93    ULONG ulRefreshRate;
94    ULONG ulRefreshRateIndex;
95    ULONG ulModeID;
96
97} VBIOS_ENHTABLE_STRUCT, *PVBIOS_ENHTABLE_STRUCT;
98
99typedef struct {
100    UCHAR Param1;
101    UCHAR Param2;
102    UCHAR Param3;
103} VBIOS_DCLK_INFO, *PVBIOS_DCLK_INFO;
104
105typedef struct {
106    UCHAR DACR;
107    UCHAR DACG;
108    UCHAR DACB;
109} VBIOS_DAC_INFO, *PVBIOS_DAC_INFO;
110
111typedef struct {
112    PVBIOS_STDTABLE_STRUCT pStdTableEntry;
113    PVBIOS_ENHTABLE_STRUCT pEnhTableEntry;
114
115} VBIOS_MODE_INFO, *PVBIOS_MODE_INFO;
116