Commit f6b22e5e authored by Jean-François Moine's avatar Jean-François Moine Committed by Mauro Carvalho Chehab

V4L/DVB: gspca - sonixj: Add vertical flip control for sensor hv7131r

Signed-off-by: default avatarJean-François Moine <moinejf@free.fr>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent bee527f9
...@@ -282,7 +282,7 @@ static const struct ctrl sd_ctrls[] = { ...@@ -282,7 +282,7 @@ static const struct ctrl sd_ctrls[] = {
static __u32 ctrl_dis[] = { static __u32 ctrl_dis[] = {
(1 << INFRARED_IDX) | (1 << VFLIP_IDX) | (1 << FREQ_IDX) | (1 << INFRARED_IDX) | (1 << VFLIP_IDX) | (1 << FREQ_IDX) |
(1 << AUTOGAIN_IDX), /* SENSOR_ADCM1700 0 */ (1 << AUTOGAIN_IDX), /* SENSOR_ADCM1700 0 */
(1 << INFRARED_IDX) | (1 << VFLIP_IDX) | (1 << FREQ_IDX), (1 << INFRARED_IDX) | (1 << FREQ_IDX),
/* SENSOR_HV7131R 1 */ /* SENSOR_HV7131R 1 */
(1 << INFRARED_IDX) | (1 << VFLIP_IDX) | (1 << FREQ_IDX), (1 << INFRARED_IDX) | (1 << VFLIP_IDX) | (1 << FREQ_IDX),
/* SENSOR_MI0360 2 */ /* SENSOR_MI0360 2 */
...@@ -1780,23 +1780,34 @@ static void setautogain(struct gspca_dev *gspca_dev) ...@@ -1780,23 +1780,34 @@ static void setautogain(struct gspca_dev *gspca_dev)
sd->ag_cnt = -1; sd->ag_cnt = -1;
} }
/* ov7630/ov7648 only */ /* hv7131r/ov7630/ov7648 only */
static void setvflip(struct sd *sd) static void setvflip(struct sd *sd)
{ {
u8 comn; u8 comn;
if (sd->gspca_dev.ctrl_dis & (1 << VFLIP_IDX)) if (sd->gspca_dev.ctrl_dis & (1 << VFLIP_IDX))
return; return;
if (sd->sensor == SENSOR_OV7630) { switch (sd->sensor) {
case SENSOR_HV7131R:
comn = 0x18; /* clkdiv = 1, ablcen = 1 */
if (sd->vflip)
comn |= 0x01;
i2c_w1(&sd->gspca_dev, 0x01, comn); /* sctra */
break;
case SENSOR_OV7630:
comn = 0x02; comn = 0x02;
if (!sd->vflip) if (!sd->vflip)
comn |= 0x80; comn |= 0x80;
} else { i2c_w1(&sd->gspca_dev, 0x75, comn);
break;
default:
/* case SENSOR_OV7648: */
comn = 0x06; comn = 0x06;
if (sd->vflip) if (sd->vflip)
comn |= 0x80; comn |= 0x80;
}
i2c_w1(&sd->gspca_dev, 0x75, comn); i2c_w1(&sd->gspca_dev, 0x75, comn);
break;
}
} }
static void setsharpness(struct sd *sd) static void setsharpness(struct sd *sd)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment