?? _saa7105.h
字號:
/*
* Copyright 2003 by Texas Instruments Incorporated.
* All rights reserved. Property of Texas Instruments Incorporated.
* Restricted rights to use, duplicate or disclose this code are
* granted through contract.
*
*/
/* "@(#) DDK 1.10.00.23 07-02-03 (ddk-b12)" */
/********************************************************************************/
/* _saa7105.h file */
/********************************************************************************/
#ifndef __SAA7105_H
#define __SAA7105_H
#ifdef __cplusplus
extern "C" {
#endif
#include <saa7105.h>
#define _SAA7105_IICADDR (0x88>>1)
extern SAA7105_Cursor _SAA7105_cursorData;
typedef struct _SAA7105_Regs
{
Uint8 status;
Uint8 nullArray1[0x15];
/* Common DAC Adjust (0x16) */
Uns dacAdjust : 4;
Uns unusedDACAdjust : 4;
/* Red DAC Adjust (0x17) */
Uns redDACAdjust : 5;
Uns unusedRDACAdjust : 3;
/* Green DAC Adjust (0x18) */
Uns greenDACAdjust : 5;
Uns unusedGDACAdjust : 3;
/* Blue DAC Adjust (0x19) */
Uns blueDACAdjust : 5;
Uns unusedBDACAdjust : 3;
/* MSM Threshold (0x1A) */
Uint8 thrldMSM;
/* Monitor sense mode (0x1B)*/
Uns blueComp : 1;
Uns greenComp : 1;
Uns redComp : 1;
Uns reg1BUnused : 2;
Uns outputEnableMSM : 1;
Uns autoEnableMSM : 1;
Uns enableMSM : 1;
/* Chip identification (0x1C) */
Uint8 chipID;
/* Null Array (0x1D) - (0x25) */
Uint8 nullArray2[9];
/* Wide screen signal (0x26) - (0x27)*/
Uint8 wideScreenLSBits;
Uns wideScreenMSBits : 6;
Uns wideScreenunused : 1;
Uns wideScreenEnable : 1;
/* Burst start (0x28) */
Uns burstStart : 6;
Uns burstUnused : 2;
/* Burst start (0x29) */
Uns burstEnd : 6;
Uns reg29Unused : 1;
Uns syncResetEnable : 1;
/* Copy generation (0x2A) - (0x2C) */
Uint8 copyGen0;
Uint8 copyGen1;
Uns copyGenMSBits : 4;
Uns reg2CUnused : 3;
Uns copyGenEnable : 1;
/* Output Port Control (0x2D) */
Uns reg2DUnused : 1;
Uns cvbsEn2 : 1;
Uns clk2En : 1;
Uns encOff : 1;
Uns cEn : 1;
Uns cvbsEn0 : 1;
Uns cvbsEn1 : 1;
Uns vbsEn : 1;
/* Null Array (0x2E) - (0x36) */
Uint8 nullArray3[9];
/* Input Path Control (0x37) */
Uns xFilterActive : 1;
Uns inputLevel : 1;
Uns cursorZoom : 1;
Uns reg37AUnused : 1;
Uns yUpscaleFilter : 2;
Uns yUpscaleActive : 1;
Uns reg37BUnused : 1;
/* Gain luminance for RGB (0x38)*/
Uns rgbGainLuminance : 5;
Uns reg38Unused : 3;
/* Gain chrominance for RGB (0x39) */
Uns rgbGainChrominance : 5;
Uns reg39Unused : 3;
/* Input Port Control (0x3A) */
Uns chromaBinary : 1;
Uns lumaBinary : 1;
Uns compSyncEnable : 1;
Uns yuvToRGBBypass : 1;
Uns syncVia656 : 1;
Uns svynt : 1;
Uns reg3AUnused : 1;
Uns colorBarsEnable : 1;
/* Null Array (0x3B) - (0x53) */
Uint8 nullArray4[0x19];
/* VPS Enable (0x54) */
Uns slot : 1;
Uns edge : 1;
Uns reg54AUnused : 2;
Uns gpEnable : 1;
Uns gpData : 1;
Uns reg54BUnused : 1;
Uns vpsEnable : 1;
/* VPS Byte5 to Byte14 (0x55) - (0x59)*/
Uint8 vpsByte5;
Uint8 vpsByte11;
Uint8 vpsByte12;
Uint8 vpsByte13;
Uint8 vpsByte15;
/* VPS Enable (0x5A) */
Uint8 chromaPhase;
/* Gain Cb (0x5B) */
Uint8 cbGain;
/* Gain Cr (0x5C) */
Uint8 crGain;
/* Black Level (0x5D) */
Uns blackLevel : 6;
Uns reg5DUnused : 1;
Uns uGainMSB : 1;
/* Blank Level (0x5E) */
Uns blankLevel : 6;
Uns reg5EUnused : 1;
Uns vGainMSB : 1;
/* Black Level (0x5F) */
Uns vBIBlankLevel : 6;
Uns ccrFilter : 2;
/* Null Byte (0x60) */
Uint8 nullByte60;
/* Standard Control (0x61) */
Uns fise : 1;
Uns palEnable : 1;
Uns chromaBW : 1;
Uns reg61Unused : 1;
Uns whiteLevel : 1;
Uns palSwitch : 1;
Uns downA : 1;
Uns downD : 1;
/* Burst Amplitude (0x62) */
Uns burstAmplitude : 7;
Uns rtCEEnable : 1;
/* Sub Carrier 0-3 (0x63) - (0x66) */
Uint8 subCarrier0;
Uint8 subCarrier1;
Uint8 subCarrier2;
Uint8 subCarrier3;
/* Uns int SubCarrier; */
/* Closed Captioning (0x67) - (0x6A) */
Uint8 line21OddF0;
Uint8 line21OddF1;
Uint8 line21EvenF0;
Uint8 line21EvenF1;
/* Null Byte (0x6B) */
Uint8 nullByte6B;
/* Horizontal Trigger (0x6C) */
Uint8 hTrigger;
/* H & V Trigger (0x6D) */
Uns vTrigger : 5;
Uns hTriggerMSBs : 3;
/* Multi Control (0x6E) */
Uns fieldControl : 2;
Uns lumaDelay : 2;
Uns phaseResetMode : 2;
Uns blankLevelOut : 1;
Uns vTrigNegative : 1;
/* Closed Caption/Teletext Enable (0x6F)*/
Uns cCLine : 5;
Uns teletextEnable : 1;
Uns cCEnable : 2;
/* Active Display Window Horizontal Start (0x70)*/
Uint8 hStart;
/* Active Display Window Horizontal End (0x71) */
Uint8 hEnd;
/* Active Display Window MSBs (0x72) */
Uns hStartMSB : 3;
Uns reg72BUnused : 1;
Uns hEndMSB : 3;
Uns reg72AUnused : 1;
/* Teletext Horizontal Start (0x73) */
Uint8 teletextHStart;
/* Teletext Horizontal Start (0x74) */
Uns teletextHDelay : 4;
Uns reg74Unused : 4;
/* CSYNC Advance (0x75) */
Uns reg75Unused : 3;
/* Teletext Odd Vertical Start (0x76) */
Uint8 teletextOddVStart;
/* Teletext Odd Vertical Start (0x77) */
Uint8 teletextOddVEnd;
/* Teletext Odd Vertical Start (0x78) */
Uint8 teletextEvenVStart;
/* Teletext Odd Vertical Start (0x79) */
Uint8 teletextEvenVEnd;
/* First Active Line (0x7A) */
Uint8 fal;
/* Last Active Line (0x7B) */
Uint8 lal;
/* TTX mode, MSB vertical (0x7C) */
Uns ttxOVSMsb : 1;
Uns ttxOVEMsb : 1;
Uns ttxEVSMsb : 1;
Uns ttxEVEMsb : 1;
Uns falMsb : 1;
Uns OldTTXProtocol : 1;
Uns lalMsb : 1;
Uns teletext60HzEnable : 1;
/* Null Byte (0x7D) */
Uint8 nullByte7D;
/* Disable Teletext Line (0x7E) - (0x7F) */
Uint8 ttxLineLsbOff;
Uint8 ttxLineMsbOff;
/* FIFO Status (0x80) */
Uns fifoUnderflow : 1;
Uns fifoOverflow : 1;
Uns bufferFIFOOverflow : 1;
Uns inputFifoError : 1;
Uns reg80Unused : 4;
/* Disable Teletext Line (0x81) - (0x83) */
Uint8 pixClock0;
Uint8 pixClock1;
Uint8 pixClock2;
/* Pixel Clock Control (0x84) */
Uns pclkInDiv : 2;
Uns pclkOutDiv : 2;
Uns bypassInputFIFO : 1;
Uns fifoResetOnField : 1;
Uns pclkSyncVSYNC : 1;
Uns pclkSingleEnded : 1;
/* FIFO Control (0x85) */
Uns fifoThreshold : 4;
Uns reg85Unused : 3;
Uns nonDVOCompliant : 1;
/* Null Array (0x86) - (0x8F) */
Uint8 bullArray5[10];
/* Horizontal Offset (0x90) */
Uint8 xOfs;
/* Horizontal Offset (0x91) */
Uint8 xPix;
/* Vertical Odd Offset (0x92) */
Uint8 yOfsOdd;
/* Vertical Even Field Offset (0x93) */
Uint8 yOfsEven;
/* MSBs (0x94) */
Uns xOfsMsb : 2;
Uns xPixMsb : 2;
Uns yOfsOddMsb : 2;
Uns yOfsEvenMsb : 2;
/* Line Number (0x95) */
Uint8 yPix;
/* Scaler Control (0x96) */
Uns yPixMsb : 2;
Uns reg96Unused : 1;
Uns lumaBooster : 1;
Uns interlacedCursor : 1;
Uns masterSlaveMode : 1;
Uns cboPolarity : 1;
Uns frameSyncEnable : 1;
/* Sync Control (0x97) */
Uns hSyncPolarity : 1;
Uns hSyncOutput : 1;
Uns vSyncPolarity : 1;
Uns vSyncOutput : 1;
Uns frameSyncPolarity : 1;
Uns fieldOutput : 1;
Uns vSyncMode : 1;
Uns hSyncMode : 1;
/* Line Length (0x98) */
Uint8 hLen;
/* Input Delay (0x99) */
Uns hLenMsb : 4;
Uns idel : 4;
/* Horizontal Increment (0x9A) */
Uint8 xInc;
/* Vertical Increment (0x9B) */
Uint8 yInc;
/* MSBs Hor/Vert Increment (0x9C) */
Uns xIncMsb : 4;
Uns yIncMsb : 4;
/* Weighting Factor Odd (0x9D) */
Uint8 yIWGTO;
/* Weighting Factor Even (0x9E) */
Uint8 yIWGTE;
/* MSBs Weighting Factor (0x9F) */
Uns yIWGTOMsb : 4;
Uns yIWGTEMsb : 4;
/* Vertical Line Skip (0xA0) */
Uint8 ySkip;
/* MSBs Weighting Factor (0xA1) */
Uns ySkipMsb : 4;
Uns regA0Unused : 3;
Uns enableBlank : 1;
/* Y Border Color (0xA2) */
Uint8 yBorderColor;
/* U Border Color (0xA3) */
Uint8 uBorderColor;
/* V Border Color (0xA4) */
Uint8 vBorderColor;
/* Null Array (0xA5) - (0xCF) */
Uint8 nullArray6[0x2B];
/* HD Sync Line Count Array (0xD0) */
Uint8 ramAAddress;
/* HD Sync Line Type Array (0xD1) */
Uint8 ramBAddress;
/* HD Sync Line Pattern Array (0xD2) */
Uint8 ramCAddress;
/* HD Sync Value Array (0xD3) */
Uint8 ramDAddress;
/* HD Sync Trigger (State 1-4) (0xD4 - 0xD5) */
Uns hdLineCounter : 10;
Uns hdLineTypePtr : 2;
Uns hdLinePatternPtr : 4;
/* HD Sync Trigger (State 1-4) (0xD6 - 0xD7) */
Uns hdDurationCtr : 10;
Uns regD6AUnused : 2;
Uns hdEventTypePtr : 3;
Uns regD6BUnused : 1;
/* HD Sync Trigger Phase X (0xD8 - 0xD9) */
Uns hdTriggerPhaseX : 12;
Uns regD9Unused : 4;
/* HD Sync Trigger Phase Y (0xDA - 0xDB) */
Uns hdTriggerPhaseY : 10;
Uns regDBUnused : 6;
/* HD Output Control (0xDC) */
Uns hdColorInterpolator : 1;
Uns hdFullGain : 1;
Uns hdRGB_YCbCr : 1;
Uns hdActive : 1;
Uns regDCUnused : 4;
/* Null Array (0xDD) - (0xEF) */
Uint8 nullArray7[0x13];
/* R Cursor Color1 (0xF0) */
Uint8 redCursorColor1;
/* G Cursor Color1 (0xF1) */
Uint8 greenCursorColor1;
/* B Cursor Color1 (0xF2) */
Uint8 blueCursorColor1;
/* R Cursor Color2 (0xF3) */
Uint8 redCursorColor2;
/* G Cursor Color2 (0xF4) */
Uint8 greenCursorColor2;
/* B Cursor Color2 (0xF5) */
Uint8 blueCursorColor2;
/* Aux R Cursor Color (0xF6) */
Uint8 auxRCursorColor;
/* Aux G Cursor Color (0xF7) */
Uint8 auxGCursorColor;
/* Aux B Cursor Color (0xF8) */
Uint8 auxBCursorColor;
/* Horizontal Cursor Position (0xF9) */
Uint8 hCursorPos;
/* Horizontal Hot Spot / MSBs H Cursor Position (0xFA)*/
Uns hCursPosMSBs : 3;
Uns horHotSpot : 5;
/* Vertical Cursor Position (0xFB) */
Uint8 vCursorPos;
/* Horizontal Hot Spot / MSBs H Cursor Position (0xFC) */
Uns vCursPosMSBs : 2;
Uns regFCUnused : 1;
Uns vertHotSpot : 5;
/* Input Path Control (0xFD) */
Uns downFormatDisable : 1;
Uns rgbToYUVDisable : 1;
Uns inputFormat : 3;
Uns lutLoadMode : 1;
Uns cursorMode : 1;
Uns lutDisable : 1;
/* Cursor Bit Map Address (0xFE) */
Uint8 cursorAddress;
/* Color LUT Map Address (0xFF) */
Uint8 lutAddress;
}_SAA7105_Regs;
extern _SAA7105_Regs _SAA7105_settingsDef;
extern _SAA7105_Regs _SAA7105_settingsVGA;
typedef struct _SAA7105_HDLineCount
{
Uns count : 10;
Uns unused : 2;
Uns typeEntry : 4;
}_SAA7105_HDLineCount;
typedef struct _SAA7105_HDLineType
{
Uns pattern0Entry : 3;
Uns unused0 : 1;
Uns pattern1Entry : 3;
Uns unused1 : 1;
Uns pattern2Entry : 3;
Uns unused2 : 1;
Uns pattern3Entry : 3;
Uns unused3 : 1;
Uns pattern4Entry : 3;
Uns unused4 : 1;
Uns pattern5Entry : 3;
Uns unused5 : 1;
Uns pattern6Entry : 3;
Uns unused6 : 1;
Uns pattern7Entry : 3;
Uns unused7 : 1;
}_SAA7105_HDLineType;
typedef struct _SAA7105_HDLinePattern
{
Uns time0 : 10;
Uns unused0 : 2;
Uns value0Entry : 4;
Uns time1 : 10;
Uns unused1 : 2;
Uns value1Entry : 4;
Uns time2 : 10;
Uns unused2 : 2;
Uns value2Entry : 4;
Uns time3 : 10;
Uns unused3 : 2;
Uns value3Entry : 4;
} _SAA7105_HDLinePattern;
typedef struct _SAA7105_HDSyncValue
{
Uns value : 8;
Uns hsmSync : 1;
Uns vsmSync : 1;
Uns unused : 6;
} _SAA7105_HDSyncValue;
typedef struct _SAA7105_HDSyncGen
{
Uns lcAddress;
_SAA7105_HDLineCount lineCount[15];
Uns ltAddress;
_SAA7105_HDLineType lineType[15];
Uns lpAddress;
_SAA7105_HDLinePattern linePattern[7];
Uns svAddress;
_SAA7105_HDSyncValue syncValue[8];
}_SAA7105_HDSyncGen;
extern _SAA7105_HDSyncGen _SAA7105_hdSyncGen0;
extern _SAA7105_HDSyncGen _SAA7105_hdSyncGen480P;
extern _SAA7105_HDSyncGen _SAA7105_hdSyncGen720P;
extern _SAA7105_HDSyncGen _SAA7105_hdSyncGen1080I;
extern _SAA7105_HDSyncGen _SAA7105_hdSyncGenVGA;
extern _SAA7105_HDSyncGen _SAA7105_hdSyncGenSVGA;
extern _SAA7105_HDSyncGen _SAA7105_hdSyncGenXGA;
#ifdef __cplusplus
}
#endif
#endif /*#ifndef __SAA7105_H*/
/********************************************************************************/
/* end of file */
/********************************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -