diff options
author | Gerd Knorr <devnull@localhost> | 2004-08-17 09:19:47 +0000 |
---|---|---|
committer | Gerd Knorr <devnull@localhost> | 2004-08-17 09:19:47 +0000 |
commit | 11b6d04c7552163653bf94f8578d9c20ebd71a87 (patch) | |
tree | 8ed37cdf31b5949533c1b2dabc28c6ba688b85d5 | |
parent | 5464de4fb2970c53df7fc7b035ffc3b403d9daf0 (diff) | |
download | mediapointer-dvb-s2-11b6d04c7552163653bf94f8578d9c20ebd71a87.tar.gz mediapointer-dvb-s2-11b6d04c7552163653bf94f8578d9c20ebd71a87.tar.bz2 |
- bttv: two new cards by Andre Schwarz
- bttv: i2c-hw bugfix.
-rw-r--r-- | linux/drivers/media/video/bttv-cards.c | 48 | ||||
-rw-r--r-- | linux/drivers/media/video/bttv-i2c.c | 1 | ||||
-rw-r--r-- | linux/drivers/media/video/bttv.h | 3 |
3 files changed, 51 insertions, 1 deletions
diff --git a/linux/drivers/media/video/bttv-cards.c b/linux/drivers/media/video/bttv-cards.c index 55edcd6e1..562776740 100644 --- a/linux/drivers/media/video/bttv-cards.c +++ b/linux/drivers/media/video/bttv-cards.c @@ -74,6 +74,9 @@ static void PXC200_muxsel(struct bttv *btv, unsigned int input); static void picolo_tetra_muxsel(struct bttv *btv, unsigned int input); static void picolo_tetra_init(struct bttv *btv); +static void sigmaSLC_muxsel(struct bttv *btv, unsigned int input); +static void sigmaSQ_muxsel(struct bttv *btv, unsigned int input); + static int terratec_active_radio_upgrade(struct bttv *btv); static int tea5757_read(struct bttv *btv); static int tea5757_write(struct bttv *btv, int value); @@ -2080,9 +2083,10 @@ struct tvcard bttv_tvcards[] = { .has_remote = 1, #endif },{ + /* ---- card 0x7c ---------------------------------- */ /* Matt Jesson <dvb@jesson.eclipse.co.uk> */ /* Based on the Nebula card data - added remote and new card number - BTTV_AVDVBT_761, see also ir-kbd-gpio.c */ - .name = "AverMedia AverTV DVB-T", + .name = "AverMedia AverTV DVB-T 761", .video_inputs = 1, .tuner = -1, .svhs = -1, @@ -2095,6 +2099,35 @@ struct tvcard bttv_tvcards[] = { .has_dvb = 1, .no_gpioirq = 1, .has_remote = 1, +},{ + /* andre.schwarz@matrix-vision.de */ + .name = "MATRIX Vision Sigma-SQ", + .video_inputs = 16, + .audio_inputs = 0, + .tuner = -1, + .svhs = -1, + .gpiomask = 0x0, + .muxsel = { 2, 2, 2, 2, 2, 2, 2, 2, + 3, 3, 3, 3, 3, 3, 3, 3 }, + .muxsel_hook = sigmaSQ_muxsel, + .audiomux = { 0 }, + .no_msp34xx = 1, + .pll = PLL_28, + .tuner_type = -1, +},{ + /* andre.schwarz@matrix-vision.de */ + .name = "MATRIX Vision Sigma-SLC", + .video_inputs = 4, + .audio_inputs = 0, + .tuner = -1, + .svhs = -1, + .gpiomask = 0x0, + .muxsel = { 2, 2, 2, 2 }, + .muxsel_hook = sigmaSLC_muxsel, + .audiomux = { 0 }, + .no_msp34xx = 1, + .pll = PLL_28, + .tuner_type = -1, }}; const unsigned int bttv_num_tvcards = ARRAY_SIZE(bttv_tvcards); @@ -2422,6 +2455,19 @@ static void init_lmlbt4x(struct bttv *btv) gpio_write(0x000000); } +static void sigmaSQ_muxsel(struct bttv *btv, unsigned int input) +{ + unsigned int inmux = input % 8; + gpio_inout( 0xf, 0xf ); + gpio_bits( 0xf, inmux ); +} + +static void sigmaSLC_muxsel(struct bttv *btv, unsigned int input) +{ + unsigned int inmux = input % 4; + gpio_inout( 3<<9, 3<<9 ); + gpio_bits( 3<<9, inmux<<9 ); +} /* ----------------------------------------------------------------------- */ diff --git a/linux/drivers/media/video/bttv-i2c.c b/linux/drivers/media/video/bttv-i2c.c index c7f629ca4..64b260de3 100644 --- a/linux/drivers/media/video/bttv-i2c.c +++ b/linux/drivers/media/video/bttv-i2c.c @@ -300,6 +300,7 @@ static struct i2c_adapter bttv_i2c_adap_hw_template = { .id = I2C_ALGO_BIT | I2C_HW_B_BT848 /* FIXME */, .algo = &bttv_algo, .client_register = attach_inform, + .client_unregister = detach_inform, }; /* ----------------------------------------------------------------------- */ diff --git a/linux/drivers/media/video/bttv.h b/linux/drivers/media/video/bttv.h index 9a3af3ec6..63f480d60 100644 --- a/linux/drivers/media/video/bttv.h +++ b/linux/drivers/media/video/bttv.h @@ -127,6 +127,9 @@ #define BTTV_PICOLO_TETRA_CHIP 0x79 #define BTTV_AVDVBT_771 0x7b #define BTTV_AVDVBT_761 0x7c +#define BTTV_MATRIX_VISIONSQ 0x7d +#define BTTV_MATRIX_VISIONSLC 0x7e + /* i2c address list */ #define I2C_TSA5522 0xc2 |