]> err.no Git - linux-2.6/commitdiff
V4L/DVB (3340): Add bttv card MagicTV (rebranded MachTV)
authorJulian Calaby <julian.calaby@gmail.com>
Wed, 11 Jan 2006 21:40:09 +0000 (19:40 -0200)
committerMauro Carvalho Chehab <mchehab@brturbo.com.br>
Wed, 11 Jan 2006 21:40:09 +0000 (19:40 -0200)
- 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>
Documentation/video4linux/CARDLIST.bttv
drivers/media/video/bttv-cards.c
drivers/media/video/bttv-input.c
drivers/media/video/bttv.h

index 74fb085e178b9da6c37cd3efa0224626665ec371..b72706c58a442bdb744fb34f74340b1de0337b29 100644 (file)
 141 -> Asound Skyeye PCTV
 142 -> Sabrent TV-FM (bttv version)
 143 -> Hauppauge ImpactVCB (bt878)                         [0070:13eb]
+144 -> MagicTV
index 1621ab133d232aa87b633039959c5def48071f10..6c92a6f5fc107a6800416e8f2cf468356ad5a1aa 100644 (file)
@@ -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);
index 12197f1b27578a7957dac30f78613f4f1b81ae55..221b36e7f3922d0cac81da1ae06490a2a0d50cb3 100644 (file)
@@ -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);
index 9feaa6bab2074906a374e4aecb2493b749a2c598..e370d74f2a1b1f50a17aaa0b4d8b75f6cdb7ab8e 100644 (file)
 #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