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

📄 proviewdtv_tda9975.c

📁 ti的数字电视芯片 tvp9000的源码
💻 C
📖 第 1 页 / 共 5 页
字号:
};

static const unsigned char TDA9975_480IVHREF[][2] = {
    {0xa0, 0x38},
    {0xa1, 0x01}, {0xa2, 0x03}, {0xa3, 0x5a}, {0xa4, 0x01}, {0xa5, 0x02},
    {0xa6, 0x0d}, {0xa7, 0x7c}, {0xa8, 0x03}, {0xa9, 0x4c}, {0xaa, 0x01},
    {0xab, 0x00}, {0xac, 0x3f}, {0xad, 0x02}, {0xae, 0x09}, {0xaf, 0x16},
    {0xb0, 0x01}, {0xb1, 0x02}, {0xb2, 0x17}, {0xb3, 0x02}, {0xb4, 0x0d},
    {0xb5, 0x02}, {0xb6, 0x01}, {0xb7, 0x06}, {0xb8, 0x03}, {0xb9, 0x3f},
    {0xba, 0x03}, {0xbb, 0x1b}, {0xbc, 0xad}, {0xbd, 0x11}, {0xbe, 0xad},
    {0xbf, 0x01}, {0xc0, 0x01}, {0xc1, 0x07}, {0xc2, 0x00}, {0xc3, 0x00},
    {0xc4, 0x00}, {0xc5, 0x00}, {0xc6, 0x00}, {0xc7, 0x00}, {0xc8, 0x4b},
    {0xc9, 0x00}, {0xca, 0x73}, {0xcb, 0x02}, {0xcc, 0x0c}, {0xcd, 0x05},
    {0xce, 0x01}, {0xcf, 0x06}, {0xd0, 0x05}, {0xd1, 0x50}, {0xd2, 0x30},
    {0xd3, 0x46}, {0xd4, 0xef}, {0xd5, 0x21}, {0xd6, 0x41}, {0xd7, 0x00},
    {0xd8, 0x00}, {0xd9, 0x00}, {0xda, 0x00}, {0xdb, 0x99}, {0xdc, 0x10},
    {0xdd, 0x80}, {0xde, 0x80}, {0xdf, 0x00}, {0xe0, 0x33}, {0xe1, 0xc0},
    {0xe2, 0x40}, {0xe3, 0xac}, {0xe4, 0x40}, {0xe6, 0x00}, {0xe7, 0x00},
    {0xe8, 0x2c}, {0xe9, 0x20}, {0xeb, 0x10}, {0xec, 0x10}, {0xed, 0x10},
    {0xee, 0x00}, {0xef, 0x00}, {0xf1, 0x80}, {0xf3, 0x00}, {0xf4, 0x00},
    {0xf5, 0x00}, {0xf7, 0x00}, {0xf8, 0x23}, {0xf9, 0x92}, {0xff, 0xff}
};

