Ver código fonte

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>
Julian Calaby 19 anos atrás
pai
commit
2d05ae6b5b

+ 1 - 0
Documentation/video4linux/CARDLIST.bttv

@@ -142,3 +142,4 @@
 141 -> Asound Skyeye PCTV
 142 -> Sabrent TV-FM (bttv version)
 143 -> Hauppauge ImpactVCB (bt878)                         [0070:13eb]
+144 -> MagicTV

+ 23 - 0
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);

+ 6 - 0
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);

+ 1 - 0
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