xref: /openbmc/linux/drivers/video/fbdev/sis/oem310.h (revision f7018c21)
1f7018c21STomi Valkeinen /* $XFree86$ */
2f7018c21STomi Valkeinen /* $XdotOrg$ */
3f7018c21STomi Valkeinen /*
4f7018c21STomi Valkeinen  * OEM Data for 315/330/340 series
5f7018c21STomi Valkeinen  *
6f7018c21STomi Valkeinen  * Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria
7f7018c21STomi Valkeinen  *
8f7018c21STomi Valkeinen  * If distributed as part of the Linux kernel, the following license terms
9f7018c21STomi Valkeinen  * apply:
10f7018c21STomi Valkeinen  *
11f7018c21STomi Valkeinen  * * This program is free software; you can redistribute it and/or modify
12f7018c21STomi Valkeinen  * * it under the terms of the GNU General Public License as published by
13f7018c21STomi Valkeinen  * * the Free Software Foundation; either version 2 of the named License,
14f7018c21STomi Valkeinen  * * or any later version.
15f7018c21STomi Valkeinen  * *
16f7018c21STomi Valkeinen  * * This program is distributed in the hope that it will be useful,
17f7018c21STomi Valkeinen  * * but WITHOUT ANY WARRANTY; without even the implied warranty of
18f7018c21STomi Valkeinen  * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19f7018c21STomi Valkeinen  * * GNU General Public License for more details.
20f7018c21STomi Valkeinen  * *
21f7018c21STomi Valkeinen  * * You should have received a copy of the GNU General Public License
22f7018c21STomi Valkeinen  * * along with this program; if not, write to the Free Software
23f7018c21STomi Valkeinen  * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
24f7018c21STomi Valkeinen  *
25f7018c21STomi Valkeinen  * Otherwise, the following license terms apply:
26f7018c21STomi Valkeinen  *
27f7018c21STomi Valkeinen  * * Redistribution and use in source and binary forms, with or without
28f7018c21STomi Valkeinen  * * modification, are permitted provided that the following conditions
29f7018c21STomi Valkeinen  * * are met:
30f7018c21STomi Valkeinen  * * 1) Redistributions of source code must retain the above copyright
31f7018c21STomi Valkeinen  * *    notice, this list of conditions and the following disclaimer.
32f7018c21STomi Valkeinen  * * 2) Redistributions in binary form must reproduce the above copyright
33f7018c21STomi Valkeinen  * *    notice, this list of conditions and the following disclaimer in the
34f7018c21STomi Valkeinen  * *    documentation and/or other materials provided with the distribution.
35f7018c21STomi Valkeinen  * * 3) The name of the author may not be used to endorse or promote products
36f7018c21STomi Valkeinen  * *    derived from this software without specific prior written permission.
37f7018c21STomi Valkeinen  * *
38f7018c21STomi Valkeinen  * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
39f7018c21STomi Valkeinen  * * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
40f7018c21STomi Valkeinen  * * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
41f7018c21STomi Valkeinen  * * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
42f7018c21STomi Valkeinen  * * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
43f7018c21STomi Valkeinen  * * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
44f7018c21STomi Valkeinen  * * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
45f7018c21STomi Valkeinen  * * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
46f7018c21STomi Valkeinen  * * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
47f7018c21STomi Valkeinen  * * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
48f7018c21STomi Valkeinen  *
49f7018c21STomi Valkeinen  * Author: 	Thomas Winischhofer <thomas@winischhofer.net>
50f7018c21STomi Valkeinen  *
51f7018c21STomi Valkeinen  */
52f7018c21STomi Valkeinen 
53f7018c21STomi Valkeinen static const unsigned char SiS310_LCDDelayCompensation_301[] =	    		/* 301 */
54f7018c21STomi Valkeinen {
55f7018c21STomi Valkeinen 	0x00,0x00,0x00,    /*   800x600 */
56f7018c21STomi Valkeinen 	0x0b,0x0b,0x0b,    /*  1024x768 */
57f7018c21STomi Valkeinen 	0x08,0x08,0x08,    /* 1280x1024 */
58f7018c21STomi Valkeinen 	0x00,0x00,0x00,    /*   640x480 (unknown) */
59f7018c21STomi Valkeinen 	0x00,0x00,0x00,    /*  1024x600 (unknown) */
60f7018c21STomi Valkeinen 	0x00,0x00,0x00,    /*  1152x864 (unknown) */
61f7018c21STomi Valkeinen 	0x08,0x08,0x08,    /*  1280x960 (guessed) */
62f7018c21STomi Valkeinen 	0x00,0x00,0x00,    /*  1152x768 (unknown) */
63f7018c21STomi Valkeinen 	0x08,0x08,0x08,    /* 1400x1050 */
64f7018c21STomi Valkeinen 	0x08,0x08,0x08,    /*  1280x768  (guessed) */
65f7018c21STomi Valkeinen 	0x00,0x00,0x00,    /* 1600x1200 */
66f7018c21STomi Valkeinen 	0x00,0x00,0x00,    /*   320x480 (unknown) */
67f7018c21STomi Valkeinen 	0x00,0x00,0x00,
68f7018c21STomi Valkeinen 	0x00,0x00,0x00,
69f7018c21STomi Valkeinen 	0x00,0x00,0x00
70f7018c21STomi Valkeinen };
71f7018c21STomi Valkeinen 
72f7018c21STomi Valkeinen /* This is contained in 650+301B BIOSes, but it is wrong - so we don't use it */
73f7018c21STomi Valkeinen static const unsigned char SiS310_LCDDelayCompensation_650301LV[] =	   	/* 650 + 30xLV */
74f7018c21STomi Valkeinen {
75f7018c21STomi Valkeinen 	0x01,0x01,0x01,    /*   800x600 */
76f7018c21STomi Valkeinen 	0x01,0x01,0x01,    /*  1024x768 */
77f7018c21STomi Valkeinen 	0x01,0x01,0x01,    /* 1280x1024 */
78f7018c21STomi Valkeinen 	0x01,0x01,0x01,    /*   640x480 (unknown) */
79f7018c21STomi Valkeinen 	0x01,0x01,0x01,    /*  1024x600 (unknown) */
80f7018c21STomi Valkeinen 	0x01,0x01,0x01,    /*  1152x864 (unknown) */
81f7018c21STomi Valkeinen 	0x01,0x01,0x01,    /*  1280x960 (guessed) */
82f7018c21STomi Valkeinen 	0x01,0x01,0x01,    /*  1152x768 (unknown) */
83f7018c21STomi Valkeinen 	0x01,0x01,0x01,    /* 1400x1050 */
84f7018c21STomi Valkeinen 	0x01,0x01,0x01,    /*  1280x768  (guessed) */
85f7018c21STomi Valkeinen 	0x01,0x01,0x01,    /* 1600x1200 */
86f7018c21STomi Valkeinen 	0x02,0x02,0x02,
87f7018c21STomi Valkeinen 	0x02,0x02,0x02,
88f7018c21STomi Valkeinen 	0x02,0x02,0x02,
89f7018c21STomi Valkeinen 	0x02,0x02,0x02
90f7018c21STomi Valkeinen };
91f7018c21STomi Valkeinen 
92f7018c21STomi Valkeinen static const unsigned char SiS310_LCDDelayCompensation_651301LV[] =	  	/* M650/651 301LV */
93f7018c21STomi Valkeinen {
94f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*   800x600 (guessed) - new: PanelType, not PanelRes ! */
95f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*  1024x768 */
96f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /* 1280x1024 */
97f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*   640x480 (unknown) */
98f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*  1024x600 (unknown) */
99f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*  1152x864 (unknown) */
100f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*  1280x960 (guessed) */
101f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*  1152x768 (unknown) */
102f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /* 1400x1050 */
103f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*  1280x768  (guessed) */
104f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /* 1600x1200 */
105f7018c21STomi Valkeinen 	0x33,0x33,0x33,
106f7018c21STomi Valkeinen 	0x33,0x33,0x33,
107f7018c21STomi Valkeinen 	0x33,0x33,0x33,
108f7018c21STomi Valkeinen 	0x33,0x33,0x33
109f7018c21STomi Valkeinen };
110f7018c21STomi Valkeinen 
111f7018c21STomi Valkeinen static const unsigned char SiS310_LCDDelayCompensation_651302LV[] =	   	/* M650/651 302LV */
112f7018c21STomi Valkeinen {
113f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*   800x600 (guessed) */
114f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*  1024x768 */
115f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /* 1280x1024 */
116f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*   640x480 (unknown) */
117f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*  1024x600 (unknown) */
118f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*  1152x864 (unknown) */
119f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*  1280x960 (guessed) */
120f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*  1152x768 (unknown) */
121f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /* 1400x1050 */
122f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /*  1280x768  (guessed) */
123f7018c21STomi Valkeinen 	0x33,0x33,0x33,    /* 1600x1200 */
124f7018c21STomi Valkeinen 	0x33,0x33,0x33,
125f7018c21STomi Valkeinen 	0x33,0x33,0x33,
126f7018c21STomi Valkeinen 	0x33,0x33,0x33,
127f7018c21STomi Valkeinen 	0x33,0x33,0x33
128f7018c21STomi Valkeinen };
129f7018c21STomi Valkeinen 
130f7018c21STomi Valkeinen static const unsigned char SiS310_LCDDelayCompensation_3xx301B[] =	   	/* 30xB */
131f7018c21STomi Valkeinen {
132f7018c21STomi Valkeinen 	0x01,0x01,0x01,    /*   800x600 */
133f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /*  1024x768 */
134f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /* 1280x1024 */
135f7018c21STomi Valkeinen 	0x08,0x08,0x08,    /*   640x480 */
136f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /*  1024x600 (guessed) */
137f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /*  1152x864 (guessed) */
138f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /*  1280x960 (guessed) */
139f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /*  1152x768 (guessed) */
140f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /* 1400x1050 (guessed) */
141f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /*  1280x768 (guessed) */
142f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /* 1600x1200 (guessed) */
143f7018c21STomi Valkeinen 	0x02,0x02,0x02,
144f7018c21STomi Valkeinen 	0x02,0x02,0x02,
145f7018c21STomi Valkeinen 	0x02,0x02,0x02,
146f7018c21STomi Valkeinen 	0x02,0x02,0x02
147f7018c21STomi Valkeinen };
148f7018c21STomi Valkeinen 
149f7018c21STomi Valkeinen static const unsigned char SiS310_LCDDelayCompensation_3xx301LV[] =	   	/* 315+30xLV */
150f7018c21STomi Valkeinen {
151f7018c21STomi Valkeinen 	0x01,0x01,0x01,    /*   800x600 */
152f7018c21STomi Valkeinen 	0x04,0x04,0x04,    /*  1024x768 (A531/BIOS 1.14.05f: 4 - works with 6 */
153f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /* 1280x1024 */
154f7018c21STomi Valkeinen 	0x08,0x08,0x08,    /*   640x480 */
155f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /*  1024x600 (guessed) */
156f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /*  1152x864 (guessed) */
157f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /*  1280x960 (guessed) */
158f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /*  1152x768 (guessed) */
159f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /* 1400x1050 (guessed) */
160f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /*  1280x768 (guessed) */
161f7018c21STomi Valkeinen 	0x0C,0x0C,0x0C,    /* 1600x1200 (guessed) */
162f7018c21STomi Valkeinen 	0x02,0x02,0x02,
163f7018c21STomi Valkeinen 	0x02,0x02,0x02,
164f7018c21STomi Valkeinen 	0x02,0x02,0x02,
165f7018c21STomi Valkeinen 	0x02,0x02,0x02
166f7018c21STomi Valkeinen };
167f7018c21STomi Valkeinen 
168f7018c21STomi Valkeinen static const unsigned char SiS310_TVDelayCompensation_301[] = 		/* 301 */
169f7018c21STomi Valkeinen {
170f7018c21STomi Valkeinen 	0x02,0x02,    /* NTSC Enhanced, Standard */
171f7018c21STomi Valkeinen 	0x02,0x02,    /* PAL */
172f7018c21STomi Valkeinen 	0x08,0x0b     /* HiVision */
173f7018c21STomi Valkeinen };
174f7018c21STomi Valkeinen 
175f7018c21STomi Valkeinen static const unsigned char SiS310_TVDelayCompensation_301B[] =		/* 30xB, 30xLV */
176f7018c21STomi Valkeinen {
177f7018c21STomi Valkeinen 	0x03,0x03,
178f7018c21STomi Valkeinen 	0x03,0x03,
179f7018c21STomi Valkeinen 	0x03,0x03
180f7018c21STomi Valkeinen };
181f7018c21STomi Valkeinen 
182f7018c21STomi Valkeinen static const unsigned char SiS310_TVDelayCompensation_740301B[] =	/* 740 + 30xB (30xLV?) */
183f7018c21STomi Valkeinen {
184f7018c21STomi Valkeinen 	0x05,0x05,
185f7018c21STomi Valkeinen 	0x05,0x05,
186f7018c21STomi Valkeinen 	0x05,0x05
187f7018c21STomi Valkeinen };
188f7018c21STomi Valkeinen 
189f7018c21STomi Valkeinen static const unsigned char SiS310_TVDelayCompensation_651301LV[] =	/* M650, 651, 301LV */
190f7018c21STomi Valkeinen {
191f7018c21STomi Valkeinen 	0x33,0x33,
192f7018c21STomi Valkeinen 	0x33,0x33,
193f7018c21STomi Valkeinen 	0x33,0x33
194f7018c21STomi Valkeinen };
195f7018c21STomi Valkeinen 
196f7018c21STomi Valkeinen static const unsigned char SiS310_TVDelayCompensation_651302LV[] =	/* M650, 651, 302LV */
197f7018c21STomi Valkeinen {
198f7018c21STomi Valkeinen 	0x33,0x33,
199f7018c21STomi Valkeinen 	0x33,0x33,
200f7018c21STomi Valkeinen 	0x33,0x33
201f7018c21STomi Valkeinen };
202f7018c21STomi Valkeinen 
203f7018c21STomi Valkeinen static const unsigned char SiS_TVDelay661_301[] =			/* 661, 301 */
204f7018c21STomi Valkeinen {
205f7018c21STomi Valkeinen 	0x44,0x44,
206f7018c21STomi Valkeinen 	0x44,0x44,
207f7018c21STomi Valkeinen 	0x00,0x00,
208f7018c21STomi Valkeinen 	0x44,0x44,
209f7018c21STomi Valkeinen 	0x44,0x44,
210f7018c21STomi Valkeinen 	0x44,0x44
211f7018c21STomi Valkeinen };
212f7018c21STomi Valkeinen 
213f7018c21STomi Valkeinen static const unsigned char SiS_TVDelay661_301B[] =			/* 661, 301B et al */
214f7018c21STomi Valkeinen {
215f7018c21STomi Valkeinen 	0x44,0x44,
216f7018c21STomi Valkeinen 	0x44,0x44,
217f7018c21STomi Valkeinen 	0x00,0x00,
218f7018c21STomi Valkeinen 	0x44,0x44,
219f7018c21STomi Valkeinen 	0x44,0x44,
220f7018c21STomi Valkeinen 	0x44,0x44
221f7018c21STomi Valkeinen };
222f7018c21STomi Valkeinen 
223f7018c21STomi Valkeinen static const unsigned char SiS310_TVDelayCompensation_LVDS[] =		/* LVDS */
224f7018c21STomi Valkeinen {
225f7018c21STomi Valkeinen 	0x0a,0x0a,
226f7018c21STomi Valkeinen 	0x0a,0x0a,
227f7018c21STomi Valkeinen 	0x0a,0x0a
228f7018c21STomi Valkeinen };
229f7018c21STomi Valkeinen 
230f7018c21STomi Valkeinen static const unsigned char SiS310_TVAntiFlick1[6][2] =
231f7018c21STomi Valkeinen {
232f7018c21STomi Valkeinen 	{0x4,0x0},
233f7018c21STomi Valkeinen 	{0x4,0x8},
234f7018c21STomi Valkeinen 	{0x0,0x0},
235f7018c21STomi Valkeinen 	{0x0,0x0},
236f7018c21STomi Valkeinen 	{0x0,0x0},
237f7018c21STomi Valkeinen 	{0x0,0x0}
238f7018c21STomi Valkeinen };
239f7018c21STomi Valkeinen 
240f7018c21STomi Valkeinen static const unsigned char SiS310_TVEdge1[6][2] =
241f7018c21STomi Valkeinen {
242f7018c21STomi Valkeinen 	{0x0,0x4},
243f7018c21STomi Valkeinen 	{0x0,0x4},
244f7018c21STomi Valkeinen 	{0x0,0x0},
245f7018c21STomi Valkeinen 	{0x0,0x0},
246f7018c21STomi Valkeinen 	{0x0,0x0},
247f7018c21STomi Valkeinen 	{0x0,0x0}
248f7018c21STomi Valkeinen };
249f7018c21STomi Valkeinen 
250f7018c21STomi Valkeinen static const unsigned char SiS310_TVYFilter1[5][8][4] =
251f7018c21STomi Valkeinen {
252f7018c21STomi Valkeinen    {
253f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},	/* NTSC */
254f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},
255f7018c21STomi Valkeinen 	{0xeb,0x04,0x25,0x18},
256f7018c21STomi Valkeinen 	{0xf1,0x04,0x1f,0x18},
257f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},
258f7018c21STomi Valkeinen 	{0xeb,0x04,0x25,0x18},
259f7018c21STomi Valkeinen 	{0xee,0x0c,0x22,0x08},
260f7018c21STomi Valkeinen 	{0xeb,0x15,0x25,0xf6}
261f7018c21STomi Valkeinen    },
262f7018c21STomi Valkeinen    {
263f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},	/* PAL */
264f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},
265f7018c21STomi Valkeinen 	{0xf1,0xf7,0x1f,0x32},
266f7018c21STomi Valkeinen 	{0xf3,0x00,0x1d,0x20},
267f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},
268f7018c21STomi Valkeinen 	{0xf1,0xf7,0x1f,0x32},
269f7018c21STomi Valkeinen 	{0xf3,0x00,0x1d,0x20},
270f7018c21STomi Valkeinen 	{0xfc,0xfb,0x14,0x2a}
271f7018c21STomi Valkeinen    },
272f7018c21STomi Valkeinen    {
273f7018c21STomi Valkeinen 	{0x00,0x00,0x00,0x00},	/* HiVision */
274f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},
275f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},
276f7018c21STomi Valkeinen 	{0xeb,0x04,0x25,0x18},
277f7018c21STomi Valkeinen 	{0xf7,0x06,0x19,0x14},
278f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},
279f7018c21STomi Valkeinen 	{0xeb,0x04,0x25,0x18},
280f7018c21STomi Valkeinen 	{0xee,0x0c,0x22,0x08}
281f7018c21STomi Valkeinen    },
282f7018c21STomi Valkeinen    {
283f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},	/* PAL-M */
284f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},
285f7018c21STomi Valkeinen 	{0xeb,0x04,0x10,0x18},
286f7018c21STomi Valkeinen 	{0xf7,0x06,0x19,0x14},
287f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},
288f7018c21STomi Valkeinen 	{0xeb,0x04,0x25,0x18},
289f7018c21STomi Valkeinen 	{0xeb,0x04,0x25,0x18},
290f7018c21STomi Valkeinen 	{0xeb,0x15,0x25,0xf6}
291f7018c21STomi Valkeinen    },
292f7018c21STomi Valkeinen    {
293f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},	/* PAL-N */
294f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},
295f7018c21STomi Valkeinen 	{0xeb,0x04,0x10,0x18},
296f7018c21STomi Valkeinen 	{0xf7,0x06,0x19,0x14},
297f7018c21STomi Valkeinen 	{0x00,0xf4,0x10,0x38},
298f7018c21STomi Valkeinen 	{0xeb,0x04,0x25,0x18},
299f7018c21STomi Valkeinen 	{0xeb,0x04,0x25,0x18},
300f7018c21STomi Valkeinen 	{0xeb,0x15,0x25,0xf6}
301f7018c21STomi Valkeinen    }
302f7018c21STomi Valkeinen };
303f7018c21STomi Valkeinen 
304f7018c21STomi Valkeinen static const unsigned char SiS310_TVYFilter2[5][9][7] =
305f7018c21STomi Valkeinen {
306f7018c21STomi Valkeinen    {
307f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},	/* NTSC */
308f7018c21STomi Valkeinen 	{0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
309f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
310f7018c21STomi Valkeinen 	{0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
311f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
312f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
313f7018c21STomi Valkeinen 	{0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
314f7018c21STomi Valkeinen 	{0x01,0x01,0xFC,0xF8,0x08,0x26,0x38},
315f7018c21STomi Valkeinen 	{0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28}
316f7018c21STomi Valkeinen    },
317f7018c21STomi Valkeinen    {
318f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},   /* PAL */
319f7018c21STomi Valkeinen 	{0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
320f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
321f7018c21STomi Valkeinen 	{0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
322f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
323f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
324f7018c21STomi Valkeinen 	{0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
325f7018c21STomi Valkeinen 	{0x01,0x01,0xFC,0xF8,0x08,0x26,0x38},
326f7018c21STomi Valkeinen 	{0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28}
327f7018c21STomi Valkeinen    },
328f7018c21STomi Valkeinen    {
329f7018c21STomi Valkeinen 	{0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22},	/* HiVision */
330f7018c21STomi Valkeinen 	{0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22},
331f7018c21STomi Valkeinen 	{0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22},
332f7018c21STomi Valkeinen 	{0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22},
333f7018c21STomi Valkeinen 	{0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22},
334f7018c21STomi Valkeinen 	{0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22},
335f7018c21STomi Valkeinen 	{0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22},
336f7018c21STomi Valkeinen 	{0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22},
337f7018c21STomi Valkeinen 	{0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}
338f7018c21STomi Valkeinen    },
339f7018c21STomi Valkeinen    {
340f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 	/* PAL-M */
341f7018c21STomi Valkeinen 	{0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
342f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
343f7018c21STomi Valkeinen 	{0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
344f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
345f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
346f7018c21STomi Valkeinen 	{0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
347f7018c21STomi Valkeinen 	{0x01,0x01,0xFC,0xF8,0x08,0x26,0x38},
348f7018c21STomi Valkeinen 	{0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28}
349f7018c21STomi Valkeinen    },
350f7018c21STomi Valkeinen    {
351f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},	/* PAL-N */
352f7018c21STomi Valkeinen 	{0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
353f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
354f7018c21STomi Valkeinen 	{0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
355f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
356f7018c21STomi Valkeinen 	{0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46},
357f7018c21STomi Valkeinen 	{0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C},
358f7018c21STomi Valkeinen 	{0x01,0x01,0xFC,0xF8,0x08,0x26,0x38},
359f7018c21STomi Valkeinen 	{0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28}
360f7018c21STomi Valkeinen    }
361f7018c21STomi Valkeinen };
362f7018c21STomi Valkeinen 
363f7018c21STomi Valkeinen static const unsigned char SiS310_TVPhaseIncr1[3][2][4] =
364f7018c21STomi Valkeinen {
365f7018c21STomi Valkeinen    {
366f7018c21STomi Valkeinen 	{0x21,0xed,0xba,0x08},
367f7018c21STomi Valkeinen 	{0x21,0xed,0xba,0x08}
368f7018c21STomi Valkeinen    },
369f7018c21STomi Valkeinen    {
370f7018c21STomi Valkeinen 	{0x2a,0x05,0xe3,0x00},
371f7018c21STomi Valkeinen 	{0x2a,0x05,0xe3,0x00}
372f7018c21STomi Valkeinen    },
373f7018c21STomi Valkeinen    {
374f7018c21STomi Valkeinen 	{0x2a,0x05,0xd3,0x00},
375f7018c21STomi Valkeinen 	{0x2a,0x05,0xd3,0x00}
376f7018c21STomi Valkeinen    }
377f7018c21STomi Valkeinen };
378f7018c21STomi Valkeinen 
379f7018c21STomi Valkeinen static const unsigned char SiS310_TVPhaseIncr2[3][2][4] =
380f7018c21STomi Valkeinen {
381f7018c21STomi Valkeinen    {
382f7018c21STomi Valkeinen 	{0x21,0xf0,0x7b,0xd6},
383f7018c21STomi Valkeinen 	{0x21,0xf0,0x7b,0xd6}
384f7018c21STomi Valkeinen    },
385f7018c21STomi Valkeinen    {
386f7018c21STomi Valkeinen 	{0x2a,0x0a,0x41,0xe9},
387f7018c21STomi Valkeinen 	{0x2a,0x0a,0x41,0xe9}
388f7018c21STomi Valkeinen    },
389f7018c21STomi Valkeinen    {
390f7018c21STomi Valkeinen 	{0x2a,0x05,0xd3,0x00},
391f7018c21STomi Valkeinen 	{0x2a,0x05,0xd3,0x00}
392f7018c21STomi Valkeinen    }
393f7018c21STomi Valkeinen };
394f7018c21STomi Valkeinen 
395f7018c21STomi Valkeinen /**************************************************************/
396f7018c21STomi Valkeinen /* CUSTOM TIMING DATA --------------------------------------- */
397f7018c21STomi Valkeinen /**************************************************************/
398f7018c21STomi Valkeinen 
399f7018c21STomi Valkeinen /* Inventec / Compaq Presario 3045US, 3017 */
400f7018c21STomi Valkeinen 
401f7018c21STomi Valkeinen static const struct SiS_LCDData SiS310_ExtCompaq1280x1024Data[] =
402f7018c21STomi Valkeinen {
403f7018c21STomi Valkeinen 	{  211,  60,1024, 501,1688,1066},
404f7018c21STomi Valkeinen 	{  211,  60,1024, 508,1688,1066},
405f7018c21STomi Valkeinen 	{  211,  60,1024, 501,1688,1066},
406f7018c21STomi Valkeinen 	{  211,  60,1024, 508,1688,1066},
407f7018c21STomi Valkeinen 	{   32,  15,1696, 501,1696,1066},
408f7018c21STomi Valkeinen 	{  212,  75,1024, 621,1696,1066},
409f7018c21STomi Valkeinen 	{    4,   3,1696, 810,1696,1066},
410f7018c21STomi Valkeinen 	{    1,   1,1696,1066,1696,1066}
411f7018c21STomi Valkeinen };
412f7018c21STomi Valkeinen 
413f7018c21STomi Valkeinen /* Asus A2xxxH _2 */
414f7018c21STomi Valkeinen 
415f7018c21STomi Valkeinen static const struct SiS_Part2PortTbl SiS310_CRT2Part2_Asus1024x768_3[] =
416f7018c21STomi Valkeinen {
417f7018c21STomi Valkeinen 	{{0x25,0x13,0xc9,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}},
418f7018c21STomi Valkeinen 	{{0x2c,0x13,0x9a,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}},
419f7018c21STomi Valkeinen 	{{0x25,0x13,0xc9,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}},
420f7018c21STomi Valkeinen 	{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}},
421f7018c21STomi Valkeinen 	{{0x38,0x13,0x13,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}},
422f7018c21STomi Valkeinen 	{{0x38,0x13,0x16,0x25,0xff,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}},
423f7018c21STomi Valkeinen 	{{0x36,0x13,0x13,0x25,0xff,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}},
424f7018c21STomi Valkeinen 	{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}},
425f7018c21STomi Valkeinen 	{{0x25,0x13,0xc9,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}}
426f7018c21STomi Valkeinen };
427f7018c21STomi Valkeinen 
428f7018c21STomi Valkeinen 
429f7018c21STomi Valkeinen 
430f7018c21STomi Valkeinen 
431