static const unsigned char TDA9975_480PYPbPr[][2] = {
    {0x00, 0x00}, {0x01, 0x01}, {0x02, 0x00}, {0x03, 0x60}, {0x04, 0x60},
    {0x0d, 0x77}, {0x0e, 0x07}, {0x0f, 0x00}, {0x10, 0xc0}, {0x11, 0x83},
    {0x12, 0x5a}, {0x13, 0x80}, {0x14, 0x00}, {0x15, 0x00}, {0x16, 0x24},
    {0x17, 0x4e}, {0x18, 0x00}, {0x1a, 0x50}, {0x1b, 0xc0}, {0x1c, 0xc0},
    {0x1d, 0x00}, {0x1e, 0x02}, {0x20, 0x30}, {0x21, 0xf0}, {0x22, 0x10},
    {0x23, 0x00}, {0x26, 0x00}, {0x2a, 0x30}, {0x2b, 0xf0}, {0x2c, 0x10},
    {0x2d, 0x00}, {0x30, 0x00}, {0x34, 0x30}, {0x35, 0xeb}, {0x36, 0x10},
    {0x37, 0x00}, {0x3a, 0x00}, {0x3e, 0x01}, {0x40, 0x00}, {0x41, 0x00},
    {0x42, 0x00}, {0x43, 0x00}, {0x44, 0x00}, {0x80, 0x06}, {0x81, 0x00},
    {0x82, 0x00}, {0x83, 0x00}, {0x84, 0x00}, {0x85, 0x00}, {0x86, 0x00},
    {0x87, 0x02}, {0x88, 0x02}, {0x89, 0x01}, {0x8a, 0x06}, {0x8b, 0x00},
    {0x8c, 0x64}, {0x8d, 0x06}, {0x8e, 0x89}, {0x8f, 0x01}, {0x90, 0xc0},
    {0x91, 0x07}, {0x92, 0xb7}, {0x93, 0x06}, {0x94, 0xd7}, {0x95, 0x07},
    {0x96, 0x69}, {0x97, 0x01}, {0x98, 0xc0}, {0x99, 0x00}, {0x9a, 0x40},
    {0x9b, 0x02}, {0x9c, 0x00}, {0x9d, 0x02}, {0x9e, 0x00}, {0xa0, 0x38},
    {0xa1, 0x01}, {0xa2, 0x03}, {0xa3, 0x5a}, {0xa4, 0x01}, {0xa5, 0x02},
    {0xa6, 0x0d}, {0xa7, 0x7d}, {0xa8, 0x03}, {0xa9, 0x4d}, {0xaa, 0x01},
    {0xab, 0x00}, {0xac, 0x3f}, {0xad, 0x02}, {0xae, 0x04}, {0xaf, 0x2d},
    {0xb0, 0x00}, {0xb1, 0x00}, {0xb2, 0x00}, {0xb3, 0x02}, {0xb4, 0x0d},
    {0xb5, 0x05}, {0xb6, 0x00}, {0xb7, 0x00}, {0xb8, 0x00}, {0xb9, 0x3f},
    {0xba, 0x03}, {0xbb, 0x1b}, {0xbc, 0x01}, {0xbd, 0x00}, {0xbe, 0x01},
    {0xbf, 0x01}, {0xc0, 0x00}, {0xc1, 0x00}, {0xc2, 0x00}, {0xc3, 0x00},
    {0xc4, 0x00}, {0xc5, 0x00}, {0xc6, 0x00}, {0xc7, 0x00}, {0xc8, 0x50},
    {0xc9, 0x00}, {0xca, 0x78}, {0xcb, 0x02}, {0xcc, 0x0c}, {0xcd, 0x08},
    {0xce, 0x00}, {0xcf, 0x00}, {0xd0, 0x00}, {0xd1, 0x55}, {0xd2, 0x30},
    {0xd3, 0x4b}, {0xd4, 0xef}, {0xd5, 0x21}, {0xd6, 0x41}, {0xd7, 0x00},
    {0xd8, 0x00}, {0xd9, 0x00}, {0xda, 0x00}, {0xdb, 0x99}, {0xdc, 0x10},
    {0xdd, 0x80}, {0xde, 0x80}, {0xdf, 0x00}, {0xe0, 0x33}, {0xe1, 0xc0},
    {0xe2, 0x40}, {0xe3, 0xac}, {0xe4, 0x40},/*{0xe5,0x61},*/{0xe6, 0x00},
    {0xe7, 0x00}, {0xe8, 0x2c}, {0xe9, 0x20},/*{0xea,0xb2},*/{0xeb, 0x10},
    {0xec, 0x10}, {0xed, 0x10}, {0xee, 0x00}, {0xef, 0x00}, {0xf1, 0x80},
    {0xf3, 0x00}, {0xf4, 0x00}, {0xf5, 0x00}, {0xf7, 0x00}, {0xf8, 0x23},
    {0xf9, 0x92}, {0xff, 0xff}
};

