aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Johnson <brijohn@gmail.com>2009-09-03 18:10:15 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-09-12 11:20:14 -0400
commit4d708a5e9e5db74da28965fa00082d8c9323f523 (patch)
tree29e298bf7fd025b6bc4bf152d9a65384dc25dca2
parent13a84fa4de7c050b27f14d39720f8b036cecde24 (diff)
V4L/DVB (12707): gspca - sn9c20x: Add SXGA support to MT9M111
Signed-off-by: Brian Johnson <brijohn@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/gspca/sn9c20x.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/media/video/gspca/sn9c20x.c b/drivers/media/video/gspca/sn9c20x.c
index 5e01b2845754..cdad3db33367 100644
--- a/drivers/media/video/gspca/sn9c20x.c
+++ b/drivers/media/video/gspca/sn9c20x.c
@@ -1038,8 +1038,8 @@ static struct i2c_reg_u16 mt9m001_init[] = {
1038static struct i2c_reg_u16 mt9m111_init[] = { 1038static struct i2c_reg_u16 mt9m111_init[] = {
1039 {0xf0, 0x0000}, {0x0d, 0x0021}, {0x0d, 0x0008}, 1039 {0xf0, 0x0000}, {0x0d, 0x0021}, {0x0d, 0x0008},
1040 {0xf0, 0x0001}, {0x3a, 0x4300}, {0x9b, 0x4300}, 1040 {0xf0, 0x0001}, {0x3a, 0x4300}, {0x9b, 0x4300},
1041 {0xa1, 0x0280}, {0xa4, 0x0200}, {0x06, 0x708e}, 1041 {0x06, 0x708e}, {0xf0, 0x0002}, {0x2e, 0x0a1e},
1042 {0xf0, 0x0002}, {0x2e, 0x0a1e}, {0xf0, 0x0000}, 1042 {0xf0, 0x0000},
1043}; 1043};
1044 1044
1045static struct i2c_reg_u8 hv7131r_init[] = { 1045static struct i2c_reg_u8 hv7131r_init[] = {
@@ -2005,6 +2005,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
2005 sd->i2c_addr = id->driver_info & 0xff; 2005 sd->i2c_addr = id->driver_info & 0xff;
2006 2006
2007 switch (sd->sensor) { 2007 switch (sd->sensor) {
2008 case SENSOR_MT9M111:
2008 case SENSOR_OV9650: 2009 case SENSOR_OV9650:
2009 case SENSOR_SOI968: 2010 case SENSOR_SOI968:
2010 cam->cam_mode = sxga_mode; 2011 cam->cam_mode = sxga_mode;
@@ -2158,6 +2159,17 @@ static void configure_sensor_output(struct gspca_dev *gspca_dev, int mode)
2158 i2c_w1(gspca_dev, 0x12, (value & 0x7) | 0x40); 2159 i2c_w1(gspca_dev, 0x12, (value & 0x7) | 0x40);
2159 } 2160 }
2160 break; 2161 break;
2162 case SENSOR_MT9M111:
2163 if (mode & MODE_SXGA) {
2164 i2c_w2(gspca_dev, 0xf0, 0x0002);
2165 i2c_w2(gspca_dev, 0xc8, 0x970b);
2166 i2c_w2(gspca_dev, 0xf0, 0x0000);
2167 } else {
2168 i2c_w2(gspca_dev, 0xf0, 0x0002);
2169 i2c_w2(gspca_dev, 0xc8, 0x8000);
2170 i2c_w2(gspca_dev, 0xf0, 0x0000);
2171 }
2172 break;
2161 } 2173 }
2162} 2174}
2163 2175