172b676d7Smrg/* 272b676d7Smrg * OEM Data for 315/330/340 series 372b676d7Smrg * 472b676d7Smrg * Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria 572b676d7Smrg * 672b676d7Smrg * If distributed as part of the Linux kernel, the following license terms 772b676d7Smrg * apply: 872b676d7Smrg * 972b676d7Smrg * * This program is free software; you can redistribute it and/or modify 1072b676d7Smrg * * it under the terms of the GNU General Public License as published by 1172b676d7Smrg * * the Free Software Foundation; either version 2 of the named License, 1272b676d7Smrg * * or any later version. 1372b676d7Smrg * * 1472b676d7Smrg * * This program is distributed in the hope that it will be useful, 1572b676d7Smrg * * but WITHOUT ANY WARRANTY; without even the implied warranty of 1672b676d7Smrg * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1772b676d7Smrg * * GNU General Public License for more details. 1872b676d7Smrg * * 1972b676d7Smrg * * You should have received a copy of the GNU General Public License 2072b676d7Smrg * * along with this program; if not, write to the Free Software 2172b676d7Smrg * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA 2272b676d7Smrg * 2372b676d7Smrg * Otherwise, the following license terms apply: 2472b676d7Smrg * 2572b676d7Smrg * * Redistribution and use in source and binary forms, with or without 2672b676d7Smrg * * modification, are permitted provided that the following conditions 2772b676d7Smrg * * are met: 2872b676d7Smrg * * 1) Redistributions of source code must retain the above copyright 2972b676d7Smrg * * notice, this list of conditions and the following disclaimer. 3072b676d7Smrg * * 2) Redistributions in binary form must reproduce the above copyright 3172b676d7Smrg * * notice, this list of conditions and the following disclaimer in the 3272b676d7Smrg * * documentation and/or other materials provided with the distribution. 3372b676d7Smrg * * 3) The name of the author may not be used to endorse or promote products 3472b676d7Smrg * * derived from this software without specific prior written permission. 3572b676d7Smrg * * 3672b676d7Smrg * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 3772b676d7Smrg * * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 3872b676d7Smrg * * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 3972b676d7Smrg * * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 4072b676d7Smrg * * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 4172b676d7Smrg * * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 4272b676d7Smrg * * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 4372b676d7Smrg * * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 4472b676d7Smrg * * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 4572b676d7Smrg * * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 4672b676d7Smrg * 4772b676d7Smrg * Author: Thomas Winischhofer <thomas@winischhofer.net> 4872b676d7Smrg * 4972b676d7Smrg */ 5072b676d7Smrg 5172b676d7Smrgstatic const unsigned char SiS310_LCDDelayCompensation_301[] = /* 301 */ 5272b676d7Smrg{ 5372b676d7Smrg 0x00,0x00,0x00, /* 800x600 */ 5472b676d7Smrg 0x0b,0x0b,0x0b, /* 1024x768 */ 5572b676d7Smrg 0x08,0x08,0x08, /* 1280x1024 */ 5672b676d7Smrg 0x00,0x00,0x00, /* 640x480 (unknown) */ 5772b676d7Smrg 0x00,0x00,0x00, /* 1024x600 (unknown) */ 5872b676d7Smrg 0x00,0x00,0x00, /* 1152x864 (unknown) */ 5972b676d7Smrg 0x08,0x08,0x08, /* 1280x960 (guessed) */ 6072b676d7Smrg 0x00,0x00,0x00, /* 1152x768 (unknown) */ 6172b676d7Smrg 0x08,0x08,0x08, /* 1400x1050 */ 6272b676d7Smrg 0x08,0x08,0x08, /* 1280x768 (guessed) */ 6372b676d7Smrg 0x00,0x00,0x00, /* 1600x1200 */ 6472b676d7Smrg 0x00,0x00,0x00, /* 320x480 (unknown) */ 6572b676d7Smrg 0x00,0x00,0x00, 6672b676d7Smrg 0x00,0x00,0x00, 6772b676d7Smrg 0x00,0x00,0x00 6872b676d7Smrg}; 6972b676d7Smrg 7072b676d7Smrg/* This is contained in 650+301B BIOSes, but it is wrong - so we don't use it */ 7172b676d7Smrgstatic const unsigned char SiS310_LCDDelayCompensation_650301LV[] = /* 650 + 30xLV */ 7272b676d7Smrg{ 7372b676d7Smrg 0x01,0x01,0x01, /* 800x600 */ 7472b676d7Smrg 0x01,0x01,0x01, /* 1024x768 */ 7572b676d7Smrg 0x01,0x01,0x01, /* 1280x1024 */ 7672b676d7Smrg 0x01,0x01,0x01, /* 640x480 (unknown) */ 7772b676d7Smrg 0x01,0x01,0x01, /* 1024x600 (unknown) */ 7872b676d7Smrg 0x01,0x01,0x01, /* 1152x864 (unknown) */ 7972b676d7Smrg 0x01,0x01,0x01, /* 1280x960 (guessed) */ 8072b676d7Smrg 0x01,0x01,0x01, /* 1152x768 (unknown) */ 8172b676d7Smrg 0x01,0x01,0x01, /* 1400x1050 */ 8272b676d7Smrg 0x01,0x01,0x01, /* 1280x768 (guessed) */ 8372b676d7Smrg 0x01,0x01,0x01, /* 1600x1200 */ 8472b676d7Smrg 0x02,0x02,0x02, 8572b676d7Smrg 0x02,0x02,0x02, 8672b676d7Smrg 0x02,0x02,0x02, 8772b676d7Smrg 0x02,0x02,0x02 8872b676d7Smrg}; 8972b676d7Smrg 9072b676d7Smrgstatic const unsigned char SiS310_LCDDelayCompensation_651301LV[] = /* M650/651 301LV */ 9172b676d7Smrg{ 9272b676d7Smrg 0x33,0x33,0x33, /* 800x600 (guessed) - new: PanelType, not PanelRes ! */ 9372b676d7Smrg 0x33,0x33,0x33, /* 1024x768 */ 9472b676d7Smrg 0x33,0x33,0x33, /* 1280x1024 */ 9572b676d7Smrg 0x33,0x33,0x33, /* 640x480 (unknown) */ 9672b676d7Smrg 0x33,0x33,0x33, /* 1024x600 (unknown) */ 9772b676d7Smrg 0x33,0x33,0x33, /* 1152x864 (unknown) */ 9872b676d7Smrg 0x33,0x33,0x33, /* 1280x960 (guessed) */ 9972b676d7Smrg 0x33,0x33,0x33, /* 1152x768 (unknown) */ 10072b676d7Smrg 0x33,0x33,0x33, /* 1400x1050 */ 10172b676d7Smrg 0x33,0x33,0x33, /* 1280x768 (guessed) */ 10272b676d7Smrg 0x33,0x33,0x33, /* 1600x1200 */ 10372b676d7Smrg 0x33,0x33,0x33, 10472b676d7Smrg 0x33,0x33,0x33, 10572b676d7Smrg 0x33,0x33,0x33, 10672b676d7Smrg 0x33,0x33,0x33 10772b676d7Smrg}; 10872b676d7Smrg 10972b676d7Smrgstatic const unsigned char SiS310_LCDDelayCompensation_651302LV[] = /* M650/651 302LV */ 11072b676d7Smrg{ 11172b676d7Smrg 0x33,0x33,0x33, /* 800x600 (guessed) */ 11272b676d7Smrg 0x33,0x33,0x33, /* 1024x768 */ 11372b676d7Smrg 0x33,0x33,0x33, /* 1280x1024 */ 11472b676d7Smrg 0x33,0x33,0x33, /* 640x480 (unknown) */ 11572b676d7Smrg 0x33,0x33,0x33, /* 1024x600 (unknown) */ 11672b676d7Smrg 0x33,0x33,0x33, /* 1152x864 (unknown) */ 11772b676d7Smrg 0x33,0x33,0x33, /* 1280x960 (guessed) */ 11872b676d7Smrg 0x33,0x33,0x33, /* 1152x768 (unknown) */ 11972b676d7Smrg 0x33,0x33,0x33, /* 1400x1050 */ 12072b676d7Smrg 0x33,0x33,0x33, /* 1280x768 (guessed) */ 12172b676d7Smrg 0x33,0x33,0x33, /* 1600x1200 */ 12272b676d7Smrg 0x33,0x33,0x33, 12372b676d7Smrg 0x33,0x33,0x33, 12472b676d7Smrg 0x33,0x33,0x33, 12572b676d7Smrg 0x33,0x33,0x33 12672b676d7Smrg}; 12772b676d7Smrg 12872b676d7Smrgstatic const unsigned char SiS310_LCDDelayCompensation_3xx301B[] = /* 30xB */ 12972b676d7Smrg{ 13072b676d7Smrg 0x01,0x01,0x01, /* 800x600 */ 13172b676d7Smrg 0x0C,0x0C,0x0C, /* 1024x768 */ 13272b676d7Smrg 0x0C,0x0C,0x0C, /* 1280x1024 */ 13372b676d7Smrg 0x08,0x08,0x08, /* 640x480 */ 13472b676d7Smrg 0x0C,0x0C,0x0C, /* 1024x600 (guessed) */ 13572b676d7Smrg 0x0C,0x0C,0x0C, /* 1152x864 (guessed) */ 13672b676d7Smrg 0x0C,0x0C,0x0C, /* 1280x960 (guessed) */ 13772b676d7Smrg 0x0C,0x0C,0x0C, /* 1152x768 (guessed) */ 13872b676d7Smrg 0x0C,0x0C,0x0C, /* 1400x1050 (guessed) */ 13972b676d7Smrg 0x0C,0x0C,0x0C, /* 1280x768 (guessed) */ 14072b676d7Smrg 0x0C,0x0C,0x0C, /* 1600x1200 (guessed) */ 14172b676d7Smrg 0x02,0x02,0x02, 14272b676d7Smrg 0x02,0x02,0x02, 14372b676d7Smrg 0x02,0x02,0x02, 14472b676d7Smrg 0x02,0x02,0x02 14572b676d7Smrg}; 14672b676d7Smrg 14772b676d7Smrgstatic const unsigned char SiS310_LCDDelayCompensation_3xx301LV[] = /* 315+30xLV */ 14872b676d7Smrg{ 14972b676d7Smrg 0x01,0x01,0x01, /* 800x600 */ 15072b676d7Smrg 0x04,0x04,0x04, /* 1024x768 (A531/BIOS 1.14.05f: 4 - works with 6 */ 15172b676d7Smrg 0x0C,0x0C,0x0C, /* 1280x1024 */ 15272b676d7Smrg 0x08,0x08,0x08, /* 640x480 */ 15372b676d7Smrg 0x0C,0x0C,0x0C, /* 1024x600 (guessed) */ 15472b676d7Smrg 0x0C,0x0C,0x0C, /* 1152x864 (guessed) */ 15572b676d7Smrg 0x0C,0x0C,0x0C, /* 1280x960 (guessed) */ 15672b676d7Smrg 0x0C,0x0C,0x0C, /* 1152x768 (guessed) */ 15772b676d7Smrg 0x0C,0x0C,0x0C, /* 1400x1050 (guessed) */ 15872b676d7Smrg 0x0C,0x0C,0x0C, /* 1280x768 (guessed) */ 15972b676d7Smrg 0x0C,0x0C,0x0C, /* 1600x1200 (guessed) */ 16072b676d7Smrg 0x02,0x02,0x02, 16172b676d7Smrg 0x02,0x02,0x02, 16272b676d7Smrg 0x02,0x02,0x02, 16372b676d7Smrg 0x02,0x02,0x02 16472b676d7Smrg}; 16572b676d7Smrg 16672b676d7Smrgstatic const unsigned char SiS310_TVDelayCompensation_301[] = /* 301 */ 16772b676d7Smrg{ 16872b676d7Smrg 0x02,0x02, /* NTSC Enhanced, Standard */ 16972b676d7Smrg 0x02,0x02, /* PAL */ 17072b676d7Smrg 0x08,0x0b /* HiVision */ 17172b676d7Smrg}; 17272b676d7Smrg 17372b676d7Smrgstatic const unsigned char SiS310_TVDelayCompensation_301B[] = /* 30xB, 30xLV */ 17472b676d7Smrg{ 17572b676d7Smrg 0x03,0x03, 17672b676d7Smrg 0x03,0x03, 17772b676d7Smrg 0x03,0x03 17872b676d7Smrg}; 17972b676d7Smrg 18072b676d7Smrgstatic const unsigned char SiS310_TVDelayCompensation_740301B[] = /* 740 + 30xB (30xLV?) */ 18172b676d7Smrg{ 18272b676d7Smrg 0x05,0x05, 18372b676d7Smrg 0x05,0x05, 18472b676d7Smrg 0x05,0x05 18572b676d7Smrg}; 18672b676d7Smrg 18772b676d7Smrgstatic const unsigned char SiS310_TVDelayCompensation_651301LV[] = /* M650, 651, 301LV */ 18872b676d7Smrg{ 18972b676d7Smrg 0x33,0x33, 19072b676d7Smrg 0x33,0x33, 19172b676d7Smrg 0x33,0x33 19272b676d7Smrg}; 19372b676d7Smrg 19472b676d7Smrgstatic const unsigned char SiS310_TVDelayCompensation_651302LV[] = /* M650, 651, 302LV */ 19572b676d7Smrg{ 19672b676d7Smrg 0x33,0x33, 19772b676d7Smrg 0x33,0x33, 19872b676d7Smrg 0x33,0x33 19972b676d7Smrg}; 20072b676d7Smrg 20172b676d7Smrgstatic const unsigned char SiS_TVDelay661_301[] = /* 661, 301 */ 20272b676d7Smrg{ 20372b676d7Smrg 0x44,0x44, 20472b676d7Smrg 0x44,0x44, 20572b676d7Smrg 0x00,0x00, 20672b676d7Smrg 0x44,0x44, 20772b676d7Smrg 0x44,0x44, 20872b676d7Smrg 0x44,0x44 20972b676d7Smrg}; 21072b676d7Smrg 21172b676d7Smrgstatic const unsigned char SiS_TVDelay661_301B[] = /* 661, 301B et al */ 21272b676d7Smrg{ 21372b676d7Smrg 0x44,0x44, 21472b676d7Smrg 0x44,0x44, 21572b676d7Smrg 0x00,0x00, 21672b676d7Smrg 0x44,0x44, 21772b676d7Smrg 0x44,0x44, 21872b676d7Smrg 0x44,0x44 21972b676d7Smrg}; 22072b676d7Smrg 22172b676d7Smrgstatic const unsigned char SiS310_TVDelayCompensation_LVDS[] = /* LVDS */ 22272b676d7Smrg{ 22372b676d7Smrg 0x0a,0x0a, 22472b676d7Smrg 0x0a,0x0a, 22572b676d7Smrg 0x0a,0x0a 22672b676d7Smrg}; 22772b676d7Smrg 22872b676d7Smrgstatic const unsigned char SiS310_TVAntiFlick1[6][2] = 22972b676d7Smrg{ 23072b676d7Smrg {0x4,0x0}, 23172b676d7Smrg {0x4,0x8}, 23272b676d7Smrg {0x0,0x0}, 23372b676d7Smrg {0x0,0x0}, 23472b676d7Smrg {0x0,0x0}, 23572b676d7Smrg {0x0,0x0} 23672b676d7Smrg}; 23772b676d7Smrg 23872b676d7Smrgstatic const unsigned char SiS310_TVEdge1[6][2] = 23972b676d7Smrg{ 24072b676d7Smrg {0x0,0x4}, 24172b676d7Smrg {0x0,0x4}, 24272b676d7Smrg {0x0,0x0}, 24372b676d7Smrg {0x0,0x0}, 24472b676d7Smrg {0x0,0x0}, 24572b676d7Smrg {0x0,0x0} 24672b676d7Smrg}; 24772b676d7Smrg 24872b676d7Smrgstatic const unsigned char SiS310_TVYFilter1[5][8][4] = 24972b676d7Smrg{ 25072b676d7Smrg { 25172b676d7Smrg {0x00,0xf4,0x10,0x38}, /* NTSC */ 25272b676d7Smrg {0x00,0xf4,0x10,0x38}, 25372b676d7Smrg {0xeb,0x04,0x25,0x18}, 25472b676d7Smrg {0xf1,0x04,0x1f,0x18}, 25572b676d7Smrg {0x00,0xf4,0x10,0x38}, 25672b676d7Smrg {0xeb,0x04,0x25,0x18}, 25772b676d7Smrg {0xee,0x0c,0x22,0x08}, 25872b676d7Smrg {0xeb,0x15,0x25,0xf6} 25972b676d7Smrg }, 26072b676d7Smrg { 26172b676d7Smrg {0x00,0xf4,0x10,0x38}, /* PAL */ 26272b676d7Smrg {0x00,0xf4,0x10,0x38}, 26372b676d7Smrg {0xf1,0xf7,0x1f,0x32}, 26472b676d7Smrg {0xf3,0x00,0x1d,0x20}, 26572b676d7Smrg {0x00,0xf4,0x10,0x38}, 26672b676d7Smrg {0xf1,0xf7,0x1f,0x32}, 26772b676d7Smrg {0xf3,0x00,0x1d,0x20}, 26872b676d7Smrg {0xfc,0xfb,0x14,0x2a} 26972b676d7Smrg }, 27072b676d7Smrg { 27172b676d7Smrg {0x00,0x00,0x00,0x00}, /* HiVision */ 27272b676d7Smrg {0x00,0xf4,0x10,0x38}, 27372b676d7Smrg {0x00,0xf4,0x10,0x38}, 27472b676d7Smrg {0xeb,0x04,0x25,0x18}, 27572b676d7Smrg {0xf7,0x06,0x19,0x14}, 27672b676d7Smrg {0x00,0xf4,0x10,0x38}, 27772b676d7Smrg {0xeb,0x04,0x25,0x18}, 27872b676d7Smrg {0xee,0x0c,0x22,0x08} 27972b676d7Smrg }, 28072b676d7Smrg { 28172b676d7Smrg {0x00,0xf4,0x10,0x38}, /* PAL-M */ 28272b676d7Smrg {0x00,0xf4,0x10,0x38}, 28372b676d7Smrg {0xeb,0x04,0x10,0x18}, 28472b676d7Smrg {0xf7,0x06,0x19,0x14}, 28572b676d7Smrg {0x00,0xf4,0x10,0x38}, 28672b676d7Smrg {0xeb,0x04,0x25,0x18}, 28772b676d7Smrg {0xeb,0x04,0x25,0x18}, 28872b676d7Smrg {0xeb,0x15,0x25,0xf6} 28972b676d7Smrg }, 29072b676d7Smrg { 29172b676d7Smrg {0x00,0xf4,0x10,0x38}, /* PAL-N */ 29272b676d7Smrg {0x00,0xf4,0x10,0x38}, 29372b676d7Smrg {0xeb,0x04,0x10,0x18}, 29472b676d7Smrg {0xf7,0x06,0x19,0x14}, 29572b676d7Smrg {0x00,0xf4,0x10,0x38}, 29672b676d7Smrg {0xeb,0x04,0x25,0x18}, 29772b676d7Smrg {0xeb,0x04,0x25,0x18}, 29872b676d7Smrg {0xeb,0x15,0x25,0xf6} 29972b676d7Smrg } 30072b676d7Smrg}; 30172b676d7Smrg 30272b676d7Smrgstatic const unsigned char SiS310_TVYFilter2[5][9][7] = 30372b676d7Smrg{ 30472b676d7Smrg { 30572b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, /* NTSC */ 30672b676d7Smrg {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 30772b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 30872b676d7Smrg {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 30972b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 31072b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 31172b676d7Smrg {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 31272b676d7Smrg {0x01,0x01,0xFC,0xF8,0x08,0x26,0x38}, 31372b676d7Smrg {0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28} 31472b676d7Smrg }, 31572b676d7Smrg { 31672b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, /* PAL */ 31772b676d7Smrg {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 31872b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 31972b676d7Smrg {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 32072b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 32172b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 32272b676d7Smrg {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 32372b676d7Smrg {0x01,0x01,0xFC,0xF8,0x08,0x26,0x38}, 32472b676d7Smrg {0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28} 32572b676d7Smrg }, 32672b676d7Smrg { 32772b676d7Smrg {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}, /* HiVision */ 32872b676d7Smrg {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}, 32972b676d7Smrg {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}, 33072b676d7Smrg {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}, 33172b676d7Smrg {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}, 33272b676d7Smrg {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}, 33372b676d7Smrg {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}, 33472b676d7Smrg {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22}, 33572b676d7Smrg {0x00,0x00,0x00,0xF4,0xFF,0x1C,0x22} 33672b676d7Smrg }, 33772b676d7Smrg { 33872b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, /* PAL-M */ 33972b676d7Smrg {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 34072b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 34172b676d7Smrg {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 34272b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 34372b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 34472b676d7Smrg {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 34572b676d7Smrg {0x01,0x01,0xFC,0xF8,0x08,0x26,0x38}, 34672b676d7Smrg {0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28} 34772b676d7Smrg }, 34872b676d7Smrg { 34972b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, /* PAL-N */ 35072b676d7Smrg {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 35172b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 35272b676d7Smrg {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 35372b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 35472b676d7Smrg {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, 35572b676d7Smrg {0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C}, 35672b676d7Smrg {0x01,0x01,0xFC,0xF8,0x08,0x26,0x38}, 35772b676d7Smrg {0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28} 35872b676d7Smrg } 35972b676d7Smrg}; 36072b676d7Smrg 36172b676d7Smrgstatic const unsigned char SiS310_TVPhaseIncr1[3][2][4] = 36272b676d7Smrg{ 36372b676d7Smrg { 36472b676d7Smrg {0x21,0xed,0xba,0x08}, 36572b676d7Smrg {0x21,0xed,0xba,0x08} 36672b676d7Smrg }, 36772b676d7Smrg { 36872b676d7Smrg {0x2a,0x05,0xe3,0x00}, 36972b676d7Smrg {0x2a,0x05,0xe3,0x00} 37072b676d7Smrg }, 37172b676d7Smrg { 37272b676d7Smrg {0x2a,0x05,0xd3,0x00}, 37372b676d7Smrg {0x2a,0x05,0xd3,0x00} 37472b676d7Smrg } 37572b676d7Smrg}; 37672b676d7Smrg 37772b676d7Smrgstatic const unsigned char SiS310_TVPhaseIncr2[3][2][4] = 37872b676d7Smrg{ 37972b676d7Smrg { 38072b676d7Smrg {0x21,0xf0,0x7b,0xd6}, 38172b676d7Smrg {0x21,0xf0,0x7b,0xd6} 38272b676d7Smrg }, 38372b676d7Smrg { 38472b676d7Smrg {0x2a,0x0a,0x41,0xe9}, 38572b676d7Smrg {0x2a,0x0a,0x41,0xe9} 38672b676d7Smrg }, 38772b676d7Smrg { 38872b676d7Smrg {0x2a,0x05,0xd3,0x00}, 38972b676d7Smrg {0x2a,0x05,0xd3,0x00} 39072b676d7Smrg } 39172b676d7Smrg}; 39272b676d7Smrg 39372b676d7Smrg/**************************************************************/ 39472b676d7Smrg/* CUSTOM TIMING DATA --------------------------------------- */ 39572b676d7Smrg/**************************************************************/ 39672b676d7Smrg 39772b676d7Smrg/* Inventec / Compaq Presario 3045US, 3017 */ 39872b676d7Smrg 39972b676d7Smrgstatic const struct SiS_LCDData SiS310_ExtCompaq1280x1024Data[] = 40072b676d7Smrg{ 40172b676d7Smrg { 211, 60,1024, 501,1688,1066}, 40272b676d7Smrg { 211, 60,1024, 508,1688,1066}, 40372b676d7Smrg { 211, 60,1024, 501,1688,1066}, 40472b676d7Smrg { 211, 60,1024, 508,1688,1066}, 40572b676d7Smrg { 32, 15,1696, 501,1696,1066}, 40672b676d7Smrg { 212, 75,1024, 621,1696,1066}, 40772b676d7Smrg { 4, 3,1696, 810,1696,1066}, 40872b676d7Smrg { 1, 1,1696,1066,1696,1066} 40972b676d7Smrg}; 41072b676d7Smrg 41172b676d7Smrg/* Asus A2xxxH _2 */ 41272b676d7Smrg 41372b676d7Smrgstatic const struct SiS_Part2PortTbl SiS310_CRT2Part2_Asus1024x768_3[] = 41472b676d7Smrg{ 41572b676d7Smrg {{0x25,0x13,0xc9,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}}, 41672b676d7Smrg {{0x2c,0x13,0x9a,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}}, 41772b676d7Smrg {{0x25,0x13,0xc9,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}}, 41872b676d7Smrg {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}, 41972b676d7Smrg {{0x38,0x13,0x13,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}}, 42072b676d7Smrg {{0x38,0x13,0x16,0x25,0xff,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}}, 42172b676d7Smrg {{0x36,0x13,0x13,0x25,0xff,0x5a,0x45,0x0a,0x07,0xfa,0x0a,0x24}}, 42272b676d7Smrg {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}, 42372b676d7Smrg {{0x25,0x13,0xc9,0x25,0xff,0x59,0x45,0x09,0x07,0xf9,0x09,0x24}} 42472b676d7Smrg}; 42572b676d7Smrg 42672b676d7Smrg 42772b676d7Smrg 42872b676d7Smrg 429