From: Julian Calaby Date: Wed, 11 Jan 2006 21:40:09 +0000 (-0200) Subject: V4L/DVB (3340): Add bttv card MagicTV (rebranded MachTV) X-Git-Tag: v2.6.16-rc1~283^2~18 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2d05ae6b5b77f063aa0f82cf0570f3e4b80b367c;p=linux-2.6 V4L/DVB (3340): Add bttv card MagicTV (rebranded MachTV) - Add bttv card MagicTV (rebranded MachTV) Signed-off-by: Julian Calaby Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab --- diff --git a/Documentation/video4linux/CARDLIST.bttv b/Documentation/video4linux/CARDLIST.bttv index 74fb085e17..b72706c58a 100644 --- a/Documentation/video4linux/CARDLIST.bttv +++ b/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 diff --git a/drivers/media/video/bttv-cards.c b/drivers/media/video/bttv-cards.c index 1621ab133d..6c92a6f5fc 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 + * 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 12197f1b27..221b36e7f3 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 9feaa6bab2..e370d74f2a 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