static const unsigned char TDA9975_480PVHREF[][2] = {
    {0xa0, 0x38},
    {0xa1, 0x01}, {0xa2, 0x03}, {0xa3, 0x5a}, {0xa4, 0x01}, {0xa5, 0x02},
    {0xa6, 0x0d}, {0xa7, 0x7d}, {0xa8, 0x03}, {0xa9, 0x4d}, {0xaa, 0x01},
    {0xab, 0x00}, {0xac, 0x3f}, {0xad, 0x02}, {0xae, 0x04}, {0xaf, 0x2d},
    {0xb0, 0x00}, {0xb1, 0x00}, {0xb2, 0x00}, {0xb3, 0x02}, {0xb4, 0x0d},
    {0xb5, 0x05}, {0xb6, 0x00}, {0xb7, 0x00}, {0xb8, 0x00}, {0xb9, 0x3f},
    {0xba, 0x03}, {0xbb, 0x1b}, {0xbc, 0x01}, {0xbd, 0x00}, {0xbe, 0x01},
    {0xbf, 0x01}, {0xc0, 0x00}, {0xc1, 0x00}, {0xc2, 0x00}, {0xc3, 0x00},
	{0xc4, 0x00}, {0xc5, 0x00}, {0xc6, 0x00}, {0xc7, 0x00}, {0xc8, 0x50},
	{0xc9, 0x00}, {0xca, 0x78}, {0xcb, 0x02}, {0xcc, 0x0c}, {0xcd, 0x08},
	{0xce, 0x00}, {0xcf, 0x00}, {0xd0, 0x00}, {0xd1, 0x55}, {0xd2, 0x30},
	{0xd3, 0x4b}, {0xd4, 0xef}, {0xd5, 0x21}, {0xd6, 0x41}, {0xd7, 0x00},
	{0xd8, 0x00}, {0xd9, 0x00}, {0xda, 0x00}, {0xdb, 0x99}, {0xdc, 0x10},
	{0xdd, 0x80}, {0xde, 0x80}, {0xdf, 0x00}, {0xe0, 0x00}, {0xe1, 0xc0},
	{0xe2, 0x40}, {0xe3, 0xac}, {0xe4, 0x40}, {0xe6, 0x00},	{0xe7, 0x06},
    {0xe8, 0x2c}, {0xe9, 0x20}, {0xeb, 0x10}, {0xec, 0x10}, {0xed, 0x10},
    {0xee, 0x00}, {0xef, 0x00}, {0xf1, 0x80}, {0xf3, 0x00}, {0xf4, 0x00},
    {0xf5, 0x00}, {0xf7, 0x00}, {0xf8, 0x26}, {0xf9, 0x92}, {0xff, 0xff}
};

