📄 tvp5150.c
字号:
/*
Module Name : tvp5150.c
Functions : TVP5150_init
Purpose :
Author : Otis Yu 2005/04/07
Notes :
*/
/*--------------------------------------------------------------------------*
* Local header files *
*--------------------------------------------------------------------------*/
#include <system/ser270.h>
#include <system/ccdc270.h>
//#include <system/armsys270.h>
/*--------------------------------------------------------------------------*
* Const, Macro, type definition *
*--------------------------------------------------------------------------*/
#define CMD_WAIT 0xFF
#define TVP5150_I2C_SLAVE 0xB8
/*--------------------------------------------------------------------------*
* Local Variables Declartaion *
*--------------------------------------------------------------------------*/
unsigned char val_1, val_2;
/* read device ID */
Uchar TVP_5150_readID[] = {
0x80,0x81
};
Uchar TVP_5150_initData[] = {
0x00,0x00,
0x03,0x6f,
0x0d,0x47,
0x27,0x20
};
/*--------------------------------------------------------------------------*
* Brief : TVP5150_Init *
* Return : status *
* Description : *
*--------------------------------------------------------------------------*/
STATUS TVP5150_Init(Uint16 mode)
{
STATUS status=E_PASS;
Uint8 j, flag=0;
Uchar success;
i2cInit();
/* otis TVP5150 device ID NO */
val_1=i2cReadReg((Uchar)TVP5150_I2C_SLAVE, TVP_5150_readID[0], &success);
val_2=i2cReadReg((Uchar)TVP5150_I2C_SLAVE, TVP_5150_readID[1], &success);
for (j = 0; j < sizeof(TVP_5150_initData); j += 2)
{
i2cWriteReg((Uchar)TVP5150_I2C_SLAVE,
TVP_5150_initData[j], TVP_5150_initData[j + 1], &success);
flag += success;
}
if(flag!=0){
status=E_INVALID_INPUT;
}
return status;
}
#include <system/clkc270.h>
#include <user/ccdm.h>
#include <user/ccdc.h>
#include <user/prev.h>
#include <user/osd.h>
#include <user/mem_alloc.h>
void VD_PWR(BOOL enable){
if(enable){
CLKC_moduleEnable(CLK_CCDC,enable);
CLKC_moduleEnable(CLK_PREV,enable);
} else {
CLKC_moduleEnable(CLK_CCDC,enable);
CLKC_moduleEnable(CLK_PREV,enable);
}
}
void DraftPreview(BOOL enable){
OSD_winEnable( OSD_VID_WIN0, FALSE );
PREV_enable( FALSE );
CCDC_enable( FALSE, FALSE );
CLKC_moduleSelectClockSource(CLK_CCDC, CLKC_PCLK);//CLK_CCDC,CLKC_PCLK
CCDM_init (TVP_5150, CCDM_DRAFT_MODE);
CCDCSetMode(TVP_5150, CCDM_FINE_MODE );//CCDM_FINE_MODE
CCDC_rec656Enable(TRUE, TRUE);
CCDC_setSdramAddress((char *)OSD_VIDEO_WIN1_ADDR);
PREVSetMode(TVP_5150, CCDM_FINE_MODE);
PREV_setWriteAddr( (char*)OSD_VIDEO_WIN1_ADDR);
OSDSetMode( OSD_VID_WIN0, VID_720x480, (char*)OSD_VIDEO_WIN1_ADDR); //VID_720x480
if(enable){
OSD_winEnable( OSD_VID_WIN0, TRUE );//OSD_VID_WIN0
CCDC_enable(TRUE, TRUE);
PREV_enable(TRUE);
} else {
OSD_winEnable( OSD_VID_WIN0, FALSE );
CCDC_enable(FALSE, FALSE);
PREV_enable(FALSE);
}
}
/*
void TV_Enable(BOOL enable){
if(enable){
CLKC_moduleEnable(CLK_DAC, TRUE);
VENC_dacEnable(TRUE, TRUE);
VENC_vidOutEnable(TRUE);
} else {
CLKC_moduleEnable(CLK_DAC, FALSE);
VENC_dacEnable(FALSE, FALSE);
VENC_vidOutEnable(FALSE);
}
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -