162306a36Sopenharmony_ci/* $XFree86$ */
262306a36Sopenharmony_ci/* $XdotOrg$ */
362306a36Sopenharmony_ci/*
462306a36Sopenharmony_ci * Data and prototypes for init.c
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria
762306a36Sopenharmony_ci *
862306a36Sopenharmony_ci * If distributed as part of the Linux kernel, the following license terms
962306a36Sopenharmony_ci * apply:
1062306a36Sopenharmony_ci *
1162306a36Sopenharmony_ci * * This program is free software; you can redistribute it and/or modify
1262306a36Sopenharmony_ci * * it under the terms of the GNU General Public License as published by
1362306a36Sopenharmony_ci * * the Free Software Foundation; either version 2 of the named License,
1462306a36Sopenharmony_ci * * or any later version.
1562306a36Sopenharmony_ci * *
1662306a36Sopenharmony_ci * * This program is distributed in the hope that it will be useful,
1762306a36Sopenharmony_ci * * but WITHOUT ANY WARRANTY; without even the implied warranty of
1862306a36Sopenharmony_ci * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1962306a36Sopenharmony_ci * * GNU General Public License for more details.
2062306a36Sopenharmony_ci * *
2162306a36Sopenharmony_ci * * You should have received a copy of the GNU General Public License
2262306a36Sopenharmony_ci * * along with this program; if not, write to the Free Software
2362306a36Sopenharmony_ci * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
2462306a36Sopenharmony_ci *
2562306a36Sopenharmony_ci * Otherwise, the following license terms apply:
2662306a36Sopenharmony_ci *
2762306a36Sopenharmony_ci * * Redistribution and use in source and binary forms, with or without
2862306a36Sopenharmony_ci * * modification, are permitted provided that the following conditions
2962306a36Sopenharmony_ci * * are met:
3062306a36Sopenharmony_ci * * 1) Redistributions of source code must retain the above copyright
3162306a36Sopenharmony_ci * *    notice, this list of conditions and the following disclaimer.
3262306a36Sopenharmony_ci * * 2) Redistributions in binary form must reproduce the above copyright
3362306a36Sopenharmony_ci * *    notice, this list of conditions and the following disclaimer in the
3462306a36Sopenharmony_ci * *    documentation and/or other materials provided with the distribution.
3562306a36Sopenharmony_ci * * 3) The name of the author may not be used to endorse or promote products
3662306a36Sopenharmony_ci * *    derived from this software without specific prior written permission.
3762306a36Sopenharmony_ci * *
3862306a36Sopenharmony_ci * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
3962306a36Sopenharmony_ci * * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
4062306a36Sopenharmony_ci * * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
4162306a36Sopenharmony_ci * * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
4262306a36Sopenharmony_ci * * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
4362306a36Sopenharmony_ci * * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
4462306a36Sopenharmony_ci * * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
4562306a36Sopenharmony_ci * * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
4662306a36Sopenharmony_ci * * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
4762306a36Sopenharmony_ci * * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4862306a36Sopenharmony_ci *
4962306a36Sopenharmony_ci * Author: 	Thomas Winischhofer <thomas@winischhofer.net>
5062306a36Sopenharmony_ci *
5162306a36Sopenharmony_ci */
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci#ifndef _INIT_H_
5462306a36Sopenharmony_ci#define _INIT_H_
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci#include "initdef.h"
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci#include "vgatypes.h"
5962306a36Sopenharmony_ci#include "vstruct.h"
6062306a36Sopenharmony_ci#ifdef SIS_CP
6162306a36Sopenharmony_ci#undef SIS_CP
6262306a36Sopenharmony_ci#endif
6362306a36Sopenharmony_ci#include <linux/types.h>
6462306a36Sopenharmony_ci#include <asm/io.h>
6562306a36Sopenharmony_ci#include <linux/fb.h>
6662306a36Sopenharmony_ci#include "sis.h"
6762306a36Sopenharmony_ci#include <video/sisfb.h>
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci/* Mode numbers */
7062306a36Sopenharmony_cistatic const unsigned short ModeIndex_320x200[]      = {0x59, 0x41, 0x00, 0x4f};
7162306a36Sopenharmony_cistatic const unsigned short ModeIndex_320x240[]      = {0x50, 0x56, 0x00, 0x53};
7262306a36Sopenharmony_cistatic const unsigned short ModeIndex_320x240_FSTN[] = {0x5a, 0x5b, 0x00, 0x00};  /* FSTN */
7362306a36Sopenharmony_cistatic const unsigned short ModeIndex_400x300[]      = {0x51, 0x57, 0x00, 0x54};
7462306a36Sopenharmony_cistatic const unsigned short ModeIndex_512x384[]      = {0x52, 0x58, 0x00, 0x5c};
7562306a36Sopenharmony_cistatic const unsigned short ModeIndex_640x400[]      = {0x2f, 0x5d, 0x00, 0x5e};
7662306a36Sopenharmony_cistatic const unsigned short ModeIndex_640x480[]      = {0x2e, 0x44, 0x00, 0x62};
7762306a36Sopenharmony_cistatic const unsigned short ModeIndex_720x480[]      = {0x31, 0x33, 0x00, 0x35};
7862306a36Sopenharmony_cistatic const unsigned short ModeIndex_720x576[]      = {0x32, 0x34, 0x00, 0x36};
7962306a36Sopenharmony_cistatic const unsigned short ModeIndex_768x576[]      = {0x5f, 0x60, 0x00, 0x61};
8062306a36Sopenharmony_cistatic const unsigned short ModeIndex_800x480[]      = {0x70, 0x7a, 0x00, 0x76};
8162306a36Sopenharmony_cistatic const unsigned short ModeIndex_800x600[]      = {0x30, 0x47, 0x00, 0x63};
8262306a36Sopenharmony_cistatic const unsigned short ModeIndex_848x480[]      = {0x39, 0x3b, 0x00, 0x3e};
8362306a36Sopenharmony_cistatic const unsigned short ModeIndex_856x480[]      = {0x3f, 0x42, 0x00, 0x45};
8462306a36Sopenharmony_cistatic const unsigned short ModeIndex_960x540[]      = {0x1d, 0x1e, 0x00, 0x1f};  /* 315 series only */
8562306a36Sopenharmony_cistatic const unsigned short ModeIndex_960x600[]      = {0x20, 0x21, 0x00, 0x22};  /* 315 series only */
8662306a36Sopenharmony_cistatic const unsigned short ModeIndex_1024x768[]     = {0x38, 0x4a, 0x00, 0x64};
8762306a36Sopenharmony_cistatic const unsigned short ModeIndex_1024x576[]     = {0x71, 0x74, 0x00, 0x77};
8862306a36Sopenharmony_cistatic const unsigned short ModeIndex_1024x600[]     = {0x20, 0x21, 0x00, 0x22};  /* 300 series only */
8962306a36Sopenharmony_cistatic const unsigned short ModeIndex_1280x1024[]    = {0x3a, 0x4d, 0x00, 0x65};
9062306a36Sopenharmony_cistatic const unsigned short ModeIndex_1280x960[]     = {0x7c, 0x7d, 0x00, 0x7e};
9162306a36Sopenharmony_cistatic const unsigned short ModeIndex_1152x768[]     = {0x23, 0x24, 0x00, 0x25};  /* 300 series only */
9262306a36Sopenharmony_cistatic const unsigned short ModeIndex_1152x864[]     = {0x29, 0x2a, 0x00, 0x2b};
9362306a36Sopenharmony_cistatic const unsigned short ModeIndex_300_1280x768[] = {0x55, 0x5a, 0x00, 0x5b};
9462306a36Sopenharmony_cistatic const unsigned short ModeIndex_310_1280x768[] = {0x23, 0x24, 0x00, 0x25};
9562306a36Sopenharmony_cistatic const unsigned short ModeIndex_1280x720[]     = {0x79, 0x75, 0x00, 0x78};
9662306a36Sopenharmony_cistatic const unsigned short ModeIndex_1280x800[]     = {0x14, 0x15, 0x00, 0x16};
9762306a36Sopenharmony_cistatic const unsigned short ModeIndex_1280x854[]     = {0x1a, 0x1b, 0x00, 0x1c};
9862306a36Sopenharmony_cistatic const unsigned short ModeIndex_1360x768[]     = {0x48, 0x4b, 0x00, 0x4e};
9962306a36Sopenharmony_cistatic const unsigned short ModeIndex_300_1360x1024[]= {0x67, 0x6f, 0x00, 0x72};  /* 300 series, BARCO only */
10062306a36Sopenharmony_cistatic const unsigned short ModeIndex_1400x1050[]    = {0x26, 0x27, 0x00, 0x28};  /* 315 series only */
10162306a36Sopenharmony_cistatic const unsigned short ModeIndex_1680x1050[]    = {0x17, 0x18, 0x00, 0x19};  /* 315 series only */
10262306a36Sopenharmony_cistatic const unsigned short ModeIndex_1600x1200[]    = {0x3c, 0x3d, 0x00, 0x66};
10362306a36Sopenharmony_cistatic const unsigned short ModeIndex_1920x1080[]    = {0x2c, 0x2d, 0x00, 0x73};  /* 315 series only */
10462306a36Sopenharmony_cistatic const unsigned short ModeIndex_1920x1440[]    = {0x68, 0x69, 0x00, 0x6b};
10562306a36Sopenharmony_cistatic const unsigned short ModeIndex_300_2048x1536[]= {0x6c, 0x6d, 0x00, 0x00};
10662306a36Sopenharmony_cistatic const unsigned short ModeIndex_310_2048x1536[]= {0x6c, 0x6d, 0x00, 0x6e};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_cistatic const unsigned char SiS_MDA_DAC[] =
10962306a36Sopenharmony_ci{
11062306a36Sopenharmony_ci	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
11162306a36Sopenharmony_ci        0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
11262306a36Sopenharmony_ci        0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
11362306a36Sopenharmony_ci        0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
11462306a36Sopenharmony_ci        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
11562306a36Sopenharmony_ci        0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
11662306a36Sopenharmony_ci        0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
11762306a36Sopenharmony_ci        0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F
11862306a36Sopenharmony_ci};
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_cistatic const unsigned char SiS_CGA_DAC[] =
12162306a36Sopenharmony_ci{
12262306a36Sopenharmony_ci        0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,
12362306a36Sopenharmony_ci        0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,
12462306a36Sopenharmony_ci        0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F,
12562306a36Sopenharmony_ci        0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F,
12662306a36Sopenharmony_ci        0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,
12762306a36Sopenharmony_ci        0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,
12862306a36Sopenharmony_ci        0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F,
12962306a36Sopenharmony_ci        0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F
13062306a36Sopenharmony_ci};
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_cistatic const unsigned char SiS_EGA_DAC[] =
13362306a36Sopenharmony_ci{
13462306a36Sopenharmony_ci        0x00,0x10,0x04,0x14,0x01,0x11,0x05,0x15,
13562306a36Sopenharmony_ci        0x20,0x30,0x24,0x34,0x21,0x31,0x25,0x35,
13662306a36Sopenharmony_ci        0x08,0x18,0x0C,0x1C,0x09,0x19,0x0D,0x1D,
13762306a36Sopenharmony_ci        0x28,0x38,0x2C,0x3C,0x29,0x39,0x2D,0x3D,
13862306a36Sopenharmony_ci        0x02,0x12,0x06,0x16,0x03,0x13,0x07,0x17,
13962306a36Sopenharmony_ci        0x22,0x32,0x26,0x36,0x23,0x33,0x27,0x37,
14062306a36Sopenharmony_ci        0x0A,0x1A,0x0E,0x1E,0x0B,0x1B,0x0F,0x1F,
14162306a36Sopenharmony_ci        0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F
14262306a36Sopenharmony_ci};
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_cistatic const unsigned char SiS_VGA_DAC[] =
14562306a36Sopenharmony_ci{
14662306a36Sopenharmony_ci	0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,
14762306a36Sopenharmony_ci	0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F,
14862306a36Sopenharmony_ci	0x00,0x05,0x08,0x0B,0x0E,0x11,0x14,0x18,
14962306a36Sopenharmony_ci	0x1C,0x20,0x24,0x28,0x2D,0x32,0x38,0x3F,
15062306a36Sopenharmony_ci	0x00,0x10,0x1F,0x2F,0x3F,0x1F,0x27,0x2F,
15162306a36Sopenharmony_ci	0x37,0x3F,0x2D,0x31,0x36,0x3A,0x3F,0x00,
15262306a36Sopenharmony_ci	0x07,0x0E,0x15,0x1C,0x0E,0x11,0x15,0x18,
15362306a36Sopenharmony_ci	0x1C,0x14,0x16,0x18,0x1A,0x1C,0x00,0x04,
15462306a36Sopenharmony_ci	0x08,0x0C,0x10,0x08,0x0A,0x0C,0x0E,0x10,
15562306a36Sopenharmony_ci	0x0B,0x0C,0x0D,0x0F,0x10
15662306a36Sopenharmony_ci};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_cistatic const struct SiS_St SiS_SModeIDTable[] =
15962306a36Sopenharmony_ci{
16062306a36Sopenharmony_ci	{0x01,0x9208,0x01,0x00,0x00,0x00,0x01,0x00,0x40},
16162306a36Sopenharmony_ci	{0x01,0x1210,0x14,0x01,0x01,0x00,0x01,0x00,0x40},
16262306a36Sopenharmony_ci	{0x01,0x1010,0x17,0x02,0x02,0x00,0x01,0x01,0x40},
16362306a36Sopenharmony_ci	{0x03,0x8208,0x03,0x00,0x00,0x00,0x01,0x02,0x40},
16462306a36Sopenharmony_ci	{0x03,0x0210,0x16,0x01,0x01,0x00,0x01,0x02,0x40},
16562306a36Sopenharmony_ci	{0x03,0x0010,0x18,0x02,0x02,0x00,0x01,0x03,0x40},
16662306a36Sopenharmony_ci	{0x05,0x9209,0x05,0x00,0x00,0x00,0x00,0x04,0x40},
16762306a36Sopenharmony_ci	{0x06,0x8209,0x06,0x00,0x00,0x00,0x00,0x05,0x40},
16862306a36Sopenharmony_ci	{0x07,0x0000,0x07,0x03,0x03,0x00,0x01,0x03,0x40},
16962306a36Sopenharmony_ci	{0x07,0x0000,0x19,0x02,0x02,0x00,0x01,0x03,0x40},
17062306a36Sopenharmony_ci	{0x0d,0x920a,0x0d,0x00,0x00,0x00,0x00,0x04,0x40},
17162306a36Sopenharmony_ci	{0x0e,0x820a,0x0e,0x00,0x00,0x00,0x00,0x05,0x40},
17262306a36Sopenharmony_ci	{0x0f,0x0202,0x11,0x01,0x01,0x00,0x00,0x05,0x40},
17362306a36Sopenharmony_ci	{0x10,0x0212,0x12,0x01,0x01,0x00,0x00,0x05,0x40},
17462306a36Sopenharmony_ci	{0x11,0x0212,0x1a,0x04,0x04,0x00,0x00,0x05,0x40},
17562306a36Sopenharmony_ci	{0x12,0x0212,0x1b,0x04,0x04,0x00,0x00,0x05,0x40},
17662306a36Sopenharmony_ci	{0x13,0x021b,0x1c,0x00,0x00,0x00,0x00,0x04,0x40},
17762306a36Sopenharmony_ci	{0x12,0x0010,0x18,0x02,0x02,0x00,0x00,0x05,0x40},
17862306a36Sopenharmony_ci	{0x12,0x0210,0x18,0x01,0x01,0x00,0x00,0x05,0x40},
17962306a36Sopenharmony_ci	{0xff,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
18062306a36Sopenharmony_ci};
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_cistatic const struct SiS_StResInfo_S SiS_StResInfo[]=
18362306a36Sopenharmony_ci{
18462306a36Sopenharmony_ci	{ 640,400},
18562306a36Sopenharmony_ci	{ 640,350},
18662306a36Sopenharmony_ci	{ 720,400},
18762306a36Sopenharmony_ci	{ 720,350},
18862306a36Sopenharmony_ci	{ 640,480}
18962306a36Sopenharmony_ci};
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_cistatic const struct SiS_ModeResInfo_S SiS_ModeResInfo[] =
19262306a36Sopenharmony_ci{
19362306a36Sopenharmony_ci	{  320, 200, 8, 8},   /* 0x00 */
19462306a36Sopenharmony_ci	{  320, 240, 8, 8},   /* 0x01 */
19562306a36Sopenharmony_ci	{  320, 400, 8, 8},   /* 0x02 */
19662306a36Sopenharmony_ci	{  400, 300, 8, 8},   /* 0x03 */
19762306a36Sopenharmony_ci	{  512, 384, 8, 8},   /* 0x04 */
19862306a36Sopenharmony_ci	{  640, 400, 8,16},   /* 0x05 */
19962306a36Sopenharmony_ci	{  640, 480, 8,16},   /* 0x06 */
20062306a36Sopenharmony_ci	{  800, 600, 8,16},   /* 0x07 */
20162306a36Sopenharmony_ci	{ 1024, 768, 8,16},   /* 0x08 */
20262306a36Sopenharmony_ci	{ 1280,1024, 8,16},   /* 0x09 */
20362306a36Sopenharmony_ci	{ 1600,1200, 8,16},   /* 0x0a */
20462306a36Sopenharmony_ci	{ 1920,1440, 8,16},   /* 0x0b */
20562306a36Sopenharmony_ci	{ 2048,1536, 8,16},   /* 0x0c */
20662306a36Sopenharmony_ci	{  720, 480, 8,16},   /* 0x0d */
20762306a36Sopenharmony_ci	{  720, 576, 8,16},   /* 0x0e */
20862306a36Sopenharmony_ci	{ 1280, 960, 8,16},   /* 0x0f */
20962306a36Sopenharmony_ci	{  800, 480, 8,16},   /* 0x10 */
21062306a36Sopenharmony_ci	{ 1024, 576, 8,16},   /* 0x11 */
21162306a36Sopenharmony_ci	{ 1280, 720, 8,16},   /* 0x12 */
21262306a36Sopenharmony_ci	{  856, 480, 8,16},   /* 0x13 */
21362306a36Sopenharmony_ci	{ 1280, 768, 8,16},   /* 0x14 */
21462306a36Sopenharmony_ci	{ 1400,1050, 8,16},   /* 0x15 */
21562306a36Sopenharmony_ci	{ 1152, 864, 8,16},   /* 0x16 */
21662306a36Sopenharmony_ci	{  848, 480, 8,16},   /* 0x17 */
21762306a36Sopenharmony_ci	{ 1360, 768, 8,16},   /* 0x18 */
21862306a36Sopenharmony_ci	{ 1024, 600, 8,16},   /* 0x19 */
21962306a36Sopenharmony_ci	{ 1152, 768, 8,16},   /* 0x1a */
22062306a36Sopenharmony_ci	{  768, 576, 8,16},   /* 0x1b */
22162306a36Sopenharmony_ci	{ 1360,1024, 8,16},   /* 0x1c */
22262306a36Sopenharmony_ci	{ 1680,1050, 8,16},   /* 0x1d */
22362306a36Sopenharmony_ci	{ 1280, 800, 8,16},   /* 0x1e */
22462306a36Sopenharmony_ci	{ 1920,1080, 8,16},   /* 0x1f */
22562306a36Sopenharmony_ci	{  960, 540, 8,16},   /* 0x20 */
22662306a36Sopenharmony_ci	{  960, 600, 8,16},   /* 0x21 */
22762306a36Sopenharmony_ci	{ 1280, 854, 8,16}    /* 0x22 */
22862306a36Sopenharmony_ci};
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ci#if defined(CONFIG_FB_SIS_300) || defined(CONFIG_FB_SIS_315)
23162306a36Sopenharmony_cistatic const struct SiS_StandTable_S SiS_StandTable[]=
23262306a36Sopenharmony_ci{
23362306a36Sopenharmony_ci/* 0x00: MD_0_200 */
23462306a36Sopenharmony_ci {
23562306a36Sopenharmony_ci  0x28,0x18,0x08,0x0800,
23662306a36Sopenharmony_ci  {0x09,0x03,0x00,0x02},
23762306a36Sopenharmony_ci  0x63,
23862306a36Sopenharmony_ci  {0x2d,0x27,0x28,0x90,0x2b,0xa0,0xbf,0x1f,
23962306a36Sopenharmony_ci   0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,
24062306a36Sopenharmony_ci   0x9c,0x8e,0x8f,0x14,0x1f,0x96,0xb9,0xa3,
24162306a36Sopenharmony_ci   0xff},
24262306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
24362306a36Sopenharmony_ci   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
24462306a36Sopenharmony_ci   0x08,0x00,0x0f,0x00},
24562306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
24662306a36Sopenharmony_ci   0xff}
24762306a36Sopenharmony_ci },
24862306a36Sopenharmony_ci/* 0x01: MD_1_200 */
24962306a36Sopenharmony_ci {
25062306a36Sopenharmony_ci  0x28,0x18,0x08,0x0800,
25162306a36Sopenharmony_ci  {0x09,0x03,0x00,0x02},
25262306a36Sopenharmony_ci  0x63,
25362306a36Sopenharmony_ci  {0x2d,0x27,0x28,0x90,0x2b,0xa0,0xbf,0x1f,
25462306a36Sopenharmony_ci   0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,
25562306a36Sopenharmony_ci   0x9c,0x8e,0x8f,0x14,0x1f,0x96,0xb9,0xa3,
25662306a36Sopenharmony_ci   0xff},
25762306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
25862306a36Sopenharmony_ci   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
25962306a36Sopenharmony_ci   0x08,0x00,0x0f,0x00},
26062306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
26162306a36Sopenharmony_ci   0xff}
26262306a36Sopenharmony_ci },
26362306a36Sopenharmony_ci/* 0x02: MD_2_200 */
26462306a36Sopenharmony_ci {
26562306a36Sopenharmony_ci  0x50,0x18,0x08,0x1000,
26662306a36Sopenharmony_ci  {0x01,0x03,0x00,0x02},
26762306a36Sopenharmony_ci  0x63,
26862306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
26962306a36Sopenharmony_ci   0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,
27062306a36Sopenharmony_ci   0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,
27162306a36Sopenharmony_ci   0xff},
27262306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
27362306a36Sopenharmony_ci   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
27462306a36Sopenharmony_ci   0x08,0x00,0x0f,0x00},
27562306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
27662306a36Sopenharmony_ci   0xff}
27762306a36Sopenharmony_ci },
27862306a36Sopenharmony_ci/* 0x03: MD_3_200 - mode 0x03 - 0 */
27962306a36Sopenharmony_ci {
28062306a36Sopenharmony_ci  0x50,0x18,0x08,0x1000,
28162306a36Sopenharmony_ci  {0x01,0x03,0x00,0x02},
28262306a36Sopenharmony_ci  0x63,
28362306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
28462306a36Sopenharmony_ci   0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,
28562306a36Sopenharmony_ci   0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,
28662306a36Sopenharmony_ci   0xff},
28762306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
28862306a36Sopenharmony_ci   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
28962306a36Sopenharmony_ci   0x08,0x00,0x0f,0x00},
29062306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
29162306a36Sopenharmony_ci   0xff}
29262306a36Sopenharmony_ci },
29362306a36Sopenharmony_ci/* 0x04: MD_4 */
29462306a36Sopenharmony_ci {
29562306a36Sopenharmony_ci  0x28,0x18,0x08,0x4000,
29662306a36Sopenharmony_ci  {0x09,0x03,0x00,0x02},
29762306a36Sopenharmony_ci  0x63,
29862306a36Sopenharmony_ci  {0x2d,0x27,0x28,0x90,0x2c,0x80,0xbf,0x1f,   /* 0x2c is 2b for 300 */
29962306a36Sopenharmony_ci   0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,
30062306a36Sopenharmony_ci   0x9c,0x8e,0x8f,0x14,0x00,0x96,0xb9,0xa2,
30162306a36Sopenharmony_ci   0xff},
30262306a36Sopenharmony_ci  {0x00,0x13,0x15,0x17,0x02,0x04,0x06,0x07,
30362306a36Sopenharmony_ci   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
30462306a36Sopenharmony_ci   0x01,0x00,0x03,0x00},
30562306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x30,0x0f,0x00,
30662306a36Sopenharmony_ci   0xff}
30762306a36Sopenharmony_ci },
30862306a36Sopenharmony_ci/* 0x05: MD_5 */
30962306a36Sopenharmony_ci {
31062306a36Sopenharmony_ci  0x28,0x18,0x08,0x4000,
31162306a36Sopenharmony_ci  {0x09,0x03,0x00,0x02},
31262306a36Sopenharmony_ci  0x63,
31362306a36Sopenharmony_ci  {0x2d,0x27,0x28,0x90,0x2c,0x80,0xbf,0x1f,   /* 0x2c is 2b for 300 */
31462306a36Sopenharmony_ci   0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,
31562306a36Sopenharmony_ci   0x9c,0x8e,0x8f,0x14,0x00,0x96,0xb9,0xa2,
31662306a36Sopenharmony_ci   0xff},
31762306a36Sopenharmony_ci  {0x00,0x13,0x15,0x17,0x02,0x04,0x06,0x07,
31862306a36Sopenharmony_ci   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
31962306a36Sopenharmony_ci   0x01,0x00,0x03,0x00},
32062306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x30,0x0f,0x00,
32162306a36Sopenharmony_ci   0xff}
32262306a36Sopenharmony_ci },
32362306a36Sopenharmony_ci/* 0x06: MD_6 */
32462306a36Sopenharmony_ci {
32562306a36Sopenharmony_ci  0x50,0x18,0x08,0x4000,
32662306a36Sopenharmony_ci  {0x01,0x01,0x00,0x06},
32762306a36Sopenharmony_ci  0x63,
32862306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,   /* 55,81 is 54,80 for 300 */
32962306a36Sopenharmony_ci   0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,
33062306a36Sopenharmony_ci   0x9c,0x8e,0x8f,0x28,0x00,0x96,0xb9,0xc2,
33162306a36Sopenharmony_ci   0xff},
33262306a36Sopenharmony_ci  {0x00,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
33362306a36Sopenharmony_ci   0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
33462306a36Sopenharmony_ci   0x01,0x00,0x01,0x00},
33562306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x00,0x0d,0x00,
33662306a36Sopenharmony_ci   0xff}
33762306a36Sopenharmony_ci },
33862306a36Sopenharmony_ci/* 0x07: MD_7 */
33962306a36Sopenharmony_ci {
34062306a36Sopenharmony_ci  0x50,0x18,0x0e,0x1000,
34162306a36Sopenharmony_ci  {0x00,0x03,0x00,0x03},
34262306a36Sopenharmony_ci  0xa6,
34362306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
34462306a36Sopenharmony_ci   0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
34562306a36Sopenharmony_ci   0x83,0x85,0x5d,0x28,0x0d,0x63,0xba,0xa3,
34662306a36Sopenharmony_ci   0xff},
34762306a36Sopenharmony_ci  {0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
34862306a36Sopenharmony_ci   0x10,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
34962306a36Sopenharmony_ci   0x0e,0x00,0x0f,0x08},
35062306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x10,0x0a,0x00,
35162306a36Sopenharmony_ci   0xff}
35262306a36Sopenharmony_ci },
35362306a36Sopenharmony_ci/* 0x08: MDA_DAC */
35462306a36Sopenharmony_ci {
35562306a36Sopenharmony_ci  0x00,0x00,0x00,0x0000,
35662306a36Sopenharmony_ci  {0x00,0x00,0x00,0x15},
35762306a36Sopenharmony_ci  0x15,
35862306a36Sopenharmony_ci  {0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
35962306a36Sopenharmony_ci   0x15,0x15,0x15,0x15,0x15,0x15,0x3f,0x3f,
36062306a36Sopenharmony_ci   0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x00,0x00,
36162306a36Sopenharmony_ci   0x00},
36262306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x15,0x15,0x15,
36362306a36Sopenharmony_ci   0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
36462306a36Sopenharmony_ci   0x15,0x15,0x15,0x15},
36562306a36Sopenharmony_ci  {0x15,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
36662306a36Sopenharmony_ci   0x3f}
36762306a36Sopenharmony_ci },
36862306a36Sopenharmony_ci/* 0x09: CGA_DAC */
36962306a36Sopenharmony_ci {
37062306a36Sopenharmony_ci  0x00,0x10,0x04,0x0114,
37162306a36Sopenharmony_ci  {0x11,0x09,0x15,0x00},
37262306a36Sopenharmony_ci  0x10,
37362306a36Sopenharmony_ci  {0x04,0x14,0x01,0x11,0x09,0x15,0x2a,0x3a,
37462306a36Sopenharmony_ci   0x2e,0x3e,0x2b,0x3b,0x2f,0x3f,0x2a,0x3a,
37562306a36Sopenharmony_ci   0x2e,0x3e,0x2b,0x3b,0x2f,0x3f,0x00,0x10,
37662306a36Sopenharmony_ci   0x04},
37762306a36Sopenharmony_ci  {0x14,0x01,0x11,0x09,0x15,0x00,0x10,0x04,
37862306a36Sopenharmony_ci   0x14,0x01,0x11,0x09,0x15,0x2a,0x3a,0x2e,
37962306a36Sopenharmony_ci   0x3e,0x2b,0x3b,0x2f},
38062306a36Sopenharmony_ci  {0x3f,0x2a,0x3a,0x2e,0x3e,0x2b,0x3b,0x2f,
38162306a36Sopenharmony_ci   0x3f}
38262306a36Sopenharmony_ci },
38362306a36Sopenharmony_ci/* 0x0a: EGA_DAC */
38462306a36Sopenharmony_ci {
38562306a36Sopenharmony_ci  0x00,0x10,0x04,0x0114,
38662306a36Sopenharmony_ci  {0x11,0x05,0x15,0x20},
38762306a36Sopenharmony_ci  0x30,
38862306a36Sopenharmony_ci  {0x24,0x34,0x21,0x31,0x25,0x35,0x08,0x18,
38962306a36Sopenharmony_ci   0x0c,0x1c,0x09,0x19,0x0d,0x1d,0x28,0x38,
39062306a36Sopenharmony_ci   0x2c,0x3c,0x29,0x39,0x2d,0x3d,0x02,0x12,
39162306a36Sopenharmony_ci   0x06},
39262306a36Sopenharmony_ci  {0x16,0x03,0x13,0x07,0x17,0x22,0x32,0x26,
39362306a36Sopenharmony_ci   0x36,0x23,0x33,0x27,0x37,0x0a,0x1a,0x0e,
39462306a36Sopenharmony_ci   0x1e,0x0b,0x1b,0x0f},
39562306a36Sopenharmony_ci  {0x1f,0x2a,0x3a,0x2e,0x3e,0x2b,0x3b,0x2f,
39662306a36Sopenharmony_ci   0x3f}
39762306a36Sopenharmony_ci },
39862306a36Sopenharmony_ci/* 0x0b: VGA_DAC */
39962306a36Sopenharmony_ci {
40062306a36Sopenharmony_ci  0x00,0x10,0x04,0x0114,
40162306a36Sopenharmony_ci  {0x11,0x09,0x15,0x2a},
40262306a36Sopenharmony_ci  0x3a,
40362306a36Sopenharmony_ci  {0x2e,0x3e,0x2b,0x3b,0x2f,0x3f,0x00,0x05,
40462306a36Sopenharmony_ci   0x08,0x0b,0x0e,0x11,0x14,0x18,0x1c,0x20,
40562306a36Sopenharmony_ci   0x24,0x28,0x2d,0x32,0x38,0x3f,0x00,0x10,
40662306a36Sopenharmony_ci   0x1f},
40762306a36Sopenharmony_ci  {0x2f,0x3f,0x1f,0x27,0x2f,0x37,0x3f,0x2d,
40862306a36Sopenharmony_ci   0x31,0x36,0x3a,0x3f,0x00,0x07,0x0e,0x15,
40962306a36Sopenharmony_ci   0x1c,0x0e,0x11,0x15},
41062306a36Sopenharmony_ci  {0x18,0x1c,0x14,0x16,0x18,0x1a,0x1c,0x00,
41162306a36Sopenharmony_ci   0x04}
41262306a36Sopenharmony_ci },
41362306a36Sopenharmony_ci/* 0x0c */
41462306a36Sopenharmony_ci {
41562306a36Sopenharmony_ci  0x08,0x0c,0x10,0x0a08,
41662306a36Sopenharmony_ci  {0x0c,0x0e,0x10,0x0b},
41762306a36Sopenharmony_ci  0x0c,
41862306a36Sopenharmony_ci  {0x0d,0x0f,0x10,0x10,0x01,0x08,0x00,0x00,
41962306a36Sopenharmony_ci   0x00,0x00,0x01,0x00,0x02,0x02,0x01,0x00,
42062306a36Sopenharmony_ci   0x04,0x04,0x01,0x00,0x05,0x02,0x05,0x00,
42162306a36Sopenharmony_ci   0x06},
42262306a36Sopenharmony_ci  {0x01,0x06,0x05,0x06,0x00,0x08,0x01,0x08,
42362306a36Sopenharmony_ci   0x00,0x07,0x02,0x07,0x06,0x07,0x00,0x00,
42462306a36Sopenharmony_ci   0x00,0x00,0x00,0x00},
42562306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
42662306a36Sopenharmony_ci   0x00}
42762306a36Sopenharmony_ci },
42862306a36Sopenharmony_ci/* 0x0d: MD_D */
42962306a36Sopenharmony_ci {
43062306a36Sopenharmony_ci  0x28,0x18,0x08,0x2000,
43162306a36Sopenharmony_ci  {0x09,0x0f,0x00,0x06},
43262306a36Sopenharmony_ci  0x63,
43362306a36Sopenharmony_ci  {0x2d,0x27,0x28,0x90,0x2c,0x80,0xbf,0x1f,     /* 2c is 2b for 300 */
43462306a36Sopenharmony_ci   0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
43562306a36Sopenharmony_ci   0x9c,0x8e,0x8f,0x14,0x00,0x96,0xb9,0xe3,
43662306a36Sopenharmony_ci   0xff},
43762306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
43862306a36Sopenharmony_ci   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
43962306a36Sopenharmony_ci   0x01,0x00,0x0f,0x00},
44062306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
44162306a36Sopenharmony_ci   0xff}
44262306a36Sopenharmony_ci },
44362306a36Sopenharmony_ci/* 0x0e: MD_E */
44462306a36Sopenharmony_ci {
44562306a36Sopenharmony_ci  0x50,0x18,0x08,0x4000,
44662306a36Sopenharmony_ci  {0x01,0x0f,0x00,0x06},
44762306a36Sopenharmony_ci  0x63,
44862306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,     /* 55,81 is 54,80 for 300 */
44962306a36Sopenharmony_ci   0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
45062306a36Sopenharmony_ci   0x9c,0x8e,0x8f,0x28,0x00,0x96,0xb9,0xe3,
45162306a36Sopenharmony_ci   0xff},
45262306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
45362306a36Sopenharmony_ci   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
45462306a36Sopenharmony_ci   0x01,0x00,0x0f,0x00},
45562306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
45662306a36Sopenharmony_ci   0xff}
45762306a36Sopenharmony_ci },
45862306a36Sopenharmony_ci/* 0x0f: ExtVGATable - modes > 0x13 */
45962306a36Sopenharmony_ci {
46062306a36Sopenharmony_ci  0x00,0x00,0x00,0x0000,
46162306a36Sopenharmony_ci  {0x01,0x0f,0x00,0x0e},
46262306a36Sopenharmony_ci  0x23,
46362306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,
46462306a36Sopenharmony_ci   0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
46562306a36Sopenharmony_ci   0xea,0x8c,0xdf,0x28,0x40,0xe7,0x04,0xa3,
46662306a36Sopenharmony_ci   0xff},
46762306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
46862306a36Sopenharmony_ci   0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
46962306a36Sopenharmony_ci   0x01,0x00,0x00,0x00},
47062306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,
47162306a36Sopenharmony_ci   0xff}
47262306a36Sopenharmony_ci },
47362306a36Sopenharmony_ci/* 0x10: ROM_SAVEPTR - totally different for 300 */
47462306a36Sopenharmony_ci {
47562306a36Sopenharmony_ci  0x9f,0x3b,0x00,0x00c0,
47662306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00},
47762306a36Sopenharmony_ci  0x00,
47862306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x3f,
47962306a36Sopenharmony_ci   0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
48062306a36Sopenharmony_ci   0x00,0x00,0x1a,0x00,0xac,0x3e,0x00,0xc0,
48162306a36Sopenharmony_ci   0x00},
48262306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
48362306a36Sopenharmony_ci   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
48462306a36Sopenharmony_ci   0x00,0x00,0x00,0x00},
48562306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
48662306a36Sopenharmony_ci   0x00}
48762306a36Sopenharmony_ci },
48862306a36Sopenharmony_ci/* 0x11: MD_F */
48962306a36Sopenharmony_ci {
49062306a36Sopenharmony_ci  0x50,0x18,0x0e,0x8000,
49162306a36Sopenharmony_ci  {0x01,0x0f,0x00,0x06},
49262306a36Sopenharmony_ci  0xa2,
49362306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,    /* 55,81 is 54,80 on 300 */
49462306a36Sopenharmony_ci   0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
49562306a36Sopenharmony_ci   0x82,0x84,0x5d,0x28,0x0f,0x63,0xba,0xe3,    /* 82,84 is 83,85 on 300 */
49662306a36Sopenharmony_ci   0xff},
49762306a36Sopenharmony_ci  {0x00,0x08,0x00,0x00,0x18,0x18,0x00,0x00,
49862306a36Sopenharmony_ci   0x00,0x08,0x00,0x00,0x00,0x18,0x00,0x00,
49962306a36Sopenharmony_ci   0x0b,0x00,0x05,0x00},
50062306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x05,
50162306a36Sopenharmony_ci   0xff}
50262306a36Sopenharmony_ci },
50362306a36Sopenharmony_ci/* 0x12: MD_10 */
50462306a36Sopenharmony_ci {
50562306a36Sopenharmony_ci  0x50,0x18,0x0e,0x8000,
50662306a36Sopenharmony_ci  {0x01,0x0f,0x00,0x06},
50762306a36Sopenharmony_ci  0xa3,
50862306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,    /* 55,81 is 54,80 on 300 */
50962306a36Sopenharmony_ci   0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
51062306a36Sopenharmony_ci   0x82,0x84,0x5d,0x28,0x0f,0x63,0xba,0xe3,    /* 82,84 is 83,85 on 300 */
51162306a36Sopenharmony_ci   0xff},
51262306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
51362306a36Sopenharmony_ci   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
51462306a36Sopenharmony_ci   0x01,0x00,0x0f,0x00},
51562306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
51662306a36Sopenharmony_ci   0xff}
51762306a36Sopenharmony_ci },
51862306a36Sopenharmony_ci/* 0x13: MD_0_350 */
51962306a36Sopenharmony_ci {
52062306a36Sopenharmony_ci  0x28,0x18,0x0e,0x0800,
52162306a36Sopenharmony_ci  {0x09,0x03,0x00,0x02},
52262306a36Sopenharmony_ci  0xa3,
52362306a36Sopenharmony_ci  {0x2d,0x27,0x28,0x90,0x2b,0xb1,0xbf,0x1f,    /* b1 is a0 on 300 */
52462306a36Sopenharmony_ci   0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
52562306a36Sopenharmony_ci   0x83,0x85,0x5d,0x14,0x1f,0x63,0xba,0xa3,
52662306a36Sopenharmony_ci   0xff},
52762306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
52862306a36Sopenharmony_ci   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
52962306a36Sopenharmony_ci   0x08,0x00,0x0f,0x00},
53062306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
53162306a36Sopenharmony_ci   0xff}
53262306a36Sopenharmony_ci },
53362306a36Sopenharmony_ci/* 0x14: MD_1_350 */
53462306a36Sopenharmony_ci {
53562306a36Sopenharmony_ci  0x28,0x18,0x0e,0x0800,
53662306a36Sopenharmony_ci  {0x09,0x03,0x00,0x02},
53762306a36Sopenharmony_ci  0xa3,
53862306a36Sopenharmony_ci  {0x2d,0x27,0x28,0x90,0x2b,0xa0,0xbf,0x1f,
53962306a36Sopenharmony_ci   0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
54062306a36Sopenharmony_ci   0x83,0x85,0x5d,0x14,0x1f,0x63,0xba,0xa3,
54162306a36Sopenharmony_ci   0xff},
54262306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
54362306a36Sopenharmony_ci   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
54462306a36Sopenharmony_ci   0x08,0x00,0x0f,0x00},
54562306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
54662306a36Sopenharmony_ci   0xff}
54762306a36Sopenharmony_ci },
54862306a36Sopenharmony_ci/* 0x15: MD_2_350 */
54962306a36Sopenharmony_ci {
55062306a36Sopenharmony_ci  0x50,0x18,0x0e,0x1000,
55162306a36Sopenharmony_ci  {0x01,0x03,0x00,0x02},
55262306a36Sopenharmony_ci  0xa3,
55362306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
55462306a36Sopenharmony_ci   0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
55562306a36Sopenharmony_ci   0x83,0x85,0x5d,0x28,0x1f,0x63,0xba,0xa3,
55662306a36Sopenharmony_ci   0xff},
55762306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
55862306a36Sopenharmony_ci   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
55962306a36Sopenharmony_ci   0x08,0x00,0x0f,0x00},
56062306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
56162306a36Sopenharmony_ci   0xff}
56262306a36Sopenharmony_ci },
56362306a36Sopenharmony_ci/* 0x16: MD_3_350 - mode 0x03 - 1 */
56462306a36Sopenharmony_ci {
56562306a36Sopenharmony_ci  0x50,0x18,0x0e,0x1000,
56662306a36Sopenharmony_ci  {0x01,0x03,0x00,0x02},
56762306a36Sopenharmony_ci  0xa3,
56862306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
56962306a36Sopenharmony_ci   0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
57062306a36Sopenharmony_ci   0x83,0x85,0x5d,0x28,0x1f,0x63,0xba,0xa3,
57162306a36Sopenharmony_ci   0xff},
57262306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
57362306a36Sopenharmony_ci   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
57462306a36Sopenharmony_ci   0x08,0x00,0x0f,0x00},
57562306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
57662306a36Sopenharmony_ci   0xff}
57762306a36Sopenharmony_ci },
57862306a36Sopenharmony_ci/* 0x17: MD_0_1_400 */
57962306a36Sopenharmony_ci {
58062306a36Sopenharmony_ci  0x28,0x18,0x10,0x0800,
58162306a36Sopenharmony_ci  {0x08,0x03,0x00,0x02},
58262306a36Sopenharmony_ci  0x67,
58362306a36Sopenharmony_ci  {0x2d,0x27,0x28,0x90,0x2b,0xb1,0xbf,0x1f,    /* b1 is a0 on 300 */
58462306a36Sopenharmony_ci   0x00,0x4f,0x0d,0x0e,0x00,0x00,0x00,0x00,
58562306a36Sopenharmony_ci   0x9c,0x8e,0x8f,0x14,0x1f,0x96,0xb9,0xa3,
58662306a36Sopenharmony_ci   0xff},
58762306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
58862306a36Sopenharmony_ci   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
58962306a36Sopenharmony_ci   0x0c,0x00,0x0f,0x08},
59062306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
59162306a36Sopenharmony_ci   0xff}
59262306a36Sopenharmony_ci },
59362306a36Sopenharmony_ci/* 0x18: MD_2_3_400 - mode 0x03 - 2 */
59462306a36Sopenharmony_ci {
59562306a36Sopenharmony_ci  0x50,0x18,0x10,0x1000,
59662306a36Sopenharmony_ci  {0x00,0x03,0x00,0x02},
59762306a36Sopenharmony_ci  0x67,
59862306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
59962306a36Sopenharmony_ci   0x00,0x4f,0x0d,0x0e,0x00,0x00,0x00,0x00,
60062306a36Sopenharmony_ci   0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,
60162306a36Sopenharmony_ci   0xff},
60262306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
60362306a36Sopenharmony_ci   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
60462306a36Sopenharmony_ci   0x0c,0x00,0x0f,0x08},
60562306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
60662306a36Sopenharmony_ci   0xff}
60762306a36Sopenharmony_ci },
60862306a36Sopenharmony_ci/* 0x19: MD_7_400 */
60962306a36Sopenharmony_ci {
61062306a36Sopenharmony_ci  0x50,0x18,0x10,0x1000,
61162306a36Sopenharmony_ci  {0x00,0x03,0x00,0x02},
61262306a36Sopenharmony_ci  0x66,
61362306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
61462306a36Sopenharmony_ci   0x00,0x4f,0x0d,0x0e,0x00,0x00,0x00,0x00,
61562306a36Sopenharmony_ci   0x9c,0x8e,0x8f,0x28,0x0f,0x96,0xb9,0xa3,
61662306a36Sopenharmony_ci   0xff},
61762306a36Sopenharmony_ci  {0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
61862306a36Sopenharmony_ci   0x10,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
61962306a36Sopenharmony_ci   0x0e,0x00,0x0f,0x08},
62062306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x10,0x0a,0x00,
62162306a36Sopenharmony_ci   0xff}
62262306a36Sopenharmony_ci },
62362306a36Sopenharmony_ci/* 0x1a: MD_11 */
62462306a36Sopenharmony_ci {
62562306a36Sopenharmony_ci  0x50,0x1d,0x10,0xa000,
62662306a36Sopenharmony_ci  {0x01,0x0f,0x00,0x06},
62762306a36Sopenharmony_ci  0xe3,
62862306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x55,0x81,0x0b,0x3e,    /* 55,81 is 54,80 on 300 */
62962306a36Sopenharmony_ci   0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
63062306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x28,0x00,0xe7,0x04,0xc3,    /* e9,8b is ea,8c on 300 */
63162306a36Sopenharmony_ci   0xff},
63262306a36Sopenharmony_ci  {0x00,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
63362306a36Sopenharmony_ci   0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
63462306a36Sopenharmony_ci   0x01,0x00,0x0f,0x00},
63562306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x01,
63662306a36Sopenharmony_ci   0xff}
63762306a36Sopenharmony_ci },
63862306a36Sopenharmony_ci/* 0x1b: ExtEGATable - Modes <= 0x02 */
63962306a36Sopenharmony_ci {
64062306a36Sopenharmony_ci  0x50,0x1d,0x10,0xa000,
64162306a36Sopenharmony_ci  {0x01,0x0f,0x00,0x06},
64262306a36Sopenharmony_ci  0xe3,
64362306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x55,0x81,0x0b,0x3e,    /* 55,81 is 54,80 on 300 */
64462306a36Sopenharmony_ci   0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
64562306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x28,0x00,0xe7,0x04,0xe3,    /* e9,8b is ea,8c on 300 */
64662306a36Sopenharmony_ci   0xff},
64762306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
64862306a36Sopenharmony_ci   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
64962306a36Sopenharmony_ci   0x01,0x00,0x0f,0x00},
65062306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
65162306a36Sopenharmony_ci   0xff}
65262306a36Sopenharmony_ci },
65362306a36Sopenharmony_ci/* 0x1c: MD_13 */
65462306a36Sopenharmony_ci {
65562306a36Sopenharmony_ci  0x28,0x18,0x08,0x2000,
65662306a36Sopenharmony_ci  {0x01,0x0f,0x00,0x0e},
65762306a36Sopenharmony_ci  0x63,
65862306a36Sopenharmony_ci  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,    /* 55,81 is 54,80 on 300 */
65962306a36Sopenharmony_ci   0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,
66062306a36Sopenharmony_ci   0x9c,0x8e,0x8f,0x28,0x40,0x96,0xb9,0xa3,
66162306a36Sopenharmony_ci   0xff},
66262306a36Sopenharmony_ci  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
66362306a36Sopenharmony_ci   0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
66462306a36Sopenharmony_ci   0x41,0x00,0x0f,0x00},
66562306a36Sopenharmony_ci  {0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,
66662306a36Sopenharmony_ci   0xff}
66762306a36Sopenharmony_ci }
66862306a36Sopenharmony_ci};
66962306a36Sopenharmony_ci#endif
67062306a36Sopenharmony_ci
67162306a36Sopenharmony_ci/**************************************************************/
67262306a36Sopenharmony_ci/* SIS VIDEO BRIDGE ----------------------------------------- */
67362306a36Sopenharmony_ci/**************************************************************/
67462306a36Sopenharmony_ci
67562306a36Sopenharmony_cistatic const unsigned char SiS_SoftSetting  = 0x30;   /* RAM setting */
67662306a36Sopenharmony_ci
67762306a36Sopenharmony_cistatic const unsigned char SiS_OutputSelect = 0x40;
67862306a36Sopenharmony_ci
67962306a36Sopenharmony_cistatic const unsigned char SiS_NTSCTiming[] = {
68062306a36Sopenharmony_ci	0x17,0x1d,0x03,0x09,0x05,0x06,0x0c,0x0c,
68162306a36Sopenharmony_ci	0x94,0x49,0x01,0x0a,0x06,0x0d,0x04,0x0a,
68262306a36Sopenharmony_ci	0x06,0x14,0x0d,0x04,0x0a,0x00,0x85,0x1b,
68362306a36Sopenharmony_ci	0x0c,0x50,0x00,0x97,0x00,0xda,0x4a,0x17,
68462306a36Sopenharmony_ci	0x7d,0x05,0x4b,0x00,0x00,0xe2,0x00,0x02,
68562306a36Sopenharmony_ci	0x03,0x0a,0x65,0x9d,0x08,0x92,0x8f,0x40,
68662306a36Sopenharmony_ci	0x60,0x80,0x14,0x90,0x8c,0x60,0x14,0x50,
68762306a36Sopenharmony_ci	0x00,0x40,0x44,0x00,0xdb,0x02,0x3b,0x00
68862306a36Sopenharmony_ci};
68962306a36Sopenharmony_ci
69062306a36Sopenharmony_cistatic const unsigned char SiS_PALTiming[] = {
69162306a36Sopenharmony_ci	0x19,0x52,0x35,0x6e,0x04,0x38,0x3d,0x70,
69262306a36Sopenharmony_ci	0x94,0x49,0x01,0x12,0x06,0x3e,0x35,0x6d,
69362306a36Sopenharmony_ci	0x06,0x14,0x3e,0x35,0x6d,0x00,0x45,0x2b,
69462306a36Sopenharmony_ci	0x70,0x50,0x00,0x9b,0x00,0xd9,0x5d,0x17,
69562306a36Sopenharmony_ci	0x7d,0x05,0x45,0x00,0x00,0xe8,0x00,0x02,
69662306a36Sopenharmony_ci	0x0d,0x00,0x68,0xb0,0x0b,0x92,0x8f,0x40,
69762306a36Sopenharmony_ci	0x60,0x80,0x14,0x90,0x8c,0x60,0x14,0x63,
69862306a36Sopenharmony_ci	0x00,0x40,0x3e,0x00,0xe1,0x02,0x28,0x00
69962306a36Sopenharmony_ci};
70062306a36Sopenharmony_ci
70162306a36Sopenharmony_cistatic const unsigned char SiS_HiTVExtTiming[] = {
70262306a36Sopenharmony_ci	0x32,0x65,0x2c,0x5f,0x08,0x31,0x3a,0x64,
70362306a36Sopenharmony_ci	0x28,0x02,0x01,0x3d,0x06,0x3e,0x35,0x6d,
70462306a36Sopenharmony_ci	0x06,0x14,0x3e,0x35,0x6d,0x00,0xc5,0x3f,
70562306a36Sopenharmony_ci	0x64,0x90,0x33,0x8c,0x18,0x36,0x3e,0x13,
70662306a36Sopenharmony_ci	0x2a,0xde,0x2a,0x44,0x40,0x2a,0x44,0x40,
70762306a36Sopenharmony_ci	0x8e,0x8e,0x82,0x07,0x0b,0x92,0x0f,0x40,
70862306a36Sopenharmony_ci	0x60,0x80,0x14,0x90,0x8c,0x60,0x14,0x3d,
70962306a36Sopenharmony_ci	0x63,0x4f,0x27,0x00,0xfc,0xff,0x6a,0x00
71062306a36Sopenharmony_ci};
71162306a36Sopenharmony_ci
71262306a36Sopenharmony_cistatic const unsigned char SiS_HiTVSt1Timing[] = {
71362306a36Sopenharmony_ci	0x32,0x65,0x2c,0x5f,0x08,0x31,0x3a,0x65,
71462306a36Sopenharmony_ci	0x28,0x02,0x01,0x3d,0x06,0x3e,0x35,0x6d,
71562306a36Sopenharmony_ci	0x06,0x14,0x3e,0x35,0x6d,0x00,0xc5,0x3f,
71662306a36Sopenharmony_ci	0x65,0x90,0x7b,0xa8,0x03,0xf0,0x87,0x03,
71762306a36Sopenharmony_ci	0x11,0x15,0x11,0xcf,0x10,0x11,0xcf,0x10,
71862306a36Sopenharmony_ci	0x35,0x35,0x3b,0x69,0x1d,0x92,0x0f,0x40,
71962306a36Sopenharmony_ci	0x60,0x80,0x14,0x90,0x8c,0x60,0x04,0x86,
72062306a36Sopenharmony_ci	0xaf,0x5d,0x0e,0x00,0xfc,0xff,0x2d,0x00
72162306a36Sopenharmony_ci};
72262306a36Sopenharmony_ci
72362306a36Sopenharmony_cistatic const unsigned char SiS_HiTVSt2Timing[] = {
72462306a36Sopenharmony_ci	0x32,0x65,0x2c,0x5f,0x08,0x31,0x3a,0x64,
72562306a36Sopenharmony_ci	0x28,0x02,0x01,0x3d,0x06,0x3e,0x35,0x6d,
72662306a36Sopenharmony_ci	0x06,0x14,0x3e,0x35,0x6d,0x00,0xc5,0x3f,
72762306a36Sopenharmony_ci	0x64,0x90,0x33,0x8c,0x18,0x36,0x3e,0x13,
72862306a36Sopenharmony_ci	0x2a,0xde,0x2a,0x44,0x40,0x2a,0x44,0x40,
72962306a36Sopenharmony_ci	0x8e,0x8e,0x82,0x07,0x0b,0x92,0x0f,0x40,
73062306a36Sopenharmony_ci	0x60,0x80,0x14,0x90,0x8c,0x60,0x14,0x3d,
73162306a36Sopenharmony_ci	0x63,0x4f,0x27,0x00,0xfc,0xff,0x6a,0x00
73262306a36Sopenharmony_ci};
73362306a36Sopenharmony_ci
73462306a36Sopenharmony_ci#if 0
73562306a36Sopenharmony_cistatic const unsigned char SiS_HiTVTextTiming[] = {
73662306a36Sopenharmony_ci	0x32,0x65,0x2c,0x5f,0x08,0x31,0x3a,0x65,
73762306a36Sopenharmony_ci	0x28,0x02,0x01,0x3d,0x06,0x3e,0x35,0x6d,
73862306a36Sopenharmony_ci	0x06,0x14,0x3e,0x35,0x6d,0x00,0xc5,0x3f,
73962306a36Sopenharmony_ci	0x65,0x90,0xe7,0xbc,0x03,0x0c,0x97,0x03,
74062306a36Sopenharmony_ci	0x14,0x78,0x14,0x08,0x20,0x14,0x08,0x20,
74162306a36Sopenharmony_ci	0xc8,0xc8,0x3b,0xd2,0x26,0x92,0x0f,0x40,
74262306a36Sopenharmony_ci        0x60,0x80,0x14,0x90,0x8c,0x60,0x04,0x96,
74362306a36Sopenharmony_ci	0x72,0x5c,0x11,0x00,0xfc,0xff,0x32,0x00
74462306a36Sopenharmony_ci};
74562306a36Sopenharmony_ci#endif
74662306a36Sopenharmony_ci
74762306a36Sopenharmony_cistatic const unsigned char SiS_HiTVGroup3Data[] = {
74862306a36Sopenharmony_ci	0x00,0x1a,0x22,0x63,0x62,0x22,0x08,0x5f,
74962306a36Sopenharmony_ci	0x05,0x21,0xb2,0xb2,0x55,0x77,0x2a,0xa6,
75062306a36Sopenharmony_ci	0x25,0x2f,0x47,0xfa,0xc8,0xff,0x8e,0x20,
75162306a36Sopenharmony_ci	0x8c,0x6e,0x60,0x2e,0x58,0x48,0x72,0x44,
75262306a36Sopenharmony_ci	0x56,0x36,0x4f,0x6e,0x3f,0x80,0x00,0x80,
75362306a36Sopenharmony_ci	0x4f,0x7f,0x03,0xa8,0x7d,0x20,0x1a,0xa9,
75462306a36Sopenharmony_ci	0x14,0x05,0x03,0x7e,0x64,0x31,0x14,0x75,
75562306a36Sopenharmony_ci	0x18,0x05,0x18,0x05,0x4c,0xa8,0x01
75662306a36Sopenharmony_ci};
75762306a36Sopenharmony_ci
75862306a36Sopenharmony_cistatic const unsigned char SiS_HiTVGroup3Simu[] = {
75962306a36Sopenharmony_ci	0x00,0x1a,0x22,0x63,0x62,0x22,0x08,0x95,
76062306a36Sopenharmony_ci	0xdb,0x20,0xb8,0xb8,0x55,0x47,0x2a,0xa6,
76162306a36Sopenharmony_ci	0x25,0x2f,0x47,0xfa,0xc8,0xff,0x8e,0x20,
76262306a36Sopenharmony_ci	0x8c,0x6e,0x60,0x15,0x26,0xd3,0xe4,0x11,
76362306a36Sopenharmony_ci	0x56,0x36,0x4f,0x6e,0x3f,0x80,0x00,0x80,
76462306a36Sopenharmony_ci	0x67,0x36,0x01,0x47,0x0e,0x10,0xbe,0xb4,
76562306a36Sopenharmony_ci	0x01,0x05,0x03,0x7e,0x65,0x31,0x14,0x75,
76662306a36Sopenharmony_ci	0x18,0x05,0x18,0x05,0x4c,0xa8,0x01
76762306a36Sopenharmony_ci};
76862306a36Sopenharmony_ci
76962306a36Sopenharmony_ci#if 0
77062306a36Sopenharmony_cistatic const unsigned char SiS_HiTVGroup3Text[] = {
77162306a36Sopenharmony_ci	0x00,0x1a,0x22,0x63,0x62,0x22,0x08,0xa7,
77262306a36Sopenharmony_ci	0xf5,0x20,0xce,0xce,0x55,0x47,0x2a,0xa6,
77362306a36Sopenharmony_ci	0x25,0x2f,0x47,0xfa,0xc8,0xff,0x8e,0x20,
77462306a36Sopenharmony_ci	0x8c,0x6e,0x60,0x18,0x2c,0x0c,0x20,0x22,
77562306a36Sopenharmony_ci	0x56,0x36,0x4f,0x6e,0x3f,0x80,0x00,0x80,
77662306a36Sopenharmony_ci	0x93,0x3c,0x01,0x50,0x2f,0x10,0xf4,0xca,
77762306a36Sopenharmony_ci	0x01,0x05,0x03,0x7e,0x65,0x31,0x14,0x75,
77862306a36Sopenharmony_ci	0x18,0x05,0x18,0x05,0x4c,0xa8,0x01
77962306a36Sopenharmony_ci};
78062306a36Sopenharmony_ci#endif
78162306a36Sopenharmony_ci
78262306a36Sopenharmony_cistatic const struct SiS_TVData SiS_StPALData[] =
78362306a36Sopenharmony_ci{
78462306a36Sopenharmony_ci {    1,   1, 864, 525,1270, 400, 100, 0, 760,    0,0xf4,0xff,0x1c,0x22},
78562306a36Sopenharmony_ci {    1,   1, 864, 525,1270, 350, 100, 0, 760,    0,0xf4,0xff,0x1c,0x22},
78662306a36Sopenharmony_ci {    1,   1, 864, 525,1270, 400,   0, 0, 720,    0,0xf1,0x04,0x1f,0x18},
78762306a36Sopenharmony_ci {    1,   1, 864, 525,1270, 350,   0, 0, 720,    0,0xf4,0x0b,0x1c,0x0a},
78862306a36Sopenharmony_ci {    1,   1, 864, 525,1270, 480,  50, 0, 760,    0,0xf4,0xff,0x1c,0x22},
78962306a36Sopenharmony_ci {    1,   1, 864, 525,1270, 600,  50, 0,   0,0x300,0xf4,0xff,0x1c,0x22}
79062306a36Sopenharmony_ci};
79162306a36Sopenharmony_ci
79262306a36Sopenharmony_cistatic const struct SiS_TVData SiS_ExtPALData[] =
79362306a36Sopenharmony_ci{
79462306a36Sopenharmony_ci {   27,  10, 848, 448,1270, 530,  50, 0,  50,    0,0xf4,0xff,0x1c,0x22},  /* 640x400, 320x200 */
79562306a36Sopenharmony_ci {  108,  35, 848, 398,1270, 530,  50, 0,  50,    0,0xf4,0xff,0x1c,0x22},
79662306a36Sopenharmony_ci {   12,   5, 954, 448,1270, 530,  50, 0,  50,    0,0xf1,0x04,0x1f,0x18},
79762306a36Sopenharmony_ci {    9,   4, 960, 463,1644, 438,  50, 0,  50,    0,0xf4,0x0b,0x1c,0x0a},
79862306a36Sopenharmony_ci {    9,   4, 848, 528,1270, 530,   0, 0,  50,    0,0xf5,0xfb,0x1b,0x2a},  /* 640x480, 320x240 */
79962306a36Sopenharmony_ci {   36,  25,1060, 648,1270, 530, 438, 0, 438,    0,0xeb,0x05,0x25,0x16},  /* 800x600, 400x300 */
80062306a36Sopenharmony_ci {    3,   2,1080, 619,1270, 540, 438, 0, 438,    0,0xf3,0x00,0x1d,0x20},  /* 720x576 */
80162306a36Sopenharmony_ci {    1,   1,1170, 821,1270, 520, 686, 0, 686,    0,0xF3,0x00,0x1D,0x20},  /* 1024x768 */
80262306a36Sopenharmony_ci {    1,   1,1170, 821,1270, 520, 686, 0, 686,    0,0xF3,0x00,0x1D,0x20},  /* 1024x768 (for NTSC equ) */
80362306a36Sopenharmony_ci {    9,   4, 848, 528,1270, 530,   0, 0,  50,    0,0xf5,0xfb,0x1b,0x2a}   /* 720x480 */
80462306a36Sopenharmony_ci};
80562306a36Sopenharmony_ci
80662306a36Sopenharmony_cistatic const struct SiS_TVData SiS_StNTSCData[] =
80762306a36Sopenharmony_ci{
80862306a36Sopenharmony_ci {    1,   1, 858, 525,1270, 400,  50, 0, 760,    0,0xf1,0x04,0x1f,0x18},
80962306a36Sopenharmony_ci {    1,   1, 858, 525,1270, 350,  50, 0, 640,    0,0xf1,0x04,0x1f,0x18},
81062306a36Sopenharmony_ci {    1,   1, 858, 525,1270, 400,   0, 0, 720,    0,0xf1,0x04,0x1f,0x18},
81162306a36Sopenharmony_ci {    1,   1, 858, 525,1270, 350,   0, 0, 720,    0,0xf4,0x0b,0x1c,0x0a},
81262306a36Sopenharmony_ci {    1,   1, 858, 525,1270, 480,   0, 0, 760,    0,0xf1,0x04,0x1f,0x18}
81362306a36Sopenharmony_ci};
81462306a36Sopenharmony_ci
81562306a36Sopenharmony_cistatic const struct SiS_TVData SiS_ExtNTSCData[] =
81662306a36Sopenharmony_ci{
81762306a36Sopenharmony_ci {  143,  65, 858, 443,1270, 440, 171, 0, 171,    0,0xf1,0x04,0x1f,0x18},    /* 640x400, 320x200 */
81862306a36Sopenharmony_ci {   88,  35, 858, 393,1270, 440, 171, 0, 171,    0,0xf1,0x04,0x1f,0x18},
81962306a36Sopenharmony_ci {  143,  70, 924, 443,1270, 440,  92, 0,  92,    0,0xf1,0x04,0x1f,0x18},
82062306a36Sopenharmony_ci {  143,  70, 924, 393,1270, 440,  92, 0,  92,    0,0xf4,0x0b,0x1c,0x0a},
82162306a36Sopenharmony_ci {  143,  76, 836, 523,1270, 440, 224, 0,   0,    0,0xf1,0x05,0x1f,0x16},    /* 640x480, 320x240 */
82262306a36Sopenharmony_ci {  143, 120,1056, 643,1270, 440,   0, 1,   0,    0,0xf4,0x10,0x1c,0x00},    /* 800x600, 400x300  */
82362306a36Sopenharmony_ci {  143,  76, 836, 523,1270, 440,   0, 1,   0,    0,0xee,0x0c,0x22,0x08},    /* 720x480 - BETTER (from 300 series) */
82462306a36Sopenharmony_ci {    1,   1,1100, 811,1412, 440,   0, 1,   0,    0,0xee,0x0c,0x22,0x08},    /* 1024x768 (525i) CORRECTED */
82562306a36Sopenharmony_ci#if 0  /* flimmert und ist unten abgeschnitten (NTSCHT, NTSC clock) */
82662306a36Sopenharmony_ci {   65,  64,1056, 791,1270, 480, 455, 0,   0,    0,0x00,0x00,0x00,0x00}     /* 1024x768 (525p) */
82762306a36Sopenharmony_ci#endif
82862306a36Sopenharmony_ci#if 0
82962306a36Sopenharmony_ci {    1,   1,1100, 811,1412, 440,   0, 1,   0,    0,0x00,0x00,0x00,0x00}     /* 1024x768 (525p) */
83062306a36Sopenharmony_ci#endif
83162306a36Sopenharmony_ci#if 0
83262306a36Sopenharmony_ci {    1,   1,1120, 821,1516, 420,   0, 1,   0,    0,0x00,0x00,0x00,0x00}     /* 1024x768 (525p) */
83362306a36Sopenharmony_ci#endif
83462306a36Sopenharmony_ci#if 0
83562306a36Sopenharmony_ci {    1,   1, 938, 821,1516, 420,   0, 1,   0,    0,0x00,0x00,0x00,0x00}     /* 1024x768 (525p) */
83662306a36Sopenharmony_ci#endif
83762306a36Sopenharmony_ci#if 0 /* zoom hin, unten abgeschnitten (NTSC2HT, NTSC1024 clock) */
83862306a36Sopenharmony_ci {    1,   1,1072, 791,1270, 480, 455, 0,   0,    0,0x00,0x00,0x00,0x00}     /* 1024x768 (525p) */
83962306a36Sopenharmony_ci#endif
84062306a36Sopenharmony_ci#if 1 /* zu weit links (squeezed) (NTSC2HT, NTSC1024 clock) */
84162306a36Sopenharmony_ci {    1,   1,1100, 846,1270, 440, 455, 0,   0,    0,0x00,0x00,0x00,0x00}     /* 1024x768 (525p) */
84262306a36Sopenharmony_ci#endif
84362306a36Sopenharmony_ci#if 0 /* zu weit links, rechts abgeschnitten (NTSC2HT, NTSC1024 clock) */
84462306a36Sopenharmony_ci {    1,   1,1100, 846,1412, 440, 455, 0,   0,    0,0x00,0x00,0x00,0x00}     /* 1024x768 (525p) */
84562306a36Sopenharmony_ci#endif
84662306a36Sopenharmony_ci};
84762306a36Sopenharmony_ci
84862306a36Sopenharmony_cistatic const struct SiS_TVData SiS_StHiTVData[] =  /* Slave + TVSimu */
84962306a36Sopenharmony_ci{
85062306a36Sopenharmony_ci {    1,   1, 0x37c,0x233,0x2b2,0x320,    0, 0, 0, 0, 0, 0, 0, 0},
85162306a36Sopenharmony_ci {    1,   1, 0x37c,0x233,0x2b2,0x2bc,    0, 0, 0, 0, 0, 0, 0, 0},
85262306a36Sopenharmony_ci {    1,   1, 0x37c,0x233,0x2b2,0x320,    0, 0, 0, 0, 0, 0, 0, 0},
85362306a36Sopenharmony_ci {    1,   1, 0x37c,0x233,0x2b2,0x2bc,    0, 0, 0, 0, 0, 0, 0, 0},
85462306a36Sopenharmony_ci {    1,   1, 0x37c,0x233,0x2b2,0x3c0,    0, 0, 0, 0, 0, 0, 0, 0},
85562306a36Sopenharmony_ci {    8,   5, 0x41a,0x2ab,0x670,0x3c0,0x150, 1, 0, 0, 0, 0, 0, 0}
85662306a36Sopenharmony_ci};
85762306a36Sopenharmony_ci
85862306a36Sopenharmony_cistatic const struct SiS_TVData SiS_St2HiTVData[] = /* Slave */
85962306a36Sopenharmony_ci{
86062306a36Sopenharmony_ci {    3,   1, 0x348,0x1e3,0x670,0x3c0,0x032, 0, 0, 0, 0, 0, 0, 0},
86162306a36Sopenharmony_ci {    1,   1, 0x37c,0x233,0x2b2,0x2bc, 	  0, 0, 0, 0, 0, 0, 0, 0},
86262306a36Sopenharmony_ci {    3,   1, 0x348,0x1e3,0x670,0x3c0,0x032, 0, 0, 0, 0, 0, 0, 0},
86362306a36Sopenharmony_ci {    1,   1, 0x37c,0x233,0x2b2,0x2bc,    0, 0, 0, 0, 0, 0, 0, 0},
86462306a36Sopenharmony_ci {    5,   2, 0x348,0x233,0x670,0x3c0,0x08d, 1, 0, 0, 0, 0, 0, 0},
86562306a36Sopenharmony_ci {    8,   5, 0x41a,0x2ab,0x670,0x3c0,0x17c, 1, 0, 0, 0, 0, 0, 0}
86662306a36Sopenharmony_ci};
86762306a36Sopenharmony_ci
86862306a36Sopenharmony_cistatic const struct SiS_TVData SiS_ExtHiTVData[] =
86962306a36Sopenharmony_ci{ /* all ok */
87062306a36Sopenharmony_ci {    6,   1, 0x348,0x233,0x660,0x3c0,    0, 0, 0, 0, 0, 0, 0, 0},
87162306a36Sopenharmony_ci {    3,   1, 0x3c0,0x233,0x660,0x3c0,    0, 0, 0, 0, 0, 0, 0, 0},
87262306a36Sopenharmony_ci {    6,   1, 0x348,0x233,0x660,0x3c0,    0, 0, 0, 0, 0, 0, 0, 0},
87362306a36Sopenharmony_ci {    3,   1, 0x3c0,0x233,0x660,0x3c0,    0, 0, 0, 0, 0, 0, 0, 0},
87462306a36Sopenharmony_ci {    5,   1, 0x348,0x233,0x670,0x3c0,0x166, 1, 0, 0, 0, 0, 0, 0},  /* 640x480   */
87562306a36Sopenharmony_ci {   16,   5, 0x41a,0x2ab,0x670,0x3c0,0x143, 1, 0, 0, 0, 0, 0, 0},  /* 800x600   */
87662306a36Sopenharmony_ci {   25,  12, 0x4ec,0x353,0x670,0x3c0,0x032, 0, 0, 0, 0, 0, 0, 0},  /* 1024x768  */
87762306a36Sopenharmony_ci {    5,   4, 0x627,0x464,0x670,0x3c0,0x128, 0, 0, 0, 0, 0, 0, 0},  /* 1280x1024 */
87862306a36Sopenharmony_ci {    4,   1, 0x41a,0x233,0x60c,0x3c0,0x143, 1, 0, 0, 0, 0, 0, 0},  /* 800x480   */
87962306a36Sopenharmony_ci {    5,   2, 0x578,0x293,0x670,0x3c0,0x032, 0, 0, 0, 0, 0, 0, 0},  /* 1024x576  */
88062306a36Sopenharmony_ci {    8,   5, 0x6d6,0x323,0x670,0x3c0,0x128, 0, 0, 0, 0, 0, 0, 0},  /* 1280x720  */
88162306a36Sopenharmony_ci {    8,   3, 0x4ec,0x353,0x670,0x3c0,0x032, 0, 0, 0, 0, 0, 0, 0},  /* 960x600  */
88262306a36Sopenharmony_ci};
88362306a36Sopenharmony_ci
88462306a36Sopenharmony_cistatic const struct SiS_TVData SiS_St525pData[] =
88562306a36Sopenharmony_ci{
88662306a36Sopenharmony_ci {    1,   1, 0x6b4,0x20d,0x4f6,0x190,   50, 0, 0x2f8, 0, 0, 0, 0, 0},
88762306a36Sopenharmony_ci {    1,   1, 0x6b4,0x20d,0x4f6,0x15e,   50, 0, 0x280, 0, 0, 0, 0, 0},
88862306a36Sopenharmony_ci {    1,   1, 0x6b4,0x20d,0x4f6,0x190,   50, 0, 0x2f8, 0, 0, 0, 0, 0},
88962306a36Sopenharmony_ci {    1,   1, 0x6b4,0x20d,0x4f6,0x15e,   50, 0, 0x280, 0, 0, 0, 0, 0},
89062306a36Sopenharmony_ci {    1,   1, 0x6b4,0x20d,0x4f6,0x1e0,    0, 0, 0x2f8, 0, 0, 0, 0, 0}
89162306a36Sopenharmony_ci};
89262306a36Sopenharmony_ci
89362306a36Sopenharmony_cistatic const struct SiS_TVData SiS_St750pData[] =
89462306a36Sopenharmony_ci{
89562306a36Sopenharmony_ci {    1,   1, 0x672,0x2ee,0x500,0x190,   50, 0, 0x2f8, 0, 0, 0, 0, 0},
89662306a36Sopenharmony_ci {    1,   1, 0x672,0x2ee,0x500,0x15e,   50, 0, 0x280, 0, 0, 0, 0, 0},
89762306a36Sopenharmony_ci {    1,   1, 0x672,0x2ee,0x500,0x190,    0, 0, 0x2d0, 0, 0, 0, 0, 0},
89862306a36Sopenharmony_ci {    1,   1, 0x672,0x2ee,0x500,0x15e,    0, 0, 0x2d0, 0, 0, 0, 0, 0},
89962306a36Sopenharmony_ci {    1,   1, 0x672,0x2ee,0x500,0x1e0,    0, 0, 0x2f8, 0, 0, 0, 0, 0}
90062306a36Sopenharmony_ci};
90162306a36Sopenharmony_ci
90262306a36Sopenharmony_cistatic const struct SiS_TVData SiS_Ext750pData[] =
90362306a36Sopenharmony_ci{ /* all ok */
90462306a36Sopenharmony_ci {    3,  1,  935, 470, 1130, 680,  50, 0, 0, 0, 0, 0, 0, 0},  /* 320x200/640x400 */
90562306a36Sopenharmony_ci {   24,  7,  935, 420, 1130, 680,  50, 0, 0, 0, 0, 0, 0, 0},
90662306a36Sopenharmony_ci {    3,  1,  935, 470, 1130, 680,  50, 0, 0, 0, 0, 0, 0, 0},
90762306a36Sopenharmony_ci {   24,  7,  935, 420, 1130, 680,  50, 0, 0, 0, 0, 0, 0, 0},
90862306a36Sopenharmony_ci {    2,  1, 1100, 590, 1130, 640,  50, 0, 0, 0, 0, 0, 0, 0},  /* 640x480 */
90962306a36Sopenharmony_ci {    3,  2, 1210, 690, 1130, 660,  50, 0, 0, 0, 0, 0, 0, 0},  /* 800x600 OK */
91062306a36Sopenharmony_ci {    2,  1, 1100, 562, 1130, 640,   0, 1, 0, 0, 0, 0, 0, 0},  /* 720x480 OK */
91162306a36Sopenharmony_ci {    1,  1, 1375, 878, 1130, 640, 638, 0, 0, 0, 0, 0, 0, 0},  /* 1024x768 OK */
91262306a36Sopenharmony_ci {    5,  3, 1100, 675, 1130, 640,   0, 1, 0, 0, 0, 0, 0, 0},  /* 720/768x576 OK */
91362306a36Sopenharmony_ci {   25, 24, 1496, 755, 1120, 680,  50, 0, 0, 0, 0, 0, 0, 0}   /* 1280x720 OK */
91462306a36Sopenharmony_ci};
91562306a36Sopenharmony_ci
91662306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_LCD1280x720Data[] =  /* 2.03.00 */
91762306a36Sopenharmony_ci{
91862306a36Sopenharmony_ci	{  44,   15,  864,  430, 1408,  806 }, /* 640x400 */
91962306a36Sopenharmony_ci	{ 128,   35,  792,  385, 1408,  806 },
92062306a36Sopenharmony_ci	{  44,   15,  864,  430, 1408,  806 },
92162306a36Sopenharmony_ci	{ 128,   35,  792,  385, 1408,  806 },
92262306a36Sopenharmony_ci	{  22,    9,  864,  516, 1408,  806 }, /* 640x480 */
92362306a36Sopenharmony_ci	{   8,    5, 1056,  655, 1408,  806 }, /* 800x600 */
92462306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 }, /* 1024x768 */
92562306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 }, /* 1280x1024 */
92662306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
92762306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
92862306a36Sopenharmony_ci	{   1,    1, 1408,  806, 1408,  806 }  /* 1280x720 */
92962306a36Sopenharmony_ci};
93062306a36Sopenharmony_ci
93162306a36Sopenharmony_ci/* About 1280x768: For TMDS, Panel_1280x768 will only be set if
93262306a36Sopenharmony_ci * the panel is a Fujitsu 7911 (VL-17WDX8) (with clock 81, 1688x802)
93362306a36Sopenharmony_ci * Other TMDS panels of this resolution will be treated as custom.
93462306a36Sopenharmony_ci * For LVDS, we know another type (_2).
93562306a36Sopenharmony_ci * (Note: 1280x768_3 is now special for SiS301/NetVista
93662306a36Sopenharmony_ci */
93762306a36Sopenharmony_ci
93862306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_StLCD1280x768_2Data[] = /* 2.03.00 */
93962306a36Sopenharmony_ci{
94062306a36Sopenharmony_ci	{  64,   21,  858,  434, 1408,  806 }, /* 640x400 */
94162306a36Sopenharmony_ci	{  32,    9,  858,  372, 1408,  806 },
94262306a36Sopenharmony_ci	{  64,   21,  858,  434, 1408,  806 },
94362306a36Sopenharmony_ci	{  32,    9,  858,  372, 1408,  806 },
94462306a36Sopenharmony_ci	{ 143,   68, 1024,  527, 1408,  806 }, /* 640x480 */
94562306a36Sopenharmony_ci	{  64,   51, 1364,  663, 1408,  806 }, /* 800x600 */
94662306a36Sopenharmony_ci	{  88,   81, 1296,  806, 1408,  806 }, /* 1024x768 */
94762306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
94862306a36Sopenharmony_ci	{   1,    1, 1408,  806, 1408,  806 }, /* 1280x768 */
94962306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
95062306a36Sopenharmony_ci	{  16,   15, 1600,  750, 1600,  806 }  /* 1280x720 - from Ext */
95162306a36Sopenharmony_ci};
95262306a36Sopenharmony_ci
95362306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_ExtLCD1280x768_2Data[] = /* 2.03.00 */
95462306a36Sopenharmony_ci{
95562306a36Sopenharmony_ci	{  16,    5,  960,  410, 1600,  806 }, /* 640x400 */
95662306a36Sopenharmony_ci	{  64,   21, 1152,  364, 1600,  806 },
95762306a36Sopenharmony_ci	{  16,    5,  960,  410, 1600,  806 },
95862306a36Sopenharmony_ci	{  64,   21, 1152,  364, 1600,  806 },
95962306a36Sopenharmony_ci	{  32,   13, 1040,  493, 1600,  806 }, /* 640x480 */
96062306a36Sopenharmony_ci	{  16,    9, 1152,  618, 1600,  806 }, /* 800x600 */
96162306a36Sopenharmony_ci	{  25,   21, 1344,  796, 1600,  806 }, /* 1024x768 */
96262306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
96362306a36Sopenharmony_ci	{   1,    1, 1600,  806, 1600,  806 }, /* 1280x768 */
96462306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
96562306a36Sopenharmony_ci	{  16,   15, 1600,  750, 1600,  806 }  /* 1280x720 */
96662306a36Sopenharmony_ci};
96762306a36Sopenharmony_ci
96862306a36Sopenharmony_ci#if 0  /* Not used; _3 now reserved for NetVista (SiS301) */
96962306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_LCD1280x768_3Data[] =
97062306a36Sopenharmony_ci{
97162306a36Sopenharmony_ci	{  64,   25, 1056,  422, 1664,  798 },			/* 640x400 */
97262306a36Sopenharmony_ci	{ 128,   39,  884,  396, 1408,  806 }, /* ,640 */
97362306a36Sopenharmony_ci	{  64,   25, 1056,  422, 1664,  798 },			/* 640x400 */
97462306a36Sopenharmony_ci	{ 128,   39,  884,  396, 1408,  806 }, /* ,640 */
97562306a36Sopenharmony_ci	{  32,   15, 1056,  513, 1408,  806 }, /* ,664 */	/* 640x480 */
97662306a36Sopenharmony_ci	{ 176,  125, 1280,  640, 1408,  806 }, /* ,768 */	/* 800x600 */
97762306a36Sopenharmony_ci	{  64,   61, 1342,  806, 1408,  806 },			/* 1024x768 */
97862306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
97962306a36Sopenharmony_ci	{   1,    1, 1408,  806, 1408,  806 },			/* 1280x768 */
98062306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
98162306a36Sopenharmony_ci	{  16,   15, 1600,  750, 1600,  806 }  /* 1280x720  from above */
98262306a36Sopenharmony_ci};
98362306a36Sopenharmony_ci#endif
98462306a36Sopenharmony_ci
98562306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_LCD1280x800Data[] = /* 0.93.12a (TMDS) */
98662306a36Sopenharmony_ci{
98762306a36Sopenharmony_ci	{ 128,   51, 1122,  412, 1408,  816 },  /* 640x400 */
98862306a36Sopenharmony_ci	{ 128,   49, 1232,  361, 1408,  816 },
98962306a36Sopenharmony_ci	{ 128,   51, 1122,  412, 1408,  816 },
99062306a36Sopenharmony_ci	{ 128,   49, 1232,  361, 1408,  816 },
99162306a36Sopenharmony_ci	{   8,    3,  880,  491, 1408,  816 },  /* 640x480 */
99262306a36Sopenharmony_ci	{  11,    6, 1024,  612, 1408,  816 },  /* 800x600 */
99362306a36Sopenharmony_ci	{  22,   21, 1400,  784, 1408,  816 },  /* 1024x768 */
99462306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },  /* 1280x1024 */
99562306a36Sopenharmony_ci	{   1,    1, 1408,  816, 1408,  816 },  /* 1280x800 */
99662306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },  /* 1280x768 (patch index) */
99762306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 }   /* 1280x720 */
99862306a36Sopenharmony_ci};
99962306a36Sopenharmony_ci
100062306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_LCD1280x800_2Data[] = /* 2.03.00 (LVDS) */
100162306a36Sopenharmony_ci{
100262306a36Sopenharmony_ci	{  97,   42, 1344,  409, 1552,  812 }, /* 640x400 */
100362306a36Sopenharmony_ci	{  97,   35, 1280,  358, 1552,  812 },
100462306a36Sopenharmony_ci	{  97,   42, 1344,  409, 1552,  812 },
100562306a36Sopenharmony_ci	{  97,   35, 1280,  358, 1552,  812 },
100662306a36Sopenharmony_ci	{  97,   39, 1040,  488, 1552,  812 }, /* 640x480 */
100762306a36Sopenharmony_ci	{ 194,  105, 1120,  608, 1552,  812 }, /* 800x600 */
100862306a36Sopenharmony_ci	{  97,   84, 1400,  780, 1552,  812 }, /* 1024x768 */
100962306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 }, /* 1280x1024 */
101062306a36Sopenharmony_ci	{   1,    1, 1552,  812, 1552,  812 }, /* 1280x800 */
101162306a36Sopenharmony_ci	{  97,   96, 1600,  780, 1552,  812 }, /* 1280x768 - patch index */
101262306a36Sopenharmony_ci	{  97,   90, 1600,  730, 1552,  812 }  /* 1280x720 */
101362306a36Sopenharmony_ci};
101462306a36Sopenharmony_ci
101562306a36Sopenharmony_ci#if 0
101662306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_LCD1280x800_3Data[] = /* 2.02.05a (LVDS); m250 */
101762306a36Sopenharmony_ci{
101862306a36Sopenharmony_ci	{ 128,   51, 1122,  412, 1408,  816 }, /* 640x400 */
101962306a36Sopenharmony_ci	{ 128,   49, 1232,  361, 1408,  816 },
102062306a36Sopenharmony_ci	{ 128,   51, 1122,  412, 1408,  816 },
102162306a36Sopenharmony_ci	{ 128,   49, 1232,  361, 1408,  816 },
102262306a36Sopenharmony_ci	{   8,    3,  880,  491, 1408,  816 }, /* 640x480 */
102362306a36Sopenharmony_ci	{  11,    6, 1024,  612, 1408,  816 }, /* 800x600 */
102462306a36Sopenharmony_ci	{  22,   21, 1400,  784, 1408,  816 }, /* 1024x768 */
102562306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 }, /* 1280x1024 */
102662306a36Sopenharmony_ci	{   1,    1, 1408,  816, 1408,  816 }, /* 1280x800 */
102762306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 }, /* 1280x768 - patch index */
102862306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 }  /* 1280x720 */
102962306a36Sopenharmony_ci};
103062306a36Sopenharmony_ci#endif
103162306a36Sopenharmony_ci
103262306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_LCD1280x854Data[] = /* 2.21.00CS (LVDS) */
103362306a36Sopenharmony_ci{
103462306a36Sopenharmony_ci	{  56,   15,  936,  410, 1664,  861 },  /* 640x400 */
103562306a36Sopenharmony_ci	{  64,   25, 1586,  355, 1664,  861 },
103662306a36Sopenharmony_ci	{  56,   15,  936,  410, 1664,  861 },
103762306a36Sopenharmony_ci	{  64,   25, 1586,  355, 1664,  861 },
103862306a36Sopenharmony_ci	{  91,   45, 1464,  485, 1664,  861 },  /* 640x480 */
103962306a36Sopenharmony_ci	{ 182,   75,  976,  605, 1664,  861 },  /* 800x600 */
104062306a36Sopenharmony_ci	{  91,   66, 1342,  774, 1664,  861 },  /* 1024x768 */
104162306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },  /* 1280x1024 */
104262306a36Sopenharmony_ci	{  26,   25, 1708,  807, 1664,  861 },  /* 1280x800 */
104362306a36Sopenharmony_ci	{  13,   12, 1708,  774, 1664,  861 },  /* 1280x768 - patch index */
104462306a36Sopenharmony_ci	{  52,   45, 1708,  725, 1664,  861 },  /* 1280x720 */
104562306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
104662306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
104762306a36Sopenharmony_ci	{   1,    1, 1664,  861, 1664,  861 }   /* 1280x854 */
104862306a36Sopenharmony_ci};
104962306a36Sopenharmony_ci
105062306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_LCD1280x960Data[] =
105162306a36Sopenharmony_ci{
105262306a36Sopenharmony_ci	{    9,   2,  800,  500, 1800, 1000 },
105362306a36Sopenharmony_ci	{    9,   2,  800,  500, 1800, 1000 },
105462306a36Sopenharmony_ci	{    4,   1,  900,  500, 1800, 1000 },
105562306a36Sopenharmony_ci	{    4,   1,  900,  500, 1800, 1000 },
105662306a36Sopenharmony_ci	{    9,   2,  800,  500, 1800, 1000 },
105762306a36Sopenharmony_ci	{   30,  11, 1056,  625, 1800, 1000 },
105862306a36Sopenharmony_ci	{    5,   3, 1350,  800, 1800, 1000 },
105962306a36Sopenharmony_ci	{    1,   1, 1576, 1050, 1576, 1050 },
106062306a36Sopenharmony_ci	{    1,   1, 1800, 1000, 1800, 1000 },
106162306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
106262306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
106362306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
106462306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
106562306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 }
106662306a36Sopenharmony_ci};
106762306a36Sopenharmony_ci
106862306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_StLCD1400x1050Data[] =
106962306a36Sopenharmony_ci{
107062306a36Sopenharmony_ci	{ 211,  100, 2100,  408, 1688, 1066 },
107162306a36Sopenharmony_ci	{ 211,   64, 1536,  358, 1688, 1066 },
107262306a36Sopenharmony_ci	{ 211,  100, 2100,  408, 1688, 1066 },
107362306a36Sopenharmony_ci	{ 211,   64, 1536,  358, 1688, 1066 },
107462306a36Sopenharmony_ci	{ 211,   48,  840,  488, 1688, 1066 },
107562306a36Sopenharmony_ci	{ 211,   72, 1008,  609, 1688, 1066 },
107662306a36Sopenharmony_ci	{ 211,  128, 1400,  776, 1688, 1066 },
107762306a36Sopenharmony_ci	{ 211,  205, 1680, 1041, 1688, 1066 },
107862306a36Sopenharmony_ci	{   1,    1, 1688, 1066, 1688, 1066 },
107962306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
108062306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
108162306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
108262306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
108362306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 }
108462306a36Sopenharmony_ci};
108562306a36Sopenharmony_ci
108662306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_ExtLCD1400x1050Data[] =
108762306a36Sopenharmony_ci{
108862306a36Sopenharmony_ci/*	{ 211,   60, 1260,  410, 1688, 1066 },    640x400 (6330) */
108962306a36Sopenharmony_ci	{ 211,  100, 2100,  408, 1688, 1066 }, /* 640x400 (6325) WORKS */
109062306a36Sopenharmony_ci	{ 211,   64, 1536,  358, 1688, 1066 },
109162306a36Sopenharmony_ci	{ 211,  100, 2100,  408, 1688, 1066 },
109262306a36Sopenharmony_ci	{ 211,   64, 1536,  358, 1688, 1066 },
109362306a36Sopenharmony_ci/*	{ 211,   80, 1400,  490, 1688, 1066 },    640x480 (6330) */
109462306a36Sopenharmony_ci	{ 211,   48,  840,  488, 1688, 1066 }, /* 640x480 (6325) WORKS */
109562306a36Sopenharmony_ci/*	{ 211,  117, 1638,  613, 1688, 1066 },    800x600 (6330) */
109662306a36Sopenharmony_ci	{ 211,   72, 1008,  609, 1688, 1066 }, /* 800x600 (6325) WORKS */
109762306a36Sopenharmony_ci	{ 211,  128, 1400,  776, 1688, 1066 }, /* 1024x768 */
109862306a36Sopenharmony_ci	{ 211,  205, 1680, 1041, 1688, 1066 }, /* 1280x1024 - not used (always unscaled) */
109962306a36Sopenharmony_ci	{   1,    1, 1688, 1066, 1688, 1066 }, /* 1400x1050 */
110062306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 }, /* kludge */
110162306a36Sopenharmony_ci	{ 211,  120, 1400,  730, 1688, 1066 }, /* 1280x720 */
110262306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
110362306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 },
110462306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 }
110562306a36Sopenharmony_ci};
110662306a36Sopenharmony_ci
110762306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_LCD1680x1050Data[] =
110862306a36Sopenharmony_ci{
110962306a36Sopenharmony_ci	{  95,   24, 1260,  410, 1900, 1066 }, /*  0 640x400 */
111062306a36Sopenharmony_ci	{  10,    3, 1710,  362, 1900, 1066 },
111162306a36Sopenharmony_ci	{  95,   24, 1260,  410, 1900, 1066 },
111262306a36Sopenharmony_ci	{  10,    3, 1710,  362, 1900, 1066 },
111362306a36Sopenharmony_ci	{  95,   32, 1400,  490, 1900, 1066 }, /*  4 640x480 */
111462306a36Sopenharmony_ci	{  95,   42, 1470,  610, 1900, 1066 }, /*  5 800x600 */
111562306a36Sopenharmony_ci	{  95,   64, 1750,  784, 1900, 1066 }, /*  6 1024x768 */
111662306a36Sopenharmony_ci	{  95,   94, 1900, 1055, 1900, 1066 }, /*  7 1280x1024 */
111762306a36Sopenharmony_ci	{  41,   31, 1900,  806, 1900, 1066 }, /*  8 1280x768 */
111862306a36Sopenharmony_ci	{  95,   69, 1800,  817, 1900, 1066 }, /*  9 1280x800 patch index */
111962306a36Sopenharmony_ci	{  13,    9, 1900,  739, 1900, 1066 }, /* 10 1280x720 */
112062306a36Sopenharmony_ci	{  95,   94, 1880, 1066, 1900, 1066 }, /* 11 1400x1050 patch index */
112162306a36Sopenharmony_ci	{   1,    1, 1900, 1066, 1900, 1066 }, /* 12 1680x1050 */
112262306a36Sopenharmony_ci	{   0,    0,    0,    0,    0,    0 }
112362306a36Sopenharmony_ci};
112462306a36Sopenharmony_ci
112562306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_StLCD1600x1200Data[] =
112662306a36Sopenharmony_ci{
112762306a36Sopenharmony_ci	{27,  4, 800, 500, 2160, 1250 },
112862306a36Sopenharmony_ci	{27,  4, 800, 500, 2160, 1250 },
112962306a36Sopenharmony_ci	{ 6,  1, 900, 500, 2160, 1250 },
113062306a36Sopenharmony_ci	{ 6,  1, 900, 500, 2160, 1250 },
113162306a36Sopenharmony_ci	{27,  1, 800, 500, 2160, 1250 },
113262306a36Sopenharmony_ci	{ 4,  1,1080, 625, 2160, 1250 },
113362306a36Sopenharmony_ci	{ 5,  2,1350, 800, 2160, 1250 },
113462306a36Sopenharmony_ci	{135,88,1600,1100, 2160, 1250 },
113562306a36Sopenharmony_ci	{72, 49,1680,1092, 2160, 1250 },
113662306a36Sopenharmony_ci	{ 1,  1,2160,1250, 2160, 1250 },
113762306a36Sopenharmony_ci	{ 0,  0,   0,   0,    0,    0 },
113862306a36Sopenharmony_ci	{ 0,  0,   0,   0,    0,    0 },
113962306a36Sopenharmony_ci	{ 0,  0,   0,   0,    0,    0 },
114062306a36Sopenharmony_ci	{ 0,  0,   0,   0,    0,    0 }
114162306a36Sopenharmony_ci};
114262306a36Sopenharmony_ci
114362306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_ExtLCD1600x1200Data[] =
114462306a36Sopenharmony_ci{
114562306a36Sopenharmony_ci	{72,11, 990, 422, 2160, 1250 }, /* 640x400 (6330) WORKS */
114662306a36Sopenharmony_ci/*	{27, 4, 800, 500, 2160, 1250 },    640x400 (6235) */
114762306a36Sopenharmony_ci	{27, 4, 800, 500, 2160, 1250 },
114862306a36Sopenharmony_ci	{ 6, 1, 900, 500, 2160, 1250 },
114962306a36Sopenharmony_ci	{ 6, 1, 900, 500, 2160, 1250 },
115062306a36Sopenharmony_ci	{45, 8, 960, 505, 2160, 1250 }, /* 640x480 (6330) WORKS */
115162306a36Sopenharmony_ci/*	{27, 1, 800, 500, 2160, 1250 },    640x480 (6325) */
115262306a36Sopenharmony_ci	{ 4, 1,1080, 625, 2160, 1250 },
115362306a36Sopenharmony_ci	{ 5, 2,1350, 800, 2160, 1250 },
115462306a36Sopenharmony_ci	{27,16,1500,1064, 2160, 1250 }, /* 1280x1024 */
115562306a36Sopenharmony_ci	{72,49,1680,1092, 2160, 1250 }, /* 1400x1050 (6330, was not supported on 6325) */
115662306a36Sopenharmony_ci	{ 1, 1,2160,1250, 2160, 1250 },
115762306a36Sopenharmony_ci	{ 0, 0,   0,   0,    0,    0 },
115862306a36Sopenharmony_ci	{ 0, 0,   0,   0,    0,    0 },
115962306a36Sopenharmony_ci	{ 0, 0,   0,   0,    0,    0 },
116062306a36Sopenharmony_ci	{ 0, 0,   0,   0,    0,    0 }
116162306a36Sopenharmony_ci};
116262306a36Sopenharmony_ci
116362306a36Sopenharmony_cistatic const struct SiS_LCDData SiS_NoScaleData[] =
116462306a36Sopenharmony_ci{
116562306a36Sopenharmony_ci	{ 1, 1, 800, 449, 800, 449 },  /* 0x00: 320x200, 640x400 */
116662306a36Sopenharmony_ci	{ 1, 1, 800, 449, 800, 449 },
116762306a36Sopenharmony_ci	{ 1, 1, 900, 449, 900, 449 },
116862306a36Sopenharmony_ci	{ 1, 1, 900, 449, 900, 449 },
116962306a36Sopenharmony_ci	{ 1, 1, 800, 525, 800, 525 },  /* 0x04: 320x240, 640x480  */
117062306a36Sopenharmony_ci	{ 1, 1,1056, 628,1056, 628 },  /* 0x05: 400x300, 800x600  */
117162306a36Sopenharmony_ci	{ 1, 1,1344, 806,1344, 806 },  /* 0x06: 512x384, 1024x768 */
117262306a36Sopenharmony_ci	{ 1, 1,1688,1066,1688,1066 },  /* 0x07: 1280x1024 */
117362306a36Sopenharmony_ci        { 1, 1,1688, 802,1688, 802 },  /* 0x08: 1280x768: Fujitsu, TMDS only */
117462306a36Sopenharmony_ci        { 1, 1,2160,1250,2160,1250 },  /* 0x09: 1600x1200 */
117562306a36Sopenharmony_ci	{ 1, 1,1800,1000,1800,1000 },  /* 0x0a: 1280x960  */
117662306a36Sopenharmony_ci	{ 1, 1,1688,1066,1688,1066 },  /* 0x0b: 1400x1050 */
117762306a36Sopenharmony_ci	{ 1, 1,1650, 750,1650, 750 },  /* 0x0c: 1280x720 (TMDS, projector)  */
117862306a36Sopenharmony_ci	{ 1, 1,1552, 812,1552, 812 },  /* 0x0d: 1280x800_2 (LVDS) (was: 1408,816/ 1656,841) */
117962306a36Sopenharmony_ci	{ 1, 1,1900,1066,1900,1066 },  /* 0x0e: 1680x1050 (LVDS) */
118062306a36Sopenharmony_ci	{ 1, 1,1660, 806,1660, 806 },  /* 0x0f: 1280x768_2 (LVDS) */
118162306a36Sopenharmony_ci	{ 1, 1,1664, 798,1664, 798 },  /* 0x10: 1280x768_3 (NetVista SiS 301) - TODO */
118262306a36Sopenharmony_ci	{ 1, 1,1688, 802,1688, 802 },  /* 0x11: 1280x768   (TMDS Fujitsu) */
118362306a36Sopenharmony_ci	{ 1, 1,1408, 806,1408, 806 },  /* 0x12: 1280x720 (LVDS) */
118462306a36Sopenharmony_ci	{ 1, 1, 896, 497, 896, 497 },  /* 0x13: 720x480 */
118562306a36Sopenharmony_ci	{ 1, 1, 912, 597, 912, 597 },  /* 0x14: 720x576 */
118662306a36Sopenharmony_ci	{ 1, 1, 912, 597, 912, 597 },  /* 0x15: 768x576 */
118762306a36Sopenharmony_ci	{ 1, 1,1056, 497,1056, 497 },  /* 0x16: 848x480 */
118862306a36Sopenharmony_ci	{ 1, 1,1064, 497,1064, 497 },  /* 0x17: 856x480 */
118962306a36Sopenharmony_ci	{ 1, 1,1056, 497,1056, 497 },  /* 0x18: 800x480 */
119062306a36Sopenharmony_ci	{ 1, 1,1328, 739,1328, 739 },  /* 0x19: 1024x576 */
119162306a36Sopenharmony_ci	{ 1, 1,1680, 892,1680, 892 },  /* 0x1a: 1152x864 */
119262306a36Sopenharmony_ci	{ 1, 1,1808, 808,1808, 808 },  /* 0x1b: 1360x768 */
119362306a36Sopenharmony_ci	{ 1, 1,1104, 563,1104, 563 },  /* 0x1c: 960x540 */
119462306a36Sopenharmony_ci	{ 1, 1,1120, 618,1120, 618 },  /* 0x1d: 960x600 */
119562306a36Sopenharmony_ci	{ 1, 1,1408, 816,1408, 816 },  /* 0x1f: 1280x800 (TMDS special) */
119662306a36Sopenharmony_ci	{ 1, 1,1760,1235,1760,1235 },  /* 0x20: 1600x1200 for LCDA */
119762306a36Sopenharmony_ci	{ 1, 1,2048,1320,2048,1320 },  /* 0x21: 1600x1200 for non-SiS LVDS */
119862306a36Sopenharmony_ci	{ 1, 1,1664, 861,1664, 861 }   /* 0x22: 1280x854 */
119962306a36Sopenharmony_ci};
120062306a36Sopenharmony_ci
120162306a36Sopenharmony_ci/**************************************************************/
120262306a36Sopenharmony_ci/* LVDS ----------------------------------------------------- */
120362306a36Sopenharmony_ci/**************************************************************/
120462306a36Sopenharmony_ci
120562306a36Sopenharmony_ci/* FSTN/DSTN 320x240, 2 variants */
120662306a36Sopenharmony_cistatic const struct SiS_LVDSData SiS_LVDS320x240Data_1[]=
120762306a36Sopenharmony_ci{
120862306a36Sopenharmony_ci	{ 848, 433, 400, 525},
120962306a36Sopenharmony_ci	{ 848, 389, 400, 525},
121062306a36Sopenharmony_ci	{ 848, 433, 400, 525},
121162306a36Sopenharmony_ci	{ 848, 389, 400, 525},
121262306a36Sopenharmony_ci	{ 848, 518, 400, 525},
121362306a36Sopenharmony_ci	{1056, 628, 400, 525},
121462306a36Sopenharmony_ci	{ 400, 525, 400, 525}  /* xSTN */
121562306a36Sopenharmony_ci};
121662306a36Sopenharmony_ci
121762306a36Sopenharmony_cistatic const struct SiS_LVDSData SiS_LVDS320x240Data_2[]=
121862306a36Sopenharmony_ci{
121962306a36Sopenharmony_ci	{ 800, 445, 800, 525},
122062306a36Sopenharmony_ci	{ 800, 395, 800, 525},
122162306a36Sopenharmony_ci	{ 800, 445, 800, 525},
122262306a36Sopenharmony_ci	{ 800, 395, 800, 525},
122362306a36Sopenharmony_ci	{ 800, 525, 800, 525},
122462306a36Sopenharmony_ci	{1056, 628,1056, 628},
122562306a36Sopenharmony_ci	{ 480, 525, 480, 525} /* xSTN */
122662306a36Sopenharmony_ci};
122762306a36Sopenharmony_ci
122862306a36Sopenharmony_cistatic const struct SiS_LVDSData SiS_LVDS640x480Data_1[]=
122962306a36Sopenharmony_ci{
123062306a36Sopenharmony_ci	{ 800, 445, 800, 525},   /* 800, 449, 800, 449 */
123162306a36Sopenharmony_ci	{ 800, 395, 800, 525},
123262306a36Sopenharmony_ci	{ 800, 445, 800, 525},
123362306a36Sopenharmony_ci	{ 800, 395, 800, 525},
123462306a36Sopenharmony_ci	{ 800, 525, 800, 525}
123562306a36Sopenharmony_ci};
123662306a36Sopenharmony_ci
123762306a36Sopenharmony_cistatic const struct SiS_LVDSData SiS_LVDS800x600Data_1[]=
123862306a36Sopenharmony_ci{
123962306a36Sopenharmony_ci	{ 848, 433,1060, 629},
124062306a36Sopenharmony_ci	{ 848, 389,1060, 629},
124162306a36Sopenharmony_ci	{ 848, 433,1060, 629},
124262306a36Sopenharmony_ci	{ 848, 389,1060, 629},
124362306a36Sopenharmony_ci	{ 848, 518,1060, 629},
124462306a36Sopenharmony_ci	{1056, 628,1056, 628}
124562306a36Sopenharmony_ci};
124662306a36Sopenharmony_ci
124762306a36Sopenharmony_cistatic const struct SiS_LVDSData SiS_LVDS1024x600Data_1[] =
124862306a36Sopenharmony_ci{
124962306a36Sopenharmony_ci	{ 840, 604,1344, 800},
125062306a36Sopenharmony_ci	{ 840, 560,1344, 800},
125162306a36Sopenharmony_ci	{ 840, 604,1344, 800},
125262306a36Sopenharmony_ci	{ 840, 560,1344, 800},
125362306a36Sopenharmony_ci	{ 840, 689,1344, 800},
125462306a36Sopenharmony_ci	{1050, 800,1344, 800},
125562306a36Sopenharmony_ci	{1344, 800,1344, 800}
125662306a36Sopenharmony_ci};
125762306a36Sopenharmony_ci
125862306a36Sopenharmony_cistatic const struct SiS_LVDSData SiS_LVDS1024x768Data_1[]=
125962306a36Sopenharmony_ci{
126062306a36Sopenharmony_ci	{ 840, 438,1344, 806},
126162306a36Sopenharmony_ci	{ 840, 409,1344, 806},
126262306a36Sopenharmony_ci	{ 840, 438,1344, 806},
126362306a36Sopenharmony_ci	{ 840, 409,1344, 806},
126462306a36Sopenharmony_ci	{ 840, 518,1344, 806},   /* 640x480 */
126562306a36Sopenharmony_ci	{1050, 638,1344, 806},   /* 800x600 */
126662306a36Sopenharmony_ci	{1344, 806,1344, 806},   /* 1024x768 */
126762306a36Sopenharmony_ci};
126862306a36Sopenharmony_ci
126962306a36Sopenharmony_cistatic const struct SiS_LVDSData SiS_CHTVUNTSCData[]=
127062306a36Sopenharmony_ci{
127162306a36Sopenharmony_ci	{ 840, 600, 840, 600},
127262306a36Sopenharmony_ci	{ 840, 600, 840, 600},
127362306a36Sopenharmony_ci	{ 840, 600, 840, 600},
127462306a36Sopenharmony_ci	{ 840, 600, 840, 600},
127562306a36Sopenharmony_ci	{ 784, 600, 784, 600},
127662306a36Sopenharmony_ci	{1064, 750,1064, 750},
127762306a36Sopenharmony_ci        {1160, 945,1160, 945}
127862306a36Sopenharmony_ci};
127962306a36Sopenharmony_ci
128062306a36Sopenharmony_cistatic const struct SiS_LVDSData SiS_CHTVONTSCData[]=
128162306a36Sopenharmony_ci{
128262306a36Sopenharmony_ci	{ 840, 525, 840, 525},
128362306a36Sopenharmony_ci	{ 840, 525, 840, 525},
128462306a36Sopenharmony_ci	{ 840, 525, 840, 525},
128562306a36Sopenharmony_ci	{ 840, 525, 840, 525},
128662306a36Sopenharmony_ci	{ 784, 525, 784, 525},
128762306a36Sopenharmony_ci	{1040, 700,1040, 700},
128862306a36Sopenharmony_ci        {1160, 840,1160, 840}
128962306a36Sopenharmony_ci};
129062306a36Sopenharmony_ci
129162306a36Sopenharmony_ci/* CRT1 CRTC data for slave modes */
129262306a36Sopenharmony_ci
129362306a36Sopenharmony_cistatic const struct SiS_LVDSCRT1Data SiS_LVDSCRT1320x240_1[] =
129462306a36Sopenharmony_ci{
129562306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x56,0x83,0xaa,0x1f,
129662306a36Sopenharmony_ci   0x90,0x85,0x8f,0xab,0x30,0x00,0x05,
129762306a36Sopenharmony_ci   0x00 }},
129862306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x56,0x83,0x83,0x1f,
129962306a36Sopenharmony_ci   0x5e,0x83,0x5d,0x79,0x10,0x00,0x05,
130062306a36Sopenharmony_ci   0x00 }},
130162306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x54,0x9f,0xc4,0x1f,
130262306a36Sopenharmony_ci   0x92,0x89,0x8f,0xb5,0x30,0x00,0x01,
130362306a36Sopenharmony_ci   0x00 }},
130462306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x56,0x83,0x83,0x1f,
130562306a36Sopenharmony_ci   0x5e,0x83,0x5d,0x79,0x10,0x00,0x05,
130662306a36Sopenharmony_ci   0x00 }},
130762306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x56,0x83,0x04,0x3e,
130862306a36Sopenharmony_ci   0xe0,0x85,0xdf,0xfb,0x10,0x00,0x05,
130962306a36Sopenharmony_ci   0x00 }},
131062306a36Sopenharmony_ci {{0x7f,0x63,0x83,0x6c,0x1c,0x72,0xf0,
131162306a36Sopenharmony_ci   0x58,0x8c,0x57,0x73,0x20,0x00,0x06,
131262306a36Sopenharmony_ci   0x01 }},
131362306a36Sopenharmony_ci {{0x2d,0x27,0x90,0x2c,0x80,0x0b,0x3e,
131462306a36Sopenharmony_ci   0xe9,0x8b,0xe7,0x04,0x00,0x00,0x00,
131562306a36Sopenharmony_ci   0x00 }}
131662306a36Sopenharmony_ci};
131762306a36Sopenharmony_ci
131862306a36Sopenharmony_cistatic const struct SiS_LVDSCRT1Data SiS_LVDSCRT1320x240_2[] =
131962306a36Sopenharmony_ci{
132062306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
132162306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x30,0x00,0x05,
132262306a36Sopenharmony_ci   0x00}},
132362306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
132462306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x30,0x00,0x05,
132562306a36Sopenharmony_ci   0x00}},
132662306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
132762306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x30,0x00,0x05,
132862306a36Sopenharmony_ci   0x00}},
132962306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
133062306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x30,0x00,0x05,
133162306a36Sopenharmony_ci   0x00}},
133262306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
133362306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x30,0x00,0x05,
133462306a36Sopenharmony_ci   0x00}},
133562306a36Sopenharmony_ci {{0x7f,0x63,0x83,0x6c,0x1c,0x72,0xf0,
133662306a36Sopenharmony_ci   0x58,0x8c,0x57,0x73,0x20,0x00,0x06,
133762306a36Sopenharmony_ci   0x01}},
133862306a36Sopenharmony_ci#if 0
133962306a36Sopenharmony_ci {{0x2d,0x27,0x90,0x2c,0x80,0x0b,0x3e,
134062306a36Sopenharmony_ci   0xe9,0x8b,0xe7,0x04,0x00,0x00,0x00,
134162306a36Sopenharmony_ci   0x00}}
134262306a36Sopenharmony_ci#endif
134362306a36Sopenharmony_ci {{0x5f,0x4f,0x83,0x55,0x81,0x0b,0x3e,
134462306a36Sopenharmony_ci   0xe9,0x8b,0xe8,0x0c,0x00,0x00,0x05,
134562306a36Sopenharmony_ci   0x00}},
134662306a36Sopenharmony_ci};
134762306a36Sopenharmony_ci
134862306a36Sopenharmony_cistatic const struct SiS_LVDSCRT1Data SiS_LVDSCRT1320x240_2_H[] =
134962306a36Sopenharmony_ci{
135062306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x56,0x83,0xaa,0x1f,
135162306a36Sopenharmony_ci   0x90,0x85,0x8f,0xab,0x30,0x00,0x05,
135262306a36Sopenharmony_ci   0x00}},
135362306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x56,0x83,0x83,0x1f,
135462306a36Sopenharmony_ci   0x5e,0x83,0x5d,0x79,0x10,0x00,0x05,
135562306a36Sopenharmony_ci   0x00}},
135662306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x54,0x9f,0xc4,0x1f,
135762306a36Sopenharmony_ci   0x92,0x89,0x8f,0xb5,0x30,0x00,0x01,
135862306a36Sopenharmony_ci   0x00}},
135962306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x56,0x83,0x83,0x1f,
136062306a36Sopenharmony_ci   0x5e,0x83,0x5d,0x79,0x10,0x00,0x05,
136162306a36Sopenharmony_ci   0x00}},
136262306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x56,0x83,0x04,0x3e,
136362306a36Sopenharmony_ci   0xe0,0x85,0xdf,0xfb,0x10,0x00,0x05,
136462306a36Sopenharmony_ci   0x00}},
136562306a36Sopenharmony_ci {{0x7f,0x63,0x83,0x6c,0x1c,0x72,0xf0,
136662306a36Sopenharmony_ci   0x58,0x8c,0x57,0x73,0x20,0x00,0x06,
136762306a36Sopenharmony_ci   0x01}},
136862306a36Sopenharmony_ci {{0x2d,0x27,0x90,0x2c,0x80,0x0b,0x3e,
136962306a36Sopenharmony_ci   0xe9,0x8b,0xe7,0x04,0x00,0x00,0x00,
137062306a36Sopenharmony_ci   0x00}}
137162306a36Sopenharmony_ci};
137262306a36Sopenharmony_ci
137362306a36Sopenharmony_cistatic const struct SiS_LVDSCRT1Data SiS_LVDSCRT1320x240_3[] =
137462306a36Sopenharmony_ci{
137562306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
137662306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x00,0x00,0x05,
137762306a36Sopenharmony_ci   0x00}},
137862306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
137962306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x00,0x00,0x05,
138062306a36Sopenharmony_ci   0x00}},
138162306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
138262306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x00,0x00,0x05,
138362306a36Sopenharmony_ci   0x00}},
138462306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
138562306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x00,0x00,0x05,
138662306a36Sopenharmony_ci   0x00}},
138762306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
138862306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x00,0x00,0x05,
138962306a36Sopenharmony_ci   0x00}},
139062306a36Sopenharmony_ci {{0x7f,0x63,0x83,0x6c,0x1c,0x72,0xf0,
139162306a36Sopenharmony_ci   0x58,0x8c,0x57,0x73,0x20,0x00,0x06,
139262306a36Sopenharmony_ci   0x01}},
139362306a36Sopenharmony_ci {{0x2d,0x27,0x90,0x2c,0x80,0x0b,0x3e,
139462306a36Sopenharmony_ci   0xe9,0x8b,0xe7,0x04,0x00,0x00,0x00,
139562306a36Sopenharmony_ci   0x00}}
139662306a36Sopenharmony_ci};
139762306a36Sopenharmony_ci
139862306a36Sopenharmony_cistatic const struct SiS_LVDSCRT1Data SiS_LVDSCRT1320x240_3_H[] =
139962306a36Sopenharmony_ci{
140062306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x56,0x83,0xaa,0x1f,
140162306a36Sopenharmony_ci   0x90,0x85,0x8f,0xab,0x30,0x00,0x05,
140262306a36Sopenharmony_ci   0x00}},
140362306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x56,0x83,0x83,0x1f,
140462306a36Sopenharmony_ci   0x5e,0x83,0x5d,0x79,0x10,0x00,0x05,
140562306a36Sopenharmony_ci   0x00}},
140662306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x54,0x9f,0xc4,0x1f,
140762306a36Sopenharmony_ci   0x92,0x89,0x8f,0xb5,0x30,0x00,0x01,
140862306a36Sopenharmony_ci   0x00}},
140962306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x56,0x83,0x83,0x1f,
141062306a36Sopenharmony_ci   0x5e,0x83,0x5d,0x79,0x10,0x00,0x05,
141162306a36Sopenharmony_ci   0x00}},
141262306a36Sopenharmony_ci {{0x65,0x4f,0x89,0x56,0x83,0x04,0x3e,
141362306a36Sopenharmony_ci   0xe0,0x85,0xdf,0xfb,0x10,0x00,0x05,
141462306a36Sopenharmony_ci   0x00}},
141562306a36Sopenharmony_ci {{0x7f,0x63,0x83,0x6c,0x1c,0x72,0xf0,
141662306a36Sopenharmony_ci   0x58,0x8c,0x57,0x73,0x20,0x00,0x06,
141762306a36Sopenharmony_ci   0x01}},
141862306a36Sopenharmony_ci {{0x2d,0x27,0x90,0x2c,0x80,0x0b,0x3e,
141962306a36Sopenharmony_ci   0xe9,0x8b,0xe7,0x04,0x00,0x00,0x00,
142062306a36Sopenharmony_ci   0x00}}
142162306a36Sopenharmony_ci};
142262306a36Sopenharmony_ci
142362306a36Sopenharmony_cistatic const struct SiS_LVDSCRT1Data SiS_LVDSCRT1640x480_1[] =
142462306a36Sopenharmony_ci{
142562306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
142662306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x30,0x00,0x05,
142762306a36Sopenharmony_ci   0x00}},
142862306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
142962306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x30,0x00,0x05,
143062306a36Sopenharmony_ci   0x00}},
143162306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
143262306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x30,0x00,0x05,
143362306a36Sopenharmony_ci   0x00}},
143462306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
143562306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x30,0x00,0x05,
143662306a36Sopenharmony_ci   0x00}},
143762306a36Sopenharmony_ci {{0x5f,0x4f,0x82,0x55,0x81,0x0b,0x3e,
143862306a36Sopenharmony_ci   0xe9,0x8b,0xdf,0x04,0x30,0x00,0x05,
143962306a36Sopenharmony_ci   0x00}},
144062306a36Sopenharmony_ci {{0x7f,0x63,0x83,0x6c,0x1c,0x72,0xf0,
144162306a36Sopenharmony_ci   0x58,0x8c,0x57,0x73,0x20,0x00,0x06,
144262306a36Sopenharmony_ci   0x01}}
144362306a36Sopenharmony_ci};
144462306a36Sopenharmony_ci
144562306a36Sopenharmony_cistatic const struct SiS_LVDSCRT1Data SiS_LVDSCRT1640x480_1_H[] =
144662306a36Sopenharmony_ci{
144762306a36Sopenharmony_ci {{0x2d,0x28,0x90,0x2b,0xa0,0xbf,0x1f,
144862306a36Sopenharmony_ci   0x9c,0x8e,0x96,0xb9,0x00,0x00,0x00,
144962306a36Sopenharmony_ci   0x00}},
145062306a36Sopenharmony_ci {{0x2d,0x28,0x90,0x2b,0xa0,0xbf,0x1f,
145162306a36Sopenharmony_ci   0x83,0x85,0x63,0xba,0x00,0x00,0x00,
145262306a36Sopenharmony_ci   0x00}},
145362306a36Sopenharmony_ci {{0x2d,0x28,0x90,0x2b,0xa0,0xbf,0x1f,
145462306a36Sopenharmony_ci   0x9c,0x8e,0x96,0xb9,0x00,0x00,0x00,
145562306a36Sopenharmony_ci   0x00}},
145662306a36Sopenharmony_ci {{0x2d,0x28,0x90,0x2b,0xa0,0xbf,0x1f,
145762306a36Sopenharmony_ci   0x83,0x85,0x63,0xba,0x00,0x00,0x00,
145862306a36Sopenharmony_ci   0x00}},
145962306a36Sopenharmony_ci {{0x2d,0x28,0x90,0x2c,0x80,0x0b,0x3e,
146062306a36Sopenharmony_ci   0xe9,0x8b,0xe7,0x04,0x00,0x00,0x00,
146162306a36Sopenharmony_ci   0x00}}
146262306a36Sopenharmony_ci};
146362306a36Sopenharmony_ci
146462306a36Sopenharmony_ci#endif
146562306a36Sopenharmony_ci
1466