V4L/DVB: gspca - zc3xx: Add the light frequency control for sensor hv7131r
The new exchanges are extracted from the public file lPEPI264v.inf of the ms-Windows driver. In this file, the sensor is named hv7131b but the exchanges are those of the hv7131r. Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
5fd450e913
commit
2af0b4c60c
@ -2076,6 +2076,7 @@ static const struct usb_action hv7131b_NoFlikerScale[] = { /* 320x240 */
|
||||
{}
|
||||
};
|
||||
|
||||
/* from lPEPI264v.inf (hv7131b!) */
|
||||
static const struct usb_action hv7131r_InitialScale[] = {
|
||||
{0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
|
||||
{0xa0, 0x10, ZC3XX_R002_CLOCKSELECT},
|
||||
@ -2083,8 +2084,8 @@ static const struct usb_action hv7131r_InitialScale[] = {
|
||||
{0xa0, 0x01, ZC3XX_R001_SYSTEMOPERATING},
|
||||
{0xa0, 0x77, ZC3XX_R101_SENSORCORRECTION},
|
||||
{0xa0, 0x03, ZC3XX_R008_CLOCKSETTING},
|
||||
{0xa0, 0x05, ZC3XX_R012_VIDEOCONTROLFUNC},
|
||||
{0xa0, 0x07, ZC3XX_R012_VIDEOCONTROLFUNC},
|
||||
{0xa0, 0x01, ZC3XX_R012_VIDEOCONTROLFUNC},
|
||||
{0xa0, 0x02, ZC3XX_R003_FRAMEWIDTHHIGH},
|
||||
{0xa0, 0x80, ZC3XX_R004_FRAMEWIDTHLOW},
|
||||
{0xa0, 0x01, ZC3XX_R005_FRAMEHEIGHTHIGH},
|
||||
@ -2097,6 +2098,8 @@ static const struct usb_action hv7131r_InitialScale[] = {
|
||||
{0xa0, 0x88, ZC3XX_R09E_WINWIDTHLOW},
|
||||
{0xa0, 0x00, ZC3XX_R11A_FIRSTYLOW},
|
||||
{0xa0, 0x00, ZC3XX_R11C_FIRSTXLOW},
|
||||
{0xa0, 0x07, ZC3XX_R012_VIDEOCONTROLFUNC},
|
||||
{0xdd, 0x00, 0x0200},
|
||||
{0xa0, 0x05, ZC3XX_R012_VIDEOCONTROLFUNC},
|
||||
{0xaa, 0x01, 0x000c},
|
||||
{0xaa, 0x11, 0x0000},
|
||||
@ -2105,10 +2108,10 @@ static const struct usb_action hv7131r_InitialScale[] = {
|
||||
{0xaa, 0x15, 0x00e8},
|
||||
{0xaa, 0x16, 0x0002},
|
||||
{0xaa, 0x17, 0x0088},
|
||||
|
||||
{0xaa, 0x30, 0x000b},
|
||||
{0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
|
||||
{0xa0, 0x0d, ZC3XX_R100_OPERATIONMODE},
|
||||
{0xa0, 0x89, ZC3XX_R18D_YTARGET},
|
||||
{0xa0, 0x78, ZC3XX_R18D_YTARGET},
|
||||
{0xa0, 0x50, ZC3XX_R1A8_DIGITALGAIN},
|
||||
{0xa0, 0x00, 0x01ad},
|
||||
{0xa0, 0xc0, 0x019b},
|
||||
@ -2118,96 +2121,44 @@ static const struct usb_action hv7131r_InitialScale[] = {
|
||||
{0xa0, 0x13, ZC3XX_R1CB_SHARPNESS05},
|
||||
{0xa0, 0x08, ZC3XX_R250_DEADPIXELSMODE},
|
||||
{0xa0, 0x08, ZC3XX_R301_EEPROMACCESS},
|
||||
{0xa1, 0x01, 0x0002},
|
||||
{0xa0, 0x00, ZC3XX_R092_I2CADDRESSSELECT},
|
||||
{0xa0, 0x02, ZC3XX_R090_I2CCOMMAND},
|
||||
{0xa1, 0x01, 0x0091},
|
||||
{0xa1, 0x01, 0x0095},
|
||||
{0xa1, 0x01, 0x0096},
|
||||
|
||||
{0xa1, 0x01, 0x0008},
|
||||
{0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, /* clock ? */
|
||||
{0xa0, 0x08, ZC3XX_R1C6_SHARPNESS00}, /* sharpness+ */
|
||||
{0xa1, 0x01, 0x01c8},
|
||||
{0xa1, 0x01, 0x01c9},
|
||||
{0xa1, 0x01, 0x01ca},
|
||||
{0xa0, 0x0f, ZC3XX_R1CB_SHARPNESS05}, /* sharpness- */
|
||||
|
||||
{0xa0, 0x60, ZC3XX_R10A_RGB00}, /* matrix */
|
||||
{0xa0, 0xf0, ZC3XX_R10B_RGB01},
|
||||
{0xa0, 0xf0, ZC3XX_R10C_RGB02},
|
||||
{0xa0, 0xf0, ZC3XX_R10D_RGB10},
|
||||
{0xa0, 0x60, ZC3XX_R10E_RGB11},
|
||||
{0xa0, 0xf0, ZC3XX_R10F_RGB12},
|
||||
{0xa0, 0xf0, ZC3XX_R110_RGB20},
|
||||
{0xa0, 0xf0, ZC3XX_R111_RGB21},
|
||||
{0xa0, 0x60, ZC3XX_R112_RGB22},
|
||||
{0xa1, 0x01, 0x0180},
|
||||
{0xa0, 0x10, ZC3XX_R180_AUTOCORRECTENABLE},
|
||||
{0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
|
||||
{0xaa, 0x25, 0x0007},
|
||||
{0xaa, 0x26, 0x0053},
|
||||
{0xaa, 0x27, 0x0000},
|
||||
|
||||
{0xa0, 0x10, ZC3XX_R190_EXPOSURELIMITHIGH}, /* 2f */
|
||||
{0xa0, 0x04, ZC3XX_R191_EXPOSURELIMITMID}, /* 9b */
|
||||
{0xa0, 0x60, ZC3XX_R192_EXPOSURELIMITLOW}, /* 80 */
|
||||
{0xa0, 0x01, ZC3XX_R195_ANTIFLICKERHIGH},
|
||||
{0xa0, 0xd4, ZC3XX_R196_ANTIFLICKERMID},
|
||||
{0xa0, 0xc0, ZC3XX_R197_ANTIFLICKERLOW},
|
||||
{0xa0, 0x10, ZC3XX_R18C_AEFREEZE},
|
||||
{0xa0, 0x20, ZC3XX_R18F_AEUNFREEZE},
|
||||
{0xa0, 0x60, ZC3XX_R1A8_DIGITALGAIN},
|
||||
{0xa0, 0x10, ZC3XX_R1A9_DIGITALLIMITDIFF},
|
||||
{0xa0, 0x13, ZC3XX_R1AA_DIGITALGAINSTEP},
|
||||
{0xa1, 0x01, 0x001d},
|
||||
{0xa1, 0x01, 0x001e},
|
||||
{0xa1, 0x01, 0x001f},
|
||||
{0xa1, 0x01, 0x0020},
|
||||
{0xa0, 0x40, ZC3XX_R180_AUTOCORRECTENABLE},
|
||||
{0xa1, 0x01, 0x0180},
|
||||
{0xa0, 0x42, ZC3XX_R180_AUTOCORRECTENABLE},
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct usb_action hv7131r_Initial[] = {
|
||||
{0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
|
||||
|
||||
{0xa0, 0x00, ZC3XX_R002_CLOCKSELECT}, /* diff */
|
||||
{0xa0, 0x00, ZC3XX_R002_CLOCKSELECT},
|
||||
{0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT},
|
||||
{0xa0, 0x01, ZC3XX_R001_SYSTEMOPERATING},
|
||||
{0xa0, 0x77, ZC3XX_R101_SENSORCORRECTION},
|
||||
{0xa0, 0x03, ZC3XX_R008_CLOCKSETTING},
|
||||
|
||||
{0xa0, 0x05, ZC3XX_R012_VIDEOCONTROLFUNC},
|
||||
{0xa0, 0x07, ZC3XX_R012_VIDEOCONTROLFUNC},
|
||||
|
||||
{0xa0, 0x01, ZC3XX_R012_VIDEOCONTROLFUNC},
|
||||
{0xa0, 0x02, ZC3XX_R003_FRAMEWIDTHHIGH},
|
||||
{0xa0, 0x80, ZC3XX_R004_FRAMEWIDTHLOW},
|
||||
{0xa0, 0x01, ZC3XX_R005_FRAMEHEIGHTHIGH},
|
||||
{0xa0, 0xe0, ZC3XX_R006_FRAMEHEIGHTLOW}, /* 1e0 */
|
||||
{0xa0, 0xe0, ZC3XX_R006_FRAMEHEIGHTLOW},
|
||||
|
||||
{0xa0, 0x00, ZC3XX_R098_WINYSTARTLOW},
|
||||
{0xa0, 0x00, ZC3XX_R09A_WINXSTARTLOW},
|
||||
{0xa0, 0x01, ZC3XX_R09B_WINHEIGHTHIGH},
|
||||
{0xa0, 0xe8, ZC3XX_R09C_WINHEIGHTLOW},
|
||||
{0xa0, 0xe6, ZC3XX_R09C_WINHEIGHTLOW},
|
||||
{0xa0, 0x02, ZC3XX_R09D_WINWIDTHHIGH},
|
||||
{0xa0, 0x88, ZC3XX_R09E_WINWIDTHLOW},
|
||||
{0xa0, 0x86, ZC3XX_R09E_WINWIDTHLOW},
|
||||
{0xa0, 0x00, ZC3XX_R11A_FIRSTYLOW},
|
||||
{0xa0, 0x00, ZC3XX_R11C_FIRSTXLOW},
|
||||
{0xa0, 0x07, ZC3XX_R012_VIDEOCONTROLFUNC},
|
||||
{0xdd, 0x00, 0x0200},
|
||||
{0xa0, 0x05, ZC3XX_R012_VIDEOCONTROLFUNC},
|
||||
{0xaa, 0x01, 0x000c},
|
||||
{0xaa, 0x11, 0x0000},
|
||||
{0xaa, 0x13, 0x0000},
|
||||
{0xaa, 0x14, 0x0001},
|
||||
{0xaa, 0x15, 0x00e8},
|
||||
{0xaa, 0x15, 0x00e6},
|
||||
{0xaa, 0x16, 0x0002},
|
||||
{0xaa, 0x17, 0x0088},
|
||||
|
||||
{0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, /* 00 */
|
||||
|
||||
{0xaa, 0x17, 0x0086},
|
||||
{0xaa, 0x30, 0x000b},
|
||||
{0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
|
||||
{0xa0, 0x0d, ZC3XX_R100_OPERATIONMODE},
|
||||
{0xa0, 0x89, ZC3XX_R18D_YTARGET},
|
||||
{0xa0, 0x78, ZC3XX_R18D_YTARGET},
|
||||
{0xa0, 0x50, ZC3XX_R1A8_DIGITALGAIN},
|
||||
{0xa0, 0x00, 0x01ad},
|
||||
{0xa0, 0xc0, 0x019b},
|
||||
@ -2217,58 +2168,114 @@ static const struct usb_action hv7131r_Initial[] = {
|
||||
{0xa0, 0x13, ZC3XX_R1CB_SHARPNESS05},
|
||||
{0xa0, 0x08, ZC3XX_R250_DEADPIXELSMODE},
|
||||
{0xa0, 0x08, ZC3XX_R301_EEPROMACCESS},
|
||||
{0xa1, 0x01, 0x0002},
|
||||
{0xa0, 0x00, ZC3XX_R092_I2CADDRESSSELECT},
|
||||
/* read the i2c chips ident */
|
||||
{0xa0, 0x02, ZC3XX_R090_I2CCOMMAND},
|
||||
{0xa1, 0x01, 0x0091},
|
||||
{0xa1, 0x01, 0x0095},
|
||||
{0xa1, 0x01, 0x0096},
|
||||
|
||||
{0xa1, 0x01, 0x0008},
|
||||
{0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, /* clock ? */
|
||||
{0xa0, 0x08, ZC3XX_R1C6_SHARPNESS00}, /* sharpness+ */
|
||||
{0xa1, 0x01, 0x01c8},
|
||||
{0xa1, 0x01, 0x01c9},
|
||||
{0xa1, 0x01, 0x01ca},
|
||||
{0xa0, 0x0f, ZC3XX_R1CB_SHARPNESS05}, /* sharpness- */
|
||||
|
||||
{0xa0, 0x60, ZC3XX_R10A_RGB00}, /* matrix */
|
||||
{0xa0, 0xf0, ZC3XX_R10B_RGB01},
|
||||
{0xa0, 0xf0, ZC3XX_R10C_RGB02},
|
||||
{0xa0, 0xf0, ZC3XX_R10D_RGB10},
|
||||
{0xa0, 0x60, ZC3XX_R10E_RGB11},
|
||||
{0xa0, 0xf0, ZC3XX_R10F_RGB12},
|
||||
{0xa0, 0xf0, ZC3XX_R110_RGB20},
|
||||
{0xa0, 0xf0, ZC3XX_R111_RGB21},
|
||||
{0xa0, 0x60, ZC3XX_R112_RGB22},
|
||||
{0xa1, 0x01, 0x0180},
|
||||
{0xa0, 0x10, ZC3XX_R180_AUTOCORRECTENABLE},
|
||||
{}
|
||||
};
|
||||
static const struct usb_action hv7131r_50HZ[] = {
|
||||
{0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
|
||||
{0xaa, 0x25, 0x0007},
|
||||
{0xaa, 0x26, 0x0053},
|
||||
{0xaa, 0x27, 0x0000},
|
||||
|
||||
{0xa0, 0x10, ZC3XX_R190_EXPOSURELIMITHIGH}, /* 2f */
|
||||
{0xa0, 0x04, ZC3XX_R191_EXPOSURELIMITMID}, /* 9b */
|
||||
{0xa0, 0x60, ZC3XX_R192_EXPOSURELIMITLOW}, /* 80 */
|
||||
|
||||
{0xa0, 0x06, ZC3XX_R190_EXPOSURELIMITHIGH},
|
||||
{0xa0, 0x68, ZC3XX_R191_EXPOSURELIMITMID},
|
||||
{0xa0, 0xa0, ZC3XX_R192_EXPOSURELIMITLOW},
|
||||
{0xa0, 0x00, ZC3XX_R195_ANTIFLICKERHIGH},
|
||||
{0xa0, 0xea, ZC3XX_R196_ANTIFLICKERMID},
|
||||
{0xa0, 0x60, ZC3XX_R197_ANTIFLICKERLOW},
|
||||
{0xa0, 0x18, ZC3XX_R18C_AEFREEZE},
|
||||
{0xa0, 0x20, ZC3XX_R18F_AEUNFREEZE},
|
||||
{0xa0, 0x10, ZC3XX_R1A9_DIGITALLIMITDIFF},
|
||||
{0xa0, 0x66, ZC3XX_R1AA_DIGITALGAINSTEP},
|
||||
{0xa0, 0x00, ZC3XX_R01D_HSYNC_0},
|
||||
{0xa0, 0xd0, ZC3XX_R01E_HSYNC_1},
|
||||
{0xa0, 0x00, ZC3XX_R01F_HSYNC_2},
|
||||
{0xa0, 0x08, ZC3XX_R020_HSYNC_3},
|
||||
{}
|
||||
};
|
||||
static const struct usb_action hv7131r_50HZScale[] = {
|
||||
{0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
|
||||
{0xa0, 0x0c, ZC3XX_R190_EXPOSURELIMITHIGH},
|
||||
{0xa0, 0xd1, ZC3XX_R191_EXPOSURELIMITMID},
|
||||
{0xa0, 0x40, ZC3XX_R192_EXPOSURELIMITLOW},
|
||||
{0xa0, 0x01, ZC3XX_R195_ANTIFLICKERHIGH},
|
||||
{0xa0, 0xd4, ZC3XX_R196_ANTIFLICKERMID},
|
||||
{0xa0, 0xc0, ZC3XX_R197_ANTIFLICKERLOW},
|
||||
|
||||
{0xa0, 0x10, ZC3XX_R18C_AEFREEZE},
|
||||
{0xa0, 0x18, ZC3XX_R18C_AEFREEZE},
|
||||
{0xa0, 0x20, ZC3XX_R18F_AEUNFREEZE},
|
||||
{0xa0, 0x60, ZC3XX_R1A8_DIGITALGAIN},
|
||||
{0xa0, 0x10, ZC3XX_R1A9_DIGITALLIMITDIFF},
|
||||
{0xa0, 0x13, ZC3XX_R1AA_DIGITALGAINSTEP},
|
||||
{0xa1, 0x01, 0x001d},
|
||||
{0xa1, 0x01, 0x001e},
|
||||
{0xa1, 0x01, 0x001f},
|
||||
{0xa1, 0x01, 0x0020},
|
||||
{0xa0, 0x40, ZC3XX_R180_AUTOCORRECTENABLE},
|
||||
{0xa1, 0x01, 0x0180},
|
||||
{0xa0, 0x42, ZC3XX_R180_AUTOCORRECTENABLE},
|
||||
{0xa0, 0x66, ZC3XX_R1AA_DIGITALGAINSTEP},
|
||||
{0xa0, 0x00, ZC3XX_R01D_HSYNC_0},
|
||||
{0xa0, 0xd0, ZC3XX_R01E_HSYNC_1},
|
||||
{0xa0, 0x00, ZC3XX_R01F_HSYNC_2},
|
||||
{0xa0, 0x08, ZC3XX_R020_HSYNC_3},
|
||||
{}
|
||||
};
|
||||
static const struct usb_action hv7131r_60HZ[] = {
|
||||
{0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
|
||||
{0xa0, 0x06, ZC3XX_R190_EXPOSURELIMITHIGH},
|
||||
{0xa0, 0x1a, ZC3XX_R191_EXPOSURELIMITMID},
|
||||
{0xa0, 0x80, ZC3XX_R192_EXPOSURELIMITLOW},
|
||||
{0xa0, 0x00, ZC3XX_R195_ANTIFLICKERHIGH},
|
||||
{0xa0, 0xc3, ZC3XX_R196_ANTIFLICKERMID},
|
||||
{0xa0, 0x50, ZC3XX_R197_ANTIFLICKERLOW},
|
||||
{0xa0, 0x18, ZC3XX_R18C_AEFREEZE},
|
||||
{0xa0, 0x20, ZC3XX_R18F_AEUNFREEZE},
|
||||
{0xa0, 0x10, ZC3XX_R1A9_DIGITALLIMITDIFF},
|
||||
{0xa0, 0x66, ZC3XX_R1AA_DIGITALGAINSTEP},
|
||||
{0xa0, 0x00, ZC3XX_R01D_HSYNC_0},
|
||||
{0xa0, 0xd0, ZC3XX_R01E_HSYNC_1},
|
||||
{0xa0, 0x00, ZC3XX_R01F_HSYNC_2},
|
||||
{0xa0, 0x08, ZC3XX_R020_HSYNC_3},
|
||||
{}
|
||||
};
|
||||
static const struct usb_action hv7131r_60HZScale[] = {
|
||||
{0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
|
||||
{0xa0, 0x0c, ZC3XX_R190_EXPOSURELIMITHIGH},
|
||||
{0xa0, 0x35, ZC3XX_R191_EXPOSURELIMITMID},
|
||||
{0xa0, 0x00, ZC3XX_R192_EXPOSURELIMITLOW},
|
||||
{0xa0, 0x01, ZC3XX_R195_ANTIFLICKERHIGH},
|
||||
{0xa0, 0x86, ZC3XX_R196_ANTIFLICKERMID},
|
||||
{0xa0, 0xa0, ZC3XX_R197_ANTIFLICKERLOW},
|
||||
{0xa0, 0x18, ZC3XX_R18C_AEFREEZE},
|
||||
{0xa0, 0x20, ZC3XX_R18F_AEUNFREEZE},
|
||||
{0xa0, 0x10, ZC3XX_R1A9_DIGITALLIMITDIFF},
|
||||
{0xa0, 0x66, ZC3XX_R1AA_DIGITALGAINSTEP},
|
||||
{0xa0, 0x00, ZC3XX_R01D_HSYNC_0},
|
||||
{0xa0, 0xd0, ZC3XX_R01E_HSYNC_1},
|
||||
{0xa0, 0x00, ZC3XX_R01F_HSYNC_2},
|
||||
{0xa0, 0x08, ZC3XX_R020_HSYNC_3},
|
||||
{}
|
||||
};
|
||||
static const struct usb_action hv7131r_NoFliker[] = {
|
||||
{0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
|
||||
{0xa0, 0x2f, ZC3XX_R190_EXPOSURELIMITHIGH},
|
||||
{0xa0, 0xf8, ZC3XX_R191_EXPOSURELIMITMID},
|
||||
{0xa0, 0x00, ZC3XX_R192_EXPOSURELIMITLOW},
|
||||
{0xa0, 0x00, ZC3XX_R195_ANTIFLICKERHIGH},
|
||||
{0xa0, 0x02, ZC3XX_R196_ANTIFLICKERMID},
|
||||
{0xa0, 0x58, ZC3XX_R197_ANTIFLICKERLOW},
|
||||
{0xa0, 0x0c, ZC3XX_R18C_AEFREEZE},
|
||||
{0xa0, 0x18, ZC3XX_R18F_AEUNFREEZE},
|
||||
{0xa0, 0x00, ZC3XX_R1A9_DIGITALLIMITDIFF},
|
||||
{0xa0, 0x00, ZC3XX_R1AA_DIGITALGAINSTEP},
|
||||
{0xa0, 0x00, ZC3XX_R01D_HSYNC_0},
|
||||
{0xa0, 0xd0, ZC3XX_R01E_HSYNC_1},
|
||||
{0xa0, 0x00, ZC3XX_R01F_HSYNC_2},
|
||||
{0xa0, 0x08, ZC3XX_R020_HSYNC_3},
|
||||
{}
|
||||
};
|
||||
static const struct usb_action hv7131r_NoFlikerScale[] = {
|
||||
{0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
|
||||
{0xa0, 0x2f, ZC3XX_R190_EXPOSURELIMITHIGH},
|
||||
{0xa0, 0xf8, ZC3XX_R191_EXPOSURELIMITMID},
|
||||
{0xa0, 0x00, ZC3XX_R192_EXPOSURELIMITLOW},
|
||||
{0xa0, 0x00, ZC3XX_R195_ANTIFLICKERHIGH},
|
||||
{0xa0, 0x04, ZC3XX_R196_ANTIFLICKERMID},
|
||||
{0xa0, 0xb0, ZC3XX_R197_ANTIFLICKERLOW},
|
||||
{0xa0, 0x0c, ZC3XX_R18C_AEFREEZE},
|
||||
{0xa0, 0x18, ZC3XX_R18F_AEUNFREEZE},
|
||||
{0xa0, 0x00, ZC3XX_R1A9_DIGITALLIMITDIFF},
|
||||
{0xa0, 0x00, ZC3XX_R1AA_DIGITALGAINSTEP},
|
||||
{0xa0, 0x00, ZC3XX_R01D_HSYNC_0},
|
||||
{0xa0, 0xd0, ZC3XX_R01E_HSYNC_1},
|
||||
{0xa0, 0x00, ZC3XX_R01F_HSYNC_2},
|
||||
{0xa0, 0x08, ZC3XX_R020_HSYNC_3},
|
||||
{}
|
||||
};
|
||||
|
||||
@ -6167,9 +6174,9 @@ static void setlightfreq(struct gspca_dev *gspca_dev)
|
||||
hv7131b_50HZ, hv7131b_50HZScale,
|
||||
hv7131b_60HZ, hv7131b_60HZScale},
|
||||
[SENSOR_HV7131R] =
|
||||
{NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL},
|
||||
{hv7131r_NoFliker, hv7131r_NoFlikerScale,
|
||||
hv7131r_50HZ, hv7131r_50HZScale,
|
||||
hv7131r_60HZ, hv7131r_60HZScale},
|
||||
[SENSOR_ICM105A] =
|
||||
{icm105a_NoFliker, icm105a_NoFlikerScale,
|
||||
icm105a_50HZ, icm105a_50HZScale,
|
||||
@ -6791,8 +6798,6 @@ static int sd_init(struct gspca_dev *gspca_dev)
|
||||
sd->gamma = gamma[sd->sensor];
|
||||
|
||||
switch (sd->sensor) {
|
||||
case SENSOR_HV7131B:
|
||||
case SENSOR_HV7131R:
|
||||
case SENSOR_OV7630C:
|
||||
gspca_dev->ctrl_dis = (1 << LIGHTFREQ_IDX);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user