/* $XFree86$ */ /* $XdotOrg$ */ /* * Global definitions for init.c and init301.c * * Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria * * If distributed as part of the Linux kernel, the following license terms * apply: * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the named License, * * or any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA * * Otherwise, the following license terms apply: * * * Redistribution and use in source and binary forms, with or without * * modification, are permitted provided that the following conditions * * are met: * * 1) Redistributions of source code must retain the above copyright * * notice, this list of conditions and the following disclaimer. * * 2) Redistributions in binary form must reproduce the above copyright * * notice, this list of conditions and the following disclaimer in the * * documentation and/or other materials provided with the distribution. * * 3) The name of the author may not be used to endorse or promote products * * derived from this software without specific prior written permission. * * * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * Author: Thomas Winischhofer <thomas@winischhofer.net> *
*/
/* SysFlags (to identify special versions) */ #define SF_Is651 0x0001 #define SF_IsM650 0x0002 #define SF_Is652 0x0004 #define SF_IsM652 0x0008 #define SF_IsM653 0x0010 #define SF_IsM661 0x0020 #define SF_IsM741 0x0040 #define SF_IsM760 0x0080 #define SF_760UMA 0x4000 /* 76x: We have UMA */ #define SF_760LFB 0x8000 /* 76x: We have LFB */
/* CR32 (Newer 630, and 315 series)
[0] VB connected with CVBS [1] VB connected with SVHS [2] VB connected with SCART [3] VB connected with LCD [4] VB connected with CRT2 (secondary VGA) [5] CRT1 monitor is connected [6] VB connected with Hi-Vision TV [7] <= 330: VB connected with DVI combo connector >= 661: VB connected to YPbPr
*/
/* CR37 [0] Set 24/18 bit (0/1) RGB to LVDS/TMDS transmitter (set by BIOS) [3:1] External chip 300 series: 001 SiS301 (never seen) 010 LVDS 011 LVDS + Tumpion Zurac 100 LVDS + Chrontel 7005 110 Chrontel 7005 315/330 series 001 SiS30x (never seen) 010 LVDS 011 LVDS + Chrontel 7019 660 series [2:1] only: reserved (chip type now in CR38) All other combinations reserved [3] 661 only: Pass 1:1 data [4] LVDS: 0: Panel Link expands / 1: Panel Link does not expand 30x: 0: Bridge scales / 1: Bridge does not scale = Panel scales (if possible) [5] LCD polarity select 0: VESA DMT Standard 1: EDID 2.x defined [6] LCD horizontal polarity select 0: High active 1: Low active [7] LCD vertical polarity select 0: High active 1: Low active
*/
/* CR39 (650 only) */ #define LCDPass1_1 0x01 /* 0: center screen, 1: pass 1:1 data output */ #define Enable302LV_DualLink 0x04 /* 302LV only; enable dual link */
/* CR39 (661 and later) D[7] LVDS (SiS or third party) D[1:0] YPbPr Aspect Ratio 00 4:3 letterbox 01 4:3 10 16:9 11 4:3
*/
/* CR3B (651+301C) D[1:0] YPbPr Aspect Ratio ?
*/
/* CR79 (315/330 series only; not 661 and later) [3-0] Notify driver 0001 Mode Switch event (set by BIOS) 0010 Epansion On/Off event 0011 TV UnderScan/OverScan event 0100 Set Brightness event 0101 Set Contrast event 0110 Set Mute event 0111 Set Volume Up/Down event [4] Enable Backlight Control by BIOS/driver (set by driver; set means that the BIOS should not touch the backlight registers because eg. the driver already switched off the backlight) [5] PAL/NTSC (set by BIOS) [6] Expansion On/Off (set by BIOS; copied to CR32[4]) [7] TV UnderScan/OverScan (set by BIOS)
*/
/* CR7C - 661 and later [7] DualEdge enabled (or: to be enabled) [6] CRT2 = TV/LCD/VGA enabled (or: to be enabled) [5] Init done (set at end of SiS_Init) {4] LVDS LCD capabilities [3] LVDS LCD capabilities [2] LVDS LCD capabilities (PWD) [1] LVDS LCD capabilities (PWD) [0] LVDS=1, TMDS=0 (SiS or third party)
*/
/* CR7E - 661 and later VBType: [7] LVDS (third party) [3] 301C [2] 302LV [1] 301LV [0] 301B
*/
#define VCLK28 0x00 /* Index in VCLKData table (300 and 315) */ #define VCLK40 0x04 /* Index in VCLKData table (300 and 315) */ #define VCLK65_300 0x09 /* Index in VCLKData table (300) */ #define VCLK108_2_300 0x14 /* Index in VCLKData table (300) */ #define VCLK81_300 0x3f /* Index in VCLKData table (300) */ #define VCLK108_3_300 0x42 /* Index in VCLKData table (300) */ #define VCLK100_300 0x43 /* Index in VCLKData table (300) */ #define VCLK34_300 0x3d /* Index in VCLKData table (300) */ #define VCLK_CUSTOM_300 0x47
#define TVCLKBASE_300 0x21 /* Indices on TV clocks in VCLKData table (300) */ #define TVCLKBASE_315 0x3a /* Indices on TV clocks in (VB)VCLKData table (315) */ #define TVVCLKDIV2 0x00 /* Index relative to TVCLKBASE */ #define TVVCLK 0x01 /* Index relative to TVCLKBASE */ #define HiTVVCLKDIV2 0x02 /* Index relative to TVCLKBASE */ #define HiTVVCLK 0x03 /* Index relative to TVCLKBASE */ #define HiTVSimuVCLK 0x04 /* Index relative to TVCLKBASE */ #define HiTVTextVCLK 0x05 /* Index relative to TVCLKBASE */ #define YPbPr750pVCLK 0x25 /* Index relative to TVCLKBASE; was 0x0f NOT relative */
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.