Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2d05ae6b authored by Julian Calaby's avatar Julian Calaby Committed by Mauro Carvalho Chehab
Browse files



V4L/DVB (3340): Add bttv card MagicTV (rebranded MachTV)


- Add bttv card MagicTV (rebranded MachTV)

Signed-off-by: default avatarJulian Calaby <julian.calaby@gmail.com>
Signed-off-by: default avatarMichael Krufky <mkrufky@m1k.net>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 30367bfd
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -142,3 +142,4 @@
141 -> Asound Skyeye PCTV
142 -> Sabrent TV-FM (bttv version)
143 -> Hauppauge ImpactVCB (bt878)                         [0070:13eb]
144 -> MagicTV
+23 −0
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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