static const unsigned char TDA9975_720PYPbPr[][2] = {
    {0x00, 0x00},   {0x01, 0x01},   {0x02, 0x00},   {0x03, 0x60},   {0x04, 0x00},
    {0x0d, 0x77},   {0x0e, 0x07},   {0x0f, 0x00},   {0x10, 0xc0},   {0x11, 0x46},
    {0x12, 0x72},   {0x13, 0xaa},   {0x14, 0x00},   {0x15, 0x00},   {0x16, 0x00},
    {0x17, 0x46},   {0x18, 0x08},   {0x1a, 0x50},   {0x1b, 0xc0},   {0x1c, 0xc0},
    {0x1d, 0x00},   {0x1e, 0x02},   {0x20, 0x30},   {0x21, 0xf0},   {0x22, 0x10},
    {0x23, 0x00},   {0x26, 0x00},   {0x2a, 0x30},   {0x2b, 0xf0},   {0x2c, 0x10},
    {0x2d, 0x00},   {0x30, 0x00},   {0x34, 0x30},   {0x35, 0xeb},   {0x36, 0x10},
    {0x37, 0x00},   {0x3a, 0x00},   {0x3e, 0x01},   {0x40, 0x00},   {0x41, 0x00},
    {0x42, 0x00},   {0x43, 0x00},   {0x44, 0x00},   {0x80, 0x06},   {0x81, 0x00},
    {0x82, 0x00},   {0x83, 0x00},   {0x84, 0x00},   {0x85, 0x00},   {0x86, 0x00},
    {0x87, 0x02},   {0x88, 0x02},   {0x89, 0x01},   {0x8a, 0x06},   {0x8b, 0x00},
    {0x8c, 0x64},   {0x8d, 0x06},   {0x8e, 0x89},   {0x8f, 0x01},   {0x90, 0xc0},
    {0x91, 0x07},   {0x92, 0xb7},   {0x93, 0x06},   {0x94, 0xd7},   {0x95, 0x07},
    {0x96, 0x69},   {0x97, 0x01},   {0x98, 0xc0},   {0x99, 0x00},   {0x9a, 0x40},
    {0x9b, 0x02},   {0x9c, 0x00},   {0x9d, 0x02},   {0x9e, 0x00},   {0xa0, 0x38},
    {0xa1, 0x01},   {0xa2, 0x06},   {0xa3, 0x72},   {0xa4, 0x01},   {0xa5, 0x02},
    {0xa6, 0xee},   {0xa7, 0x07},   {0xa8, 0x16},   {0xa9, 0x07},   {0xaa, 0x4a},
    {0xab, 0x60},   {0xac, 0x50},   {0xad, 0x02},   {0xae, 0xe9},   {0xaf, 0x1e},
    {0xb0, 0x00},   {0xb1, 0x00},   {0xb2, 0x00},   {0xb3, 0x02},   {0xb4, 0xee},
    {0xb5, 0x05},   {0xb6, 0x00},   {0xb7, 0x00},   {0xb8, 0x00},   {0xb9, 0x50},
    {0xba, 0x06},   {0xbb, 0x22},   {0xbc, 0x01},   {0xbd, 0x00},   {0xbe, 0x01},
    {0xbf, 0x01},   {0xc0, 0x00},   {0xc1, 0x00},   {0xc2, 0x00},   {0xc3, 0x00},
    {0xc4, 0x00},   {0xc5, 0x00},   {0xc6, 0x00},   {0xc7, 0x00},   {0xc8, 0x55},
    {0xc9, 0x00},   {0xca, 0x7d},   {0xcb, 0x02},   {0xcc, 0xed},   {0xcd, 0x07},
    {0xce, 0x00},   {0xcf, 0x00},   {0xd0, 0x00},   {0xd1, 0x01},   {0xd2, 0x00},
    {0xd3, 0x51},   {0xd4, 0xa4},   {0xd5, 0x52},   {0xd6, 0x6a},   {0xd7, 0x00},
    {0xd8, 0x00},   {0xd9, 0x00},   {0xda, 0x00},   {0xdb, 0x99},   {0xdc, 0x10},
    {0xdd, 0x80},   {0xde, 0x80},   {0xdf, 0x00},   {0xe0, 0x00},   {0xe1, 0xc0},
    {0xe2, 0x40},   {0xe3, 0xac},   {0xe4, 0x40},  /*{0xe5,0x61},*/ {0xe6, 0x00},
    {0xe7, 0x01},   {0xe8, 0x2c},   {0xe9, 0x20},  /*{0xea,0xb2},*/ {0xeb, 0x10},
    {0xec, 0x10},   {0xed, 0x10},   {0xee, 0x00},   {0xef, 0x00},   {0xf1, 0x80},
    {0xf3, 0x00},   {0xf4, 0x00},   {0xf5, 0x00},   {0xf7, 0x00},   {0xf8, 0x23},
    {0xf9, 0x92},   {0xff, 0xff}
};

static const unsigned char TDA9975_720PVHREF[][2] = {
    {0xa0, 0x38},
    {0xa1, 0x01},   {0xa2, 0x06},   {0xa3, 0x72},   {0xa4, 0x01},   {0xa5, 0x02},
    {0xa6, 0xee},   {0xa7, 0x07},   {0xa8, 0x16},   {0xa9, 0x07},   {0xaa, 0x4a},
    {0xab, 0x60},   {0xac, 0x50},   {0xad, 0x02},   {0xae, 0xe9},   {0xaf, 0x1e},
    {0xb0, 0x00},   {0xb1, 0x00},   {0xb2, 0x00},   {0xb3, 0x02},   {0xb4, 0xee},
    {0xb5, 0x05},   {0xb6, 0x00},   {0xb7, 0x00},   {0xb8, 0x00},   {0xb9, 0x50},
    {0xba, 0x06},   {0xbb, 0x22},   {0xbc, 0x01},   {0xbd, 0x00},   {0xbe, 0x01},
    {0xbf, 0x01},   {0xc0, 0x00},   {0xc1, 0x00},   {0xc2, 0x00},   {0xc3, 0x00},
    {0xc4, 0x00},   {0xc5, 0x00},   {0xc6, 0x00},   {0xc7, 0x00},   {0xc8, 0x55},
    {0xc9, 0x00},   {0xca, 0x7d},   {0xcb, 0x02},   {0xcc, 0xed},   {0xcd, 0x07},
    {0xce, 0x00},   {0xcf, 0x00},   {0xd0, 0x00},   {0xd1, 0x01},   {0xd2, 0x00},
    {0xd3, 0x51},   {0xd4, 0xa4},   {0xd5, 0x52},   {0xd6, 0x6a},   {0xd7, 0x00},
    {0xd8, 0x00},   {0xd9, 0x00},   {0xda, 0x00},   {0xdb, 0x99},   {0xdc, 0x10},
    {0xdd, 0x80},   {0xde, 0x80},   {0xdf, 0x00},   {0xff, 0xff}
};

