diff options
Diffstat (limited to 'drivers/video/fbdev/sis/300vtbl.h')
-rw-r--r-- | drivers/video/fbdev/sis/300vtbl.h | 1072 |
1 files changed, 1072 insertions, 0 deletions
diff --git a/drivers/video/fbdev/sis/300vtbl.h b/drivers/video/fbdev/sis/300vtbl.h new file mode 100644 index 000000000000..e4b4a2626da4 --- /dev/null +++ b/drivers/video/fbdev/sis/300vtbl.h | |||
@@ -0,0 +1,1072 @@ | |||
1 | /* $XFree86$ */ | ||
2 | /* $XdotOrg$ */ | ||
3 | /* | ||
4 | * Register settings for SiS 300 series | ||
5 | * | ||
6 | * Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria | ||
7 | * | ||
8 | * If distributed as part of the Linux kernel, the following license terms | ||
9 | * apply: | ||
10 | * | ||
11 | * * This program is free software; you can redistribute it and/or modify | ||
12 | * * it under the terms of the GNU General Public License as published by | ||
13 | * * the Free Software Foundation; either version 2 of the named License, | ||
14 | * * or any later version. | ||
15 | * * | ||
16 | * * This program is distributed in the hope that it will be useful, | ||
17 | * * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * * GNU General Public License for more details. | ||
20 | * * | ||
21 | * * You should have received a copy of the GNU General Public License | ||
22 | * * along with this program; if not, write to the Free Software | ||
23 | * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA | ||
24 | * | ||
25 | * Otherwise, the following license terms apply: | ||
26 | * | ||
27 | * * Redistribution and use in source and binary forms, with or without | ||
28 | * * modification, are permitted provided that the following conditions | ||
29 | * * are met: | ||
30 | * * 1) Redistributions of source code must retain the above copyright | ||
31 | * * notice, this list of conditions and the following disclaimer. | ||
32 | * * 2) Redistributions in binary form must reproduce the above copyright | ||
33 | * * notice, this list of conditions and the following disclaimer in the | ||
34 | * * documentation and/or other materials provided with the distribution. | ||
35 | * * 3) The name of the author may not be used to endorse or promote products | ||
36 | * * derived from this software without specific prior written permission. | ||
37 | * * | ||
38 | * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | ||
39 | * * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
40 | * * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||
41 | * * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
42 | * * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
43 | * * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
44 | * * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
45 | * * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
46 | * * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
47 | * * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
48 | * | ||
49 | * Author: Thomas Winischhofer <thomas@winischhofer.net> | ||
50 | * | ||
51 | */ | ||
52 | |||
53 | static const struct SiS_Ext SiS300_EModeIDTable[] = | ||
54 | { | ||
55 | {0x6a,0x2212,0x0102,SIS_RI_800x600, 0x00,0x00,0x00,0x00,0x00,-1}, /* 800x600x? */ | ||
56 | {0x2e,0x0a1b,0x0101,SIS_RI_640x480, 0x00,0x00,0x00,0x00,0x08,-1}, | ||
57 | {0x2f,0x021b,0x0100,SIS_RI_640x400, 0x00,0x00,0x00,0x00,0x10,-1}, /* 640x400x8 */ | ||
58 | {0x30,0x2a1b,0x0103,SIS_RI_800x600, 0x00,0x00,0x00,0x00,0x00,-1}, | ||
59 | {0x31,0x4a1b,0x0000,SIS_RI_720x480, 0x00,0x00,0x00,0x00,0x11,-1}, /* 720x480x8 */ | ||
60 | {0x32,0x6a1b,0x0000,SIS_RI_720x576, 0x00,0x00,0x00,0x00,0x12,-1}, /* 720x576x8 */ | ||
61 | {0x33,0x4a1d,0x0000,SIS_RI_720x480, 0x00,0x00,0x00,0x00,0x11,-1}, /* 720x480x16 */ | ||
62 | {0x34,0x6a1d,0x0000,SIS_RI_720x576, 0x00,0x00,0x00,0x00,0x12,-1}, /* 720x576x16 */ | ||
63 | {0x35,0x4a1f,0x0000,SIS_RI_720x480, 0x00,0x00,0x00,0x00,0x11,-1}, /* 720x480x32 */ | ||
64 | {0x36,0x6a1f,0x0000,SIS_RI_720x576, 0x00,0x00,0x00,0x00,0x12,-1}, /* 720x576x32 */ | ||
65 | {0x37,0x0212,0x0104,SIS_RI_1024x768, 0x00,0x00,0x00,0x00,0x13,-1}, /* 1024x768x? */ | ||
66 | {0x38,0x0a1b,0x0105,SIS_RI_1024x768, 0x00,0x00,0x00,0x00,0x13,-1}, /* 1024x768x8 */ | ||
67 | {0x3a,0x0e3b,0x0107,SIS_RI_1280x1024,0x00,0x00,0x00,0x00,0x1a,-1}, /* 1280x1024x8 */ | ||
68 | {0x3c,0x063b,0x0130,SIS_RI_1600x1200,0x00,0x00,0x00,0x00,0x1e,-1}, | ||
69 | {0x3d,0x067d,0x0131,SIS_RI_1600x1200,0x00,0x00,0x00,0x00,0x1e,-1}, | ||
70 | {0x40,0x921c,0x010d,SIS_RI_320x200, 0x00,0x00,0x00,0x00,0x23,-1}, /* 320x200x15 */ | ||
71 | {0x41,0x921d,0x010e,SIS_RI_320x200, 0x00,0x00,0x00,0x00,0x23,-1}, /* 320x200x16 */ | ||
72 | {0x43,0x0a1c,0x0110,SIS_RI_640x480, 0x00,0x00,0x00,0x00,0x08,-1}, | ||
73 | {0x44,0x0a1d,0x0111,SIS_RI_640x480, 0x00,0x00,0x00,0x00,0x08,-1}, | ||
74 | {0x46,0x2a1c,0x0113,SIS_RI_800x600, 0x00,0x00,0x00,0x00,0x00,-1}, /* 800x600x15 */ | ||
75 | {0x47,0x2a1d,0x0114,SIS_RI_800x600, 0x00,0x00,0x00,0x00,0x00,-1}, /* 800x600x16 */ | ||
76 | {0x49,0x0a3c,0x0116,SIS_RI_1024x768, 0x00,0x00,0x00,0x00,0x13,-1}, | ||
77 | {0x4a,0x0a3d,0x0117,SIS_RI_1024x768, 0x00,0x00,0x00,0x00,0x13,-1}, | ||
78 | {0x4c,0x0e7c,0x0119,SIS_RI_1280x1024,0x00,0x00,0x00,0x00,0x1a,-1}, | ||
79 | {0x4d,0x0e7d,0x011a,SIS_RI_1280x1024,0x00,0x00,0x00,0x00,0x1a,-1}, | ||
80 | {0x50,0x921b,0x0132,SIS_RI_320x240, 0x00,0x00,0x00,0x00,0x24,-1}, /* 320x240x8 */ | ||
81 | {0x51,0xb21b,0x0133,SIS_RI_400x300, 0x00,0x00,0x00,0x00,0x25,-1}, /* 400x300x8 */ | ||
82 | {0x52,0x921b,0x0134,SIS_RI_512x384, 0x00,0x00,0x00,0x00,0x26,-1}, /* 512x384x8 */ | ||
83 | {0x56,0x921d,0x0135,SIS_RI_320x240, 0x00,0x00,0x00,0x00,0x24,-1}, /* 320x240x16 */ | ||
84 | {0x57,0xb21d,0x0136,SIS_RI_400x300, 0x00,0x00,0x00,0x00,0x25,-1}, /* 400x300x16 */ | ||
85 | {0x58,0x921d,0x0137,SIS_RI_512x384, 0x00,0x00,0x00,0x00,0x26,-1}, /* 512x384x16 */ | ||
86 | {0x59,0x921b,0x0138,SIS_RI_320x200, 0x00,0x00,0x00,0x00,0x23,-1}, /* 320x200x8 */ | ||
87 | {0x5c,0x921f,0x0000,SIS_RI_512x384, 0x00,0x00,0x00,0x00,0x26,-1}, /* 512x384x32 */ | ||
88 | {0x5d,0x021d,0x0139,SIS_RI_640x400, 0x00,0x00,0x00,0x00,0x10,-1}, /* 640x400x16 */ | ||
89 | {0x5e,0x021f,0x0000,SIS_RI_640x400, 0x00,0x00,0x00,0x00,0x10,-1}, /* 640x400x32 */ | ||
90 | {0x62,0x0a3f,0x013a,SIS_RI_640x480, 0x00,0x00,0x00,0x00,0x08,-1}, | ||
91 | {0x63,0x2a3f,0x013b,SIS_RI_800x600, 0x00,0x00,0x00,0x00,0x00,-1}, /* 800x600x32 */ | ||
92 | {0x64,0x0a7f,0x013c,SIS_RI_1024x768, 0x00,0x00,0x00,0x00,0x13,-1}, | ||
93 | {0x65,0x0eff,0x013d,SIS_RI_1280x1024,0x00,0x00,0x00,0x00,0x1a,-1}, | ||
94 | {0x66,0x06ff,0x013e,SIS_RI_1600x1200,0x00,0x00,0x00,0x00,0x1e,-1}, | ||
95 | {0x68,0x067b,0x013f,SIS_RI_1920x1440,0x00,0x00,0x00,0x00,0x27,-1}, | ||
96 | {0x69,0x06fd,0x0140,SIS_RI_1920x1440,0x00,0x00,0x00,0x00,0x27,-1}, | ||
97 | {0x6b,0x07ff,0x0000,SIS_RI_1920x1440,0x00,0x00,0x00,0x00,0x27,-1}, | ||
98 | {0x6c,0x067b,0x0000,SIS_RI_2048x1536,0x00,0x00,0x00,0x00,0x28,-1}, /* 2048x1536x8 */ | ||
99 | {0x6d,0x06fd,0x0000,SIS_RI_2048x1536,0x00,0x00,0x00,0x00,0x28,-1}, /* 2048x1536x16 */ | ||
100 | {0x70,0x6a1b,0x0000,SIS_RI_800x480, 0x00,0x00,0x07,0x00,0x2d,-1}, /* 800x480x8 */ | ||
101 | {0x71,0x4a1b,0x0000,SIS_RI_1024x576, 0x00,0x00,0x00,0x00,0x30,-1}, /* 1024x576x8 */ | ||
102 | {0x74,0x4a1d,0x0000,SIS_RI_1024x576, 0x00,0x00,0x00,0x00,0x30,-1}, /* 1024x576x16 */ | ||
103 | {0x75,0x0e3d,0x0000,SIS_RI_1280x720, 0x00,0x00,0x00,0x00,0x33,-1}, /* 1280x720x16 */ | ||
104 | {0x76,0x6a1f,0x0000,SIS_RI_800x480, 0x00,0x00,0x07,0x00,0x2d,-1}, /* 800x480x32 */ | ||
105 | {0x77,0x4a3f,0x0000,SIS_RI_1024x576, 0x00,0x00,0x00,0x00,0x30,-1}, /* 1024x576x32 */ | ||
106 | {0x78,0x0eff,0x0000,SIS_RI_1280x720, 0x00,0x00,0x00,0x00,0x33,-1}, /* 1280x720x32 */ | ||
107 | {0x79,0x0e3b,0x0000,SIS_RI_1280x720, 0x00,0x00,0x00,0x00,0x33,-1}, /* 1280x720x8 */ | ||
108 | {0x7a,0x6a1d,0x0000,SIS_RI_800x480, 0x00,0x00,0x07,0x00,0x2d,-1}, /* 800x480x16 */ | ||
109 | {0x7c,0x0a3b,0x0000,SIS_RI_1280x960, 0x00,0x00,0x00,0x00,0x29,-1}, /* 1280x960x8 */ | ||
110 | {0x7d,0x0a7d,0x0000,SIS_RI_1280x960, 0x00,0x00,0x00,0x00,0x29,-1}, /* 1280x960x16 */ | ||
111 | {0x7e,0x0aff,0x0000,SIS_RI_1280x960, 0x00,0x00,0x00,0x00,0x29,-1}, /* 1280x960x32 */ | ||
112 | {0x20,0x4a1b,0x0000,SIS_RI_1024x600, 0x00,0x00,0x00,0x00,0x2b,-1}, /* 1024x600 */ | ||
113 | {0x21,0x4a3d,0x0000,SIS_RI_1024x600, 0x00,0x00,0x00,0x00,0x2b,-1}, | ||
114 | {0x22,0x4a7f,0x0000,SIS_RI_1024x600, 0x00,0x00,0x00,0x00,0x2b,-1}, | ||
115 | {0x23,0x4a1b,0x0000,SIS_RI_1152x768, 0x00,0x00,0x00,0x00,0x2c,-1}, /* 1152x768 */ | ||
116 | {0x24,0x4a3d,0x0000,SIS_RI_1152x768, 0x00,0x00,0x00,0x00,0x2c,-1}, | ||
117 | {0x25,0x4a7f,0x0000,SIS_RI_1152x768, 0x00,0x00,0x00,0x00,0x2c,-1}, | ||
118 | {0x29,0x4e1b,0x0000,SIS_RI_1152x864, 0x00,0x00,0x00,0x00,0x36,-1}, /* 1152x864 */ | ||
119 | {0x2a,0x4e3d,0x0000,SIS_RI_1152x864, 0x00,0x00,0x00,0x00,0x36,-1}, | ||
120 | {0x2b,0x4e7f,0x0000,SIS_RI_1152x864, 0x00,0x00,0x00,0x00,0x36,-1}, | ||
121 | {0x39,0x6a1b,0x0000,SIS_RI_848x480, 0x00,0x00,0x00,0x00,0x39,-1}, /* 848x480 */ | ||
122 | {0x3b,0x6a3d,0x0000,SIS_RI_848x480, 0x00,0x00,0x00,0x00,0x39,-1}, | ||
123 | {0x3e,0x6a7f,0x0000,SIS_RI_848x480, 0x00,0x00,0x00,0x00,0x39,-1}, | ||
124 | {0x3f,0x6a1b,0x0000,SIS_RI_856x480, 0x00,0x00,0x00,0x00,0x3b,-1}, /* 856x480 */ | ||
125 | {0x42,0x6a3d,0x0000,SIS_RI_856x480, 0x00,0x00,0x00,0x00,0x3b,-1}, | ||
126 | {0x45,0x6a7f,0x0000,SIS_RI_856x480, 0x00,0x00,0x00,0x00,0x3b,-1}, | ||
127 | {0x48,0x6a3b,0x0000,SIS_RI_1360x768, 0x00,0x00,0x00,0x00,0x3d,-1}, /* 1360x768 */ | ||
128 | {0x4b,0x6a7d,0x0000,SIS_RI_1360x768, 0x00,0x00,0x00,0x00,0x3d,-1}, | ||
129 | {0x4e,0x6aff,0x0000,SIS_RI_1360x768, 0x00,0x00,0x00,0x00,0x3d,-1}, | ||
130 | {0x4f,0x921f,0x0000,SIS_RI_320x200, 0x00,0x00,0x00,0x00,0x23,-1}, /* 320x200x32 */ | ||
131 | {0x53,0x921f,0x0000,SIS_RI_320x240, 0x00,0x00,0x00,0x00,0x24,-1}, /* 320x240x32 */ | ||
132 | {0x54,0xb21f,0x0000,SIS_RI_400x300, 0x00,0x00,0x00,0x00,0x25,-1}, /* 400x300x32 */ | ||
133 | {0x55,0x2e3b,0x0000,SIS_RI_1280x768, 0x00,0x00,0x00,0x00,0x3e,-1}, /* 1280x768 */ | ||
134 | {0x5a,0x2e7d,0x0000,SIS_RI_1280x768, 0x00,0x00,0x00,0x00,0x3e,-1}, | ||
135 | {0x5b,0x2eff,0x0000,SIS_RI_1280x768, 0x00,0x00,0x00,0x00,0x3e,-1}, | ||
136 | {0x5f,0x6a1b,0x0000,SIS_RI_768x576, 0x00,0x00,0x00,0x00,0x3f,-1}, /* 768x576x8 */ | ||
137 | {0x60,0x6a1d,0x0000,SIS_RI_768x576, 0x00,0x00,0x00,0x00,0x3f,-1}, /* 768x576x16 */ | ||
138 | {0x61,0x6a1f,0x0000,SIS_RI_768x576, 0x00,0x00,0x00,0x00,0x3f,-1}, /* 768x576x32 */ | ||
139 | {0x67,0x6e3b,0x0000,SIS_RI_1360x1024,0x00,0x00,0x00,0x00,0x40,-1}, /* 1360x1024x8 (BARCO) */ | ||
140 | {0x6f,0x6e7d,0x0000,SIS_RI_1360x1024,0x00,0x00,0x00,0x00,0x40,-1}, /* 1360x1024x16 (BARCO) */ | ||
141 | {0x72,0x6eff,0x0000,SIS_RI_1360x1024,0x00,0x00,0x00,0x00,0x40,-1}, /* 1360x1024x32 (BARCO) */ | ||
142 | {0xff,0x0000,0xffff,0, 0x00,0x00,0x00,0x00,0x00} | ||
143 | }; | ||
144 | |||
145 | static const struct SiS_Ext2 SiS300_RefIndex[] = | ||
146 | { | ||
147 | {0x085f,0x0d,0x03,0x05,0x05,0x6a, 800, 600, 0, 0x00, 0x00}, /* 00 */ | ||
148 | {0x0467,0x0e,0x04,0x05,0x05,0x6a, 800, 600, 0, 0x00, 0x00}, /* 01 */ | ||
149 | {0x0067,0x0f,0x07,0x48,0x05,0x6a, 800, 600, 0, 0x00, 0x00}, /* 02 - CRT1CRTC was 0x4f */ | ||
150 | {0x0067,0x10,0x06,0x8b,0x05,0x6a, 800, 600, 0, 0x00, 0x00}, /* 03 */ | ||
151 | {0x0147,0x11,0x08,0x00,0x05,0x6a, 800, 600, 0, 0x00, 0x00}, /* 04 */ | ||
152 | {0x0147,0x12,0x0c,0x00,0x05,0x6a, 800, 600, 0, 0x00, 0x00}, /* 05 */ | ||
153 | {0x0047,0x11,0x0e,0x00,0x05,0x6a, 800, 600, 0, 0x00, 0x00}, /* 06 - CRT1CRTC was 0x51 */ | ||
154 | {0x0047,0x11,0x13,0x00,0x05,0x6a, 800, 600, 0, 0x00, 0x00}, /* 07 */ | ||
155 | {0xc85f,0x05,0x00,0x04,0x04,0x2e, 640, 480, 0, 0x00, 0x00}, /* 08 */ | ||
156 | {0xc067,0x06,0x02,0x04,0x04,0x2e, 640, 480, 0, 0x00, 0x00}, /* 09 */ | ||
157 | {0xc067,0x07,0x02,0x47,0x04,0x2e, 640, 480, 0, 0x00, 0x00}, /* 0a */ | ||
158 | {0xc067,0x08,0x03,0x8a,0x04,0x2e, 640, 480, 0, 0x00, 0x00}, /* 0b */ | ||
159 | {0xc047,0x09,0x05,0x00,0x04,0x2e, 640, 480, 0, 0x00, 0x00}, /* 0c */ | ||
160 | {0xc047,0x0a,0x08,0x00,0x04,0x2e, 640, 480, 0, 0x00, 0x00}, /* 0d */ | ||
161 | {0xc047,0x0b,0x0a,0x00,0x04,0x2e, 640, 480, 0, 0x00, 0x00}, /* 0e */ | ||
162 | {0xc047,0x0c,0x10,0x00,0x04,0x2e, 640, 480, 0, 0x00, 0x00}, /* 0f */ | ||
163 | {0x487f,0x04,0x00,0x00,0x00,0x2f, 640, 400, 0, 0x4a, 0x49}, /* 10 */ | ||
164 | {0xc06f,0x31,0x01,0x06,0x13,0x31, 720, 480, 0, 0x00, 0x00}, /* 11 */ | ||
165 | {0x006f,0x32,0x4a,0x06,0x14,0x32, 720, 576, 0, 0x00, 0x00}, /* 12 */ /* 4a was 03 */ | ||
166 | {0x0187,0x15,0x05,0x00,0x06,0x37,1024, 768, 0, 0x00, 0x00}, /* 13 */ | ||
167 | {0xc877,0x16,0x09,0x06,0x06,0x37,1024, 768, 0, 0x00, 0x00}, /* 14 */ | ||
168 | {0xc067,0x17,0x0b,0x49,0x06,0x37,1024, 768, 0, 0x00, 0x00}, /* 15 - CRT1CRTC was 0x97 */ | ||
169 | {0x0267,0x18,0x0d,0x00,0x06,0x37,1024, 768, 0, 0x00, 0x00}, /* 16 */ | ||
170 | {0x0047,0x19,0x11,0x8c,0x06,0x37,1024, 768, 0, 0x00, 0x00}, /* 17 - CRT1CRTC was 0x59 */ | ||
171 | {0x0047,0x1a,0x12,0x00,0x06,0x37,1024, 768, 0, 0x00, 0x00}, /* 18 */ | ||
172 | {0x0007,0x1b,0x16,0x00,0x06,0x37,1024, 768, 0, 0x00, 0x00}, /* 19 - CRT1CRTC was 0x5b */ | ||
173 | {0x0387,0x1c,0x0d,0x00,0x07,0x3a,1280,1024, 0, 0x00, 0x00}, /* 1a - CRT1CRTC was 0x5c */ | ||
174 | {0x0077,0x1d,0x14,0x07,0x07,0x3a,1280,1024, 0, 0x00, 0x00}, /* 1b */ | ||
175 | {0x0047,0x1e,0x17,0x00,0x07,0x3a,1280,1024, 0, 0x00, 0x00}, /* 1c */ | ||
176 | {0x0007,0x1f,0x18,0x00,0x07,0x3a,1280,1024, 0, 0x00, 0x00}, /* 1d */ | ||
177 | {0x0007,0x20,0x19,0x00,0x00,0x3c,1600,1200, 0, 0x00, 0x00}, /* 1e - CRT1CRTC was 0x60 */ | ||
178 | {0x0007,0x21,0x1a,0x00,0x00,0x3c,1600,1200, 0, 0x00, 0x00}, /* 1f */ | ||
179 | {0x0007,0x22,0x1b,0x00,0x00,0x3c,1600,1200, 0, 0x00, 0x00}, /* 20 */ | ||
180 | {0x0007,0x23,0x1d,0x00,0x00,0x3c,1600,1200, 0, 0x00, 0x00}, /* 21 - CRT1CRTC was 0x63 */ | ||
181 | {0x0007,0x24,0x1e,0x00,0x00,0x3c,1600,1200, 0, 0x00, 0x00}, /* 22 */ | ||
182 | {0x407f,0x00,0x00,0x00,0x00,0x40, 320, 200, 0, 0x4b, 0x4b}, /* 23 */ | ||
183 | {0xc07f,0x01,0x00,0x04,0x04,0x50, 320, 240, 0, 0x00, 0x00}, /* 24 */ | ||
184 | {0x0077,0x02,0x04,0x05,0x05,0x51, 400, 300, 0, 0x00, 0x00}, /* 25 */ | ||
185 | {0xc877,0x03,0x09,0x06,0x06,0x52, 512, 384, 0, 0x00, 0x00}, /* 26 */ /* was c077 */ | ||
186 | {0x8207,0x25,0x1f,0x00,0x00,0x68,1920,1440, 0, 0x00, 0x00}, /* 27 */ | ||
187 | {0x0007,0x26,0x20,0x00,0x00,0x6c,2048,1536, 0, 0x00, 0x00}, /* 28 */ | ||
188 | {0x0067,0x27,0x14,0x08,0x0a,0x6e,1280, 960, 0, 0x00, 0x00}, /* 29 - 1280x960-60 */ | ||
189 | {0x0027,0x45,0x3c,0x08,0x0a,0x6e,1280, 960, 0, 0x00, 0x00}, /* 2a - 1280x960-85 */ | ||
190 | {0xc077,0x33,0x09,0x06,0x00,0x20,1024, 600, 0, 0x00, 0x00}, /* 2b */ | ||
191 | {0xc077,0x34,0x0b,0x06,0x00,0x23,1152, 768, 0, 0x00, 0x00}, /* 2c */ /* VCLK 0x09 */ | ||
192 | {0x0077,0x35,0x27,0x08,0x18,0x70, 800, 480, 0, 0x00, 0x00}, /* 2d */ | ||
193 | {0x0047,0x36,0x37,0x08,0x18,0x70, 800, 480, 0, 0x00, 0x00}, /* 2e */ | ||
194 | {0x0047,0x37,0x08,0x08,0x18,0x70, 800, 480, 0, 0x00, 0x00}, /* 2f */ | ||
195 | {0x0077,0x38,0x09,0x09,0x19,0x71,1024, 576, 0, 0x00, 0x00}, /* 30 */ | ||
196 | {0x0047,0x39,0x38,0x09,0x19,0x71,1024, 576, 0, 0x00, 0x00}, /* 31 */ | ||
197 | {0x0047,0x3a,0x11,0x09,0x19,0x71,1024, 576, 0, 0x00, 0x00}, /* 32 */ | ||
198 | {0x0077,0x3b,0x39,0x0a,0x0c,0x75,1280, 720, 0, 0x00, 0x00}, /* 33 */ | ||
199 | {0x0047,0x3c,0x3a,0x0a,0x0c,0x75,1280, 720, 0, 0x00, 0x00}, /* 34 */ | ||
200 | {0x0007,0x3d,0x3b,0x0a,0x0c,0x75,1280, 720, 0, 0x00, 0x00}, /* 35 */ | ||
201 | {0x0067,0x49,0x35,0x06,0x1a,0x29,1152, 864, 0, 0x00, 0x00}, /* 36 1152x864-60Hz */ | ||
202 | {0x0067,0x3e,0x34,0x06,0x1a,0x29,1152, 864, 0, 0x00, 0x00}, /* 37 1152x864-75Hz */ | ||
203 | {0x0047,0x44,0x3a,0x06,0x1a,0x29,1152, 864, 0, 0x00, 0x00}, /* 38 1152x864-85Hz */ | ||
204 | {0x00c7,0x3f,0x28,0x00,0x16,0x39, 848, 480, 0, 0x00, 0x00}, /* 39 848x480-38Hzi */ | ||
205 | {0xc067,0x40,0x3d,0x0b,0x16,0x39, 848, 480, 0, 0x00, 0x00}, /* 3a 848x480-60Hz */ | ||
206 | {0x00c7,0x41,0x28,0x00,0x17,0x3f, 856, 480, 0, 0x00, 0x00}, /* 3b 856x480-38Hzi */ | ||
207 | {0xc067,0x42,0x28,0x0c,0x17,0x3f, 856, 480, 0, 0x00, 0x00}, /* 3c 856x480-60Hz */ | ||
208 | {0x0067,0x43,0x3e,0x0d,0x1b,0x48,1360, 768, 0, 0x00, 0x00}, /* 3d 1360x768-60Hz */ | ||
209 | {0x0077,0x46,0x3f,0x08,0x08,0x55,1280, 768, 0, 0x00, 0x00}, /* 3e 1280x768-60Hz */ | ||
210 | {0x006f,0x47,0x4c,0x06,0x15,0x5f, 768, 576, 0, 0x00, 0x00}, /* 3f 768x576 */ | ||
211 | {0x0027,0x48,0x13,0x08,0x00,0x67,1360,1024, 0, 0x00, 0x00}, /* 40 1360x1024-59Hz (BARCO1366 only) */ | ||
212 | {0xffff, 0, 0, 0, 0, 0, 0, 0, 0, 0x00, 0x00} | ||
213 | }; | ||
214 | |||
215 | static const struct SiS_VBMode SiS300_VBModeIDTable[] = | ||
216 | { | ||
217 | {0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, | ||
218 | {0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01}, | ||
219 | {0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x02}, | ||
220 | {0x03,0x00,0x00,0x00,0x02,0x00,0x02,0x00}, | ||
221 | {0x03,0x00,0x00,0x00,0x02,0x00,0x02,0x01}, | ||
222 | {0x03,0x00,0x00,0x00,0x03,0x00,0x03,0x02}, | ||
223 | {0x05,0x00,0x00,0x01,0x04,0x00,0x00,0x00}, | ||
224 | {0x06,0x00,0x00,0x01,0x05,0x00,0x02,0x00}, | ||
225 | {0x07,0x00,0x00,0x00,0x03,0x00,0x03,0x01}, | ||
226 | {0x07,0x00,0x00,0x00,0x03,0x00,0x03,0x02}, | ||
227 | {0x0d,0x00,0x00,0x01,0x04,0x00,0x00,0x00}, | ||
228 | {0x0e,0x00,0x00,0x01,0x05,0x00,0x02,0x00}, | ||
229 | {0x0f,0x00,0x00,0x01,0x05,0x00,0x02,0x01}, | ||
230 | {0x10,0x00,0x00,0x01,0x05,0x00,0x02,0x01}, | ||
231 | {0x11,0x00,0x00,0x01,0x05,0x00,0x02,0x03}, | ||
232 | {0x12,0x00,0x00,0x01,0x05,0x00,0x02,0x03}, | ||
233 | {0x13,0x00,0x00,0x01,0x04,0x00,0x04,0x00}, | ||
234 | {0x6a,0x00,0x00,0x01,0x07,0x00,0x08,0x0a}, | ||
235 | {0x2e,0x00,0x00,0x01,0x05,0x00,0x06,0x08}, | ||
236 | {0x2f,0x00,0x00,0x01,0x05,0x00,0x06,0x06}, | ||
237 | {0x30,0x00,0x00,0x01,0x07,0x00,0x08,0x0a}, | ||
238 | {0x31,0x00,0x00,0x01,0x06,0x00,0x00,0x00}, | ||
239 | {0x32,0x00,0x00,0x01,0x06,0x00,0x00,0x00}, | ||
240 | {0x33,0x00,0x00,0x01,0x06,0x00,0x00,0x00}, | ||
241 | {0x34,0x00,0x00,0x01,0x06,0x00,0x00,0x00}, | ||
242 | {0x35,0x00,0x00,0x01,0x06,0x00,0x00,0x00}, | ||
243 | {0x36,0x00,0x00,0x01,0x06,0x00,0x00,0x00}, | ||
244 | {0x37,0x00,0x00,0x01,0x00,0x00,0x0a,0x0c}, | ||
245 | {0x38,0x00,0x00,0x01,0x00,0x00,0x0a,0x0c}, | ||
246 | {0x3a,0x00,0x00,0x01,0x00,0x00,0x0b,0x0d}, | ||
247 | {0x40,0x00,0x00,0x01,0x04,0x00,0x05,0x05}, | ||
248 | {0x41,0x00,0x00,0x01,0x04,0x00,0x05,0x05}, | ||
249 | {0x43,0x00,0x00,0x01,0x05,0x00,0x06,0x08}, | ||
250 | {0x44,0x00,0x00,0x01,0x05,0x00,0x06,0x08}, | ||
251 | {0x46,0x00,0x00,0x01,0x07,0x00,0x08,0x0a}, | ||
252 | {0x47,0x00,0x00,0x01,0x07,0x00,0x08,0x0a}, | ||
253 | {0x49,0x00,0x00,0x01,0x00,0x00,0x0a,0x0c}, | ||
254 | {0x4a,0x00,0x00,0x01,0x00,0x00,0x0a,0x0c}, | ||
255 | {0x4c,0x00,0x00,0x01,0x00,0x00,0x0b,0x0d}, | ||
256 | {0x4d,0x00,0x00,0x01,0x00,0x00,0x0b,0x0d}, | ||
257 | {0x4f,0x00,0x00,0x01,0x04,0x00,0x05,0x05}, | ||
258 | {0x50,0x00,0x00,0x01,0x04,0x00,0x05,0x07}, | ||
259 | {0x51,0x00,0x00,0x01,0x07,0x00,0x07,0x09}, | ||
260 | {0x52,0x00,0x00,0x01,0x00,0x00,0x09,0x0b}, | ||
261 | {0x53,0x00,0x00,0x01,0x04,0x00,0x05,0x07}, | ||
262 | {0x54,0x00,0x00,0x01,0x07,0x00,0x07,0x09}, | ||
263 | {0x56,0x00,0x00,0x01,0x04,0x00,0x05,0x07}, | ||
264 | {0x57,0x00,0x00,0x01,0x07,0x00,0x07,0x09}, | ||
265 | {0x58,0x00,0x00,0x01,0x00,0x00,0x09,0x0b}, | ||
266 | {0x59,0x00,0x00,0x01,0x04,0x00,0x05,0x05}, | ||
267 | {0x5c,0x00,0x00,0x01,0x00,0x00,0x09,0x0b}, | ||
268 | {0x5d,0x00,0x00,0x01,0x05,0x00,0x06,0x06}, | ||
269 | {0x5e,0x00,0x00,0x01,0x05,0x00,0x06,0x06}, | ||
270 | {0x5f,0x00,0x00,0x01,0x06,0x00,0x00,0x00}, | ||
271 | {0x60,0x00,0x00,0x01,0x06,0x00,0x00,0x00}, | ||
272 | {0x61,0x00,0x00,0x01,0x06,0x00,0x00,0x00}, | ||
273 | {0x62,0x00,0x00,0x01,0x05,0x00,0x06,0x08}, | ||
274 | {0x63,0x00,0x00,0x01,0x07,0x00,0x08,0x0a}, | ||
275 | {0x64,0x00,0x00,0x01,0x00,0x00,0x0a,0x0c}, | ||
276 | {0x65,0x00,0x00,0x01,0x00,0x00,0x0b,0x0d}, | ||
277 | {0x6c,0x00,0x00,0x01,0x00,0x00,0x0b,0x0d}, | ||
278 | {0x6d,0x00,0x00,0x01,0x00,0x00,0x0b,0x0d}, | ||
279 | {0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00} | ||
280 | }; | ||
281 | |||
282 | static const struct SiS_CRT1Table SiS300_CRT1Table[] = | ||
283 | { | ||
284 | {{0x2d,0x27,0x28,0x90,0x2c,0x80,0xbf,0x1f, /* 0x00 - 320x200 */ | ||
285 | 0x9c,0x8e,0x8f,0x96,0xb9,0x30,0x00,0x00, /* HRE [4],[15] is invalid - but correcting it does not work */ | ||
286 | 0x00}}, | ||
287 | {{0x2d,0x27,0x28,0x90,0x2c,0x80,0x0b,0x3e, /* 0x01 */ | ||
288 | 0xe9,0x8b,0xdf,0xe7,0x04,0x00,0x00,0x00, /* HRE [4],[15] is invalid - but correcting it does not work */ | ||
289 | 0x00}}, | ||
290 | {{0x3d,0x31,0x31,0x81,0x37,0x1f,0x72,0xf0, /* 0x02 */ | ||
291 | 0x58,0x8c,0x57,0x57,0x73,0x20,0x00,0x05, | ||
292 | 0x01}}, | ||
293 | {{0x4f,0x3f,0x3f,0x93,0x45,0x0d,0x24,0xf5, | ||
294 | 0x02,0x88,0xff,0xff,0x25,0x10,0x00,0x01, | ||
295 | 0x01}}, | ||
296 | {{0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f, | ||
297 | 0x9c,0x8e,0x8f,0x96,0xb9,0x30,0x00,0x05, | ||
298 | 0x00}}, | ||
299 | {{0x5f,0x4f,0x4f,0x83,0x55,0x81,0x0b,0x3e, /* 0x05 - corrected 640x480-60 */ | ||
300 | 0xe9,0x8b,0xdf,0xe8,0x0c,0x00,0x00,0x05, | ||
301 | 0x00}}, | ||
302 | {{0x63,0x4f,0x4f,0x87,0x56,0x9b,0x06,0x3e, /* 0x06 - corrected 640x480-72 */ | ||
303 | 0xe8,0x8a,0xdf,0xe7,0x07,0x00,0x00,0x01, | ||
304 | 0x00}}, | ||
305 | {{0x64,0x4f,0x4f,0x88,0x55,0x9d,0xf2,0x1f, | ||
306 | 0xe0,0x83,0xdf,0xdf,0xf3,0x10,0x00,0x01, | ||
307 | 0x00}}, | ||
308 | {{0x63,0x4f,0x4f,0x87,0x5a,0x81,0xfb,0x1f, | ||
309 | 0xe0,0x83,0xdf,0xdf,0xfc,0x10,0x00,0x05, | ||
310 | 0x00}}, | ||
311 | {{0x67,0x4f,0x4f,0x8b,0x57,0x83,0x10,0x3e, /* 0x09 - corrected 640x480-100 */ | ||
312 | 0xe7,0x8d,0xdf,0xe6,0x11,0x00,0x00,0x05, | ||
313 | 0x00}}, | ||
314 | {{0x67,0x4f,0x4f,0x8b,0x57,0x83,0x10,0x3e, /* 0x0a - corrected 640x480-120 */ | ||
315 | 0xe7,0x8d,0xdf,0xe6,0x11,0x00,0x00,0x05, | ||
316 | 0x00}}, | ||
317 | {{0x63,0x4f,0x4f,0x87,0x56,0x9d,0xfb,0x1f, | ||
318 | 0xe0,0x83,0xdf,0xdf,0xfc,0x10,0x00,0x01, | ||
319 | 0x00}}, | ||
320 | {{0x65,0x4f,0x4f,0x89,0x57,0x9f,0xfb,0x1f, | ||
321 | 0xe6,0x8a,0xdf,0xdf,0xfc,0x10,0x00,0x01, /* Corrected VDE, VBE */ | ||
322 | 0x00}}, | ||
323 | {{0x7b,0x63,0x63,0x9f,0x6a,0x93,0x6f,0xf0, | ||
324 | 0x58,0x8a,0x57,0x57,0x70,0x20,0x00,0x05, | ||
325 | 0x01}}, | ||
326 | {{0x7f,0x63,0x63,0x83,0x6c,0x1c,0x72,0xf0, | ||
327 | 0x58,0x8c,0x57,0x57,0x73,0x20,0x00,0x06, | ||
328 | 0x01}}, | ||
329 | {{0x7d,0x63,0x63,0x81,0x6e,0x1d,0x98,0xf0, | ||
330 | 0x7c,0x82,0x57,0x57,0x99,0x00,0x00,0x06, | ||
331 | 0x01}}, | ||
332 | {{0x7f,0x63,0x63,0x83,0x69,0x13,0x6f,0xf0, | ||
333 | 0x58,0x8b,0x57,0x57,0x70,0x20,0x00,0x06, | ||
334 | 0x01}}, | ||
335 | {{0x7e,0x63,0x63,0x82,0x6b,0x13,0x75,0xf0, | ||
336 | 0x58,0x8b,0x57,0x57,0x76,0x20,0x00,0x06, | ||
337 | 0x01}}, | ||
338 | {{0x8c,0x63,0x63,0x87,0x72,0x16,0x7e,0xf0, | ||
339 | 0x59,0x8d,0x57,0x57,0x7f,0x00,0x00,0x06, | ||
340 | 0x01}}, | ||
341 | {{0x7e,0x63,0x63,0x82,0x6c,0x14,0x75,0xe0, | ||
342 | 0x58,0x0b,0x57,0x57,0x76,0x20,0x00,0x06, | ||
343 | 0x01}}, | ||
344 | {{0x7e,0x63,0x63,0x82,0x6c,0x14,0x75,0xe0, /* 0x14 */ | ||
345 | 0x58,0x0b,0x57,0x57,0x76,0x20,0x00,0x06, | ||
346 | 0x01}}, | ||
347 | {{0x99,0x7f,0x7f,0x9d,0x84,0x1a,0x96,0x1f, | ||
348 | 0x7f,0x83,0x7f,0x7f,0x97,0x10,0x00,0x02, | ||
349 | 0x00}}, | ||
350 | {{0xa3,0x7f,0x7f,0x87,0x86,0x97,0x24,0xf5, | ||
351 | 0x02,0x88,0xff,0xff,0x25,0x10,0x00,0x02, | ||
352 | 0x01}}, | ||
353 | {{0xa1,0x7f,0x7f,0x85,0x86,0x97,0x24,0xf5, | ||
354 | 0x02,0x88,0xff,0xff,0x25,0x10,0x00,0x02, | ||
355 | 0x01}}, | ||
356 | {{0x9f,0x7f,0x7f,0x83,0x85,0x91,0x1e,0xf5, | ||
357 | 0x00,0x83,0xff,0xff,0x1f,0x10,0x00,0x02, | ||
358 | 0x01}}, | ||
359 | {{0xa7,0x7f,0x7f,0x8b,0x89,0x95,0x26,0xf5, | ||
360 | 0x00,0x83,0xff,0xff,0x27,0x10,0x00,0x02, | ||
361 | 0x01}}, | ||
362 | {{0x9f,0x7f,0x7f,0x83,0x83,0x93,0x1e,0xf5, /* 0x1a */ | ||
363 | 0x00,0x84,0xff,0xff,0x1f,0x10,0x00,0x02, | ||
364 | 0x01}}, | ||
365 | {{0xa2,0x7f,0x7f,0x86,0x84,0x94,0x37,0xf5, | ||
366 | 0x0b,0x82,0xff,0xff,0x38,0x10,0x00,0x02, | ||
367 | 0x01}}, | ||
368 | {{0xcf,0x9f,0x9f,0x93,0xb2,0x01,0x14,0xba, | ||
369 | 0x00,0x83,0xff,0xff,0x15,0x00,0x00,0x03, | ||
370 | 0x00}}, | ||
371 | {{0xce,0x9f,0x9f,0x92,0xa9,0x17,0x28,0x5a, | ||
372 | 0x00,0x83,0xff,0xff,0x29,0x09,0x00,0x07, | ||
373 | 0x01}}, | ||
374 | {{0xce,0x9f,0x9f,0x92,0xa5,0x17,0x28,0x5a, /* 0x1e */ | ||
375 | 0x00,0x83,0xff,0xff,0x29,0x09,0x00,0x07, | ||
376 | 0x01}}, | ||
377 | {{0xd3,0x9f,0x9f,0x97,0xab,0x1f,0x2e,0x5a, | ||
378 | 0x00,0x83,0xff,0xff,0x2f,0x09,0x00,0x07, | ||
379 | 0x01}}, | ||
380 | {{0x09,0xc7,0xc7,0x8d,0xd3,0x0b,0xe0,0x10, | ||
381 | 0xb0,0x83,0xaf,0xaf,0xe1,0x2f,0x01,0x04, | ||
382 | 0x00}}, | ||
383 | {{0x09,0xc7,0xc7,0x8d,0xd3,0x0b,0xe0,0x10, | ||
384 | 0xb0,0x83,0xaf,0xaf,0xe1,0x2f,0x01,0x04, | ||
385 | 0x00}}, | ||
386 | {{0x09,0xc7,0xc7,0x8d,0xd3,0x0b,0xe0,0x10, | ||
387 | 0xb0,0x83,0xaf,0xaf,0xe1,0x2f,0x01,0x04, | ||
388 | 0x00}}, | ||
389 | {{0x09,0xc7,0xc7,0x8d,0xd3,0x0b,0xe0,0x10, | ||
390 | 0xb0,0x83,0xaf,0xaf,0xe1,0x2f,0x01,0x04, | ||
391 | 0x00}}, | ||
392 | {{0x09,0xc7,0xc7,0x8d,0xd3,0x0b,0xe0,0x10, /* 36: 1600x1200x85Hz */ | ||
393 | 0xb0,0x83,0xaf,0xaf,0xe1,0x2f,0x01,0x04, | ||
394 | 0x00}}, | ||
395 | {{0x3f,0xef,0xef,0x83,0xfd,0x1a,0xda,0x1f, /* 37: 1920x1440x60Hz */ | ||
396 | 0xa0,0x84,0x9f,0x9f,0xdb,0x1f,0x01,0x01, | ||
397 | 0x00}}, | ||
398 | {{0x55,0xff,0xff,0x99,0x0d,0x0c,0x3e,0xba, | ||
399 | 0x00,0x84,0xff,0xff,0x3f,0x0f,0x41,0x05, | ||
400 | 0x00}}, | ||
401 | {{0xdc,0x9f,0x9f,0x80,0xaf,0x9d,0xe6,0xff, /* 0x27: 1280x960-60 - correct */ | ||
402 | 0xc0,0x83,0xbf,0xbf,0xe7,0x10,0x00,0x07, | ||
403 | 0x01}}, | ||
404 | {{0x7f,0x63,0x63,0x83,0x6c,0x1c,0x72,0xba, /* 0x28 */ | ||
405 | 0x27,0x8b,0xdf,0xdf,0x73,0x00,0x00,0x06, | ||
406 | 0x01}}, | ||
407 | {{0x7f,0x63,0x63,0x83,0x69,0x13,0x6f,0xba, | ||
408 | 0x26,0x89,0xdf,0xdf,0x6f,0x00,0x00,0x06, | ||
409 | 0x01}}, | ||
410 | {{0x7f,0x63,0x63,0x82,0x6b,0x13,0x75,0xba, | ||
411 | 0x29,0x8c,0xdf,0xdf,0x75,0x00,0x00,0x06, | ||
412 | 0x01}}, | ||
413 | {{0xa3,0x7f,0x7f,0x87,0x86,0x97,0x24,0xf1, | ||
414 | 0xaf,0x85,0x3f,0x3f,0x25,0x30,0x00,0x02, | ||
415 | 0x01}}, | ||
416 | {{0x9f,0x7f,0x7f,0x83,0x85,0x91,0x1e,0xf1, | ||
417 | 0xad,0x81,0x3f,0x3f,0x1f,0x30,0x00,0x02, | ||
418 | 0x01}}, | ||
419 | {{0xa7,0x7f,0x7f,0x88,0x89,0x15,0x26,0xf1, | ||
420 | 0xb1,0x85,0x3f,0x3f,0x27,0x30,0x00,0x02, | ||
421 | 0x01}}, | ||
422 | {{0xce,0x9f,0x9f,0x92,0xa9,0x17,0x28,0xc4, | ||
423 | 0x7a,0x8e,0xcf,0xcf,0x29,0x21,0x00,0x07, | ||
424 | 0x01}}, | ||
425 | {{0xce,0x9f,0x9f,0x92,0xa5,0x17,0x28,0xd4, | ||
426 | 0x7a,0x8e,0xcf,0xcf,0x29,0x21,0x00,0x07, | ||
427 | 0x01}}, | ||
428 | {{0xd3,0x9f,0x9f,0x97,0xab,0x1f,0x2e,0xd4, | ||
429 | 0x7d,0x81,0xcf,0xcf,0x2f,0x21,0x00,0x07, | ||
430 | 0x01}}, | ||
431 | {{0x6b,0x59,0x59,0x8f,0x5e,0x8c,0x0b,0x3e, | ||
432 | 0xe9,0x8b,0xdf,0xe7,0x04,0x00,0x00,0x05, | ||
433 | 0x00}}, | ||
434 | {{0x6d,0x59,0x59,0x91,0x60,0x89,0x53,0xf0, /* 0x32: 720x576, corrected to 60Hz */ | ||
435 | 0x41,0x84,0x3f,0x3f,0x54,0x00,0x00,0x05, | ||
436 | 0x41}}, | ||
437 | {{0xa3,0x7f,0x7f,0x87,0x86,0x97,0x1e,0xf1, /* 0x33 - 1024x600 */ | ||
438 | 0xae,0x85,0x57,0x57,0x1f,0x30,0x00,0x02, | ||
439 | 0x01}}, | ||
440 | {{0xa3,0x8f,0x8f,0x97,0x96,0x97,0x24,0xf5, /* 0x34 - 1152x768 - corrected */ | ||
441 | 0x02,0x88,0xff,0xff,0x25,0x10,0x00,0x02, | ||
442 | 0x01}}, | ||
443 | {{0x7f,0x63,0x63,0x83,0x6c,0x1c,0x72,0xba, /* 0x35 */ | ||
444 | 0x27,0x8b,0xdf,0xdf,0x73,0x00,0x00,0x06, | ||
445 | 0x01}}, /* 0x35 */ | ||
446 | {{0x7f,0x63,0x63,0x83,0x69,0x13,0x6f,0xba, | ||
447 | 0x26,0x89,0xdf,0xdf,0x6f,0x00,0x00,0x06, | ||
448 | 0x01}}, /* 0x36 */ | ||
449 | {{0x7f,0x63,0x63,0x82,0x6b,0x13,0x75,0xba, | ||
450 | 0x29,0x8c,0xdf,0xdf,0x75,0x00,0x00,0x06, | ||
451 | 0x01}}, /* 0x37 */ | ||
452 | {{0xa3,0x7f,0x7f,0x87,0x86,0x97,0x24,0xf1, | ||
453 | 0xaf,0x85,0x3f,0x3f,0x25,0x30,0x00,0x02, | ||
454 | 0x01}}, /* 0x38 */ | ||
455 | {{0x9f,0x7f,0x7f,0x83,0x85,0x91,0x1e,0xf1, | ||
456 | 0xad,0x81,0x3f,0x3f,0x1f,0x30,0x00,0x02, | ||
457 | 0x01}}, /* 0x39 */ | ||
458 | {{0xa7,0x7f,0x7f,0x88,0x89,0x95,0x26,0xf1, /* 95 was 15 - illegal HBE! */ | ||
459 | 0xb1,0x85,0x3f,0x3f,0x27,0x30,0x00,0x02, | ||
460 | 0x01}}, /* 0x3a */ | ||
461 | {{0xce,0x9f,0x9f,0x92,0xa9,0x17,0x28,0xc4, | ||
462 | 0x7a,0x8e,0xcf,0xcf,0x29,0x21,0x00,0x07, | ||
463 | 0x01}}, /* 0x3b */ | ||
464 | {{0xce,0x9f,0x9f,0x92,0xa5,0x17,0x28,0xd4, | ||
465 | 0x7a,0x8e,0xcf,0xcf,0x29,0x21,0x00,0x07, | ||
466 | 0x01}}, /* 0x3c */ | ||
467 | {{0xd3,0x9f,0x9f,0x97,0xab,0x1f,0x2e,0xd4, | ||
468 | 0x7d,0x81,0xcf,0xcf,0x2f,0x21,0x00,0x07, | ||
469 | 0x01}}, /* 0x3d */ | ||
470 | {{0xc3,0x8f,0x8f,0x87,0x9b,0x0b,0x82,0xef, /* 1152x864-75 */ | ||
471 | 0x60,0x83,0x5f,0x5f,0x83,0x10,0x00,0x07, | ||
472 | 0x01}}, /* 0x3e */ | ||
473 | {{0x86,0x69,0x69,0x8A,0x74,0x06,0x8C,0x15, /* 848x480-38i */ | ||
474 | 0x4F,0x83,0xEF,0xEF,0x8D,0x30,0x00,0x02, | ||
475 | 0x00}}, /* 0x3f */ | ||
476 | {{0x83,0x69,0x69,0x87,0x6f,0x1d,0x03,0x3E, /* 848x480-60 */ | ||
477 | 0xE5,0x8d,0xDF,0xe4,0x04,0x00,0x00,0x06, | ||
478 | 0x00}}, /* 0x40 */ | ||
479 | {{0x86,0x6A,0x6A,0x8A,0x74,0x06,0x8C,0x15, /* 856x480-38i */ | ||
480 | 0x4F,0x83,0xEF,0xEF,0x8D,0x30,0x00,0x02, | ||
481 | 0x00}}, /* 0x41 */ | ||
482 | {{0x81,0x6A,0x6A,0x85,0x70,0x00,0x0F,0x3E, /* 856x480-60 */ | ||
483 | 0xEB,0x8E,0xDF,0xDF,0x10,0x00,0x00,0x02, | ||
484 | 0x00}}, /* 0x42 */ | ||
485 | {{0xdd,0xa9,0xa9,0x81,0xb4,0x97,0x26,0xfd, /* 1360x768-60 */ | ||
486 | 0x01,0x8d,0xff,0x00,0x27,0x10,0x00,0x03, | ||
487 | 0x01}}, /* 0x43 */ | ||
488 | {{0xd9,0x8f,0x8f,0x9d,0xba,0x0a,0x8a,0xff, /* 1152x864-84 */ | ||
489 | 0x60,0x8b,0x5f,0x5f,0x8b,0x10,0x00,0x03, | ||
490 | 0x01}}, /* 0x44 */ | ||
491 | {{0xd3,0x9f,0x9f,0x97,0xab,0x1f,0xf1,0xff, /* 1280x960-85 */ | ||
492 | 0xc0,0x83,0xbf,0xbf,0xf2,0x10,0x00,0x07, | ||
493 | 0x01}}, /* 0x45 */ | ||
494 | {{0xce,0x9f,0x9f,0x92,0xa9,0x17,0x20,0xf5, /* 1280x768-60 */ | ||
495 | 0x03,0x88,0xff,0xff,0x21,0x10,0x00,0x07, | ||
496 | 0x01}}, /* 0x46 */ | ||
497 | {{0x75,0x5f,0x5f,0x99,0x66,0x90,0x53,0xf0, /* 768x576, corrected to 60Hz */ | ||
498 | 0x41,0x84,0x3f,0x3f,0x54,0x00,0x00,0x05, | ||
499 | 0x41}}, /* 0x47 */ | ||
500 | {{0xce,0xa9,0xa9,0x92,0xb1,0x07,0x28,0x52, /* 1360x1024 (Barco iQ Pro R300) */ | ||
501 | 0x02,0x8e,0xff,0x00,0x29,0x0d,0x00,0x03, | ||
502 | 0x00}}, /* 0x48 */ | ||
503 | {{0xcd,0x8f,0x8f,0x91,0x9b,0x1b,0x7a,0xff, /* 1152x864-60 */ | ||
504 | 0x64,0x8c,0x5f,0x62,0x7b,0x10,0x00,0x07, | ||
505 | 0x41}}, /* 0x49 */ | ||
506 | {{0x5c,0x4f,0x4f,0x80,0x57,0x80,0xa3,0x1f, /* fake 640x400@60Hz (for LCD and TV, not actually used) */ | ||
507 | 0x98,0x8c,0x8f,0x96,0xa4,0x30,0x00,0x05, | ||
508 | 0x40}}, /* 0x4a */ | ||
509 | {{0x2c,0x27,0x27,0x90,0x2d,0x92,0xa4,0x1f, /* fake 320x200@60Hz (for LCD and TV, not actually used) */ | ||
510 | 0x98,0x8c,0x8f,0x96,0xa5,0x30,0x00,0x04, | ||
511 | 0x00}} /* 0x4b */ | ||
512 | }; | ||
513 | |||
514 | static const struct SiS_MCLKData SiS300_MCLKData_630[] = | ||
515 | { | ||
516 | { 0x5a,0x64,0x80, 66}, | ||
517 | { 0xb3,0x45,0x80, 83}, | ||
518 | { 0x37,0x61,0x80,100}, | ||
519 | { 0x37,0x22,0x80,133}, | ||
520 | { 0x37,0x61,0x80,100}, | ||
521 | { 0x37,0x61,0x80,100}, | ||
522 | { 0x37,0x61,0x80,100}, | ||
523 | { 0x37,0x61,0x80,100} | ||
524 | }; | ||
525 | |||
526 | static const struct SiS_MCLKData SiS300_MCLKData_300[] = | ||
527 | { | ||
528 | { 0x68,0x43,0x80,125}, | ||
529 | { 0x68,0x43,0x80,125}, | ||
530 | { 0x68,0x43,0x80,125}, | ||
531 | { 0x37,0x61,0x80,100}, | ||
532 | { 0x37,0x61,0x80,100}, | ||
533 | { 0x37,0x61,0x80,100}, | ||
534 | { 0x37,0x61,0x80,100}, | ||
535 | { 0x37,0x61,0x80,100} | ||
536 | }; | ||
537 | |||
538 | static struct SiS_VCLKData SiS300_VCLKData[] = | ||
539 | { | ||
540 | { 0x1b,0xe1, 25}, /* 0x00 */ | ||
541 | { 0x4e,0xe4, 28}, /* 0x01 */ | ||
542 | { 0x57,0xe4, 32}, /* 0x02 */ | ||
543 | { 0xc3,0xc8, 36}, /* 0x03 */ | ||
544 | { 0x42,0xc3, 40}, /* 0x04 */ | ||
545 | { 0x5d,0xc4, 45}, /* 0x05 */ | ||
546 | { 0x52,0x65, 50}, /* 0x06 */ | ||
547 | { 0x53,0x65, 50}, /* 0x07 */ | ||
548 | { 0x6d,0x66, 56}, /* 0x08 */ | ||
549 | { 0x5a,0x64, 65}, /* 0x09 */ | ||
550 | { 0x46,0x44, 68}, /* 0x0a */ | ||
551 | { 0x3e,0x43, 75}, /* 0x0b */ | ||
552 | { 0x6d,0x46, 76}, /* 0x0c */ /* 800x600 | LVDS_2(CH), MITAC(CH); - 730, A901(301B): 0xb1,0x46, 76 */ | ||
553 | { 0x41,0x43, 79}, /* 0x0d */ | ||
554 | { 0x31,0x42, 79}, /* 0x0e */ | ||
555 | { 0x46,0x25, 85}, /* 0x0f */ | ||
556 | { 0x78,0x29, 87}, /* 0x10 */ | ||
557 | { 0x62,0x44, 95}, /* 0x11 */ | ||
558 | { 0x2b,0x22,105}, /* 0x12 */ | ||
559 | { 0x49,0x24,106}, /* 0x13 */ | ||
560 | { 0xc3,0x28,108}, /* 0x14 */ | ||
561 | { 0x3c,0x23,109}, /* 0x15 */ | ||
562 | { 0xf7,0x2c,132}, /* 0x16 */ | ||
563 | { 0xd4,0x28,136}, /* 0x17 */ | ||
564 | { 0x41,0x05,158}, /* 0x18 */ | ||
565 | { 0x43,0x05,162}, /* 0x19 */ | ||
566 | { 0xe1,0x0f,175}, /* 0x1a */ | ||
567 | { 0xfc,0x12,189}, /* 0x1b */ | ||
568 | { 0xde,0x26,194}, /* 0x1c */ | ||
569 | { 0x54,0x05,203}, /* 0x1d */ | ||
570 | { 0x3f,0x03,230}, /* 0x1e */ | ||
571 | { 0x30,0x02,234}, /* 0x1f */ | ||
572 | { 0x24,0x01,266}, /* 0x20 */ | ||
573 | { 0x52,0x2a, 54}, /* 0x21 */ /* 301 TV */ | ||
574 | { 0x52,0x6a, 27}, /* 0x22 */ /* 301 TV */ | ||
575 | { 0x62,0x24, 70}, /* 0x23 */ /* 301 TV */ | ||
576 | { 0x62,0x64, 70}, /* 0x24 */ /* 301 TV */ | ||
577 | { 0xa8,0x4c, 30}, /* 0x25 */ /* 301 TV */ | ||
578 | { 0x20,0x26, 33}, /* 0x26 */ /* 301 TV */ | ||
579 | { 0x31,0xc2, 39}, /* 0x27 */ | ||
580 | { 0xbf,0xc8, 35}, /* 0x28 */ /* 856x480 */ | ||
581 | { 0x60,0x36, 30}, /* 0x29 */ /* CH/UNTSC TEXT | LVDS_2(CH) - 730, A901(301B), Mitac(CH): 0xe0, 0xb6, 30 */ | ||
582 | { 0x40,0x4a, 28}, /* 0x2a */ /* CH-TV */ | ||
583 | { 0x9f,0x46, 44}, /* 0x2b */ /* CH-TV */ | ||
584 | { 0x97,0x2c, 26}, /* 0x2c */ /* CH-TV */ | ||
585 | { 0x44,0xe4, 25}, /* 0x2d */ /* CH-TV */ | ||
586 | { 0x7e,0x32, 47}, /* 0x2e */ /* CH-TV */ | ||
587 | { 0x8a,0x24, 31}, /* 0x2f */ /* CH/PAL TEXT | LVDS_2(CH), Mitac(CH) - 730, A901(301B): 0x57, 0xe4, 31 */ | ||
588 | { 0x97,0x2c, 26}, /* 0x30 */ /* CH-TV */ | ||
589 | { 0xce,0x3c, 39}, /* 0x31 */ /* CH-TV */ | ||
590 | { 0x52,0x4a, 36}, /* 0x32 */ /* CH/PAL 800x600 5/6 */ | ||
591 | { 0x34,0x61, 95}, /* 0x33 */ | ||
592 | { 0x78,0x27,108}, /* 0x34 */ /* Replacement for index 0x14 for 630 (?) */ | ||
593 | { 0x70,0x28, 90}, /* 0x35 */ /* 1152x864@60 */ | ||
594 | { 0x45,0x6b, 21}, /* 0x36 */ /* Chrontel SuperOverscan */ | ||
595 | { 0x52,0xe2, 49}, /* 0x37 */ /* 16:9 modes */ | ||
596 | { 0x2b,0x61, 78}, /* 0x38 */ /* 16:9 modes */ | ||
597 | { 0x70,0x44,108}, /* 0x39 */ /* 16:9 modes */ | ||
598 | { 0x54,0x42,135}, /* 0x3a */ /* 16:9 modes */ | ||
599 | { 0x41,0x22,157}, /* 0x3b */ /* 16:9 modes */ | ||
600 | { 0x52,0x07,149}, /* 0x3c */ /* 1280x960-85 */ | ||
601 | { 0x62,0xc6, 34}, /* 0x3d */ /* 848x480-60 */ | ||
602 | { 0x30,0x23, 88}, /* 0x3e */ /* 1360x768-60 */ | ||
603 | { 0x70,0x29, 81}, /* 0x3f */ /* 1280x768-60 */ | ||
604 | { 0x72,0x2a, 76}, /* 0x40 */ /* test for SiS730 --- LIMIT for table (&0x3f) */ | ||
605 | { 0x15,0x21, 79}, /* 0x41 */ /* test for SiS730 */ | ||
606 | { 0xa1,0x42,108}, /* 0x42 */ /* 1280x960 LCD */ | ||
607 | { 0x37,0x61,100}, /* 0x43 */ /* 1280x960 LCD */ | ||
608 | { 0xe3,0x9a,106}, /* 0x44 */ /* 1360x1024 - special for Barco iQ R300 */ | ||
609 | { 0xe2,0x46,135}, /* 0x45 */ /* 1280x1024-75, better clock for VGA2 */ | ||
610 | { 0x70,0x29, 81}, /* 0x46 */ /* unused */ | ||
611 | { 0, 0, 0}, /* 0x47 custom (will be filled out) */ | ||
612 | { 0xce,0x25,189}, /* 0x48 */ /* Replacement for index 0x1b for 730 (and 540?) */ | ||
613 | { 0x15,0xe1, 20}, /* 0x49 */ /* 640x400@60 (fake, not actually used) */ | ||
614 | { 0x5f,0xc6, 33}, /* 0x4a */ /* 720x576@60 */ | ||
615 | { 0x37,0x5a, 10}, /* 0x4b */ /* 320x200@60 (fake, not actually used) */ | ||
616 | { 0x2b,0xc2, 35} /* 0x4c */ /* 768@576@60 */ | ||
617 | }; | ||
618 | |||
619 | static const unsigned char SiS300_SR15[4 * 8] = | ||
620 | { | ||
621 | 0x01,0x09,0xa3,0x00, | ||
622 | 0x43,0x43,0x43,0x00, | ||
623 | 0x1e,0x1e,0x1e,0x00, | ||
624 | 0x2a,0x2a,0x2a,0x00, | ||
625 | 0x06,0x06,0x06,0x00, | ||
626 | 0x00,0x00,0x00,0x00, | ||
627 | 0x00,0x00,0x00,0x00, | ||
628 | 0x00,0x00,0x00,0x00 | ||
629 | }; | ||
630 | |||
631 | static const struct SiS_PanelDelayTbl SiS300_PanelDelayTbl[] = | ||
632 | { | ||
633 | {{0x05,0xaa}}, | ||
634 | {{0x05,0x14}}, | ||
635 | {{0x05,0x36}}, | ||
636 | {{0x05,0x14}}, | ||
637 | {{0x05,0x14}}, | ||
638 | {{0x05,0x14}}, | ||
639 | {{0x05,0x90}}, | ||
640 | {{0x05,0x90}}, | ||
641 | {{0x05,0x14}}, | ||
642 | {{0x05,0x14}}, | ||
643 | {{0x05,0x14}}, | ||
644 | {{0x05,0x14}}, | ||
645 | {{0x20,0x80}}, | ||
646 | {{0x05,0x14}}, | ||
647 | {{0x05,0x40}}, | ||
648 | {{0x05,0x60}} | ||
649 | }; | ||
650 | |||
651 | /**************************************************************/ | ||
652 | /* SIS VIDEO BRIDGE ----------------------------------------- */ | ||
653 | /**************************************************************/ | ||
654 | |||
655 | static const struct SiS_LCDData SiS300_St2LCD1024x768Data[] = | ||
656 | { | ||
657 | { 62, 25, 800, 546,1344, 806}, | ||
658 | { 32, 15, 930, 546,1344, 806}, | ||
659 | { 32, 15, 930, 546,1344, 806}, | ||
660 | { 104, 45, 945, 496,1344, 806}, | ||
661 | { 62, 25, 800, 546,1344, 806}, | ||
662 | { 31, 18,1008, 624,1344, 806}, | ||
663 | { 1, 1,1344, 806,1344, 806} | ||
664 | }; | ||
665 | |||
666 | static const struct SiS_LCDData SiS300_ExtLCD1024x768Data[] = | ||
667 | { | ||
668 | { 12, 5, 896, 512,1344, 806}, | ||
669 | { 12, 5, 896, 510,1344, 806}, | ||
670 | { 32, 15,1008, 505,1344, 806}, | ||
671 | { 32, 15,1008, 514,1344, 806}, | ||
672 | { 12, 5, 896, 500,1344, 806}, | ||
673 | { 42, 25,1024, 625,1344, 806}, | ||
674 | { 1, 1,1344, 806,1344, 806}, | ||
675 | { 12, 5, 896, 500,1344, 806}, | ||
676 | { 42, 25,1024, 625,1344, 806}, | ||
677 | { 1, 1,1344, 806,1344, 806}, | ||
678 | { 12, 5, 896, 500,1344, 806}, | ||
679 | { 42, 25,1024, 625,1344, 806}, | ||
680 | { 1, 1,1344, 806,1344, 806} | ||
681 | }; | ||
682 | |||
683 | static const struct SiS_LCDData SiS300_St2LCD1280x1024Data[] = | ||
684 | { | ||
685 | { 22, 5, 800, 510,1650,1088}, | ||
686 | { 22, 5, 800, 510,1650,1088}, | ||
687 | { 176, 45, 900, 510,1650,1088}, | ||
688 | { 176, 45, 900, 510,1650,1088}, | ||
689 | { 22, 5, 800, 510,1650,1088}, | ||
690 | { 13, 5,1024, 675,1560,1152}, | ||
691 | { 16, 9,1266, 804,1688,1072}, | ||
692 | { 1, 1,1688,1066,1688,1066} | ||
693 | }; | ||
694 | |||
695 | static const struct SiS_LCDData SiS300_ExtLCD1280x1024Data[] = | ||
696 | { | ||
697 | { 211, 60,1024, 501,1688,1066}, | ||
698 | { 211, 60,1024, 508,1688,1066}, | ||
699 | { 211, 60,1024, 501,1688,1066}, | ||
700 | { 211, 60,1024, 508,1688,1066}, | ||
701 | { 211, 60,1024, 500,1688,1066}, | ||
702 | { 211, 75,1024, 625,1688,1066}, | ||
703 | { 211, 120,1280, 798,1688,1066}, | ||
704 | { 1, 1,1688,1066,1688,1066} | ||
705 | }; | ||
706 | |||
707 | static const struct SiS_Part2PortTbl SiS300_CRT2Part2_1024x768_1[] = | ||
708 | { /* VESA Timing */ | ||
709 | {{0x21,0x12,0xbf,0xe4,0xc0,0x21,0x45,0x09,0x00,0xa9,0x09,0x04}}, | ||
710 | {{0x2c,0x12,0x9a,0xae,0x88,0x21,0x45,0x09,0x00,0xa9,0x09,0x04}}, | ||
711 | {{0x21,0x12,0xbf,0xe4,0xc0,0x21,0x45,0x09,0x00,0xa9,0x09,0x04}}, | ||
712 | {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}, | ||
713 | {{0x22,0x13,0xfe,0x25,0xff,0x21,0x45,0x0a,0x00,0xa9,0x0d,0x04}}, | ||
714 | {{0x22,0x13,0xfe,0x25,0xff,0x21,0x45,0x0a,0x00,0xa9,0x0d,0x04}}, | ||
715 | {{0x22,0x13,0xfe,0x25,0xff,0x21,0x45,0x0a,0x00,0xa9,0x0d,0x04}} | ||
716 | }; | ||
717 | |||
718 | static const struct SiS_Part2PortTbl SiS300_CRT2Part2_1024x768_2[] = | ||
719 | { /* Non-VESA */ | ||
720 | {{0x28,0x12,0xa3,0xd0,0xaa,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}}, | ||
721 | {{0x2c,0x12,0x9a,0xae,0x88,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}}, | ||
722 | {{0x28,0x12,0xa3,0xd0,0xaa,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}}, | ||
723 | {{0x2c,0x12,0x9a,0xae,0x88,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}}, | ||
724 | {{0x28,0x13,0xe7,0x0b,0xe8,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}}, | ||
725 | {{0x38,0x18,0x16,0x00,0x00,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}}, | ||
726 | {{0x36,0x13,0x13,0x25,0xff,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}} | ||
727 | }; | ||
728 | |||
729 | static const struct SiS_Part2PortTbl SiS300_CRT2Part2_1024x768_3[] = | ||
730 | { | ||
731 | {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} | ||
732 | }; | ||
733 | |||
734 | /**************************************************************/ | ||
735 | /* LVDS/Chrontel -------------------------------------------- */ | ||
736 | /**************************************************************/ | ||
737 | |||
738 | /* Custom data for Barco iQ R series */ | ||
739 | static const struct SiS_LVDSData SiS300_LVDSBARCO1366Data_1[]= | ||
740 | { | ||
741 | { 832, 438,1331, 806}, | ||
742 | { 832, 388,1331, 806}, | ||
743 | { 832, 438,1331, 806}, | ||
744 | { 832, 388,1331, 806}, | ||
745 | { 832, 518,1331, 806}, | ||
746 | {1050, 638,1344, 806}, | ||
747 | {1344, 806,1344, 806}, | ||
748 | {1688,1066,1688,1066}, | ||
749 | {1688,1066,1688,1066} /* 1360x1024 */ | ||
750 | }; | ||
751 | |||
752 | /* Custom data for Barco iQ R series */ | ||
753 | static const struct SiS_LVDSData SiS300_LVDSBARCO1366Data_2[]= | ||
754 | { | ||
755 | {1344, 806,1344, 806}, | ||
756 | {1344, 806,1344, 806}, | ||
757 | {1344, 806,1344, 806}, | ||
758 | {1344, 806,1344, 806}, | ||
759 | {1344, 806,1344, 806}, | ||
760 | {1344, 806,1344, 806}, | ||
761 | {1344, 806,1344, 806}, | ||
762 | {1688,1066,1688,1066}, | ||
763 | {1688,1066,1688,1066} /* 1360x1024 */ | ||
764 | }; | ||
765 | |||
766 | /* Custom data for Barco iQ G series */ | ||
767 | static const struct SiS_LVDSData SiS300_LVDSBARCO1024Data_1[]= | ||
768 | { | ||
769 | { 832, 438,1331, 806}, | ||
770 | { 832, 409,1331, 806}, | ||
771 | { 832, 438,1331, 806}, | ||
772 | { 832, 409,1331, 806}, | ||
773 | { 832, 518,1331, 806}, /* 640x480 */ | ||
774 | {1050, 638,1344, 806}, /* 800x600 */ | ||
775 | {1344, 806,1344, 806}, /* 1024x768 */ | ||
776 | }; | ||
777 | |||
778 | /* Custom data for 848x480 and 856x480 parallel LVDS panels */ | ||
779 | static const struct SiS_LVDSData SiS300_LVDS848x480Data_1[]= | ||
780 | { | ||
781 | { 0, 0, 0, 0}, | ||
782 | { 0, 0, 0, 0}, | ||
783 | { 0, 0, 0, 0}, | ||
784 | { 0, 0, 0, 0}, | ||
785 | {1088, 525,1088, 525}, /* 640x480 TODO */ | ||
786 | {1088, 525,1088, 525}, /* 800x600 TODO */ | ||
787 | {1088, 525,1088, 525}, /* 1024x768 TODO */ | ||
788 | { 0, 0, 0, 0}, | ||
789 | { 0, 0, 0, 0}, | ||
790 | { 0, 0, 0, 0}, | ||
791 | { 0, 0, 0, 0}, | ||
792 | {1088, 525,1088, 525}, /* 848x480 */ | ||
793 | {1088, 525,1088, 525}, /* 856x480 */ | ||
794 | {1088, 525,1088, 525} /* 1360x768 TODO */ | ||
795 | }; | ||
796 | |||
797 | /* Custom data for 848x480 parallel panel */ | ||
798 | static const struct SiS_LVDSData SiS300_LVDS848x480Data_2[]= | ||
799 | { | ||
800 | { 0, 0, 0, 0}, | ||
801 | { 0, 0, 0, 0}, | ||
802 | { 0, 0, 0, 0}, | ||
803 | { 0, 0, 0, 0}, | ||
804 | {1088, 525,1088, 525}, /* 640x480 */ | ||
805 | {1088, 525,1088, 525}, /* 800x600 */ | ||
806 | {1088, 525,1088, 525}, /* 1024x768 */ | ||
807 | { 0, 0, 0, 0}, | ||
808 | { 0, 0, 0, 0}, | ||
809 | { 0, 0, 0, 0}, | ||
810 | { 0, 0, 0, 0}, | ||
811 | {1088, 525,1088, 525}, /* 848x480 */ | ||
812 | {1088, 525,1088, 525}, /* 856x480 */ | ||
813 | {1088, 525,1088, 525} /* 1360x768 TODO */ | ||
814 | }; | ||
815 | |||
816 | static const struct SiS_LVDSData SiS300_CHTVUPALData[] = | ||
817 | { | ||
818 | {1008, 625,1008, 625}, | ||
819 | {1008, 625,1008, 625}, | ||
820 | {1008, 625,1008, 625}, | ||
821 | {1008, 625,1008, 625}, | ||
822 | { 840, 750, 840, 750}, | ||
823 | { 936, 836, 936, 836} | ||
824 | }; | ||
825 | |||
826 | static const struct SiS_LVDSData SiS300_CHTVOPALData[] = | ||
827 | { | ||
828 | {1008, 625,1008, 625}, | ||
829 | {1008, 625,1008, 625}, | ||
830 | {1008, 625,1008, 625}, | ||
831 | {1008, 625,1008, 625}, | ||
832 | { 840, 625, 840, 625}, | ||
833 | { 960, 750, 960, 750} | ||
834 | }; | ||
835 | |||
836 | static const struct SiS_LVDSData SiS300_CHTVSOPALData[] = | ||
837 | { | ||
838 | {1008, 625,1008, 625}, | ||
839 | {1008, 625,1008, 625}, | ||
840 | {1008, 625,1008, 625}, | ||
841 | {1008, 625,1008, 625}, | ||
842 | { 840, 500, 840, 500}, | ||
843 | { 944, 625, 944, 625} | ||
844 | }; | ||
845 | |||
846 | /* Custom des data for Barco iQ R200/300/400 (BIOS 2.00.07) */ | ||
847 | static const struct SiS_LVDSDes SiS300_PanelType04_1a[] = /* 1280x1024 (1366x1024) */ | ||
848 | { | ||
849 | {1330, 798}, /* 320x200 */ | ||
850 | {1330, 794}, | ||
851 | {1330, 798}, | ||
852 | {1330, 794}, | ||
853 | {1330, 0}, /* 640x480 / 320x240 */ | ||
854 | {1343, 0}, /* 800x600 / 400x300 */ | ||
855 | { 0, 805}, /* 1024x768 / 512x384 */ | ||
856 | {1688,1066}, /* 1280x1024 */ | ||
857 | { 0, 0} /* 1360x1024 */ | ||
858 | }; | ||
859 | |||
860 | static const struct SiS_LVDSDes SiS300_PanelType04_2a[] = | ||
861 | { | ||
862 | {1152, 622}, | ||
863 | {1152, 597}, | ||
864 | {1152, 622}, | ||
865 | {1152, 597}, | ||
866 | {1152, 662}, | ||
867 | {1232, 722}, | ||
868 | { 0, 805}, | ||
869 | {1688,1066}, | ||
870 | { 0, 0} | ||
871 | }; | ||
872 | |||
873 | /* Custom des data for Barco iQ G200/300/400 (BIOS 2.00.07) */ | ||
874 | static const struct SiS_LVDSDes SiS300_PanelType04_1b[] = /* 1024x768 */ | ||
875 | { | ||
876 | {1330, 798}, /* 320x200 */ | ||
877 | {1330, 794}, | ||
878 | {1330, 798}, | ||
879 | {1330, 794}, | ||
880 | {1330, 0}, /* 640x480 / 320x240 */ | ||
881 | {1343, 0}, /* 800x600 / 400x300 */ | ||
882 | { 0, 805} /* 1024x768 / 512x384 */ | ||
883 | }; | ||
884 | |||
885 | static const struct SiS_LVDSDes SiS300_PanelType04_2b[] = | ||
886 | { | ||
887 | {1152, 622}, | ||
888 | {1152, 597}, | ||
889 | {1152, 622}, | ||
890 | {1152, 597}, | ||
891 | {1152, 662}, | ||
892 | {1232, 722}, | ||
893 | { 0, 805} | ||
894 | }; | ||
895 | |||
896 | /* CRT1 CRTC for slave modes */ | ||
897 | |||
898 | static const struct SiS_LVDSCRT1Data SiS300_CHTVCRT1UNTSC[] = | ||
899 | { | ||
900 | {{0x64,0x4f,0x88,0x56,0x9f,0x56,0x3e, | ||
901 | 0xe8,0x84,0x8f,0x57,0x20,0x00,0x01, | ||
902 | 0x00 }}, | ||
903 | {{0x64,0x4f,0x88,0x56,0x9f,0x56,0x3e, | ||
904 | 0xd0,0x82,0x5d,0x57,0x00,0x00,0x01, | ||
905 | 0x00 }}, | ||
906 | {{0x64,0x4f,0x88,0x56,0x9f,0x56,0x3e, | ||
907 | 0xe8,0x84,0x8f,0x57,0x20,0x00,0x01, | ||
908 | 0x00 }}, | ||
909 | {{0x64,0x4f,0x88,0x56,0x9f,0x56,0x3e, | ||
910 | 0xd0,0x82,0x5d,0x57,0x00,0x00,0x01, | ||
911 | 0x00 }}, | ||
912 | {{0x5d,0x4f,0x81,0x53,0x9c,0x56,0xba, | ||
913 | 0x18,0x84,0xdf,0x57,0x00,0x00,0x01, | ||
914 | 0x00 }}, | ||
915 | {{0x80,0x63,0x84,0x6c,0x17,0xec,0xf0, | ||
916 | 0x90,0x8c,0x57,0xed,0x20,0x00,0x06, | ||
917 | 0x01 }} | ||
918 | }; | ||
919 | |||
920 | static const struct SiS_LVDSCRT1Data SiS300_CHTVCRT1ONTSC[] = | ||
921 | { | ||
922 | {{0x64,0x4f,0x88,0x5a,0x9f,0x0b,0x3e, | ||
923 | 0xc0,0x84,0x8f,0x0c,0x20,0x00,0x01, | ||
924 | 0x00 }}, | ||
925 | {{0x64,0x4f,0x88,0x5a,0x9f,0x0b,0x3e, | ||
926 | 0xb0,0x8d,0x5d,0x0c,0x00,0x00,0x01, | ||
927 | 0x00 }}, | ||
928 | {{0x64,0x4f,0x88,0x5a,0x9f,0x0b,0x3e, | ||
929 | 0xc0,0x84,0x8f,0x0c,0x20,0x00,0x01, | ||
930 | 0x00 }}, | ||
931 | {{0x64,0x4f,0x88,0x5a,0x9f,0x0b,0x3e, | ||
932 | 0xb0,0x8d,0x5d,0x0c,0x00,0x00,0x01, | ||
933 | 0x00 }}, | ||
934 | {{0x5d,0x4f,0x81,0x56,0x9c,0x0b,0x3e, | ||
935 | 0xe8,0x84,0xdf,0x0c,0x00,0x00,0x01, | ||
936 | 0x00 }}, | ||
937 | {{0x7d,0x63,0x81,0x6a,0x16,0xba,0xf0, | ||
938 | 0x7f,0x86,0x57,0xbb,0x00,0x00,0x06, | ||
939 | 0x01 }} | ||
940 | }; | ||
941 | |||
942 | static const struct SiS_LVDSCRT1Data SiS300_CHTVCRT1UPAL[] = | ||
943 | { | ||
944 | {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e, | ||
945 | 0xf8,0x83,0x8f,0x70,0x20,0x00,0x05, | ||
946 | 0x00 }}, | ||
947 | {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e, | ||
948 | 0xde,0x81,0x5d,0x70,0x00,0x00,0x05, | ||
949 | 0x00 }}, | ||
950 | {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e, | ||
951 | 0xf8,0x83,0x8f,0x70,0x20,0x00,0x05, | ||
952 | 0x00 }}, | ||
953 | {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e, | ||
954 | 0xde,0x81,0x5d,0x70,0x00,0x00,0x05, | ||
955 | 0x00 }}, | ||
956 | {{0x64,0x4f,0x88,0x55,0x80,0xec,0xba, | ||
957 | 0x50,0x84,0xdf,0xed,0x00,0x00,0x05, | ||
958 | 0x00 }}, | ||
959 | {{0x70,0x63,0x94,0x68,0x8d,0x42,0xf1, | ||
960 | 0xc8,0x8c,0x57,0xe9,0x20,0x00,0x05, | ||
961 | 0x01 }} | ||
962 | }; | ||
963 | |||
964 | static const struct SiS_LVDSCRT1Data SiS300_CHTVCRT1OPAL[] = | ||
965 | { | ||
966 | {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e, | ||
967 | 0xf0,0x83,0x8f,0x70,0x20,0x00,0x05, | ||
968 | 0x00 }}, | ||
969 | {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e, | ||
970 | 0xde,0x81,0x5d,0x70,0x00,0x00,0x05, | ||
971 | 0x00 }}, | ||
972 | {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e, | ||
973 | 0xf0,0x83,0x8f,0x70,0x20,0x00,0x05, | ||
974 | 0x00 }}, | ||
975 | {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e, | ||
976 | 0xde,0x81,0x5d,0x70,0x00,0x00,0x05, | ||
977 | 0x00 }}, | ||
978 | {{0x64,0x4f,0x88,0x55,0x80,0x6f,0xba, | ||
979 | 0x20,0x83,0xdf,0x70,0x00,0x00,0x05, | ||
980 | 0x00 }}, | ||
981 | {{0x73,0x63,0x97,0x69,0x8e,0xec,0xf0, | ||
982 | 0x90,0x8c,0x57,0xed,0x20,0x00,0x05, | ||
983 | 0x01 }} | ||
984 | }; | ||
985 | |||
986 | static const struct SiS_LVDSCRT1Data SiS300_CHTVCRT1SOPAL[] = | ||
987 | { | ||
988 | {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e, | ||
989 | 0xf0,0x83,0x8f,0x70,0x20,0x00,0x05, | ||
990 | 0x00 }}, | ||
991 | {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e, | ||
992 | 0xde,0x81,0x5d,0x70,0x00,0x00,0x05, | ||
993 | 0x00 }}, | ||
994 | {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e, | ||
995 | 0xf0,0x83,0x8f,0x70,0x20,0x00,0x05, | ||
996 | 0x00 }}, | ||
997 | {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e, | ||
998 | 0xde,0x81,0x5d,0x70,0x00,0x00,0x05, | ||
999 | 0x00 }}, | ||
1000 | {{0x64,0x4f,0x88,0x55,0x80,0x6f,0xba, /* TODO */ | ||
1001 | 0x20,0x83,0xdf,0x70,0x00,0x00,0x05, | ||
1002 | 0x00 }}, | ||
1003 | {{0x73,0x63,0x97,0x69,0x8e,0xec,0xf0, /* TODO */ | ||
1004 | 0x90,0x8c,0x57,0xed,0x20,0x00,0x05, | ||
1005 | 0x01 }} | ||
1006 | }; | ||
1007 | |||
1008 | static const struct SiS_CHTVRegData SiS300_CHTVReg_UNTSC[] = | ||
1009 | { | ||
1010 | {{0x4a,0x94,0x00,0x48,0xfe,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1011 | {{0x4a,0x94,0x00,0x48,0xfe,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1012 | {{0x4a,0x94,0x00,0x48,0xfe,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1013 | {{0x4a,0x94,0x00,0x48,0xfe,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1014 | {{0x6a,0x6a,0x00,0x2d,0xfa,0,0,0,0,0,0,0,0,0,0,0}}, /* Mode 17: 640x480 NTSC 7/8 */ | ||
1015 | {{0x8d,0xc4,0x00,0x3b,0xfb,0,0,0,0,0,0,0,0,0,0,0}} /* Mode 24: 800x600 NTSC 7/10 */ | ||
1016 | }; | ||
1017 | |||
1018 | static const struct SiS_CHTVRegData SiS300_CHTVReg_ONTSC[] = | ||
1019 | { | ||
1020 | {{0x49,0x94,0x00,0x34,0xfe,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1021 | {{0x49,0x94,0x00,0x34,0xfe,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1022 | {{0x49,0x94,0x00,0x34,0xfe,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1023 | {{0x49,0x94,0x00,0x34,0xfe,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1024 | {{0x69,0x6a,0x00,0x1e,0xfd,0,0,0,0,0,0,0,0,0,0,0}}, /* Mode 16: 640x480 NTSC 1/1 */ | ||
1025 | {{0x8c,0xb4,0x00,0x32,0xf9,0,0,0,0,0,0,0,0,0,0,0}} /* Mode 23: 800x600 NTSC 3/4 */ | ||
1026 | }; | ||
1027 | |||
1028 | static const struct SiS_CHTVRegData SiS300_CHTVReg_UPAL[] = | ||
1029 | { | ||
1030 | {{0x41,0x12,0x01,0x50,0x34,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1031 | {{0x41,0x12,0x00,0x50,0x00,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1032 | {{0x41,0x12,0x01,0x50,0x34,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1033 | {{0x41,0x12,0x00,0x50,0x00,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1034 | {{0x63,0x94,0x01,0x50,0x30,0,0,0,0,0,0,0,0,0,0,0}}, /* Mode 15: 640x480 PAL 5/6 */ | ||
1035 | {{0x84,0x64,0x01,0x4e,0x2f,0,0,0,0,0,0,0,0,0,0,0}} /* Mode 21: 800x600 PAL 3/4 */ | ||
1036 | |||
1037 | }; | ||
1038 | |||
1039 | static const struct SiS_CHTVRegData SiS300_CHTVReg_OPAL[] = | ||
1040 | { | ||
1041 | {{0x41,0x12,0x01,0x50,0x34,0,0,0,0,0,0,0,0,0,0,0}}, /* Mode 9: 640x400 PAL 1/1 */ | ||
1042 | {{0x41,0x12,0x00,0x50,0x00,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1043 | {{0x41,0x12,0x01,0x50,0x34,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1044 | {{0x41,0x12,0x00,0x50,0x00,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1045 | {{0x61,0x94,0x01,0x36,0x30,0,0,0,0,0,0,0,0,0,0,0}}, /* Mode 14: 640x480 PAL 1/1 */ | ||
1046 | {{0x83,0x76,0x01,0x40,0x31,0,0,0,0,0,0,0,0,0,0,0}} /* Mode 20: 800x600 PAL 5/6 */ | ||
1047 | |||
1048 | }; | ||
1049 | |||
1050 | static const struct SiS_CHTVRegData SiS300_CHTVReg_SOPAL[] = | ||
1051 | { | ||
1052 | {{0x41,0x12,0x01,0x50,0x34,0,0,0,0,0,0,0,0,0,0,0}}, /* Mode 9: 640x400 PAL 1/1 */ | ||
1053 | {{0x41,0x12,0x00,0x50,0x00,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1054 | {{0x41,0x12,0x01,0x50,0x34,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1055 | {{0x41,0x12,0x00,0x50,0x00,0,0,0,0,0,0,0,0,0,0,0}}, | ||
1056 | {{0x60,0x30,0x00,0x10,0x00,0,0,0,0,0,0,0,0,0,0,0}}, /* Mode 13: 640x480 PAL 5/4 */ | ||
1057 | {{0x81,0x50,0x00,0x1b,0x00,0,0,0,0,0,0,0,0,0,0,0}} /* Mode 19: 800x600 PAL 1/1 */ | ||
1058 | }; | ||
1059 | |||
1060 | static const unsigned char SiS300_CHTVVCLKUNTSC[] = { 0x29,0x29,0x29,0x29,0x2a,0x2e }; | ||
1061 | |||
1062 | static const unsigned char SiS300_CHTVVCLKONTSC[] = { 0x2c,0x2c,0x2c,0x2c,0x2d,0x2b }; | ||
1063 | |||
1064 | static const unsigned char SiS300_CHTVVCLKSONTSC[] = { 0x2c,0x2c,0x2c,0x2c,0x2d,0x2b }; | ||
1065 | |||
1066 | static const unsigned char SiS300_CHTVVCLKUPAL[] = { 0x2f,0x2f,0x2f,0x2f,0x2f,0x31 }; | ||
1067 | |||
1068 | static const unsigned char SiS300_CHTVVCLKOPAL[] = { 0x2f,0x2f,0x2f,0x2f,0x30,0x32 }; | ||
1069 | |||
1070 | static const unsigned char SiS300_CHTVVCLKSOPAL[] = { 0x2f,0x2f,0x2f,0x2f,0x36,0x29 }; | ||
1071 | |||
1072 | |||