⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tbl1622a.h

📁 VIA Framebuffer driver
💻 H
📖 第 1 页 / 共 5 页
字号:
/*
 * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
 * Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sub license,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice (including the
 * next paragraph) shall be included in all copies or substantial portions
 * of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
 * VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 * DEALINGS IN THE SOFTWARE.
 */
 
#ifndef __TBL1622A_H__
#define __TBL1622A_H__

#include "share.h"

/***************************/
/* VT1622A TV Encoder Table*/
/***************************/
typedef struct _vt1622a_func_table {
    int     tv_func_index;
    u16     *tv_underscan;
    u16     *tv_fitscan;
    u16     *tv_overscan;
} vt1622a_func_table;

struct vt1622a_table {
    int     tv_index;
    vt1622a_func_table   *tv_mode_ntsc;
    vt1622a_func_table   *tv_mode_pal;
};


/* Underscan table */
static u16 VT1622A_N640x480_VN[] = {
						                        // 
    0x0400, 0x0001, 0x0002, 0x0603, 0x0304,     // TV.00-04
    0x0005, 0x2006, 0x2707, 0x9A08, 0x0C09,     // Tv.05-09
    0x550A, 0x000B, 0x520C, 0x3B0D, 0x0F0E,     // TV.0A-0E
    0x000F, 0x0010, 0x0011, 0xF812, 0x3E13,     // TV.0F-13
    0x8114, 0x5615, 0xF116, 0x9117, 0x2418,     // TV.14-18
    0x2519, 0xEA1A, 0x101B, 0x001C, 0x801D,     // TV.19-1D
    0x001E, 0x111F, 0x1520, 0x0C21, 0x5F22,     // TV.1E-22
    0x7523, 0x0824,                             // TV.23-24

						                        // 
    0x5625, 0x2F26, 0x9027, 0x5028, 0x0029,     // TV.25-29
    0x002A, 0xA32B, 0x292C, 0x5B2D, 0xBF2E,     // TV.2A-2E
    0x002F,                                     // TV.2F

						                        // Filter registers
    0x004A, 0x004B, 0x004C, 0x044D, 0x004E,     // TV.4A-4E
    0x3B4F,                                     // TV.4F

						                        // Set Video Timing (TV Timing Regsiter )
    0x0F50, 0x7F51, 0x2352, 0x5753, 0x0254,     // TV.50-54
    0x0F55, 0x2756, 0x7357, 0x6358, 0x8659,     // TV.55-59
    0xC45A, 0xDD5B, 0xD35C, 0x055D,             // TV.5A-5D
						                        // Set Video Timing (TV CRTC Regsiter )
    0x925E, 0xA45F, 0x0460, 0x0061, 0x0062,     // TV.5E-62
    0x7F63, 0x0364,                             // TV.63-64

  //HT,  HA,  HBS, HBE, HSS, HSE, VT,  VA,  VBS, VBE, VSS, VSE
    784, 640, 640, 144, 688, 56,  600, 480, 480, 120, 488, 7


};

#define NUM_TOTAL_VT1622A_REG ARRAY_SIZE(VT1622A_N640x480_VN) -NUM_CRTC_TIMING

static u16 VT1622A_N800x600_VN[] = {
						                        // 
    0x8400, 0x0001, 0x0002, 0x0403, 0x0304,     // TV.00-04
    0x0005, 0x2006, 0x5707, 0xD408, 0x0909,     // TV.05-09
    0x520A, 0x000B, 0x510C, 0x3B0D, 0x0F0E,     // TV.0A-0E
    0x000F, 0x0010, 0x0011, 0x6A12, 0x0D13,     // TV.0F-13
    0x4C14, 0x1C15, 0x9616, 0x5017, 0x5E18,     // TV.14-18
    0x1B19, 0x3E1A, 0x101B, 0x011C, 0x801D,     // TV.19-1D
    0x001E, 0x441F, 0x1020, 0x0A21, 0x9C22,     // TV.1E-22
    0x7523, 0x0424,                             // TV.23-24

						                        // 
    0x5625, 0x4126, 0x9027, 0x6B28, 0x0029,     // TV.25-29
    0x002A, 0xA32B, 0x292C, 0x862D, 0x102E,     // TV.2A-2E
    0x102F,                                     // TV.2F

						                        // Filter registers
    0x004A, 0x004B, 0x004C, 0x044D, 0x004E,     // TV.4A-4E
    0x3A4F,                                     // TV.4F

						                        // Set Video Timing (TV Timing Regsiter )
    0x2750, 0x1F51, 0x3452, 0xED53, 0x0254,     // TV.50-54
    0x2755, 0xF556, 0x9D57, 0x6458, 0xB759,     // TV.55-59
    0x0D5A, 0x215B, 0xF15C, 0x575D,             // TV.5A-5D
						                        // Set Video Timing (TV CRTC Regsiter )
    0xB65E, 0x3B5F, 0x0560, 0x0061, 0x0162,     // TV.5E-62
    0xEF63, 0x0564,                             // TV.63-64

  //HT,  HA,  HBS, HBE, HSS, HSE, VT,  VA,  VBS, VBE, VSS, VSE
    1064,800, 800, 264, 840, 136, 750, 600, 600, 150, 606, 16
};

