ast_mode.h revision de78e416
115fb4814Smrg/*
215fb4814Smrg * Copyright (c) 2005 ASPEED Technology Inc.
315fb4814Smrg *
415fb4814Smrg * Permission to use, copy, modify, distribute, and sell this software and its
515fb4814Smrg * documentation for any purpose is hereby granted without fee, provided that
615fb4814Smrg * the above copyright notice appear in all copies and that both that
715fb4814Smrg * copyright notice and this permission notice appear in supporting
815fb4814Smrg * documentation, and that the name of the authors not be used in
915fb4814Smrg * advertising or publicity pertaining to distribution of the software without
1015fb4814Smrg * specific, written prior permission.  The authors makes no representations
1115fb4814Smrg * about the suitability of this software for any purpose.  It is provided
1215fb4814Smrg * "as is" without express or implied warranty.
1315fb4814Smrg *
1415fb4814Smrg * THE AUTHORS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
1515fb4814Smrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
1615fb4814Smrg * EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
1715fb4814Smrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
1815fb4814Smrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
1915fb4814Smrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2015fb4814Smrg * PERFORMANCE OF THIS SOFTWARE.
2115fb4814Smrg */
2215fb4814Smrg
2315fb4814Smrg/* Mode Limitation */
24de78e416Smrg#define MAX_HResolution		1920
2515fb4814Smrg#define MAX_VResolution		1200
2615fb4814Smrg
2715fb4814Smrg/* Std. Table Index Definition */
2815fb4814Smrg#define TextModeIndex 		0
2915fb4814Smrg#define EGAModeIndex 		1
3015fb4814Smrg#define VGAModeIndex 		2
3115fb4814Smrg#define HiCModeIndex 		3
3215fb4814Smrg#define TrueCModeIndex 		4
3315fb4814Smrg
3415fb4814Smrg/* DCLK Index */
3515fb4814Smrg#define VCLK25_175     		0x00
3615fb4814Smrg#define VCLK28_322     		0x01
3715fb4814Smrg#define VCLK31_5       		0x02
3815fb4814Smrg#define VCLK36         		0x03
3915fb4814Smrg#define VCLK40         		0x04
4015fb4814Smrg#define VCLK49_5       		0x05
4115fb4814Smrg#define VCLK50         		0x06
4215fb4814Smrg#define VCLK56_25      		0x07
4315fb4814Smrg#define VCLK65		 	0x08
4415fb4814Smrg#define VCLK75	        	0x09
4515fb4814Smrg#define VCLK78_75      		0x0A
4615fb4814Smrg#define VCLK94_5       		0x0B
4715fb4814Smrg#define VCLK108        		0x0C
4815fb4814Smrg#define VCLK135        		0x0D
4915fb4814Smrg#define VCLK157_5      		0x0E
5015fb4814Smrg#define VCLK162        		0x0F
51de78e416Smrg/* #define VCLK193_25     		0x10 */
52de78e416Smrg#define VCLK154     		0x10
5315fb4814Smrg
5415fb4814Smrg/* Flags Definition */
5515fb4814Smrg#define Charx8Dot               0x00000001
5615fb4814Smrg#define HalfDCLK                0x00000002
5715fb4814Smrg#define DoubleScanMode          0x00000004
5815fb4814Smrg#define LineCompareOff          0x00000008
5915fb4814Smrg#define SyncPP                  0x00000000
6015fb4814Smrg#define SyncPN                  0x00000040
6115fb4814Smrg#define SyncNP                  0x00000080
6215fb4814Smrg#define SyncNN                  0x000000C0
6315fb4814Smrg#define HBorder                 0x00000020
6415fb4814Smrg#define VBorder                 0x00000010
6515fb4814Smrg
6615fb4814Smrg/* DAC Definition */
6715fb4814Smrg#define DAC_NUM_TEXT		64
6815fb4814Smrg#define DAC_NUM_EGA		64
6915fb4814Smrg#define DAC_NUM_VGA		256
7015fb4814Smrg
7115fb4814Smrg/* Data Structure decalration for internal use */
7215fb4814Smrgtypedef struct {
7315fb4814Smrg
7415fb4814Smrg    UCHAR MISC;
7515fb4814Smrg    UCHAR SEQ[4];
7615fb4814Smrg    UCHAR CRTC[25];
7715fb4814Smrg    UCHAR AR[20];
7815fb4814Smrg    UCHAR GR[9];
7915fb4814Smrg
8015fb4814Smrg} VBIOS_STDTABLE_STRUCT, *PVBIOS_STDTABLE_STRUCT;
8115fb4814Smrg
8215fb4814Smrgtypedef struct {
8315fb4814Smrg
8415fb4814Smrg    ULONG HT;
8515fb4814Smrg    ULONG HDE;
8615fb4814Smrg    ULONG HFP;
8715fb4814Smrg    ULONG HSYNC;
8815fb4814Smrg    ULONG VT;
8915fb4814Smrg    ULONG VDE;
9015fb4814Smrg    ULONG VFP;
9115fb4814Smrg    ULONG VSYNC;
9215fb4814Smrg    ULONG DCLKIndex;
9315fb4814Smrg    ULONG Flags;
9415fb4814Smrg
9515fb4814Smrg    ULONG ulRefreshRate;
9615fb4814Smrg    ULONG ulRefreshRateIndex;
9715fb4814Smrg    ULONG ulModeID;
9815fb4814Smrg
9915fb4814Smrg} VBIOS_ENHTABLE_STRUCT, *PVBIOS_ENHTABLE_STRUCT;
10015fb4814Smrg
10115fb4814Smrgtypedef struct {
10215fb4814Smrg    UCHAR Param1;
10315fb4814Smrg    UCHAR Param2;
10415fb4814Smrg    UCHAR Param3;
10515fb4814Smrg} VBIOS_DCLK_INFO, *PVBIOS_DCLK_INFO;
10615fb4814Smrg
10715fb4814Smrgtypedef struct {
10815fb4814Smrg    UCHAR DACR;
10915fb4814Smrg    UCHAR DACG;
11015fb4814Smrg    UCHAR DACB;
11115fb4814Smrg} VBIOS_DAC_INFO, *PVBIOS_DAC_INFO;
11215fb4814Smrg
11315fb4814Smrgtypedef struct {
11415fb4814Smrg    PVBIOS_STDTABLE_STRUCT pStdTableEntry;
11515fb4814Smrg    PVBIOS_ENHTABLE_STRUCT pEnhTableEntry;
11615fb4814Smrg
11715fb4814Smrg} VBIOS_MODE_INFO, *PVBIOS_MODE_INFO;
118