aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/video4linux/CARDLIST.bttv1
-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
4 files changed, 31 insertions, 0 deletions
diff --git a/Documentation/video4linux/CARDLIST.bttv b/Documentation/video4linux/CARDLIST.bttv
index 74fb085e178b..b72706c58a44 100644
--- a/Documentation/video4linux/CARDLIST.bttv
+++ b/Documentation/video4linux/CARDLIST.bttv
@@ -142,3 +142,4 @@
142141 -> Asound Skyeye PCTV 142141 -> Asound Skyeye PCTV
143142 -> Sabrent TV-FM (bttv version) 143142 -> Sabrent TV-FM (bttv version)
144143 -> Hauppauge ImpactVCB (bt878) [0070:13eb] 144143 -> Hauppauge ImpactVCB (bt878) [0070:13eb]
145144 -> MagicTV
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[] = {
2836 .tuner_addr = ADDR_UNSET, 2836 .tuner_addr = ADDR_UNSET,
2837 .radio_addr = ADDR_UNSET, 2837 .radio_addr = ADDR_UNSET,
2838 }, 2838 },
2839 [BTTV_BOARD_MACHTV_MAGICTV] = {
2840 /* Julian Calaby <julian.calaby@gmail.com>
2841 * Slightly different from original MachTV definition (0x60)
2842
2843 * FIXME: RegSpy says gpiomask should be "0x001c800f", but it
2844 * stuffs up remote chip. Bug is a pin on the jaecs is not set
2845 * properly (methinks) causing no keyup bits being set */
2846
2847 .name = "MagicTV", /* rebranded MachTV */
2848 .video_inputs = 3,
2849 .audio_inputs = 1,
2850 .tuner = 0,
2851 .svhs = 2,
2852 .gpiomask = 7,
2853 .muxsel = { 2, 3, 1, 1 },
2854 .audiomux = { 0, 1, 2, 3, 4 },
2855 .tuner_type = TUNER_TEMIC_4009FR5_PAL,
2856 .tuner_addr = ADDR_UNSET,
2857 .radio_addr = ADDR_UNSET,
2858 .pll = PLL_28,
2859 .has_radio = 1,
2860 .has_remote = 1,
2861 },
2839}; 2862};
2840 2863
2841static const unsigned int bttv_num_tvcards = ARRAY_SIZE(bttv_tvcards); 2864static 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)
583 btv->custom_irq = bttv_rc5_irq; 583 btv->custom_irq = bttv_rc5_irq;
584 ir->rc5_gpio = 1; 584 ir->rc5_gpio = 1;
585 break; 585 break;
586 case BTTV_BOARD_MACHTV_MAGICTV:
587 ir_codes = ir_codes_apac_viewcomp;
588 ir->mask_keycode = 0x001F00;
589 ir->mask_keyup = 0x004000;
590 ir->polling = 50; /* ms */
591 break;
586 } 592 }
587 if (NULL == ir_codes) { 593 if (NULL == ir_codes) {
588 dprintk(KERN_INFO "Ooops: IR config error [card=%d]\n",btv->c.type); 594 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 @@
166#define BTTV_BOARD_ASOUND_SKYEYE 0x8d 166#define BTTV_BOARD_ASOUND_SKYEYE 0x8d
167#define BTTV_BOARD_SABRENT_TVFM 0x8e 167#define BTTV_BOARD_SABRENT_TVFM 0x8e
168#define BTTV_BOARD_HAUPPAUGE_IMPACTVCB 0x8f 168#define BTTV_BOARD_HAUPPAUGE_IMPACTVCB 0x8f
169#define BTTV_BOARD_MACHTV_MAGICTV 0x90
169 170
170/* i2c address list */ 171/* i2c address list */
171#define I2C_TSA5522 0xc2 172#define I2C_TSA5522 0xc2