summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJulian Calaby2006-01-11 22:40:09 +0100
committerMauro Carvalho Chehab2006-01-11 22:40:09 +0100
commit2d05ae6b5b77f063aa0f82cf0570f3e4b80b367c (patch)
tree16c12212c57ae7def1c4b2bfe7acd4ea189b4343 /drivers
parentV4L/DVB (3339): Activate remote control on HVR1100 (diff)
downloadkernel-qcow2-linux-2d05ae6b5b77f063aa0f82cf0570f3e4b80b367c.tar.gz
kernel-qcow2-linux-2d05ae6b5b77f063aa0f82cf0570f3e4b80b367c.tar.xz
kernel-qcow2-linux-2d05ae6b5b77f063aa0f82cf0570f3e4b80b367c.zip
V4L/DVB (3340): Add bttv card MagicTV (rebranded MachTV)
- Add bttv card MagicTV (rebranded MachTV) Signed-off-by: Julian Calaby <julian.calaby@gmail.com> Signed-off-by: Michael Krufky <mkrufky@m1k.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/video/bttv-cards.c23
-rw-r--r--drivers/media/video/bttv-input.c6
-rw-r--r--drivers/media/video/bttv.h1
3 files changed, 30 insertions, 0 deletions
diff --git a/drivers/media/video/bttv-cards.c b/drivers/media/video/bttv-cards.c
index 1621ab133d23..6c92a6f5fc10 100644
--- a/drivers/media/video/bttv-cards.c
+++ b/drivers/media/video/bttv-cards.c
@@ -2836,6 +2836,29 @@ struct tvcard bttv_tvcards[] = {
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
},
+ [BTTV_BOARD_MACHTV_MAGICTV] = {
+ /* Julian Calaby <julian.calaby@gmail.com>
+ * Slightly different from original MachTV definition (0x60)
+
+ * FIXME: RegSpy says gpiomask should be "0x001c800f", but it
+ * stuffs up remote chip. Bug is a pin on the jaecs is not set
+ * properly (methinks) causing no keyup bits being set */
+
+ .name = "MagicTV", /* rebranded MachTV */
+ .video_inputs = 3,
+ .audio_inputs = 1,
+ .tuner = 0,
+ .svhs = 2,
+ .gpiomask = 7,
+ .muxsel = { 2, 3, 1, 1 },
+ .audiomux = { 0, 1, 2, 3, 4 },
+ .tuner_type = TUNER_TEMIC_4009FR5_PAL,
+ .tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
+ .pll = PLL_28,
+ .has_radio = 1,
+ .has_remote = 1,
+ },
};
static const unsigned int bttv_num_tvcards = ARRAY_SIZE(bttv_tvcards);
diff --git a/drivers/media/video/bttv-input.c b/drivers/media/video/bttv-input.c
index 12197f1b2757..221b36e7f392 100644
--- a/drivers/media/video/bttv-input.c
+++ b/drivers/media/video/bttv-input.c
@@ -583,6 +583,12 @@ int bttv_input_init(struct bttv *btv)
btv->custom_irq = bttv_rc5_irq;
ir->rc5_gpio = 1;
break;
+ case BTTV_BOARD_MACHTV_MAGICTV:
+ ir_codes = ir_codes_apac_viewcomp;
+ ir->mask_keycode = 0x001F00;
+ ir->mask_keyup = 0x004000;
+ ir->polling = 50; /* ms */
+ break;
}
if (NULL == ir_codes) {
dprintk(KERN_INFO "Ooops: IR config error [card=%d]\n",btv->c.type);
diff --git a/drivers/media/video/bttv.h b/drivers/media/video/bttv.h
index 9feaa6bab207..e370d74f2a1b 100644
--- a/drivers/media/video/bttv.h
+++ b/drivers/media/video/bttv.h
@@ -166,6 +166,7 @@
#define BTTV_BOARD_ASOUND_SKYEYE 0x8d
#define BTTV_BOARD_SABRENT_TVFM 0x8e
#define BTTV_BOARD_HAUPPAUGE_IMPACTVCB 0x8f
+#define BTTV_BOARD_MACHTV_MAGICTV 0x90
/* i2c address list */
#define I2C_TSA5522 0xc2