static u16 VT1622A_N1024x768_VN[] = {
						                        // 
    0x8400, 0x0001, 0x0002, 0x0403, 0x0304,     // TV.00-04
    0x0005, 0x2006, 0x4707, 0x1208, 0x0809,     // TV.05-09
    0x500A, 0x000B, 0x500C, 0x3A0D, 0x0F0E,     // TV.0A-0E
    0x000F, 0x0010, 0x0011, 0xEF12, 0x3713,     // TV.0F-13
    0x7714, 0x2A15, 0xD616, 0x6617, 0xEB18,     // TV.14-18
    0x1419, 0xA11A, 0x101B, 0x051C, 0x801D,     // TV.19-1D
    0x001E, 0x771F, 0x0D20, 0x0521, 0xEF22,     // TV.1E-22
    0x7323, 0x0C24,                             // TV.23-24

						                        // 
    0x5625, 0x5626, 0x9027, 0x8B28, 0x0029,     // TV.25-29
    0x002A, 0xA32B, 0x292C, 0xB92D, 0x6A2E,     // TV.2A-2E
    0x102F,                                     // TV.2F

						                        // Filter registers
    0x004A, 0x004B, 0x004C, 0x044D, 0x004E,     // TV.4A-4E
    0x394F,                                     // TV.4F

						                        // Set Video Timing (TV Timing Regsiter )
    0x8750, 0xFF51, 0x3452, 0xB053, 0x0354,     // TV.50-54
    0x6F55, 0xDC56, 0xCD57, 0x3558, 0xF159,     // TV.55-59
    0x5E5A, 0x9A5B, 0x705C, 0x5A5D,             // TV.5A-5D
						                        // Set Video Timing (TV CRTC Regsiter )
    0x335E, 0x265F, 0x0760, 0x0061, 0x0162,     // TV.5E-62
    0x2763, 0x0864,                             // TV.63-64

  //HT,  HA,  HBS, HBE, HSS, HSE, VT,  VA,  VBS, VBE, VSS, VSE
    1160,1024,1024,136, 1032,56,  945, 768, 768, 177, 789, 6

};

static u16 VT1622A_N848x480_VN[] = {
						                        // 
    0x8400, 0x0001, 0x0002, 0x0403, 0x0304,     // TV.00-04
    0x0005, 0x2006, 0xa707, 0xc108, 0x0709,     // TV.05-09
    0x500A, 0x000B, 0x500C, 0x390D, 0x0F0E,     // TV.0A-0E
    0x000F, 0x0010, 0x0011, 0xF012, 0x2913,     // TV.0F-13
    0x6714, 0x3115, 0x6316, 0xA817, 0x3C18,     // TV.14-18
    0x1D19, 0x2A1A, 0x101B, 0x031C, 0x801D,     // TV.19-1D
    0x001E, 0x331F, 0x1120, 0x0821, 0x4722,     // TV.1E-22
    0x7323, 0x0C24,                             // TV.23-24

						                        // 
    0x5625, 0x3C26, 0x9027, 0x6528, 0x0029,     // TV.25-29
    0x002A, 0xA32B, 0x292C, 0x7C2D, 0x002E,     // TV.2A-2E
    0x102F,                                     // TV.2F

						                        // Filter registers
    0x004A, 0x004B, 0x004C, 0x044D, 0x004E,     // TV.4A-4E
    0x394F,                                     // TV.4F

						                        // Set Video Timing (TV Timing Regsiter )
    0xAF50, 0x4F51, 0x3452, 0x4453, 0x0254,     // TV.50-54
    0xE355, 0xBF56, 0x9357, 0x6358, 0xAD59,     // TV.55-59
    0xFD5A, 0x1B5B, 0x6F5C, 0x175D,             // TV.5A-5D
						                        // Set Video Timing (TV CRTC Regsiter )
    0x6D5E, 0xD45F, 0x0460, 0x0061, 0x0162,     // TV.5E-62
    0x2F63, 0x0564,                             // TV.63-64

  //HT,  HA,  HBS, HBE, HSS, HSE, VT,  VA,  VBS, VBE, VSS, VSE
    1200,848, 848, 352, 968, 64,  581, 480, 480, 101, 496, 13
};

