📄 gfx_type.h
字号:
/* * $Workfile: gfx_type.h $ * * This header file defines the pneumonics used when calling Durango routines. * This file is automatically included by gfx_rtns.h *//* NSC_LIC_ALTERNATIVE_PREAMBLE * * Revision 1.0 * * National Semiconductor Alternative GPL-BSD License * * National Semiconductor Corporation licenses this software * ("Software"): * * National Xfree frame buffer driver * * under one of the two following licenses, depending on how the * Software is received by the Licensee. * * If this Software is received as part of the Linux Framebuffer or * other GPL licensed software, then the GPL license designated * NSC_LIC_GPL applies to this Software; in all other circumstances * then the BSD-style license designated NSC_LIC_BSD shall apply. * * END_NSC_LIC_ALTERNATIVE_PREAMBLE *//* NSC_LIC_BSD * * National Semiconductor Corporation Open Source License for * * National Xfree frame buffer driver * * (BSD License with Export Notice) * * Copyright (c) 1999-2001 * National Semiconductor Corporation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * 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. * * * Neither the name of the National Semiconductor Corporation nor * the names of its contributors may be used to endorse or promote * products derived from this software without specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "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 * NATIONAL SEMICONDUCTOR CORPORATION OR CONTRIBUTORS 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, * INTELLECTUAL PROPERTY INFRINGEMENT, OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. * * EXPORT LAWS: THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS OF * YOUR JURISDICTION. It is licensee's responsibility to comply with * any export regulations applicable in licensee's jurisdiction. Under * CURRENT (2001) U.S. export regulations this software * is eligible for export from the U.S. and can be downloaded by or * otherwise exported or reexported worldwide EXCEPT to U.S. embargoed * destinations which include Cuba, Iraq, Libya, North Korea, Iran, * Syria, Sudan, Afghanistan and any other country to which the U.S. * has embargoed goods and services. * * END_NSC_LIC_BSD *//* NSC_LIC_GPL * * National Semiconductor Corporation Gnu General Public License for * * National Xfree frame buffer driver * * (GPL License with Export Notice) * * Copyright (c) 1999-2001 * National Semiconductor Corporation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted under the terms of the GNU General * Public License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version * * In addition to the terms of the GNU General Public License, neither * the name of the National Semiconductor Corporation nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "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 * NATIONAL SEMICONDUCTOR CORPORATION OR CONTRIBUTORS 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, * INTELLECTUAL PROPERTY INFRINGEMENT, OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. See the GNU General Public License for more details. * * EXPORT LAWS: THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS OF * YOUR JURISDICTION. It is licensee's responsibility to comply with * any export regulations applicable in licensee's jurisdiction. Under * CURRENT (2001) U.S. export regulations this software * is eligible for export from the U.S. and can be downloaded by or * otherwise exported or reexported worldwide EXCEPT to U.S. embargoed * destinations which include Cuba, Iraq, Libya, North Korea, Iran, * Syria, Sudan, Afghanistan and any other country to which the U.S. * has embargoed goods and services. * * You should have received a copy of the GNU General Public License * along with this file; if not, write to the Free Software Foundation, * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * END_NSC_LIC_GPL */#ifndef _gfx_type_h#define _gfx_type_h/* MSR DEFINITIONS */typedef enum DevStatus { FOUND, NOT_KNOWN, REQ_NOT_FOUND, REQ_NOT_INSTALLED } DEV_STATUS;typedef struct msr { DEV_STATUS Present; /* Node enumeration status */ unsigned char Id; /* Device ID (from MSR specs) */ unsigned long Address; /* Address - 32-bit MBus address at which 'Id' is found */} MSR;typedef struct mValue { unsigned long high; unsigned long low;} Q_WORD;typedef struct mbusNode { unsigned long address; unsigned int deviceId; unsigned int claimed;} MBUS_NODE;/* MSR ARRAY INDEXES *//* These are indexes into the array of MBus devices. These *//* should not be confused with the class codes at MSR register *//* 0x2000. */#define RC_ID_MBIU0 0x00#define RC_ID_MBIU1 0x01#define RC_ID_MCP 0x02#define RC_ID_MPCI 0x03#define RC_ID_MC 0x04#define RC_ID_GP 0x05#define RC_ID_VG 0x06#define RC_ID_DF 0x07#define RC_ID_FG 0x08#define RC_ID_VA 0x09#define CP_ID_MBIU 0x0A#define CP_ID_MPCI 0x0B#define CP_ID_USB2 0x0C#define CP_ID_ATAC 0x0D#define CP_ID_MDD 0x0E#define CP_ID_ACC 0x0F#define CP_ID_USB1 0x10#define CP_ID_MCP 0x11 /* MBUS DEVICE CLASS CODES *//* These are the device ids for the known Redcloud MBus devices. */#define RC_CC_MBIU 0x01#define RC_CC_MCP 0x02#define RC_CC_MPCI 0x05#define RC_CC_MC 0x20#define RC_CC_GP 0x3D#define RC_CC_VG 0x3E#define RC_CC_DF 0x3F#define RC_CC_FG 0xF0#define RC_CC_VA 0x86#define CP_CC_MBIU 0x01#define CP_CC_MPCI 0x05#define CP_CC_USB2 0x42#define CP_CC_ATAC 0x47#define CP_CC_MDD 0xDF#define CP_CC_ACC 0x33#define CP_CC_USB1 0x42#define CP_CC_MCP 0x02/* VAIL AND MBIUS ARE AT KNOWN ADDRESSES *//* We can initialize the addresses of these devices in advance, *//* as their location should never change. */#define RC_MB0_MBIU0 0x10000000#define RC_MB0_MBIU1 0x40000000#define CP_MB0_MBIU0 0x51010000#define RC_MB0_CPU 0x00000000#define FAKE_ADDRESS 0xFFFFFFFF/* MSR PORT DESCRIPTORS */#define NOT_POPULATED 0#define NOT_INSTALLED 0xFFFE#define REFLECTIVE 0xFFFF/* CRC DATA SOURCES */#define CRC_SOURCE_GFX_DATA 0x00#define CRC_SOURCE_CRT_RGB 0x01#define CRC_SOURCE_FP_DATA 0x02/* TV DEFINITIONS */typedef enum TVStandardType { TV_STANDARD_NTSC = 1, TV_STANDARD_PAL} TVStandardType;typedef enum GfxOnTVType { GFX_ON_TV_SQUARE_PIXELS = 1, GFX_ON_TV_NO_SCALING} GfxOnTVType;#define CRT_DISABLE 0x00#define CRT_ENABLE 0x01#define CRT_STANDBY 0x02#define CRT_SUSPEND 0x03#define TV_OUTPUT_COMPOSITE 0x01#define TV_OUTPUT_S_VIDEO 0x02#define TV_OUTPUT_YUV 0x03#define TV_OUTPUT_SCART 0x04#define TV_FLICKER_FILTER_NONE 0x01#define TV_FLICKER_FILTER_NORMAL 0x02#define TV_FLICKER_FILTER_INTERLACED 0x03#define TV_YC_DELAY_NONE 0x01#define TV_Y_DELAY_ONE_PIXEL 0x02#define TV_C_DELAY_ONE_PIXEL 0x03#define TV_C_DELAY_TWO_PIXELS 0x04#define TV_SUB_CARRIER_RESET_NEVER 0x01#define TV_SUB_CARRIER_RESET_EVERY_TWO_LINES 0x02#define TV_SUB_CARRIER_RESET_EVERY_TWO_FRAMES 0x03#define TV_SUB_CARRIER_RESET_EVERY_FOUR_FRAMES 0x04#define TVENC_RESET_EVERY_ODD_FIELD 0x01#define TVENC_RESET_EVERY_EVEN_FIELD 0x02#define TVENC_RESET_NEXT_ODD_FIELD 0x03#define TVENC_RESET_NEXT_EVEN_FIELD 0x04#define TVENC_RESET_EVERY_FIELD 0x05#define TVENC_RESET_EVERY_X_ODD_FIELDS 0x06#define TVENC_RESET_EVERY_X_EVEN_FIELDS 0x07/* VBI FORMATS */#define VBI_FORMAT_VIDEO 0x1#define VBI_FORMAT_RAW 0x2#define VBI_FORMAT_CC 0x4#define VBI_FORMAT_NABTS 0x8/* VIDEO DEFINITIONS */#define VIDEO_FORMAT_UYVY 0x0#define VIDEO_FORMAT_Y2YU 0x1#define VIDEO_FORMAT_YUYV 0x2#define VIDEO_FORMAT_YVYU 0x3#define VIDEO_FORMAT_Y0Y1Y2Y3 0x4#define VIDEO_FORMAT_Y3Y2Y1Y0 0x5#define VIDEO_FORMAT_Y1Y0Y3Y2 0x6#define VIDEO_FORMAT_Y1Y2Y3Y0 0x7#define VIDEO_FORMAT_RGB 0x8#define VIDEO_FORMAT_P2M_P2L_P1M_P1L 0x9#define VIDEO_FORMAT_P1M_P1L_P2M_P2L 0xA#define VIDEO_FORMAT_P1M_P2L_P2M_P1L 0xB#define VIDEO_DOWNSCALE_KEEP_1_OF 0x1#define VIDEO_DOWNSCALE_DROP_1_OF 0x2typedef enum VideoSourceType { /* The source from which the video processor shows full screen video */ VIDEO_SOURCE_MEMORY = 1, VIDEO_SOURCE_DVIP} VideoSourceType;typedef enum VbiSourceType { /* The source from which the video processor takes VBI */ VBI_SOURCE_MEMORY = 1, VBI_SOURCE_DVIP} VbiSourceType;/* GENLOCK DEFINITIONS */#define GENLOCK_SINGLE 0x001#define GENLOCK_FIELD_SYNC 0x001#define GENLOCK_CONTINUOUS 0x002#define GENLOCK_SYNCED_EDGE_FALLING 0x004#define GENLOCK_SYNCING_EDGE_FALLING 0x008#define GENLOCK_TIMEOUT 0x010#define GENLOCK_TVENC_RESET_EVEN_FIELD 0x020#define GENLOCK_TVENC_RESET_BEFORE_DELAY 0x040#define GENLOCK_TVENC_RESET 0x080#define GENLOCK_SYNC_TO_TVENC 0x100/* VIP DEFINITIONS */#define VIP_MODE_C 0x1#define VIP_CAPTURE_STOP_LINE 0x1#define VIP_CAPTURE_STOP_FIELD 0x2#define VIP_CAPTURE_START_FIELD 0x4#define VBI_ANCILLARY 0x1#define VBI_TASK_A 0x2#define VBI_TASK_B 0x4/* VGA STRUCTURE */#define GFX_STD_CRTC_REGS 25#define GFX_EXT_CRTC_REGS 16#define GFX_VGA_FLAG_MISC_OUTPUT 0x00000001#define GFX_VGA_FLAG_STD_CRTC 0x00000002#define GFX_VGA_FLAG_EXT_CRTC 0x00000004/* FS450 TV Standard flags */#define GFX_TV_STANDARD_NTSC_M 0x0001#define GFX_TV_STANDARD_NTSC_M_J 0x0002#define GFX_TV_STANDARD_PAL_B 0x0004#define GFX_TV_STANDARD_PAL_D 0x0008#define GFX_TV_STANDARD_PAL_H 0x0010#define GFX_TV_STANDARD_PAL_I 0x0020#define GFX_TV_STANDARD_PAL_M 0x0040#define GFX_TV_STANDARD_PAL_N 0x0080#define GFX_TV_STANDARD_PAL_G 0x0100/* FS450 VGA Mode flags */#define GFX_VGA_MODE_UNKNOWN 0#define GFX_VGA_MODE_640X480 0x0001#define GFX_VGA_MODE_720X487 0x0002#define GFX_VGA_MODE_720X576 0x0004#define GFX_VGA_MODE_800X600 0x0008#define GFX_VGA_MODE_1024X768 0x0010/* FS450 TVout mode flags */#define GFX_TVOUT_MODE_CVBS 0x0001#define GFX_TVOUT_MODE_YC 0x0002#define GFX_TVOUT_MODE_RGB 0x0004#define GFX_TVOUT_MODE_CVBS_YC (GFX_TVOUT_MODE_CVBS | GFX_TVOUT_MODE_YC)/* FS450 Luma and Chroma Filters */#define GFX_LUMA_FILTER 0x0001#define GFX_CHROMA_FILTER 0x0002/* APS Trigger Bits */#define GFX_APS_TRIGGER_OFF 0#define GFX_APS_TRIGGER_AGC_ONLY 1#define GFX_APS_TRIGGER_AGC_2_LINE 2#define GFX_APS_TRIGGER_AGC_4_LINE 3typedef struct { int xsize; int ysize; int hz; int clock; unsigned char miscOutput; unsigned char stdCRTCregs[GFX_STD_CRTC_REGS]; unsigned char extCRTCregs[GFX_EXT_CRTC_REGS];} gfx_vga_struct;/* POSSIBLE STATUS VALUES */#define GFX_STATUS_UNSUPPORTED (-3)#define GFX_STATUS_BAD_PARAMETER (-2)#define GFX_STATUS_ERROR (-1)#define GFX_STATUS_OK 0/* CPU AND VIDEO TYPES */#define GFX_CPU_GXLV 1#define GFX_CPU_SC1200 2#define GFX_CPU_REDCLOUD 3#define GFX_CPU_PYRAMID 0x20801 #define GFX_VID_CS5530 1#define GFX_VID_SC1200 2#define GFX_VID_REDCLOUD 3/* CHIP NAME AND REVISION */typedef enum ChipType { CHIP_NOT_DETECTED, SC1200_REV_A, SC1200_REV_B1_B2, SC1200_REV_B3, SC1200_REV_C1, SC1200_REV_D1, SC1200_REV_D1_1, SC1200_REV_D2_MVD, /* Macrovision disabled */ SC1200_REV_D2_MVE, /* Macrovision enabled */ SC1200_FUTURE_REV} ChipType;#endif /* !_gfx_type_h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -