Home | History | Annotate | Line # | Download | only in ast
      1  1.2  riastrad /*	$NetBSD: ast_tables.h,v 1.3 2021/12/18 23:45:27 riastradh Exp $	*/
      2  1.2  riastrad 
      3  1.1  riastrad /*
      4  1.1  riastrad  * Copyright (c) 2005 ASPEED Technology Inc.
      5  1.1  riastrad  *
      6  1.1  riastrad  * Permission to use, copy, modify, distribute, and sell this software and its
      7  1.1  riastrad  * documentation for any purpose is hereby granted without fee, provided that
      8  1.1  riastrad  * the above copyright notice appear in all copies and that both that
      9  1.1  riastrad  * copyright notice and this permission notice appear in supporting
     10  1.1  riastrad  * documentation, and that the name of the authors not be used in
     11  1.1  riastrad  * advertising or publicity pertaining to distribution of the software without
     12  1.1  riastrad  * specific, written prior permission.  The authors makes no representations
     13  1.1  riastrad  * about the suitability of this software for any purpose.  It is provided
     14  1.1  riastrad  * "as is" without express or implied warranty.
     15  1.1  riastrad  *
     16  1.1  riastrad  * THE AUTHORS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
     17  1.1  riastrad  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
     18  1.1  riastrad  * EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
     19  1.1  riastrad  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
     20  1.1  riastrad  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
     21  1.1  riastrad  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
     22  1.1  riastrad  * PERFORMANCE OF THIS SOFTWARE.
     23  1.1  riastrad  */
     24  1.1  riastrad /* Ported from xf86-video-ast driver */
     25  1.1  riastrad 
     26  1.1  riastrad #ifndef AST_TABLES_H
     27  1.1  riastrad #define AST_TABLES_H
     28  1.1  riastrad 
     29  1.1  riastrad /* Std. Table Index Definition */
     30  1.1  riastrad #define TextModeIndex		0
     31  1.1  riastrad #define EGAModeIndex		1
     32  1.1  riastrad #define VGAModeIndex		2
     33  1.1  riastrad #define HiCModeIndex		3
     34  1.1  riastrad #define TrueCModeIndex		4
     35  1.1  riastrad 
     36  1.1  riastrad #define Charx8Dot               0x00000001
     37  1.1  riastrad #define HalfDCLK                0x00000002
     38  1.1  riastrad #define DoubleScanMode          0x00000004
     39  1.1  riastrad #define LineCompareOff          0x00000008
     40  1.1  riastrad #define HBorder                 0x00000020
     41  1.1  riastrad #define VBorder                 0x00000010
     42  1.1  riastrad #define WideScreenMode		0x00000100
     43  1.2  riastrad #define NewModeInfo		0x00000200
     44  1.2  riastrad #define NHSync			0x00000400
     45  1.2  riastrad #define PHSync			0x00000800
     46  1.2  riastrad #define NVSync			0x00001000
     47  1.2  riastrad #define PVSync			0x00002000
     48  1.2  riastrad #define SyncPP			(PVSync | PHSync)
     49  1.2  riastrad #define SyncPN			(PVSync | NHSync)
     50  1.2  riastrad #define SyncNP			(NVSync | PHSync)
     51  1.2  riastrad #define SyncNN			(NVSync | NHSync)
     52  1.3  riastrad #define AST2500PreCatchCRT		0x00004000
     53  1.1  riastrad 
     54  1.1  riastrad /* DCLK Index */
     55  1.1  riastrad #define VCLK25_175     		0x00
     56  1.1  riastrad #define VCLK28_322     		0x01
     57  1.1  riastrad #define VCLK31_5       		0x02
     58  1.1  riastrad #define VCLK36         		0x03
     59  1.1  riastrad #define VCLK40         		0x04
     60  1.1  riastrad #define VCLK49_5       		0x05
     61  1.1  riastrad #define VCLK50         		0x06
     62  1.1  riastrad #define VCLK56_25      		0x07
     63  1.1  riastrad #define VCLK65		 	0x08
     64  1.1  riastrad #define VCLK75	        	0x09
     65  1.1  riastrad #define VCLK78_75      		0x0A
     66  1.1  riastrad #define VCLK94_5       		0x0B
     67  1.1  riastrad #define VCLK108        		0x0C
     68  1.1  riastrad #define VCLK135        		0x0D
     69  1.1  riastrad #define VCLK157_5      		0x0E
     70  1.1  riastrad #define VCLK162        		0x0F
     71  1.1  riastrad /* #define VCLK193_25     		0x10 */
     72  1.1  riastrad #define VCLK154     		0x10
     73  1.1  riastrad #define VCLK83_5    		0x11
     74  1.1  riastrad #define VCLK106_5   		0x12
     75  1.1  riastrad #define VCLK146_25  		0x13
     76  1.1  riastrad #define VCLK148_5   		0x14
     77  1.2  riastrad #define VCLK71      		0x15
     78  1.2  riastrad #define VCLK88_75   		0x16
     79  1.2  riastrad #define VCLK119     		0x17
     80  1.2  riastrad #define VCLK85_5     		0x18
     81  1.2  riastrad #define VCLK97_75     		0x19
     82  1.2  riastrad #define VCLK118_25			0x1A
     83  1.1  riastrad 
     84  1.3  riastrad static const struct ast_vbios_dclk_info dclk_table[] = {
     85  1.3  riastrad 	{0x2C, 0xE7, 0x03},			/* 00: VCLK25_175	*/
     86  1.3  riastrad 	{0x95, 0x62, 0x03},			/* 01: VCLK28_322	*/
     87  1.3  riastrad 	{0x67, 0x63, 0x01},			/* 02: VCLK31_5		*/
     88  1.3  riastrad 	{0x76, 0x63, 0x01},			/* 03: VCLK36		*/
     89  1.3  riastrad 	{0xEE, 0x67, 0x01},			/* 04: VCLK40		*/
     90  1.3  riastrad 	{0x82, 0x62, 0x01},			/* 05: VCLK49_5		*/
     91  1.3  riastrad 	{0xC6, 0x64, 0x01},			/* 06: VCLK50		*/
     92  1.3  riastrad 	{0x94, 0x62, 0x01},			/* 07: VCLK56_25	*/
     93  1.3  riastrad 	{0x80, 0x64, 0x00},			/* 08: VCLK65		*/
     94  1.3  riastrad 	{0x7B, 0x63, 0x00},			/* 09: VCLK75		*/
     95  1.3  riastrad 	{0x67, 0x62, 0x00},			/* 0A: VCLK78_75	*/
     96  1.3  riastrad 	{0x7C, 0x62, 0x00},			/* 0B: VCLK94_5		*/
     97  1.3  riastrad 	{0x8E, 0x62, 0x00},			/* 0C: VCLK108		*/
     98  1.3  riastrad 	{0x85, 0x24, 0x00},			/* 0D: VCLK135		*/
     99  1.3  riastrad 	{0x67, 0x22, 0x00},			/* 0E: VCLK157_5	*/
    100  1.3  riastrad 	{0x6A, 0x22, 0x00},			/* 0F: VCLK162		*/
    101  1.3  riastrad 	{0x4d, 0x4c, 0x80},			/* 10: VCLK154		*/
    102  1.3  riastrad 	{0x68, 0x6f, 0x80},			/* 11: VCLK83.5		*/
    103  1.3  riastrad 	{0x28, 0x49, 0x80},			/* 12: VCLK106.5	*/
    104  1.3  riastrad 	{0x37, 0x49, 0x80},			/* 13: VCLK146.25	*/
    105  1.3  riastrad 	{0x1f, 0x45, 0x80},			/* 14: VCLK148.5	*/
    106  1.3  riastrad 	{0x47, 0x6c, 0x80},			/* 15: VCLK71		*/
    107  1.3  riastrad 	{0x25, 0x65, 0x80},			/* 16: VCLK88.75	*/
    108  1.3  riastrad 	{0x77, 0x58, 0x80},			/* 17: VCLK119		*/
    109  1.3  riastrad 	{0x32, 0x67, 0x80},			/* 18: VCLK85_5		*/
    110  1.3  riastrad 	{0x6a, 0x6d, 0x80},			/* 19: VCLK97_75	*/
    111  1.3  riastrad 	{0x3b, 0x2c, 0x81},			/* 1A: VCLK118_25	*/
    112  1.3  riastrad };
    113  1.3  riastrad 
    114  1.3  riastrad static const struct ast_vbios_dclk_info dclk_table_ast2500[] = {
    115  1.3  riastrad 	{0x2C, 0xE7, 0x03},			/* 00: VCLK25_175	*/
    116  1.3  riastrad 	{0x95, 0x62, 0x03},			/* 01: VCLK28_322	*/
    117  1.3  riastrad 	{0x67, 0x63, 0x01},			/* 02: VCLK31_5		*/
    118  1.3  riastrad 	{0x76, 0x63, 0x01},			/* 03: VCLK36		*/
    119  1.3  riastrad 	{0xEE, 0x67, 0x01},			/* 04: VCLK40		*/
    120  1.3  riastrad 	{0x82, 0x62, 0x01},			/* 05: VCLK49_5		*/
    121  1.3  riastrad 	{0xC6, 0x64, 0x01},			/* 06: VCLK50		*/
    122  1.3  riastrad 	{0x94, 0x62, 0x01},			/* 07: VCLK56_25	*/
    123  1.3  riastrad 	{0x80, 0x64, 0x00},			/* 08: VCLK65		*/
    124  1.3  riastrad 	{0x7B, 0x63, 0x00},			/* 09: VCLK75		*/
    125  1.3  riastrad 	{0x67, 0x62, 0x00},			/* 0A: VCLK78_75	*/
    126  1.3  riastrad 	{0x7C, 0x62, 0x00},			/* 0B: VCLK94_5		*/
    127  1.3  riastrad 	{0x8E, 0x62, 0x00},			/* 0C: VCLK108		*/
    128  1.3  riastrad 	{0x85, 0x24, 0x00},			/* 0D: VCLK135		*/
    129  1.3  riastrad 	{0x67, 0x22, 0x00},			/* 0E: VCLK157_5	*/
    130  1.3  riastrad 	{0x6A, 0x22, 0x00},			/* 0F: VCLK162		*/
    131  1.3  riastrad 	{0x4d, 0x4c, 0x80},			/* 10: VCLK154		*/
    132  1.3  riastrad 	{0x68, 0x6f, 0x80},			/* 11: VCLK83.5		*/
    133  1.3  riastrad 	{0x28, 0x49, 0x80},			/* 12: VCLK106.5	*/
    134  1.3  riastrad 	{0x37, 0x49, 0x80},			/* 13: VCLK146.25	*/
    135  1.3  riastrad 	{0x1f, 0x45, 0x80},			/* 14: VCLK148.5	*/
    136  1.3  riastrad 	{0x47, 0x6c, 0x80},			/* 15: VCLK71		*/
    137  1.3  riastrad 	{0x25, 0x65, 0x80},			/* 16: VCLK88.75	*/
    138  1.3  riastrad 	{0x58, 0x01, 0x42},			/* 17: VCLK119		*/
    139  1.3  riastrad 	{0x32, 0x67, 0x80},			/* 18: VCLK85_5		*/
    140  1.3  riastrad 	{0x6a, 0x6d, 0x80},			/* 19: VCLK97_75	*/
    141  1.3  riastrad 	{0x44, 0x20, 0x43},			/* 1A: VCLK118_25	*/
    142  1.1  riastrad };
    143  1.1  riastrad 
    144  1.3  riastrad static const struct ast_vbios_stdtable vbios_stdtable[] = {
    145  1.1  riastrad 	/* MD_2_3_400 */
    146  1.1  riastrad 	{
    147  1.1  riastrad 		0x67,
    148  1.1  riastrad 		{0x00,0x03,0x00,0x02},
    149  1.1  riastrad 		{0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
    150  1.1  riastrad 		 0x00,0x4f,0x0d,0x0e,0x00,0x00,0x00,0x00,
    151  1.1  riastrad 		 0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,
    152  1.1  riastrad 		 0xff},
    153  1.1  riastrad 		{0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
    154  1.1  riastrad 		 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
    155  1.1  riastrad 		 0x0c,0x00,0x0f,0x08},
    156  1.1  riastrad 		{0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
    157  1.1  riastrad 		 0xff}
    158  1.1  riastrad 	},
    159  1.1  riastrad 	/* Mode12/ExtEGATable */
    160  1.1  riastrad 	{
    161  1.1  riastrad 		0xe3,
    162  1.1  riastrad 		{0x01,0x0f,0x00,0x06},
    163  1.1  riastrad 		{0x5f,0x4f,0x50,0x82,0x55,0x81,0x0b,0x3e,
    164  1.1  riastrad 		 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
    165  1.1  riastrad 		 0xe9,0x8b,0xdf,0x28,0x00,0xe7,0x04,0xe3,
    166  1.1  riastrad 		 0xff},
    167  1.1  riastrad 		{0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
    168  1.1  riastrad 		 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
    169  1.1  riastrad 		 0x01,0x00,0x0f,0x00},
    170  1.1  riastrad 		{0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
    171  1.1  riastrad 		 0xff}
    172  1.1  riastrad 	},
    173  1.1  riastrad 	/* ExtVGATable */
    174  1.1  riastrad 	{
    175  1.1  riastrad 		0x2f,
    176  1.1  riastrad 		{0x01,0x0f,0x00,0x0e},
    177  1.1  riastrad 		{0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,
    178  1.1  riastrad 		 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
    179  1.1  riastrad 		 0xea,0x8c,0xdf,0x28,0x40,0xe7,0x04,0xa3,
    180  1.1  riastrad 		 0xff},
    181  1.1  riastrad 		{0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
    182  1.1  riastrad 		 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
    183  1.1  riastrad 		 0x01,0x00,0x00,0x00},
    184  1.1  riastrad 		{0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,
    185  1.1  riastrad 		 0xff}
    186  1.1  riastrad 	},
    187  1.1  riastrad 	/* ExtHiCTable */
    188  1.1  riastrad 	{
    189  1.1  riastrad 		0x2f,
    190  1.1  riastrad 		{0x01,0x0f,0x00,0x0e},
    191  1.1  riastrad 		{0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,
    192  1.1  riastrad 		 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
    193  1.1  riastrad 		 0xea,0x8c,0xdf,0x28,0x40,0xe7,0x04,0xa3,
    194  1.1  riastrad 		 0xff},
    195  1.1  riastrad 		{0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
    196  1.1  riastrad 		 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
    197  1.1  riastrad 		 0x01,0x00,0x00,0x00},
    198  1.1  riastrad 		{0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
    199  1.1  riastrad 		 0xff}
    200  1.1  riastrad 	},
    201  1.1  riastrad 	/* ExtTrueCTable */
    202  1.1  riastrad 	{
    203  1.1  riastrad 		0x2f,
    204  1.1  riastrad 		{0x01,0x0f,0x00,0x0e},
    205  1.1  riastrad 		{0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,
    206  1.1  riastrad 		 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
    207  1.1  riastrad 		 0xea,0x8c,0xdf,0x28,0x40,0xe7,0x04,0xa3,
    208  1.1  riastrad 		 0xff},
    209  1.1  riastrad 		{0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
    210  1.1  riastrad 		 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
    211  1.1  riastrad 		 0x01,0x00,0x00,0x00},
    212  1.1  riastrad 		{0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
    213  1.1  riastrad 		 0xff}
    214  1.1  riastrad 	},
    215  1.1  riastrad };
    216  1.1  riastrad 
    217  1.3  riastrad static const struct ast_vbios_enhtable res_640x480[] = {
    218  1.1  riastrad 	{ 800, 640, 8, 96, 525, 480, 2, 2, VCLK25_175,	/* 60Hz */
    219  1.1  riastrad 	  (SyncNN | HBorder | VBorder | Charx8Dot), 60, 1, 0x2E },
    220  1.1  riastrad 	{ 832, 640, 16, 40, 520, 480, 1, 3, VCLK31_5,	/* 72Hz */
    221  1.1  riastrad 	  (SyncNN | HBorder | VBorder | Charx8Dot), 72, 2, 0x2E  },
    222  1.1  riastrad 	{ 840, 640, 16, 64, 500, 480, 1, 3, VCLK31_5,	/* 75Hz */
    223  1.1  riastrad 	  (SyncNN | Charx8Dot) , 75, 3, 0x2E },
    224  1.3  riastrad 	{ 832, 640, 56, 56, 509, 480, 1, 3, VCLK36,	/* 85Hz */
    225  1.1  riastrad 	  (SyncNN | Charx8Dot) , 85, 4, 0x2E },
    226  1.3  riastrad 	{ 832, 640, 56, 56, 509, 480, 1, 3, VCLK36,	/* end */
    227  1.1  riastrad 	  (SyncNN | Charx8Dot) , 0xFF, 4, 0x2E },
    228  1.1  riastrad };
    229  1.1  riastrad 
    230  1.3  riastrad static const struct ast_vbios_enhtable res_800x600[] = {
    231  1.3  riastrad 	{1024, 800, 24, 72, 625, 600, 1, 2, VCLK36,	/* 56Hz */
    232  1.1  riastrad 	 (SyncPP | Charx8Dot), 56, 1, 0x30 },
    233  1.1  riastrad 	{1056, 800, 40, 128, 628, 600, 1, 4, VCLK40,	/* 60Hz */
    234  1.1  riastrad 	 (SyncPP | Charx8Dot), 60, 2, 0x30 },
    235  1.1  riastrad 	{1040, 800, 56, 120, 666, 600, 37, 6, VCLK50,	/* 72Hz */
    236  1.1  riastrad 	 (SyncPP | Charx8Dot), 72, 3, 0x30 },
    237  1.1  riastrad 	{1056, 800, 16, 80, 625, 600, 1, 3, VCLK49_5,	/* 75Hz */
    238  1.1  riastrad 	 (SyncPP | Charx8Dot), 75, 4, 0x30 },
    239  1.1  riastrad 	{1048, 800, 32, 64, 631, 600, 1, 3, VCLK56_25,	/* 85Hz */
    240  1.1  riastrad 	 (SyncPP | Charx8Dot), 84, 5, 0x30 },
    241  1.1  riastrad 	{1048, 800, 32, 64, 631, 600, 1, 3, VCLK56_25,	/* end */
    242  1.1  riastrad 	 (SyncPP | Charx8Dot), 0xFF, 5, 0x30 },
    243  1.1  riastrad };
    244  1.1  riastrad 
    245  1.1  riastrad 
    246  1.3  riastrad static const struct ast_vbios_enhtable res_1024x768[] = {
    247  1.1  riastrad 	{1344, 1024, 24, 136, 806, 768, 3, 6, VCLK65,	/* 60Hz */
    248  1.1  riastrad 	 (SyncNN | Charx8Dot), 60, 1, 0x31 },
    249  1.1  riastrad 	{1328, 1024, 24, 136, 806, 768, 3, 6, VCLK75,	/* 70Hz */
    250  1.1  riastrad 	 (SyncNN | Charx8Dot), 70, 2, 0x31 },
    251  1.1  riastrad 	{1312, 1024, 16, 96, 800, 768, 1, 3, VCLK78_75,	/* 75Hz */
    252  1.1  riastrad 	 (SyncPP | Charx8Dot), 75, 3, 0x31 },
    253  1.1  riastrad 	{1376, 1024, 48, 96, 808, 768, 1, 3, VCLK94_5,	/* 85Hz */
    254  1.1  riastrad 	 (SyncPP | Charx8Dot), 84, 4, 0x31 },
    255  1.1  riastrad 	{1376, 1024, 48, 96, 808, 768, 1, 3, VCLK94_5,	/* end */
    256  1.1  riastrad 	 (SyncPP | Charx8Dot), 0xFF, 4, 0x31 },
    257  1.1  riastrad };
    258  1.1  riastrad 
    259  1.3  riastrad static const struct ast_vbios_enhtable res_1280x1024[] = {
    260  1.1  riastrad 	{1688, 1280, 48, 112, 1066, 1024, 1, 3, VCLK108,	/* 60Hz */
    261  1.1  riastrad 	 (SyncPP | Charx8Dot), 60, 1, 0x32 },
    262  1.1  riastrad 	{1688, 1280, 16, 144, 1066, 1024, 1, 3, VCLK135,	/* 75Hz */
    263  1.1  riastrad 	 (SyncPP | Charx8Dot), 75, 2, 0x32 },
    264  1.1  riastrad 	{1728, 1280, 64, 160, 1072, 1024, 1, 3, VCLK157_5,	/* 85Hz */
    265  1.1  riastrad 	 (SyncPP | Charx8Dot), 85, 3, 0x32 },
    266  1.1  riastrad 	{1728, 1280, 64, 160, 1072, 1024, 1, 3, VCLK157_5,	/* end */
    267  1.1  riastrad 	 (SyncPP | Charx8Dot), 0xFF, 3, 0x32 },
    268  1.1  riastrad };
    269  1.1  riastrad 
    270  1.3  riastrad static const struct ast_vbios_enhtable res_1600x1200[] = {
    271  1.1  riastrad 	{2160, 1600, 64, 192, 1250, 1200, 1, 3, VCLK162,	/* 60Hz */
    272  1.1  riastrad 	 (SyncPP | Charx8Dot), 60, 1, 0x33 },
    273  1.1  riastrad 	{2160, 1600, 64, 192, 1250, 1200, 1, 3, VCLK162,	/* end */
    274  1.1  riastrad 	 (SyncPP | Charx8Dot), 0xFF, 1, 0x33 },
    275  1.1  riastrad };
    276  1.1  riastrad 
    277  1.2  riastrad /* 16:9 */
    278  1.3  riastrad static const struct ast_vbios_enhtable res_1360x768[] = {
    279  1.3  riastrad 	{1792, 1360, 64, 112, 795, 768, 3, 6, VCLK85_5,		/* 60Hz */
    280  1.2  riastrad 	 (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x39 },
    281  1.3  riastrad 	{1792, 1360, 64, 112, 795, 768, 3, 6, VCLK85_5,	         /* end */
    282  1.3  riastrad 	 (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo |
    283  1.3  riastrad 	  AST2500PreCatchCRT), 0xFF, 1, 0x39 },
    284  1.2  riastrad };
    285  1.2  riastrad 
    286  1.3  riastrad static const struct ast_vbios_enhtable res_1600x900[] = {
    287  1.3  riastrad 	{1760, 1600, 48, 32, 926, 900, 3, 5, VCLK97_75,		/* 60Hz CVT RB */
    288  1.3  riastrad 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo |
    289  1.3  riastrad 	  AST2500PreCatchCRT), 60, 1, 0x3A },
    290  1.3  riastrad 	{2112, 1600, 88, 168, 934, 900, 3, 5, VCLK118_25,	/* 60Hz CVT */
    291  1.2  riastrad 	 (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x3A },
    292  1.3  riastrad 	{2112, 1600, 88, 168, 934, 900, 3, 5, VCLK118_25,	/* 60Hz CVT */
    293  1.2  riastrad 	 (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 0x3A },
    294  1.2  riastrad };
    295  1.2  riastrad 
    296  1.3  riastrad static const struct ast_vbios_enhtable res_1920x1080[] = {
    297  1.2  riastrad 	{2200, 1920, 88, 44, 1125, 1080, 4, 5, VCLK148_5,	/* 60Hz */
    298  1.3  riastrad 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo |
    299  1.3  riastrad 	  AST2500PreCatchCRT), 60, 1, 0x38 },
    300  1.2  riastrad 	{2200, 1920, 88, 44, 1125, 1080, 4, 5, VCLK148_5,	/* 60Hz */
    301  1.3  riastrad 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo |
    302  1.3  riastrad 	  AST2500PreCatchCRT), 0xFF, 1, 0x38 },
    303  1.1  riastrad };
    304  1.1  riastrad 
    305  1.2  riastrad 
    306  1.1  riastrad /* 16:10 */
    307  1.3  riastrad static const struct ast_vbios_enhtable res_1280x800[] = {
    308  1.3  riastrad 	{1440, 1280, 48, 32,  823,  800, 3, 6, VCLK71,		/* 60Hz RB */
    309  1.3  riastrad 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo |
    310  1.3  riastrad 	  AST2500PreCatchCRT), 60, 1, 0x35 },
    311  1.1  riastrad 	{1680, 1280, 72,128,  831,  800, 3, 6, VCLK83_5,	/* 60Hz */
    312  1.2  riastrad 	 (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x35 },
    313  1.1  riastrad 	{1680, 1280, 72,128,  831,  800, 3, 6, VCLK83_5,	/* 60Hz */
    314  1.2  riastrad 	 (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 0x35 },
    315  1.1  riastrad 
    316  1.1  riastrad };
    317  1.1  riastrad 
    318  1.3  riastrad static const struct ast_vbios_enhtable res_1440x900[] = {
    319  1.2  riastrad 	{1600, 1440, 48, 32,  926,  900, 3, 6, VCLK88_75,	/* 60Hz RB */
    320  1.3  riastrad 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo |
    321  1.3  riastrad 	  AST2500PreCatchCRT), 60, 1, 0x36 },
    322  1.1  riastrad 	{1904, 1440, 80,152,  934,  900, 3, 6, VCLK106_5,	/* 60Hz */
    323  1.2  riastrad 	 (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x36 },
    324  1.1  riastrad 	{1904, 1440, 80,152,  934,  900, 3, 6, VCLK106_5,	/* 60Hz */
    325  1.2  riastrad 	 (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 0x36 },
    326  1.1  riastrad };
    327  1.1  riastrad 
    328  1.3  riastrad static const struct ast_vbios_enhtable res_1680x1050[] = {
    329  1.3  riastrad 	{1840, 1680, 48, 32, 1080, 1050, 3, 6, VCLK119,		/* 60Hz RB */
    330  1.3  riastrad 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo |
    331  1.3  riastrad 	  AST2500PreCatchCRT), 60, 1, 0x37 },
    332  1.1  riastrad 	{2240, 1680,104,176, 1089, 1050, 3, 6, VCLK146_25,	/* 60Hz */
    333  1.2  riastrad 	 (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x37 },
    334  1.1  riastrad 	{2240, 1680,104,176, 1089, 1050, 3, 6, VCLK146_25,	/* 60Hz */
    335  1.2  riastrad 	 (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 0x37 },
    336  1.1  riastrad };
    337  1.1  riastrad 
    338  1.3  riastrad static const struct ast_vbios_enhtable res_1920x1200[] = {
    339  1.3  riastrad 	{2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154,		/* 60Hz RB*/
    340  1.3  riastrad 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo |
    341  1.3  riastrad 	  AST2500PreCatchCRT), 60, 1, 0x34 },
    342  1.3  riastrad 	{2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154,		/* 60Hz RB */
    343  1.3  riastrad 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo |
    344  1.3  riastrad 	  AST2500PreCatchCRT), 0xFF, 1, 0x34 },
    345  1.1  riastrad };
    346  1.2  riastrad 
    347  1.1  riastrad #endif
    348