mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 22:14:04 +02:00
media: i2c: thcv244: fix abnormal streaming from video1 to video3 in four cameras.
Signed-off-by: Cai Wenzhong <cwz@rock-chips.com> Change-Id: I3fdf4da58de8684ab654ef1166c5c03c479c68cf
This commit is contained in:
parent
d59cc6f311
commit
62a74f10f4
|
|
@ -210,11 +210,9 @@ static const struct regval thcv244_1080p30_init_table[] = {
|
|||
{0x0b, 0x1704, 0xFF, 0x00},
|
||||
{0x0b, 0x0032, 0x00, 0x00},
|
||||
{0x0b, 0x1003, 0x00, 0x00},
|
||||
{0x0b, 0x1004, 0x30, 0x00},
|
||||
{0x0b, 0x1004, 0x00, 0x00},
|
||||
{0x0b, 0x001B, 0x18, 0x00},
|
||||
{0x0b, 0x0032, 0x10, 0x00},
|
||||
{0x0b, 0x0040, 0x50, 0x00},
|
||||
{0x0b, 0x0041, 0x50, 0x00},
|
||||
{0x0b, 0x1005, 0x22, 0x00},
|
||||
{0x0b, 0x100C, 0x30, 0x00},
|
||||
{0x0b, 0x100D, 0x34, 0x00},
|
||||
|
|
@ -252,9 +250,9 @@ static const struct regval thcv241_init_table[] = {
|
|||
{0x34, 0x27, 0x00, 0x00},
|
||||
{0x34, 0x1D, 0x00, 0x00},
|
||||
{0x34, 0x1E, 0x00, 0x00},
|
||||
{0x34, 0x3D, 0x02, 0x00},
|
||||
{0x34, 0x3E, 0x10, 0x00},
|
||||
{0x34, 0x3F, 0x03, 0x00},
|
||||
{0x34, 0x3D, 0x00, 0x00},
|
||||
{0x34, 0x3E, 0x0c, 0x00},
|
||||
{0x34, 0x3F, 0x02, 0x00},
|
||||
{0x34, REG_NULL, 0x00, 0x00},
|
||||
};
|
||||
|
||||
|
|
@ -271,7 +269,7 @@ static const struct regval thcv244_reset_init_table[] = {
|
|||
{0x0b, 0x00B0, 0x34, 0x00},
|
||||
{0x0b, 0x0004, 0x03, 0x00},
|
||||
{0x0b, 0x0010, 0xF0, 0x00},
|
||||
{0x0b, 0x1704, 0x01, 0x00},
|
||||
{0x0b, 0x1704, 0x0F, 0x00},
|
||||
{0x0b, 0x0102, 0xAA, 0x00},
|
||||
{0x0b, 0x0103, 0xAA, 0x00},
|
||||
{0x0b, 0x0104, 0x00, 0x00},
|
||||
|
|
@ -284,7 +282,7 @@ static const struct regval thcv244_reset_init_table[] = {
|
|||
{0x0b, REG_NULL, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct regval thcv241_reset_init_table[] = {
|
||||
static const struct regval thcv241_reset_init_table0[] = {
|
||||
{0x34, 0xFE, 0x21, 0x00},
|
||||
{0x34, 0x06, 0x00, 0x00},
|
||||
{0x34, 0x05, 0x00, 0x00},
|
||||
|
|
@ -739,10 +737,11 @@ static int thcv244_thcv241_init(struct thcv244 *thcv244)
|
|||
ret |= thine_write_reg(thcv244->client, THCV241_ADDR, 0xfe,
|
||||
1, THCV244_REG_VALUE_08BIT, 0x21);
|
||||
ret |= thine_write_reg(thcv244->client, THCV241_ADDR, 0x3e,
|
||||
1, THCV244_REG_VALUE_08BIT, 0x00);
|
||||
msleep(200);
|
||||
1, THCV244_REG_VALUE_08BIT, 0x0c);
|
||||
usleep_range(1000, 2000);
|
||||
ret |= thine_write_reg(thcv244->client, THCV241_ADDR, 0x3e,
|
||||
1, THCV244_REG_VALUE_08BIT, 0x10);
|
||||
1, THCV244_REG_VALUE_08BIT, 0x3c);
|
||||
usleep_range(1000, 2000);
|
||||
ret |= thine_write_reg(thcv244->client, THCV244_ADDR, 0x1600,
|
||||
2, THCV244_REG_VALUE_08BIT, 0x00);
|
||||
if (ret)
|
||||
|
|
@ -758,7 +757,7 @@ static int thcv244_thcv241_reset_initial(struct thcv244 *thcv244)
|
|||
|
||||
ret = thcv244_write_array(thcv244->client, thcv244_reset_init_table);
|
||||
|
||||
ret |= thcv241_write_array(thcv244->client, thcv241_reset_init_table);
|
||||
ret |= thcv241_write_array(thcv244->client, thcv241_reset_init_table0);
|
||||
ret |= thine_write_reg(thcv244->client, THCV244_ADDR, 0x0032,
|
||||
2, THCV244_REG_VALUE_08BIT, 0x10);
|
||||
ret |= thine_write_reg(thcv244->client, THCV241_ADDR, 0x00fe,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user