diff options
author | Jean-Francois Moine <moinejf@free.fr> | 2009-02-01 12:48:55 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-30 11:42:37 -0400 |
commit | 2687a2fb1ce2b764298fb40c96765b04eaddac95 (patch) | |
tree | 644b85b8bc9d51b375f5ac7c5835b415c73103a6 /drivers/media/video/gspca | |
parent | 65c5259cc44c822215e670025c226d77f5a323bf (diff) |
V4L/DVB (10430): gspca - sonixj: Adjust some exchanges with the sensor mt9v111.
This patch also enables the autogain for the mt9v111.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/gspca')
-rw-r--r-- | drivers/media/video/gspca/sonixj.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/drivers/media/video/gspca/sonixj.c b/drivers/media/video/gspca/sonixj.c index 4101a240e48..970c74f9fe8 100644 --- a/drivers/media/video/gspca/sonixj.c +++ b/drivers/media/video/gspca/sonixj.c | |||
@@ -234,7 +234,7 @@ static __u32 ctrl_dis[] = { | |||
234 | /* SENSOR_MI0360 1 */ | 234 | /* SENSOR_MI0360 1 */ |
235 | (1 << INFRARED_IDX) | (1 << VFLIP_IDX), | 235 | (1 << INFRARED_IDX) | (1 << VFLIP_IDX), |
236 | /* SENSOR_MO4000 2 */ | 236 | /* SENSOR_MO4000 2 */ |
237 | (1 << AUTOGAIN_IDX), | 237 | 0, |
238 | /* SENSOR_MT9V111 3 */ | 238 | /* SENSOR_MT9V111 3 */ |
239 | (1 << INFRARED_IDX) | (1 << VFLIP_IDX), | 239 | (1 << INFRARED_IDX) | (1 << VFLIP_IDX), |
240 | /* SENSOR_OM6802 4 */ | 240 | /* SENSOR_OM6802 4 */ |
@@ -517,8 +517,18 @@ static const u8 mt9v111_sensor_init[][8] = { | |||
517 | {0xb1, 0x5c, 0x01, 0x00, 0x01, 0x00, 0x00, 0x10}, /* IFP select */ | 517 | {0xb1, 0x5c, 0x01, 0x00, 0x01, 0x00, 0x00, 0x10}, /* IFP select */ |
518 | {0xb1, 0x5c, 0x08, 0x04, 0x80, 0x00, 0x00, 0x10}, /* output fmt ctrl */ | 518 | {0xb1, 0x5c, 0x08, 0x04, 0x80, 0x00, 0x00, 0x10}, /* output fmt ctrl */ |
519 | {0xb1, 0x5c, 0x06, 0x00, 0x00, 0x00, 0x00, 0x10}, /* op mode ctrl */ | 519 | {0xb1, 0x5c, 0x06, 0x00, 0x00, 0x00, 0x00, 0x10}, /* op mode ctrl */ |
520 | {0xb1, 0x5c, 0x02, 0x00, 0x16, 0x00, 0x00, 0x10}, | ||
521 | {0xb1, 0x5c, 0x03, 0x01, 0xe1, 0x00, 0x00, 0x10}, | ||
522 | {0xb1, 0x5c, 0x04, 0x02, 0x81, 0x00, 0x00, 0x10}, | ||
523 | {0xb1, 0x5c, 0x05, 0x00, 0x04, 0x00, 0x00, 0x10}, | ||
520 | {0xb1, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0x10}, /* sensor select */ | 524 | {0xb1, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0x10}, /* sensor select */ |
525 | {0xb1, 0x5c, 0x02, 0x00, 0x16, 0x00, 0x00, 0x10}, | ||
526 | {0xb1, 0x5c, 0x03, 0x01, 0xe6, 0x00, 0x00, 0x10}, | ||
527 | {0xb1, 0x5c, 0x04, 0x02, 0x86, 0x00, 0x00, 0x10}, | ||
528 | {0xb1, 0x5c, 0x05, 0x00, 0x04, 0x00, 0x00, 0x10}, | ||
529 | {0xb1, 0x5c, 0x06, 0x00, 0x00, 0x00, 0x00, 0x10}, | ||
521 | {0xb1, 0x5c, 0x08, 0x00, 0x08, 0x00, 0x00, 0x10}, /* row start */ | 530 | {0xb1, 0x5c, 0x08, 0x00, 0x08, 0x00, 0x00, 0x10}, /* row start */ |
531 | {0xb1, 0x5c, 0x0e, 0x00, 0x08, 0x00, 0x00, 0x10}, | ||
522 | {0xb1, 0x5c, 0x02, 0x00, 0x16, 0x00, 0x00, 0x10}, /* col start */ | 532 | {0xb1, 0x5c, 0x02, 0x00, 0x16, 0x00, 0x00, 0x10}, /* col start */ |
523 | {0xb1, 0x5c, 0x03, 0x01, 0xe7, 0x00, 0x00, 0x10}, /* window height */ | 533 | {0xb1, 0x5c, 0x03, 0x01, 0xe7, 0x00, 0x00, 0x10}, /* window height */ |
524 | {0xb1, 0x5c, 0x04, 0x02, 0x87, 0x00, 0x00, 0x10}, /* window width */ | 534 | {0xb1, 0x5c, 0x04, 0x02, 0x87, 0x00, 0x00, 0x10}, /* window width */ |
@@ -532,7 +542,7 @@ static const u8 mt9v111_sensor_init[][8] = { | |||
532 | /*******/ | 542 | /*******/ |
533 | {0xb1, 0x5c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x10}, | 543 | {0xb1, 0x5c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x10}, |
534 | {0xb1, 0x5c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x10}, | 544 | {0xb1, 0x5c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x10}, |
535 | {0xb1, 0x5c, 0x09, 0x00, 0x64, 0x00, 0x00, 0x10}, /* shutter width */ | 545 | {0xb1, 0x5c, 0x09, 0x01, 0x2c, 0x00, 0x00, 0x10}, |
536 | {0xd1, 0x5c, 0x2b, 0x00, 0x33, 0x00, 0xa0, 0x10}, /* green1 gain */ | 546 | {0xd1, 0x5c, 0x2b, 0x00, 0x33, 0x00, 0xa0, 0x10}, /* green1 gain */ |
537 | {0xd1, 0x5c, 0x2d, 0x00, 0xa0, 0x00, 0x33, 0x10}, /* red gain */ | 547 | {0xd1, 0x5c, 0x2d, 0x00, 0xa0, 0x00, 0x33, 0x10}, /* red gain */ |
538 | /*******/ | 548 | /*******/ |
@@ -1688,7 +1698,7 @@ static int sd_start(struct gspca_dev *gspca_dev) | |||
1688 | reg1 = 0x04; /* 320 clk 48Mhz */ | 1698 | reg1 = 0x04; /* 320 clk 48Mhz */ |
1689 | } else { | 1699 | } else { |
1690 | /* reg1 = 0x06; * 640 clk 24Mz (done) */ | 1700 | /* reg1 = 0x06; * 640 clk 24Mz (done) */ |
1691 | reg17 = 0xe2; | 1701 | reg17 = 0xc2; |
1692 | } | 1702 | } |
1693 | break; | 1703 | break; |
1694 | case SENSOR_OM6802: | 1704 | case SENSOR_OM6802: |