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

📄 proviewdtv_tda9975.h

📁 ti的数字电视芯片 tvp9000的源码
💻 H
字号:
#ifndef __PROVIEW_TDA9975_H__
#define __PROVIEW_TDA9975_H__

#include	"ucos_ii.h"
#include	"TvpDefs.h"
#include    "tvperror.h"
#include	"TvpI2c.h"
#include    "tvpgpio.h"

#include    "TiDTV_DataType.h"
#include    "TVP9K_I2C_def.h"
#include    "TVP9K_NV_Def.h"

//#define     __YPBPR_INPUT_TEST_480P__
/**************************************************************\
                             macro definition
\**************************************************************/
#define TDA9975_I2C_CHANNEL     TVP_I2C_0
#define TDA9975_ADDRESS         0x98

#define VAI_GPIO_MASK           (0x01 << TVP_GPIO_30_DATAIN_3)
#define VAI_FLAG_VALID          0x00000000
#define VAI_FLAG_INVALID        (0x01 << TVP_GPIO_30_DATAIN_3)
#define VAI_FLAGS0              0x0D
#define VAI_FLAGS1              0x0E
#define VAI_FLAGS2              0x0F
#define VAI_FLAGS3              0x10

#define V_PER_MSB               0x40
#define V_PER_ISB               0x41
#define H_PER_MSB               0x42
#define HS_WIDTH_MSB            0x43
#define STM_LSB                 0x44

#define VIDEO_INPUT_AVI1        0x01
#define VIDEO_INPUT_AVI2        0x02
#define VIDEO_INPUT_AVI3        0x04
#define VIDEO_INPUT_HDMIA       0x08
#define VIDEO_INPUT_HDMIB       0x10
#define VIDEO_INPUT_TEST        0x20

#define VIDEO_NB                9

#define VIDEO_VS_DELTA          2812            // To separate 60Hz and 50Hz
#define VIDEO_HS_DELTA          14              // To separate 480p60 and 1080i60
#define VIDEO_HW_DELTA          10              // To separate VGA60 and 480p60

#define ACRP_CTS_LSB            0x21
#define ACRP_CTS_ISB            0x22
#define ACRP_CTS_MSB            0x23
#define ACRP_N_LSB              0x24
#define ACRP_N_ISB              0x25
#define ACRP_N_MSB              0x26

#define AUDIO_NB                3

#define AUDIO_N_DELTA           64              // To separate N values
#define AUDIO_CTS_DELTA         35156           // To separate CTS values 32 and 48 kHz

/**************************************************************\
                             const definition
\**************************************************************/
typedef enum _tagTDA9975_RET
{
    TDA9975_RET_ERROR = -1,
    TDA9975_RET_OK
}E_TAD9975_RET;

typedef enum _tagTDA9975_OUT_FORMAT
{
    YUV_444_FORMAT,
    YUV_422_SEMIPLANAR_FORMAT,
    YUV_422_CCIR656_FORMAT,
    TDA9975_OUT_FORAMT_BUTT
}E_TDA9975_OUT_FORAMT;

typedef enum _tagTDA9975_VIDIN_FORMAT
{
    VIDEO_INPUT_VGA60,
    VIDEO_INPUT_480P60,
    VIDEO_INPUT_720P60,
    VIDEO_INPUT_1080I60,
    VIDEO_INPUT_480I60,
    VIDEO_INPUT_576P50,
    VIDEO_INPUT_720P50,
    VIDEO_INPUT_1080I50,
    VIDEO_INPUT_576I50,
    VIDEO_INPUT_INVALID
}E_TDA9975_VIDIN_FORMAT;

typedef enum _tagTDA9975_SOURCE
{
    TDA9975_SOURCE_YPbPr1,
    TDA9975_SOURCE_YPbPr2,
    TDA9975_SOURCE_YPbPr3,
    TDA9975_SOURCE_HDMI,
    TDA9975_SOURCE_DVI,
    TDA9975_SOURCE_TEST,
    TDA9975_SOURCE_BUTT
}E_TDA9975_SOURCE;

typedef enum _tagTDA9975_HDMI_IN_FORMAT
{
    TDA9975_HDMI_IN_RGB,
    TDA9975_HDMI_IN_YCbCr,
    TDA9975_HDMI_IN_BUTT
}E_TDA9975_HDMI_IN_FORMAT;

typedef enum _tagTDA9975_AUDIN_FORMAT
{
    AUDIO_INPUT_32KHZ,
    AUDIO_INPUT_441KHZ,
    AUDIO_INPUT_48KHZ,
    AUDIO_INPUT_INVALID
}E_TDA9975_AUDIN_FORMAT;
/**************************************************************\
                             function declare
\**************************************************************/
extern void             I2C_Write_TDA9975(unsigned char *ptr,
                                          unsigned char nb_char);

extern int              I2C_Read_TDA9975(unsigned char address,
                                         unsigned char *ptr,
                                         unsigned char nb_char);

extern int              TDA9975_HDCP(unsigned char keyh,
                                     unsigned char keyl);

extern void             TDA9975_InitAVI(void);

extern void             TDA9975_InitHDMI(void);

extern void             TDA9975_AVIPage(void);

extern void             TDA9975_HDMIPage(void);

extern void             TDA9975_OutputHighImpendance(void);

extern void             TDA9975_OutputEnable(unsigned int out);

extern void             TDA9975_Test480IColorBar(void);

extern void             TDA9975_Test480PColorBar(void);

extern void             TDA9975_Test480IYUV444ColorBar(void);

extern void             TDA9975_YPbPr480I(int userwantsource);

extern void             TDA9975_YPbPr480P(int userwantsource);

extern void             TDA9975_YPbPr720P(int userwantsource);

extern void             TDA9975_ColorSpaceConvertByPass(void);

extern void             TDA9975_ColorSpaceConvert(unsigned int in,
                                                  unsigned int YCbCr);

extern int              TDA9975_VideoInActivityDetect(void);

extern int              TDA9975_VideoInFormatCheck(void);

extern int              TDA9975_SwitchProcess(unsigned int source);

extern int              TDA9975_CheckProcess(void);

extern unsigned char    TDA9975_GetVideoStandard(void);

extern int              TDA9975_CheckInputFormat(void);

extern unsigned char    TDA9975_GetAudioSampleRate(void);

#endif

⌨️ 快捷键说明

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