aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/gspca/zc3xx.c
diff options
context:
space:
mode:
authorJean-Francois Moine <moinejf@free.fr>2009-01-20 06:14:17 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:42:33 -0400
commitf1ee8e88e93cec2aabbd6669a0a94c8b8ad6d8fc (patch)
treee0bc29331c5983dc7941b32790fa9cf8813d8b71 /drivers/media/video/gspca/zc3xx.c
parent5be2b095b04b309267644ed6ecd1e092669fc4ad (diff)
V4L/DVB (10375): gspca - zc3xx: Remove duplicated sequence of sensor cs2102k.
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/zc3xx.c')
-rw-r--r--drivers/media/video/gspca/zc3xx.c205
1 files changed, 3 insertions, 202 deletions
diff --git a/drivers/media/video/gspca/zc3xx.c b/drivers/media/video/gspca/zc3xx.c
index a2f25e35b844..57917652d209 100644
--- a/drivers/media/video/gspca/zc3xx.c
+++ b/drivers/media/video/gspca/zc3xx.c
@@ -1113,7 +1113,7 @@ static const struct usb_action cs2102K_Initial[] = {
1113}; 1113};
1114 1114
1115static const struct usb_action cs2102K_InitialScale[] = { 1115static const struct usb_action cs2102K_InitialScale[] = {
1116 {0xa0, 0x11, ZC3XX_R002_CLOCKSELECT}, 1116 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
1117 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT}, 1117 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT},
1118 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, 1118 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING},
1119 {0xa0, 0x08, ZC3XX_R010_CMOSSENSORSELECT}, 1119 {0xa0, 0x08, ZC3XX_R010_CMOSSENSORSELECT},
@@ -1130,6 +1130,7 @@ static const struct usb_action cs2102K_InitialScale[] = {
1130 {0xa0, 0x00, ZC3XX_R11C_FIRSTXLOW}, 1130 {0xa0, 0x00, ZC3XX_R11C_FIRSTXLOW},
1131 {0xa0, 0xe8, ZC3XX_R09C_WINHEIGHTLOW}, 1131 {0xa0, 0xe8, ZC3XX_R09C_WINHEIGHTLOW},
1132 {0xa0, 0x88, ZC3XX_R09E_WINWIDTHLOW}, 1132 {0xa0, 0x88, ZC3XX_R09E_WINWIDTHLOW},
1133/*fixme: next sequence = i2c exchanges*/
1133 {0xa0, 0x55, ZC3XX_R08B_I2CDEVICEADDR}, 1134 {0xa0, 0x55, ZC3XX_R08B_I2CDEVICEADDR},
1134 {0xa0, 0x18, ZC3XX_R092_I2CADDRESSSELECT}, 1135 {0xa0, 0x18, ZC3XX_R092_I2CADDRESSSELECT},
1135 {0xa0, 0x00, ZC3XX_R093_I2CSETVALUE}, 1136 {0xa0, 0x00, ZC3XX_R093_I2CSETVALUE},
@@ -1313,207 +1314,6 @@ static const struct usb_action cs2102K_InitialScale[] = {
1313 {0xa0, 0x60, ZC3XX_R116_RGAIN}, 1314 {0xa0, 0x60, ZC3XX_R116_RGAIN},
1314 {0xa0, 0x40, ZC3XX_R117_GGAIN}, 1315 {0xa0, 0x40, ZC3XX_R117_GGAIN},
1315 {0xa0, 0x4c, ZC3XX_R118_BGAIN}, 1316 {0xa0, 0x4c, ZC3XX_R118_BGAIN},
1316 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
1317 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
1318 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT},
1319 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING},
1320 {0xa0, 0x08, ZC3XX_R010_CMOSSENSORSELECT},
1321 {0xa0, 0x02, ZC3XX_R003_FRAMEWIDTHHIGH},
1322 {0xa0, 0x80, ZC3XX_R004_FRAMEWIDTHLOW},
1323 {0xa0, 0x01, ZC3XX_R005_FRAMEHEIGHTHIGH},
1324 {0xa0, 0xe0, ZC3XX_R006_FRAMEHEIGHTLOW},
1325 {0xa0, 0x01, ZC3XX_R001_SYSTEMOPERATING},
1326 {0xa0, 0x03, ZC3XX_R012_VIDEOCONTROLFUNC},
1327 {0xa0, 0x01, ZC3XX_R012_VIDEOCONTROLFUNC},
1328 {0xa0, 0x00, ZC3XX_R098_WINYSTARTLOW},
1329 {0xa0, 0x00, ZC3XX_R09A_WINXSTARTLOW},
1330 {0xa0, 0x00, ZC3XX_R11A_FIRSTYLOW},
1331 {0xa0, 0x00, ZC3XX_R11C_FIRSTXLOW},
1332 {0xa0, 0xe8, ZC3XX_R09C_WINHEIGHTLOW},
1333 {0xa0, 0x88, ZC3XX_R09E_WINWIDTHLOW},
1334 {0xa0, 0x55, ZC3XX_R08B_I2CDEVICEADDR},
1335 {0xa0, 0x18, ZC3XX_R092_I2CADDRESSSELECT},
1336 {0xa0, 0x00, ZC3XX_R093_I2CSETVALUE},
1337 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1338 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1339 {0xa0, 0x0A, ZC3XX_R092_I2CADDRESSSELECT},
1340 {0xa0, 0x02, ZC3XX_R093_I2CSETVALUE},
1341 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1342 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1343 {0xa0, 0x0B, ZC3XX_R092_I2CADDRESSSELECT},
1344 {0xa0, 0x02, ZC3XX_R093_I2CSETVALUE},
1345 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1346 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1347 {0xa0, 0x0C, ZC3XX_R092_I2CADDRESSSELECT},
1348 {0xa0, 0x7b, ZC3XX_R093_I2CSETVALUE},
1349 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1350 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1351 {0xa0, 0x0D, ZC3XX_R092_I2CADDRESSSELECT},
1352 {0xa0, 0xA3, ZC3XX_R093_I2CSETVALUE},
1353 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1354 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1355 {0xa0, 0x03, ZC3XX_R092_I2CADDRESSSELECT},
1356 {0xa0, 0xfb, ZC3XX_R093_I2CSETVALUE},
1357 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1358 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1359 {0xa0, 0x05, ZC3XX_R092_I2CADDRESSSELECT},
1360 {0xa0, 0x00, ZC3XX_R093_I2CSETVALUE},
1361 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1362 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1363 {0xa0, 0x06, ZC3XX_R092_I2CADDRESSSELECT},
1364 {0xa0, 0x03, ZC3XX_R093_I2CSETVALUE},
1365 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1366 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1367 {0xa0, 0x09, ZC3XX_R092_I2CADDRESSSELECT},
1368 {0xa0, 0x08, ZC3XX_R093_I2CSETVALUE},
1369 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1370 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1371 {0xa0, 0x0E, ZC3XX_R092_I2CADDRESSSELECT},
1372 {0xa0, 0x04, ZC3XX_R093_I2CSETVALUE},
1373 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1374 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1375 {0xa0, 0x0f, ZC3XX_R092_I2CADDRESSSELECT},
1376 {0xa0, 0x18, ZC3XX_R093_I2CSETVALUE},
1377 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1378 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1379 {0xa0, 0x10, ZC3XX_R092_I2CADDRESSSELECT},
1380 {0xa0, 0x18, ZC3XX_R093_I2CSETVALUE},
1381 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1382 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1383 {0xa0, 0x11, ZC3XX_R092_I2CADDRESSSELECT},
1384 {0xa0, 0x18, ZC3XX_R093_I2CSETVALUE},
1385 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1386 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1387 {0xa0, 0x12, ZC3XX_R092_I2CADDRESSSELECT},
1388 {0xa0, 0x18, ZC3XX_R093_I2CSETVALUE},
1389 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1390 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1391 {0xa0, 0x15, ZC3XX_R092_I2CADDRESSSELECT},
1392 {0xa0, 0x00, ZC3XX_R093_I2CSETVALUE},
1393 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1394 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1395 {0xa0, 0x16, ZC3XX_R092_I2CADDRESSSELECT},
1396 {0xa0, 0x0c, ZC3XX_R093_I2CSETVALUE},
1397 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1398 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1399 {0xa0, 0x17, ZC3XX_R092_I2CADDRESSSELECT},
1400 {0xa0, 0x0C, ZC3XX_R093_I2CSETVALUE},
1401 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1402 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1403 {0xa0, 0x18, ZC3XX_R092_I2CADDRESSSELECT},
1404 {0xa0, 0x04, ZC3XX_R093_I2CSETVALUE},
1405 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1406 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1407 {0xa0, 0xf7, ZC3XX_R101_SENSORCORRECTION},
1408 {0xa0, 0x05, ZC3XX_R012_VIDEOCONTROLFUNC},
1409 {0xa0, 0x78, ZC3XX_R18D_YTARGET},
1410 {0xa0, 0x0d, ZC3XX_R100_OPERATIONMODE},
1411 {0xa0, 0x06, ZC3XX_R189_AWBSTATUS},
1412 {0xa0, 0x03, ZC3XX_R1C5_SHARPNESSMODE},
1413 {0xa0, 0x13, ZC3XX_R1CB_SHARPNESS05},
1414 {0xa0, 0x20, ZC3XX_R087_EXPTIMEMID},
1415 {0xa0, 0x21, ZC3XX_R088_EXPTIMELOW},
1416 {0xa0, 0x08, ZC3XX_R250_DEADPIXELSMODE},
1417 {0xa0, 0x08, ZC3XX_R301_EEPROMACCESS},
1418 {0xa0, 0x00, 0x01ad},
1419 {0xa0, 0x01, 0x01b1},
1420 {0xa0, 0x02, ZC3XX_R180_AUTOCORRECTENABLE},
1421 {0xa0, 0x60, ZC3XX_R116_RGAIN},
1422 {0xa0, 0x40, ZC3XX_R117_GGAIN},
1423 {0xa0, 0x4c, ZC3XX_R118_BGAIN},
1424 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, /* clock ? */
1425 {0xa0, 0x08, ZC3XX_R1C6_SHARPNESS00}, /* sharpness+ */
1426 {0xa0, 0x0f, ZC3XX_R1CB_SHARPNESS05}, /* sharpness- */
1427 {0xa0, 0x13, ZC3XX_R120_GAMMA00}, /* gamma 4 */
1428 {0xa0, 0x38, ZC3XX_R121_GAMMA01},
1429 {0xa0, 0x59, ZC3XX_R122_GAMMA02},
1430 {0xa0, 0x79, ZC3XX_R123_GAMMA03},
1431 {0xa0, 0x92, ZC3XX_R124_GAMMA04},
1432 {0xa0, 0xa7, ZC3XX_R125_GAMMA05},
1433 {0xa0, 0xb9, ZC3XX_R126_GAMMA06},
1434 {0xa0, 0xc8, ZC3XX_R127_GAMMA07},
1435 {0xa0, 0xd4, ZC3XX_R128_GAMMA08},
1436 {0xa0, 0xdf, ZC3XX_R129_GAMMA09},
1437 {0xa0, 0xe7, ZC3XX_R12A_GAMMA0A},
1438 {0xa0, 0xee, ZC3XX_R12B_GAMMA0B},
1439 {0xa0, 0xf4, ZC3XX_R12C_GAMMA0C},
1440 {0xa0, 0xf9, ZC3XX_R12D_GAMMA0D},
1441 {0xa0, 0xfc, ZC3XX_R12E_GAMMA0E},
1442 {0xa0, 0xff, ZC3XX_R12F_GAMMA0F},
1443 {0xa0, 0x26, ZC3XX_R130_GAMMA10},
1444 {0xa0, 0x22, ZC3XX_R131_GAMMA11},
1445 {0xa0, 0x20, ZC3XX_R132_GAMMA12},
1446 {0xa0, 0x1c, ZC3XX_R133_GAMMA13},
1447 {0xa0, 0x16, ZC3XX_R134_GAMMA14},
1448 {0xa0, 0x13, ZC3XX_R135_GAMMA15},
1449 {0xa0, 0x10, ZC3XX_R136_GAMMA16},
1450 {0xa0, 0x0d, ZC3XX_R137_GAMMA17},
1451 {0xa0, 0x0b, ZC3XX_R138_GAMMA18},
1452 {0xa0, 0x09, ZC3XX_R139_GAMMA19},
1453 {0xa0, 0x07, ZC3XX_R13A_GAMMA1A},
1454 {0xa0, 0x06, ZC3XX_R13B_GAMMA1B},
1455 {0xa0, 0x05, ZC3XX_R13C_GAMMA1C},
1456 {0xa0, 0x04, ZC3XX_R13D_GAMMA1D},
1457 {0xa0, 0x03, ZC3XX_R13E_GAMMA1E},
1458 {0xa0, 0x02, ZC3XX_R13F_GAMMA1F},
1459 {0xa0, 0x58, ZC3XX_R10A_RGB00}, /* matrix */
1460 {0xa0, 0xf4, ZC3XX_R10B_RGB01},
1461 {0xa0, 0xf4, ZC3XX_R10C_RGB02},
1462 {0xa0, 0xf4, ZC3XX_R10D_RGB10},
1463 {0xa0, 0x58, ZC3XX_R10E_RGB11},
1464 {0xa0, 0xf4, ZC3XX_R10F_RGB12},
1465 {0xa0, 0xf4, ZC3XX_R110_RGB20},
1466 {0xa0, 0xf4, ZC3XX_R111_RGB21},
1467 {0xa0, 0x58, ZC3XX_R112_RGB22},
1468 {0xa0, 0x00, ZC3XX_R180_AUTOCORRECTENABLE},
1469 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
1470 {0xa0, 0x18, ZC3XX_R092_I2CADDRESSSELECT},
1471 {0xa0, 0x00, ZC3XX_R093_I2CSETVALUE},
1472 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1473 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1474 {0xa0, 0x13, ZC3XX_R092_I2CADDRESSSELECT},
1475 {0xa0, 0x22, ZC3XX_R093_I2CSETVALUE},
1476 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1477 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1478 {0xa0, 0x14, ZC3XX_R092_I2CADDRESSSELECT},
1479 {0xa0, 0x01, ZC3XX_R093_I2CSETVALUE},
1480 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1481 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1482 {0xa0, 0x20, ZC3XX_R092_I2CADDRESSSELECT},
1483 {0xa0, 0x01, ZC3XX_R093_I2CSETVALUE},
1484 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1485 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1486 {0xa0, 0x21, ZC3XX_R092_I2CADDRESSSELECT},
1487 {0xa0, 0x22, ZC3XX_R093_I2CSETVALUE},
1488 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1489 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1490 {0xa0, 0x18, ZC3XX_R092_I2CADDRESSSELECT},
1491 {0xa0, 0x04, ZC3XX_R093_I2CSETVALUE},
1492 {0xa0, 0x00, ZC3XX_R094_I2CWRITEACK},
1493 {0xa0, 0x01, ZC3XX_R090_I2CCOMMAND},
1494 {0xa0, 0x01, ZC3XX_R0A3_EXPOSURETIMEHIGH},
1495 {0xa0, 0x22, ZC3XX_R0A4_EXPOSURETIMELOW},
1496 {0xa0, 0x00, ZC3XX_R190_EXPOSURELIMITHIGH},
1497 {0xa0, 0x07, ZC3XX_R191_EXPOSURELIMITMID},
1498 {0xa0, 0xee, ZC3XX_R192_EXPOSURELIMITLOW},
1499 {0xa0, 0x00, ZC3XX_R195_ANTIFLICKERHIGH},
1500 {0xa0, 0x00, ZC3XX_R196_ANTIFLICKERMID},
1501 {0xa0, 0x3a, ZC3XX_R197_ANTIFLICKERLOW},
1502 {0xa0, 0x10, ZC3XX_R18C_AEFREEZE},
1503 {0xa0, 0x20, ZC3XX_R18F_AEUNFREEZE},
1504 {0xa0, 0x0c, ZC3XX_R1A9_DIGITALLIMITDIFF},
1505 {0xa0, 0x28, ZC3XX_R1AA_DIGITALGAINSTEP},
1506 {0xa0, 0x04, ZC3XX_R01D_HSYNC_0},
1507 {0xa0, 0x0f, ZC3XX_R01E_HSYNC_1},
1508 {0xa0, 0x19, ZC3XX_R01F_HSYNC_2},
1509 {0xa0, 0x1f, ZC3XX_R020_HSYNC_3},
1510 {0xa0, 0x60, ZC3XX_R11D_GLOBALGAIN},
1511 {0xa0, 0x60, ZC3XX_R11D_GLOBALGAIN},
1512 {0xa0, 0x42, ZC3XX_R180_AUTOCORRECTENABLE},
1513 {0xa0, 0x42, ZC3XX_R180_AUTOCORRECTENABLE},
1514 {0xa0, 0x60, ZC3XX_R116_RGAIN},
1515 {0xa0, 0x40, ZC3XX_R117_GGAIN},
1516 {0xa0, 0x4c, ZC3XX_R118_BGAIN},
1517 {0xa0, 0x04, ZC3XX_R1A7_CALCGLOBALMEAN}, 1317 {0xa0, 0x04, ZC3XX_R1A7_CALCGLOBALMEAN},
1518 {0xa0, 0x20, ZC3XX_R092_I2CADDRESSSELECT}, 1318 {0xa0, 0x20, ZC3XX_R092_I2CADDRESSSELECT},
1519 {0xa0, 0x01, ZC3XX_R093_I2CSETVALUE}, 1319 {0xa0, 0x01, ZC3XX_R093_I2CSETVALUE},
@@ -1570,6 +1370,7 @@ static const struct usb_action cs2102K_InitialScale[] = {
1570 {0xa0, 0x00, ZC3XX_R1A7_CALCGLOBALMEAN}, 1370 {0xa0, 0x00, ZC3XX_R1A7_CALCGLOBALMEAN},
1571 {0xa0, 0x04, ZC3XX_R1A7_CALCGLOBALMEAN}, 1371 {0xa0, 0x04, ZC3XX_R1A7_CALCGLOBALMEAN},
1572 {0xa0, 0x00, ZC3XX_R1A7_CALCGLOBALMEAN}, 1372 {0xa0, 0x00, ZC3XX_R1A7_CALCGLOBALMEAN},
1373/*fixme:what does the next sequence?*/
1573 {0xa0, 0x04, ZC3XX_R1A7_CALCGLOBALMEAN}, 1374 {0xa0, 0x04, ZC3XX_R1A7_CALCGLOBALMEAN},
1574 {0xa0, 0x00, ZC3XX_R1A7_CALCGLOBALMEAN}, 1375 {0xa0, 0x00, ZC3XX_R1A7_CALCGLOBALMEAN},
1575 {0xa0, 0x04, ZC3XX_R1A7_CALCGLOBALMEAN}, 1376 {0xa0, 0x04, ZC3XX_R1A7_CALCGLOBALMEAN},