summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorGerd Knorr <devnull@localhost>2004-11-30 11:26:38 +0000
committerGerd Knorr <devnull@localhost>2004-11-30 11:26:38 +0000
commitcec65069b7466d850408a58576dbff9a0ddbf782 (patch)
tree40933784bc061720d286b0dfd075e94a85944061 /linux
parentae625623c832731a551768d5137323acb1e80259 (diff)
downloadmediapointer-dvb-s2-cec65069b7466d850408a58576dbff9a0ddbf782.tar.gz
mediapointer-dvb-s2-cec65069b7466d850408a58576dbff9a0ddbf782.tar.bz2
- add new tuners.
- ir support for Compro Videomate by Michael Mellor.
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/video/cx88/cx88-cards.c9
-rw-r--r--linux/drivers/media/video/cx88/cx88.h3
-rw-r--r--linux/drivers/media/video/saa7134/saa7134-cards.c6
-rw-r--r--linux/drivers/media/video/saa7134/saa7134-input.c57
-rw-r--r--linux/drivers/media/video/saa7134/saa7134-oss.c5
-rw-r--r--linux/drivers/media/video/saa7134/saa7134-tvaudio.c22
-rw-r--r--linux/drivers/media/video/saa7134/saa7134.h3
-rw-r--r--linux/include/media/tuner.h2
8 files changed, 92 insertions, 15 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c
index a719d50b2..2c2ecb7e1 100644
--- a/linux/drivers/media/video/cx88/cx88-cards.c
+++ b/linux/drivers/media/video/cx88/cx88-cards.c
@@ -1,5 +1,5 @@
/*
- * $Id: cx88-cards.c,v 1.49 2004/11/19 18:07:12 kraxel Exp $
+ * $Id: cx88-cards.c,v 1.50 2004/11/30 11:26:38 kraxel Exp $
*
* device driver for Conexant 2388x based TV cards
* card-specific stuff.
@@ -548,6 +548,10 @@ struct cx88_subid cx88_subids[] = {
.subvendor = 0x1554,
.subdevice = 0x4811,
.card = CX88_BOARD_PIXELVIEW,
+ },{
+ .subvendor = 0x7063,
+ .subdevice = 0x3000, /* HD-3000 card */
+ .card = CX88_BOARD_PCHDTV_HD3000,
}
};
const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids);
@@ -637,7 +641,8 @@ static struct {
{ TUNER_LG_PAL_FM, "LG TPI8PSB01D"},
{ TUNER_LG_PAL, "LG TPI8PSB11D"},
{ TUNER_LG_PAL_I_FM, "LG TAPC-I001D"},
- { TUNER_LG_PAL_I, "LG TAPC-I701D"}
+ { TUNER_LG_PAL_I, "LG TAPC-I701D"},
+ { TUNER_THOMSON_DTT7610, "DTT-7610"}
};
static void hauppauge_eeprom(struct cx88_core *core, u8 *eeprom_data)
diff --git a/linux/drivers/media/video/cx88/cx88.h b/linux/drivers/media/video/cx88/cx88.h
index ce82fa859..3d2b268d6 100644
--- a/linux/drivers/media/video/cx88/cx88.h
+++ b/linux/drivers/media/video/cx88/cx88.h
@@ -1,5 +1,5 @@
/*
- * $Id: cx88.h,v 1.41 2004/11/23 17:29:09 kraxel Exp $
+ * $Id: cx88.h,v 1.42 2004/11/30 11:26:38 kraxel Exp $
*
* v4l2 device driver for cx2388x based TV cards
*
@@ -157,6 +157,7 @@ extern struct sram_channel cx88_sram_channels[];
#define CX88_BOARD_CONEXANT_DVB_T1 19
#define CX88_BOARD_PROVIDEO_PV259 20
#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS 21
+#define CX88_BOARD_PCHDTV_HD3000 22
enum cx88_itype {
CX88_VMUX_COMPOSITE1 = 1,
diff --git a/linux/drivers/media/video/saa7134/saa7134-cards.c b/linux/drivers/media/video/saa7134/saa7134-cards.c
index d2e411dac..493fcc84f 100644
--- a/linux/drivers/media/video/saa7134/saa7134-cards.c
+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c
@@ -1,5 +1,6 @@
+
/*
- * $Id: saa7134-cards.c,v 1.43 2004/11/26 12:59:22 kraxel Exp $
+ * $Id: saa7134-cards.c,v 1.44 2004/11/30 11:26:38 kraxel Exp $
*
* device driver for philips saa7134 based TV cards
* card-specific stuff.
@@ -646,7 +647,7 @@ struct saa7134_board saa7134_boards[] = {
},{
.name = name_tv,
.vmux = 1,
- .amux = LINE2,
+ .amux = LINE2_LEFT,
.tv = 1,
}},
},
@@ -1737,6 +1738,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
case SAA7134_BOARD_AVERMEDIA_305:
case SAA7134_BOARD_AVERMEDIA_307:
// case SAA7134_BOARD_SABRENT_SBTTVFM: /* not finished yet */
+ case SAA7134_BOARD_VIDEOMATE_TV_PVR:
dev->has_remote = 1;
break;
case SAA7134_BOARD_AVACSSMARTTV:
diff --git a/linux/drivers/media/video/saa7134/saa7134-input.c b/linux/drivers/media/video/saa7134/saa7134-input.c
index 54d42d1f0..980db6fe1 100644
--- a/linux/drivers/media/video/saa7134/saa7134-input.c
+++ b/linux/drivers/media/video/saa7134/saa7134-input.c
@@ -1,5 +1,5 @@
/*
- * $Id: saa7134-input.c,v 1.14 2004/11/22 18:10:55 kraxel Exp $
+ * $Id: saa7134-input.c,v 1.15 2004/11/30 11:26:38 kraxel Exp $
*
* handle saa7134 IR remotes via linux kernel input layer.
*
@@ -258,6 +258,55 @@ static IR_KEYTAB_TYPE md2819_codes[IR_KEYTAB_SIZE] = {
[ 17 ] = KEY_CHANNELDOWN, // CHANNEL/PAGE-
[ 49 ] = KEY_CHANNELUP // CHANNEL/PAGE+
};
+
+static IR_KEYTAB_TYPE videomate_tv_pvr_codes[IR_KEYTAB_SIZE] = {
+ [ 20 ] = KEY_MUTE,
+ [ 36 ] = KEY_ZOOM,
+
+ [ 1 ] = KEY_DVD,
+ [ 35 ] = KEY_RADIO,
+ [ 0 ] = KEY_TV,
+
+ [ 10 ] = KEY_REWIND,
+ [ 8 ] = KEY_PLAYPAUSE,
+ [ 15 ] = KEY_FORWARD,
+
+ [ 2 ] = KEY_PREVIOUS,
+ [ 7 ] = KEY_STOP,
+ [ 6 ] = KEY_NEXT,
+
+ [ 12 ] = KEY_UP,
+ [ 14 ] = KEY_DOWN,
+ [ 11 ] = KEY_LEFT,
+ [ 13 ] = KEY_RIGHT,
+ [ 17 ] = KEY_OK,
+
+ [ 3 ] = KEY_MENU,
+ [ 9 ] = KEY_SETUP,
+ [ 5 ] = KEY_VIDEO,
+ [ 34 ] = KEY_CHANNEL,
+
+ [ 18 ] = KEY_VOLUMEUP,
+ [ 21 ] = KEY_VOLUMEDOWN,
+ [ 16 ] = KEY_CHANNELUP,
+ [ 19 ] = KEY_CHANNELDOWN,
+
+ [ 4 ] = KEY_RECORD,
+
+ [ 22 ] = KEY_KP1,
+ [ 23 ] = KEY_KP2,
+ [ 24 ] = KEY_KP3,
+ [ 25 ] = KEY_KP4,
+ [ 26 ] = KEY_KP5,
+ [ 27 ] = KEY_KP6,
+ [ 28 ] = KEY_KP7,
+ [ 29 ] = KEY_KP8,
+ [ 30 ] = KEY_KP9,
+ [ 31 ] = KEY_KP0,
+
+ [ 32 ] = KEY_LANGUAGE,
+ [ 33 ] = KEY_SLEEP,
+};
/* ---------------------------------------------------------------------- */
static int build_key(struct saa7134_dev *dev)
@@ -364,6 +413,12 @@ int saa7134_input_init1(struct saa7134_dev *dev)
saa_setb(SAA7134_GPIO_GPMODE0, 0x4);
saa_setb(SAA7134_GPIO_GPSTATUS0, 0x4);
break;
+ case SAA7134_BOARD_VIDEOMATE_TV_PVR:
+ ir_codes = videomate_tv_pvr_codes;
+ mask_keycode = 0x00003F;
+ mask_keyup = 0x400000;
+ polling = 50; // ms
+ break;
}
if (NULL == ir_codes) {
printk("%s: Oops: IR config error [card=%d]\n",
diff --git a/linux/drivers/media/video/saa7134/saa7134-oss.c b/linux/drivers/media/video/saa7134/saa7134-oss.c
index 55a4548cf..0a737fdf8 100644
--- a/linux/drivers/media/video/saa7134/saa7134-oss.c
+++ b/linux/drivers/media/video/saa7134/saa7134-oss.c
@@ -1,5 +1,5 @@
/*
- * $Id: saa7134-oss.c,v 1.11 2004/11/07 13:17:15 kraxel Exp $
+ * $Id: saa7134-oss.c,v 1.12 2004/11/30 11:26:38 kraxel Exp $
*
* device driver for philips saa7134 based TV cards
* oss dsp interface
@@ -543,6 +543,7 @@ mixer_recsrc_7134(struct saa7134_dev *dev)
break;
case LINE1:
case LINE2:
+ case LINE2_LEFT:
analog_io = (LINE1 == dev->oss.input) ? 0x00 : 0x08;
rate = (32000 == dev->oss.rate) ? 0x01 : 0x03;
saa_andorb(SAA7134_ANALOG_IO_SELECT, 0x08, analog_io);
@@ -566,6 +567,7 @@ mixer_recsrc_7133(struct saa7134_dev *dev)
value = 0xbbbb32; /* AUX1 */
break;
case LINE2:
+ case LINE2_LEFT:
value = 0xbbbb54; /* AUX2 */
break;
}
@@ -608,6 +610,7 @@ mixer_level(struct saa7134_dev *dev, enum saa7134_audio_in src, int level)
(100 == level) ? 0x00 : 0x10);
break;
case LINE2:
+ case LINE2_LEFT:
saa_andorb(SAA7134_ANALOG_IO_SELECT, 0x20,
(100 == level) ? 0x00 : 0x20);
break;
diff --git a/linux/drivers/media/video/saa7134/saa7134-tvaudio.c b/linux/drivers/media/video/saa7134/saa7134-tvaudio.c
index 64c8ac288..ddd5302c0 100644
--- a/linux/drivers/media/video/saa7134/saa7134-tvaudio.c
+++ b/linux/drivers/media/video/saa7134/saa7134-tvaudio.c
@@ -1,5 +1,5 @@
/*
- * $Id: saa7134-tvaudio.c,v 1.19 2004/11/24 11:55:24 kraxel Exp $
+ * $Id: saa7134-tvaudio.c,v 1.20 2004/11/30 11:26:38 kraxel Exp $
*
* device driver for philips saa7134 based TV cards
* tv audio decoder (fm stereo, nicam, ...)
@@ -241,9 +241,10 @@ static void mute_input_7134(struct saa7134_dev *dev)
/* switch internal audio mux */
switch (in->amux) {
- case TV: ausel=0xc0; ics=0x00; ocs=0x02; break;
- case LINE1: ausel=0x80; ics=0x00; ocs=0x00; break;
- case LINE2: ausel=0x80; ics=0x08; ocs=0x01; break;
+ case TV: ausel=0xc0; ics=0x00; ocs=0x02; break;
+ case LINE1: ausel=0x80; ics=0x00; ocs=0x00; break;
+ case LINE2: ausel=0x80; ics=0x08; ocs=0x01; break;
+ case LINE2_LEFT: ausel=0x80; ics=0x08; ocs=0x05; break;
}
saa_andorb(SAA7134_AUDIO_FORMAT_CTRL, 0xc0, ausel);
saa_andorb(SAA7134_ANALOG_IO_SELECT, 0x08, ics);
@@ -756,9 +757,16 @@ static int mute_input_7133(struct saa7134_dev *dev)
int mask;
switch (dev->input->amux) {
- case TV: reg = 0x02; break;
- case LINE1: reg = 0x00; break;
- case LINE2: reg = 0x01; break;
+ case TV:
+ reg = 0x02;
+ break;
+ case LINE1:
+ reg = 0x00;
+ break;
+ case LINE2:
+ case LINE2_LEFT:
+ reg = 0x01;
+ break;
}
if (dev->ctl_mute)
reg = 0x07;
diff --git a/linux/drivers/media/video/saa7134/saa7134.h b/linux/drivers/media/video/saa7134/saa7134.h
index c621c80f7..f0e4bd6d5 100644
--- a/linux/drivers/media/video/saa7134/saa7134.h
+++ b/linux/drivers/media/video/saa7134/saa7134.h
@@ -1,5 +1,5 @@
/*
- * $Id: saa7134.h,v 1.31 2004/11/23 17:29:09 kraxel Exp $
+ * $Id: saa7134.h,v 1.32 2004/11/30 11:26:38 kraxel Exp $
*
* v4l2 device driver for philips saa7134 based TV cards
*
@@ -83,6 +83,7 @@ enum saa7134_audio_in {
TV = 1,
LINE1 = 2,
LINE2 = 3,
+ LINE2_LEFT,
};
enum saa7134_video_out {
diff --git a/linux/include/media/tuner.h b/linux/include/media/tuner.h
index 3b91bb6bd..6f97e0478 100644
--- a/linux/include/media/tuner.h
+++ b/linux/include/media/tuner.h
@@ -77,6 +77,7 @@
#define TUNER_MICROTUNE_4042FI5 49 /* FusionHDTV 3 Gold - 4042 FI5 (3X 8147) */
#define TUNER_TCL_2002N 50
#define TUNER_PHILIPS_FM1256_IH3 51
+#define TUNER_THOMSON_DTT7610 52
#define NOTUNER 0
#define PAL 1 /* PAL_BG */
@@ -97,6 +98,7 @@
#define HITACHI 9
#define Panasonic 10
#define TCL 11
+#define THOMSON 12
#define TUNER_SET_TYPE _IOW('t',1,int) /* set tuner type */
#define TUNER_SET_TVFREQ _IOW('t',2,int) /* set tv freq */