📄 proviewdtv_tda9975.c
字号:
};
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 + -