static const unsigned char TDA9975_1080IYPbPr[][2] = {
    {0x00, 0x00}, {0x01, 0x01}, {0x02, 0x00}, {0x03, 0x60}, {0x04, 0x60},
    {0x0d, 0x77}, {0x0e, 0x07}, {0x0f, 0x00}, {0x10, 0xc0}, {0x11, 0x48},
    {0x12, 0x98}, {0x13, 0xaa}, {0x14, 0x00}, {0x15, 0x00}, {0x16, 0x00},
    {0x17, 0x4e}, {0x18, 0x08}, {0x1a, 0x50}, {0x1b, 0xc0}, {0x1c, 0xc0},
    {0x1d, 0x00}, {0x1e, 0x02}, {0x20, 0x30}, {0x21, 0xf0}, {0x22, 0x10},
    {0x23, 0x00}, {0x26, 0x00}, {0x2a, 0x30}, {0x2b, 0xf0}, {0x2c, 0x10},
    {0x2d, 0x00}, {0x30, 0x00}, {0x34, 0x30}, {0x35, 0xeb}, {0x36, 0x10},
    {0x37, 0x00}, {0x3a, 0x00}, {0x3e, 0x01}, {0x40, 0x00}, {0x41, 0x00},
    {0x42, 0x00}, {0x43, 0x00}, {0x44, 0x00}, {0x80, 0x06}, {0x81, 0x00},
    {0x82, 0x00}, {0x83, 0x00}, {0x84, 0x00}, {0x85, 0x00}, {0x86, 0x00},
    {0x87, 0x02}, {0x88, 0x02}, {0x89, 0x01}, {0x8a, 0x06}, {0x8b, 0x00},
    {0x8c, 0x64}, {0x8d, 0x06}, {0x8e, 0x89}, {0x8f, 0x01}, {0x90, 0xc0},
    {0x91, 0x07}, {0x92, 0xb7}, {0x93, 0x06}, {0x94, 0xd7}, {0x95, 0x07},
    {0x96, 0x69}, {0x97, 0x01}, {0x98, 0xc0}, {0x99, 0x00}, {0x9a, 0x40},
    {0x9b, 0x02}, {0x9c, 0x00}, {0x9d, 0x02}, {0x9e, 0x00}, {0xa0, 0x38},
    {0xa1, 0x01}, {0xa2, 0x08}, {0xa3, 0x98}, {0xa4, 0x01}, {0xa5, 0x04},
    {0xa6, 0x65}, {0xa7, 0xc3}, {0xa8, 0x08}, {0xa9, 0x43}, {0xaa, 0x6c},
    {0xab, 0x80}, {0xac, 0x2c}, {0xad, 0x04}, {0xae, 0x63}, {0xaf, 0x16},
    {0xb0, 0x02}, {0xb1, 0x30}, {0xb2, 0x17}, {0xb3, 0x04}, {0xb4, 0x65},
    {0xb5, 0x04}, {0xb6, 0x02}, {0xb7, 0x32}, {0xb8, 0x05}, {0xb9, 0x58},
    {0xba, 0x08}, {0xbb, 0x40}, {0xbc, 0x4c}, {0xbd, 0x44}, {0xbe, 0x4c},
    {0xbf, 0x01}, {0xc0, 0x02}, {0xc1, 0x33}, {0xc2, 0x00}, {0xc3, 0x00},
    {0xc4, 0x00}, {0xc5, 0x00}, {0xc6, 0x00}, {0xc7, 0x00}, {0xc8, 0x55},
    {0xc9, 0x00}, {0xca, 0x7d}, {0xcb, 0x04}, {0xcc, 0x64}, {0xcd, 0x07},
    {0xce, 0x02}, {0xcf, 0x32}, {0xd0, 0x07}, {0xd1, 0x01}, {0xd2, 0x00},
    {0xd3, 0x51}, {0xd4, 0x85}, {0xd5, 0x73}, {0xd6, 0x39}, {0xd7, 0x00},
    {0xd8, 0x00}, {0xd9, 0x00}, {0xda, 0x00}, {0xdb, 0x99}, {0xdc, 0x10},
    {0xdd, 0x80}, {0xde, 0x80}, {0xdf, 0x00}, {0xe0, 0x33}, {0xe1, 0xc0},
    {0xe2, 0x40}, {0xe3, 0xac}, {0xe4, 0x40}, /*{0xe5, 0x61},*/ {0xe6, 0x00},
    {0xe7, 0x00}, {0xe8, 0x2c}, {0xe9, 0x20}, /*{0xea, 0xb2},*/ {0xeb, 0x10},
    {0xec, 0x10}, {0xed, 0x10}, {0xee, 0x00}, {0xef, 0x00}, {0xf1, 0x80},
    {0xf3, 0x00}, {0xf4, 0x00}, {0xf5, 0x00}, {0xf7, 0x00}, {0xf8, 0x23},
    {0xf9, 0x92}, {0xff, 0xff}
};

