summaryrefslogtreecommitdiff
path: root/linux/drivers
diff options
context:
space:
mode:
authorGerd Knorr <devnull@localhost>2004-08-17 09:19:47 +0000
committerGerd Knorr <devnull@localhost>2004-08-17 09:19:47 +0000
commit11b6d04c7552163653bf94f8578d9c20ebd71a87 (patch)
tree8ed37cdf31b5949533c1b2dabc28c6ba688b85d5 /linux/drivers
parent5464de4fb2970c53df7fc7b035ffc3b403d9daf0 (diff)
downloadmediapointer-dvb-s2-11b6d04c7552163653bf94f8578d9c20ebd71a87.tar.gz
mediapointer-dvb-s2-11b6d04c7552163653bf94f8578d9c20ebd71a87.tar.bz2
- bttv: two new cards by Andre Schwarz
- bttv: i2c-hw bugfix.
Diffstat (limited to 'linux/drivers')
-rw-r--r--linux/drivers/media/video/bttv-cards.c48
-rw-r--r--linux/drivers/media/video/bttv-i2c.c1
-rw-r--r--linux/drivers/media/video/bttv.h3
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