static u16 VT1622A_N720x480_VN[] = {
						                        // 
    0x0400, 0x0001, 0x0002, 0x0603, 0x0304,     // TV.00-04
    0x0005, 0x2006, 0x3F07, 0xB608, 0x0709,     // TV.05-09
    0x520A, 0x000B, 0x510C, 0x3A0D, 0x0F0E,     // TV.0A-0E
    0x000F, 0x0010, 0x0011, 0xED12, 0x3113,     // TV.0F-13
    0x5014, 0x3515, 0x1816, 0x5517, 0x5518,     // TV.14-18
    0x1E19, 0x1E1A, 0x101B, 0x031C, 0x801D,     // TV.19-1D
    0x001E, 0x331F, 0x1220, 0x0821, 0x5722,     // TV.1E-22
    0x7523, 0x0024,                             // TV.23-24

						                        // 
    0x5625, 0x3A26, 0x9027, 0x6128, 0x0029,     // TV.25-29
    0x002A, 0xA32B, 0x292C, 0x762D, 0xF12E,     // TV.2A-2E
    0x002F,                                     // TV.2F

						                        // Filter registers
    0x004A, 0x004B, 0x004C, 0x044D, 0x004E,     // TV.4A-4E
    0x3A4F,                                     // TV.4F

						                        // Set Video Timing (TV Timing Regsiter )
    0x4750, 0xCF51, 0x2352, 0x5753, 0x0254,     // TV.50-54
    0xBF55, 0xAD56, 0x8D57, 0x6358, 0xA459,     // TV.55-59
    0xF35A, 0x1E5B, 0x285C, 0x175D,             // TV.5A-5D
						                        // Set Video Timing (TV CRTC Regsiter )
    0x925E, 0x335F, 0x0460, 0x0061, 0x0062,     // TV.5E-62
    0xBF63, 0x0364,                             // TV.63-64

  //HT,  HA,  HBS, HBE, HSS, HSE, VT,  VA,  VBS, VBE, VSS, VSE
    840, 720, 720, 120, 728, 48,  600, 480, 480, 120, 512, 7
};

static u16 VT1622A_P640x480_VN[] = {
						                        // 
    0x0400, 0x0001, 0x0002, 0x0603, 0x0004,     // TV.00-04
    0x0005, 0x2006, 0xBF07, 0x9F08, 0x3709,     // TV.05-09
    0x5D0A, 0x000B, 0x4F0C, 0x420D, 0x0F0E,     // TV.0A-0E
    0x000F, 0x0010, 0x0011, 0xAC12, 0x1513,     // TV.0F-13
    0x6E14, 0x2815, 0x2D16, 0x7717, 0x6618,     // TV.14-18
    0x2D19, 0xED1A, 0x101B, 0x021C, 0x801D,     // TV.19-1D
    0x001E, 0x991F, 0x1720, 0x0C21, 0x3122,     // TV.1E-22
    0x7A23, 0x0424,                             // TV.23-24

						                        // 
    0x6225, 0x3026, 0x8E27, 0x4A28, 0x5B29,     // TV.25-29
    0x152A, 0xA02B, 0x222C, 0x5C2D, 0xCC2E,     // TV.2A-2E
    0x002F,                                     // TV.2F

						                        // Filter registers
    0x004A, 0x004B, 0x004C, 0x044D, 0x004E,     // TV.4A-4E
    0x434F,                                     // TV.4F

						                        // Set Video Timing (TV Timing Regsiter )
    0xE750, 0x7F51, 0x2352, 0x5753, 0x0254,     // TV.50-54
    0x1F55, 0x2F56, 0x7557, 0x6358, 0x8A59,     // TV.55-59
    0xC85A, 0xDB5B, 0xF55C, 0x055D,             // TV.5A-5D
						                        // Set Video Timing (TV CRTC Regsiter )
    0xD75E, 0x8E5F, 0x0360, 0x7F61, 0xCF62,     // TV.5E-62
    0xBF63, 0x0364,                             // TV.63-64

  //HT,  HA,  HBS, HBE, HSS, HSE, VT,  VA,  VBS, VBE, VSS, VSE
    1000,640, 640, 360, 736, 72,  600, 480, 480, 120, 521, 5
};