static const unsigned char TDA9975_1080IVHREF[][2] = {
    {0xa0, 0x38},
    {0xa1, 0x01}, {0xa2, 0x08}, {0xa3, 0x98}, {0xa4, 0x01}, {0xa5, 0x04},
    {0xa6, 0x65}, {0xa7, 0xc3}, {0xa8, 0x08}, {0xa9, 0x43}, {0xaa, 0x6c},
    {0xab, 0x80}, {0xac, 0x2c}, {0xad, 0x04}, {0xae, 0x63}, {0xaf, 0x16},
    {0xb0, 0x02}, {0xb1, 0x30}, {0xb2, 0x17}, {0xb3, 0x04}, {0xb4, 0x65},
    {0xb5, 0x04}, {0xb6, 0x02}, {0xb7, 0x32}, {0xb8, 0x05}, {0xb9, 0x58},
    {0xba, 0x08}, {0xbb, 0x40}, {0xbc, 0x4c}, {0xbd, 0x44}, {0xbe, 0x4c},
    {0xbf, 0x01}, {0xc0, 0x02}, {0xc1, 0x33}, {0xc2, 0x00}, {0xc3, 0x00},
    {0xc4, 0x00}, {0xc5, 0x00}, {0xc6, 0x00}, {0xc7, 0x00}, {0xc8, 0x55},
    {0xc9, 0x00}, {0xca, 0x7d}, {0xcb, 0x04}, {0xcc, 0x64}, {0xcd, 0x07},
    {0xce, 0x02}, {0xcf, 0x32}, {0xd0, 0x07}, {0xd1, 0x01}, {0xd2, 0x00},
    {0xd3, 0x51}, {0xd4, 0x85}, {0xd5, 0x73}, {0xd6, 0x39}, {0xd7, 0x00},
    {0xd8, 0x00}, {0xd9, 0x00}, {0xda, 0x00}, {0xdb, 0x99}, {0xdc, 0x10},
    {0xdd, 0x80}, {0xde, 0x80}, {0xdf, 0x00}, {0xff, 0xff}
};

void I2C_Write_TDA9975(unsigned char *ptr,
                       unsigned char nb_char)
{
    TiDTV_I2cWrite(TDA9975_I2C_CHANNEL,     /*I2C Channel NO.*/
                   TVP_I2C_400K_MODE,       /*I2C Speed*/
                   TDA9975_ADDRESS,         /*Device address*/
                   nb_char,                 /*Write byte size*/
                   ptr,                     /*Write byte buffer*/
                   OS_TICKS_PER_SEC / 2);   /*Time out*/
}

int  I2C_Read_TDA9975(unsigned char address,
                      unsigned char *ptr,
                      unsigned char nb_char)
{
    int ret = -1;

#if 1
    ret =
    TiDTV_I2cRead(TDA9975_I2C_CHANNEL,      /*I2C Channel NO.*/
                  TVP_I2C_400K_MODE,        /*I2C Speed*/
                  TDA9975_ADDRESS,          /*Device address*/
                  1,                        /*Sub address Enable*/
                  address,                  /*Sub address*/
                  nb_char,                  /*Read byte size*/
                  ptr,                      /*Read byte buffer*/
                  OS_TICKS_PER_SEC / 2);    /*Time out*/
#else
    unsigned char addr[2];
    addr[0] = TDA9975_ADDRESS;
    addr[1] = address - 1;
    TiDTV_I2cReadAfterWrite(TDA9975_I2C_CHANNEL,
                            TVP_I2C_400K_MODE,
                            2,
                            addr,
                            nb_char,
                            ptr,
                            OS_TICKS_PER_SEC / 2);
#endif
    if(ret != 0)
    {
        return TDA9975_RET_ERROR;
    }
    else
    {
        return TDA9975_RET_OK;
    }
}

void TDA9975_Delay(int millisecond)
{
    int ticks;

    ticks = (int)(millisecond * 1.0 / 1000 * OS_TICKS_PER_SEC);
    if(ticks == 0)
    {
        ticks = 1;
    }
    OSTimeDly(ticks);
}

unsigned int TDA9975_Delta(unsigned int a, unsigned int b)
{
    if(a > b)
    {
        return (a - b);
    }
    else
    {
        return (b - a);
    }
}

void TDA9975_InitAVI(void)
{
    int  i;
    unsigned char buffer[2];

    I2C_Read_TDA9975(0x00, buffer, 1);      /*Read TDA9775 version*/

    if(buffer[0] != 0x24)                   /*check the TDA9975 version ID*/
    {
        return;
    }

    for (i = 0; ; i++)                      /* Init I2C registers for TDA9975A */
    {
        buffer[0] = TDA9975_INITAVIData[i][0];/* Subaddress */
        buffer[1] = TDA9975_INITAVIData[i][1];/* Data */
        if(buffer[0] == 0xFF && buffer[1] == 0xFF)
        {
            break;
        }
        I2C_Write_TDA9975(buffer, 2);
    }

    g_TDA9975Status          = TDA9975_RET_ERROR;
    g_TDA9975InputPorts      = 0;
    g_TDA9975InputFormat     = VIDEO_INPUT_INVALID;
}

void TDA9975_InitHDMI(void)
{
    int  i;
    unsigned char buffer[2];

    I2C_Read_TDA9975(0x00, buffer, 1);      /*Read TDA9775 version*/

    if(buffer[0] != 0x24)                   /*check the TDA9975 version ID*/
    {
        return;
    }

    for (i = 0; ; i++)                      /* Init I2C registers for TDA9975A */
    {
        buffer[0] = TDA9975_INITHDMIData[i][0];/* Subaddress */
        buffer[1] = TDA9975_INITHDMIData[i][1];/* Data */
        if(buffer[0] == 0xFF && buffer[1] == 0xFF)
        {
            break;
        }
        I2C_Write_TDA9975(buffer, 2);
    }

    g_TDA9975Status          = TDA9975_RET_ERROR;
    g_TDA9975InputPorts      = 0;
    g_TDA9975InputFormat     = VIDEO_INPUT_INVALID;
}

void TDA9975_AVIPage(void)
{
    unsigned char buffer[2] ;               /* I2C data buffer */

    buffer[0]   = 0xFF ;                    /* Subaddress of CURRPAGE_ADR*/
    buffer[1]   = 0x00 ;                    /* Data */
    I2C_Write_TDA9975(buffer, 2) ;
}

void TDA9975_HDMIPage(void)
{
    unsigned char buffer[2] ;               /* I2C data buffer */

    buffer[0]   = 0xFF ;                    /* Subaddress of CURRPAGE_ADR*/
    buffer[1]   = 0x11 ;                    /* Data */
    I2C_Write_TDA9975(buffer, 2) ;
}

void TDA9975_OutputHighImpendance(void)
{
    unsigned char buffer[2];

    g_UserWantInputPort = VIDEO_INPUT_TEST;

    TDA9975_AVIPage();

    buffer[0] = 0xe5;buffer[1] = 0x9b;       /*Output control*/
    I2C_Write_TDA9975(buffer, 2);

}

void TDA9975_OutputHighImpendanceContinueCheck(void)
{
    unsigned char buffer[2];

    TDA9975_AVIPage();

    buffer[0] = 0xe5;buffer[1] = 0x9b;       /*Output control*/
    I2C_Write_TDA9975(buffer, 2);

}

void TDA9975_OutputEnable(unsigned int out)
{
    unsigned char buffer[2];

    if(out >= TDA9975_OUT_FORAMT_BUTT)

⌨️ 快捷键说明

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