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

📄 _saa7115.h

📁 TE3320和DSP的VP口无缝连接后的驱动程序源码
💻 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)" */
/********************************************************************************/
/* _saa7115.h file */
/********************************************************************************/
#ifndef __SAA7115_H
#define __SAA7115_H

#ifdef __cplusplus
extern "C" {
#endif

#include <saa7115.h>

#define _SAA7115_IIC_ADDR0       (0x42>>1) 
#define _SAA7115_IIC_ADDR1       (0x40>>1)

#define _SAA7115_TASKA              0 
#define _SAA7115_TASKB               1

typedef struct _SAA7115_Generics
{
    Uint8   chipVersion;
/* Increment Delay (0x01)           */
    Uns horIncDelay : 4;
    Uns gainHysteresis : 2;
    Uns whitePeakDisable : 1;
    Uns aosL2 : 1;
/* Analog Input Control 1 (0x02)    */
    Uns analogMuxMode : 4;
    Uns reg02Unused : 2;
    Uns amplifierType : 2;
/* Analog Input Control 2 (0x03)    */
    Uns aCh1GainMsb : 1;
    Uns aCh2GainMsb : 1;
    Uns agcControl : 1;
    Uns agcHold : 1;
    Uns colorPeakOff : 1;
    Uns agcDuringVBI : 1;
    Uns hLNRS : 1;
    Uns test : 1;
/* Analog Input Control 3 (0x04)    */
    Uint8 aCh1Gain;
/* Analog Input Control 4 (0x05)    */
    Uint8 aCh2Gain;
/* Horizontal Sync Start (0x06)     */
    Uint8 hSYNCStart;
/* Horizontal Sync Stop (0x07)      */
    Uint8 hSYNCStop;
/* Sync Control (0x08)              */
    Uns vertNoiseReduction : 2;
    Uns horPLLOpen : 1;
    Uns horTimeConstant : 2;
    Uns forceFieldFlag : 1;
    Uns fieldSelect : 1;
    Uns autoFieldDetect : 1;
/* Luminance Control (0x09)         */
    Uns lumaFilter : 4;
    Uns lumaBW : 1;
    Uns lumaDelay : 1;
    Uns yCombFilter : 1;
    Uns bypassYCombFilter : 1;
/* Luminance Brightness Adjustment (0x0A)  */
    Uint8 brightness;
/* Luminance Contrast Adjustment (0x0B)    */
    Uint8 contrast;
/* Chroma Saturation Adjustment (0x0C)     */
    Uint8 saturation;
/* Chroma Hue Control (0x0D)               */
    Uint8 hue;
/* Chroma Control 1 (0x0E)                 */
    Uns chromaCombFilter : 1;
    Uns autoChromaDetect : 1;
    Uns fastColorTimeConstant : 1;
    Uns disableChromaVertFilt : 1;
    Uns colorStandardDetect : 3;
    Uns clearDTO : 1;
/* Chroma Gain Control (0x0F)             */
    Uns chromaGain : 7;
    Uns autoChromaAGC : 1;
/* Chroma Control 2 (0x10)                */
    Uns lumaChromaBW : 3;
    Uns chromaBW : 1;
    Uns crOffsetAdjustment : 2;
    Uns cbOffsetAdjustment : 2;
/* Mode Delay Control (0x11)              */
    Uns lumaDelayCompensation : 3;
    Uns rts0Polarity : 1;
    Uns hSYNCDelay : 2;
    Uns rts1Polarity : 1;
    Uns colorOn : 1;
/* RT Signal Control (0x12)               */
    Uns rts0Output : 4;
    Uns rts1Output : 4;
/* RT/XPort Control (0x13)                */
    Uns ofts : 3;
    Uns fastHorSelect : 1;
    Uns xRVSSelect : 2;
    Uns hSYNCSelect : 1;
    Uns rtCEEnable : 1;
/* Analog/ADC (0x14)                      */
    Uns adcSampleDelay : 2;
    Uns auto1 : 1;
    Uns xtOutEnable : 1;
    Uns aOutSelect : 2;
    Uns agcUpdateType : 1;
    Uns saa7199Switch : 1;
/* VGATE Start (0x15)                     */
    Uint8 vGateStart;
/* VGATE Stop (0x16) */
    Uint8 vGateStop;
/* MISC/VGATE MSBs (0x17)                 */
    Uns vGateStartMsb : 1;
    Uns vGateStopMsb : 1;
    Uns altVGatePos : 1;
    Uns yLatency : 3;
    Uns llc2Enable : 1;
    Uns llcEnable : 1;  
/* Raw Data Gain (0x18)                  */
    Uint8 rawGain;
/* Raw Data Offset (0x19)                */
    Uint8 rawOffset;
/* Color Killer Thresholds (0x1A)        */
    Uns secamColorKiller : 4;
    Uns ntscColorKiller : 4;
/* MISC/TWCRDET (0x1B)                   */
    Uns fsqc : 1;
    Uns autoColorLimiter : 1;
    Uns reg1BAUnused : 2;
    Uns ofts3 : 1;
    Uns reg1BBUnused : 1;
    Uns tvDetectThreshold : 2;
/* Enhanced Comb Control 1 (0x1C)       */
    Uns combThreshold : 2;
    Uns medianFilterGain : 2;
    Uns vertDiffGain : 2;
    Uns horDiffGain : 2;
/* Enhanced Comb Control 2 (0x1D)       */
    Uns vertDiffThreshold : 2;
    Uns reg1DUnused : 6;
/* Status Byte Decoder 1 (0x1E)         */
    Uns colorStandard : 2;
    Uns whitePeakActive : 1;
    Uns limitGainBottom : 1;
    Uns limitGainTop : 1;
    Uns slowTimeConstant : 1;
    Uns hSYNCLock : 1;
    Uns fieldLength : 1;
/* Status Byte Decoder 2 (0x1F)         */
    Uns captureReady : 1;
    Uns copyProtection : 1;
    Uns colorStripe : 1;
    Uns burstType3 : 1;
    Uns stableTimebase : 1;
    Uns fieldID : 1;
    Uns hVLoop : 1;
    Uns interlaceDetect : 1;
/* Null Array (0x20) - (0x2F)           */
    Uint8 nullArray1[16];
/* Audio Data (0x30) - (0x3F)           */
    Uint8 audioData[16];
/* VBI Data Slicer (0x40) - (0x7F)      */
    Uint8 vBISliceData[64];     
}_SAA7115_Generics;

typedef struct _SAA7115_Globals
{
/* Global Control (0x80)                */
    Uns iPortMode : 4;
    Uns taskAEnable : 1;
    Uns taskBEnable : 1;
    Uns reg80Unused : 1;
    Uns continuousFieldMode : 1;
/* Reserved (0x81)                      */
    Uns vEAV : 2;
    Uns fTime : 1;
    Uns reg81Unused : 5;
/* Unused (0x82)                        */
    Uint8 reg82Unused;
/* Reserved (0x83)                      */
    Uns xPortEnable : 2;
    Uns xRDYType : 1;
    Uns reg83AUnused : 1;
    Uns xCLKSelect : 2;
    Uns reg83BUnused : 2;
/* I Port Signal Definitions (0x84)     */
    Uns igpHSelect : 2;
    Uns igpVSelect : 2;
    Uns igp1SelectLSBs : 2;
    Uns igp0SelectLSBs : 2;
/* I Port Signal Polarity (0x85)        */
    Uns idqPolarity : 1; 
    Uns iHSYNCPolarity : 1;
    Uns iVSYNCPolarity : 1;
    Uns igp0Polarity : 1;
    Uns Igp1Polarity : 1;
    Uns videoDataLimited : 1;
    Uns dataOutputType : 2;
/* I Port FIFO (0x86)                   */
    Uns faeFlagType : 2;
    Uns fafFlagType : 2;
    Uns igp0SelectMSB : 1;
    Uns igp1SelectMSB : 1;
    Uns iPortDataEnable : 1;
    Uns dataPackingMode : 1;
/* I Port Delay (0x87)                  */
    Uns iPortEnable : 2;
    Uns reg87Unused : 2;
    Uns iCLKControl : 2;
    Uns idqControl : 2;
/* Power Save Control (0x88)            */
    Uns decoderOperational : 1;
    Uns scalerOperational : 1;
    Uns reg88Unused : 1;
    Uns audioClockEnable : 1;
    Uns devProgControl : 1;
    Uns resetScaler : 1;
    Uns analogCh1Enable : 1;
    Uns AnalogCh2Enable : 1;
/* Null Array (0x89) - (0x8E)           */
    Uint8 nullArray1[6];
/* Scaler Status Information (0x8F)     */
    Uns scalerFIDOut : 1;
    Uns scalerFIDIn : 1;
    Uns errorFlag : 1;
    Uns devProgStatus : 1;
    Uns fifoOVFlag : 1;
    Uns fifoAFFlag : 1;
    Uns iTRIStatus : 1;
    Uns xTRIStatus : 1;
}_SAA7115_Globals;

typedef struct _SAA7115_Task
{
/* Task handling control (0x90) (0xC0)   */
    Uns eventTrigger : 2;
    Uns repeatTask : 1;
    Uns fieldSkipType : 3;
    Uns outputFieldID : 1;
    Uns conlh : 1;
/* X Port Format (0x91) (0xC1)           */
    Uns yuvInputFormat : 1;
    Uns chromaPerLine : 2;
    Uns scalerDataContinuous : 1;
    Uns scalerInputSource : 2;
    Uns hldfv : 1;
    Uns conlv : 1;
/* X Port Input Ref (0x92) (0xC2)        */
    Uns xDQNotUsed : 1;
    Uns xDQPolarity : 1;
    Uns xRHEdgeType : 1;
    Uns xPortSyncVia656 : 1;
    Uns xRVEdgeType : 1;
    Uns xRVSignalType : 1;
    Uns xFieldIDType : 1;
    Uns xFieldEdgeType : 1;
/* I Port Format (0x93) (0xC3)           */
    Uns iPortDataFormat : 3;
    Uns leadingYLines : 2;
    Uns skipYLineFlag : 1;
    Uns ins80 : 1;
    Uns ccir656Enable : 1;
/* Window Sizes (0x94 - 0x9F) (0xC4 - 0xCF) */
    Uint16 xInputOffset;
    Uint16 xInputLength;
    Uint16 yInputOffset;
    Uint16 yInputLength;
    Uint16 xOutputLength;
    Uint16 yOutputLength;
/* Horizontal Prescaling (0xA0) (0xD0)   */
    Uint8 xPreScale;
/* Accumulation Length (0xA1) (0xD1)    */
    Uint8 xAccLength;
/* Prescaler DC Gain/FIR Prefilter Control (0xA2) (0xD2)*/
    Uns scalerDCGain : 3;
    Uns xACLWeighting : 1;
    Uns yPreFilterType : 2;
    Uns cxPreFilterType : 2;
/* Unused (0xA3)                        */
    Uint8 regA3Unused;
/* Luminance brightness (0xA4) (0xD4)   */
    Uint8 brightness;
/* Luminance contrast (0xA5) (0xD5)     */
    Uint8 contrast;
/* Luminance saturation (0xA6) (0xD6)   */
    Uint8 saturation;
/* Unused (0xA7)                        */
    Uint8 regA7Unused;
/* Horizontal scaling increment luma (0xA8 - 0xA9) (0xD8 - 0xD9)*/
    Uint16 xLumaIncrement;
/* Horizontal phase offset luma (0xAA) (0xDA)*/
    Uint8 xLumaPhaseOffset;
/* Unused (0xAB) */
    Uint8 regABUnused;
/* Horizontal scaling increment chroma (0xAC - 0xAD) (0xDC - 0xDD)*/
    Uint16 xChromaIncrement;
/* Horizontal phase offset chroma (0xAE) (0xDE)*/
    Uint8 xChromaPhaseOffset;
/* Unused (0xAF) (0xDF)                        */
    Uint8 regAFUnused;
/* Vertical scaling increment luma (0xB0 - 0xB1) (0xE0 - 0xE1)*/
    Uint16 yLumaIncrement;
/* Vertical scaling increment chroma (0xB2 - 0xB3) (0xE2 - 0xE3)*/
    Uint16 yChromaIncrement;
/* Vertical scaling mode control (0xB4) (0xE4)*/
    Uns verticalScalingType : 1;
    Uns regB4AUnused : 3;
    Uns mirrorLineFlag : 1;
    Uns regB4BUnused : 3;
/* Null Array (0xB5 - 0xB7) (0xE5 - 0xE7)       */
    Uint8 nullArray1[3];
/* Vertical Phase Offset Chroma (0xB8 - 0xBB) (0xE8 - 0xEB)*/
    Uint8 yChromaPhaseOffset[4];
/* Vertical Phase Offset Luma (0xBC - 0xBF) (0xEC - 0xEF)    */
    Uint8 yLumaPhaseOffset[4];
} _SAA7115_Task;

typedef struct _SAA7115_PLL2
{
/* LFCO Per Line (0xF0)*/
    Uint8 splpl;
/* Parameter Select (0xF1)*/
    Uns splpl8 : 1;
    Uns sphSel : 1;
    Uns spMod : 2;
    Uns sppi : 4;
/* Nominal PLL2 DTO (0xF2 - 0xF3)*/
    Uint16 spnInc;
/* PLL2 Status (0xF4)*/
    Uns spLock : 1;
    Uns regF2Unused : 6;
/* Pulse generator Line Length (0xF5)*/
    Uint8 pgLen;
/* Pulse A Position (0xF6)*/
    Uns pgLenMsb : 1;
    Uns pgHSel : 1;
    Uns pgRes : 1;
    Uns regF6Unused : 1;
    Uns pgHAPS : 4;
/* Pulse A Position (0xF7)*/
    Uint8 pgHAPSMsb;
/* Pulse B Position (0xF8)*/
    Uns regF8Unused : 4;
    Uns pgHBPS : 4;
/* Pulse B Position (0xF9)*/
    Uint8 pgHBPSMsb;
/* Pulse C Position (0xFA)*/
    Uns regFAUnused : 4;
    Uns pgHCPS : 4;
/* Pulse C Position (0xFB)*/
    Uint8 pgHCPSMsb;
/* Null Array (0xFC) - (0xFE)*/
    Uint8 nullArray1[3];
/* S_PLL max (0xFF)*/
    Uns spTHRM : 4;
    Uns spTHRL : 4;
} _SAA7115_PLL2;

typedef struct _SAA7115_Regs
{
    _SAA7115_Generics generics;
    _SAA7115_Globals globals;
    _SAA7115_Task taskA;
    _SAA7115_Task taskB;
    _SAA7115_PLL2 pll2;
}_SAA7115_Regs;                        

extern _SAA7115_Regs _SAA7115_settingsDef[2];

typedef struct _SAA7115_XScaleParam
{
    Uint8 acl;
    Uint8 c21;
    Uint8 dcGain;
}_SAA7115_XScaleParam;

typedef struct _SAA7115_XScale
{
    _SAA7115_XScaleParam xValues[64];
}_SAA7115_XScale;
extern  _SAA7115_XScale _SAA7115_xScale;


#ifdef __cplusplus
}
#endif


#endif /*#ifndef __SAA7115_H*/

/********************************************************************************/
/* end of file */
/********************************************************************************/



⌨️ 快捷键说明

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