static u16 VT1622A_P800x600_VN[] = {
						                        // 
    0x8400, 0x0001, 0x0002, 0x0403, 0x0004,     // TV.00-04
    0x0005, 0x2006, 0x2707, 0xB808, 0x0D09,     // TV.05-09
    0x5C0A, 0x000B, 0x4E0C, 0x400D, 0x0F0E,     // TV.0A-0E
    0x000F, 0x0010, 0x0011, 0xEC12, 0x2A13,     // TV.0F-13
    0xFD14, 0x2815, 0xE416, 0x7D17, 0x7A18,     // TV.14-18
    0x2719, 0x111A, 0x101B, 0x011C, 0x801D,     // TV.19-1D
    0x001E, 0xAA1F, 0x1320, 0x0C21, 0x9F22,     // TV.1E-22
    0x7923, 0x0C24,                             // TV.23-24

						                        // 
    0x6225, 0x3726, 0x8E27, 0x5428, 0x5B29,     // TV.25-29
    0x152A, 0xA02B, 0x222C, 0x702D, 0xF42E,     // TV.2A-2E
    0x002F,                                     // TV.2F

						                        // Filter registers
    0x004A, 0x004B, 0x004C, 0x044D, 0x004E,     // TV.4A-4E
    0x414F,                                     // TV.4F

						                        // Set Video Timing (TV Timing Regsiter )
    0x9750, 0x1F51, 0x3352, 0xED53, 0x0254,     // TV.50-54
    0x9755, 0x8756, 0x8757, 0x6358, 0x9F59,     // TV.55-59
    0xE75A, 0xF35B, 0xE15C, 0x065D,             // TV.5A-5D
						                        // Set Video Timing (TV CRTC Regsiter )
    0xCC5E, 0xF35F, 0x0460, 0x0061, 0x0162,     // TV.5E-62
    0x4F63, 0x0464,                             // TV.63-64

  //HT,  HA,  HBS, HBE, HSS, HSE, VT,  VA,  VBS, VBE, VSS, VSE
    920, 800, 800, 120, 816, 64,  750, 600, 600, 150, 606, 16
};

static u16 VT1622A_P1024x768_VN[] = {
						                        // 
    0x8400, 0x0001, 0x0002, 0x0403, 0x0004,     // TV.00-04
    0x0005, 0x2006, 0x5707, 0x2508, 0x4009,     // TV.05-09
    0x5A0A, 0x000B, 0x4D0C, 0x400D, 0x0F0E,     // TV.0A-0E
    0x000F, 0x0010, 0x0011, 0xE812, 0x2313,     // TV.0F-13
    0xD114, 0x1815, 0x7216, 0xC317, 0x8C18,     // TV.14-18
    0x1A19, 0x961A, 0x101B, 0x071C, 0x801D,     // TV.19-1D
    0x001E, 0xFF1F, 0x0F20, 0x0C21, 0x8722,     // TV.1E-22
    0x7923, 0x0024,                             // TV.23-24

						                        // 
    0x6225, 0x5326, 0x8E27, 0x7B28, 0x5B29,     // TV.25-29
    0x152A, 0xA02B, 0x222C, 0xB62D, 0x5A2E,     // TV.2A-2E
    0x102F,                                     // TV.2F

						                        // Filter registers
    0x004A, 0x004B, 0x004C, 0x044D, 0x004E,     // TV.4A-4E
    0x404F,                                     // TV.4F

						                        // Set Video Timing (TV Timing Regsiter )
    0xAF50, 0xFF51, 0x3452, 0xB553, 0x0354,     // TV.50-54
    0x5755, 0xA856, 0xC857, 0x3558, 0xEC59,     // TV.55-59
    0x4C5A, 0x9A5B, 0x415C, 0x5A5D,             // TV.5A-5D
						                        // Set Video Timing (TV CRTC Regsiter )
    0x145E, 0x5C5F, 0x0660, 0x0061, 0x0162,     // TV.5E-62

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -