diff options
author | Brian Johnson <brijohn@gmail.com> | 2009-09-02 12:14:41 -0400 |
---|---|---|
committer | Brian Johnson <brijohn@gmail.com> | 2009-09-02 12:14:41 -0400 |
commit | 93893ecd34381b8ced1c17166e194729c921ec90 (patch) | |
tree | 79843ba7122066f5e62f8a3e5e6d99bf3ab25864 /linux | |
parent | 51072bf38e1417c308f80fc6580030a5d8e38a11 (diff) | |
download | mediapointer-dvb-s2-93893ecd34381b8ced1c17166e194729c921ec90.tar.gz mediapointer-dvb-s2-93893ecd34381b8ced1c17166e194729c921ec90.tar.bz2 |
gspca - sn9c20x: Add SXGA support to SOI968
From: Brian Johnson <brijohn@gmail.com>
Priority: normal
Signed-off-by: Brian Johnson <brijohn@gmail.com>
Diffstat (limited to 'linux')
-rw-r--r-- | linux/drivers/media/video/gspca/sn9c20x.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/linux/drivers/media/video/gspca/sn9c20x.c b/linux/drivers/media/video/gspca/sn9c20x.c index 0ff478170..4342220b6 100644 --- a/linux/drivers/media/video/gspca/sn9c20x.c +++ b/linux/drivers/media/video/gspca/sn9c20x.c @@ -2010,6 +2010,7 @@ static int sd_config(struct gspca_dev *gspca_dev, switch (sd->sensor) { case SENSOR_OV9650: + case SENSOR_SOI968: cam->cam_mode = sxga_mode; cam->nmodes = ARRAY_SIZE(sxga_mode); break; @@ -2125,6 +2126,25 @@ static void configure_sensor_output(struct gspca_dev *gspca_dev, int mode) struct sd *sd = (struct sd *) gspca_dev; u8 value; switch (sd->sensor) { + case SENSOR_SOI968: + if (mode & MODE_SXGA) { + i2c_w1(gspca_dev, 0x17, 0x1d); + i2c_w1(gspca_dev, 0x18, 0xbd); + i2c_w1(gspca_dev, 0x19, 0x01); + i2c_w1(gspca_dev, 0x1a, 0x81); + i2c_w1(gspca_dev, 0x12, 0x00); + sd->hstart = 140; + sd->vstart = 19; + } else { + i2c_w1(gspca_dev, 0x17, 0x13); + i2c_w1(gspca_dev, 0x18, 0x63); + i2c_w1(gspca_dev, 0x19, 0x01); + i2c_w1(gspca_dev, 0x1a, 0x79); + i2c_w1(gspca_dev, 0x12, 0x40); + sd->hstart = 60; + sd->vstart = 11; + } + break; case SENSOR_OV9650: if (mode & MODE_SXGA) { i2c_w1(gspca_dev, 0x17, 0x1b); |