From: Mauro Carvalho Chehab <mchehab@infradead.org>
To: Emard <davoremard@gmail.com>
Cc: linux-media@vger.kernel.org, semirocket@gmail.com
Subject: Re: [PATCH] Compro Videomate T750F Vista digital+analog support
Date: Thu, 27 May 2010 14:18:45 -0300 [thread overview]
Message-ID: <20100527141845.200ad4e3@pedra> (raw)
In-Reply-To: <20100509184822.GA6340@z60m>
Em Sun, 9 May 2010 20:48:22 +0200
Emard <davoremard@gmail.com> escreveu:
> Yes, almost everything:
> DVB-T, Analog TV, FM Radio, IR Remote control.
>
> I haven't tested too much analog TV (it seems to work,
> receivers some snowy channels but I don't have good antenna).
> Also didn't test video inputs at all.
>
> Not supported is onboard RTC timer that can wake up the
> computer.
>
> Here's a cleaned up patch
> -------------------------
>
> --- linux-2.6.33.3/drivers/media/video/saa7134/saa7134-cards.c.orig 2010-05-08 16:13:28.000000000 +0200
> +++ linux-2.6.33.3/drivers/media/video/saa7134/saa7134-cards.c 2010-05-09 20:19:03.000000000 +0200
> @@ -4881,12 +4881,14 @@ struct saa7134_board saa7134_boards[] =
> },
> [SAA7134_BOARD_VIDEOMATE_T750] = {
> /* John Newbigin <jn@it.swin.edu.au> */
> + /* Emard 2010-05-09 v16 <davoremard@gmail.com> */
> .name = "Compro VideoMate T750",
> .audio_clock = 0x00187de7,
> .tuner_type = TUNER_XC2028,
> .radio_type = UNSET,
> - .tuner_addr = ADDR_UNSET,
> + .tuner_addr = 0x61,
> .radio_addr = ADDR_UNSET,
> + .mpeg = SAA7134_MPEG_DVB,
> .inputs = {{
> .name = name_tv,
> .vmux = 3,
> @@ -6550,6 +6552,11 @@ static int saa7134_xc2028_callback(struc
> msleep(10);
> saa7134_set_gpio(dev, 18, 1);
> break;
> + case SAA7134_BOARD_VIDEOMATE_T750:
> + saa7134_set_gpio(dev, 20, 0);
> + msleep(10);
> + saa7134_set_gpio(dev, 20, 1);
> + break;
> }
> return 0;
> }
> @@ -6955,6 +6962,11 @@ int saa7134_board_init1(struct saa7134_d
> dev->has_remote = SAA7134_REMOTE_GPIO;
> saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x00008000, 0x00008000);
> saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
> + break;
> + case SAA7134_BOARD_VIDEOMATE_T750:
> + dev->has_remote = SAA7134_REMOTE_GPIO;
> + saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x00008000, 0x00008000);
> + saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
> break;
> }
> return 0;
> --- linux-2.6.33.3/drivers/media/video/saa7134/saa7134-dvb.c.orig 2010-05-08 16:20:12.000000000 +0200
> +++ linux-2.6.33.3/drivers/media/video/saa7134/saa7134-dvb.c 2010-05-09 15:33:30.000000000 +0200
> @@ -55,6 +55,7 @@
> #include "tda8290.h"
>
> #include "zl10353.h"
> +#include "qt1010.h"
>
> #include "zl10036.h"
> #include "zl10039.h"
> @@ -886,6 +887,17 @@ static struct zl10353_config behold_x7_c
> .disable_i2c_gate_ctrl = 1,
> };
>
> +static struct zl10353_config videomate_t750_zl10353_config = {
> + .demod_address = 0x0f,
> + .no_tuner = 1,
> + .parallel_ts = 1,
> +};
> +
> +static struct qt1010_config videomate_t750_qt1010_config = {
> + .i2c_address = 0x62
> +};
> +
> +
> /* ==================================================================
> * tda10086 based DVB-S cards, helper functions
> */
> @@ -1556,6 +1568,24 @@ static int dvb_init(struct saa7134_dev *
> __func__);
>
> break;
> + case SAA7134_BOARD_VIDEOMATE_T750:
> + printk("Compro VideoMate T750 DVB setup\n");
> + fe0->dvb.frontend = dvb_attach(zl10353_attach,
> + &videomate_t750_zl10353_config,
> + &dev->i2c_adap);
> + if (fe0->dvb.frontend != NULL) {
> + // if there is a gate function then the i2c bus breaks.....!
> + fe0->dvb.frontend->ops.i2c_gate_ctrl = 0;
> +
> + if (dvb_attach(qt1010_attach,
> + fe0->dvb.frontend,
> + &dev->i2c_adap,
> + &videomate_t750_qt1010_config) == NULL)
> + {
> + wprintk("error attaching QT1010\n");
> + }
> + }
> + break;
> case SAA7134_BOARD_ZOLID_HYBRID_PCI:
> fe0->dvb.frontend = dvb_attach(tda10048_attach,
> &zolid_tda10048_config,
> --- linux-2.6.33.3/drivers/media/video/saa7134/saa7134-input.c.orig 2010-05-08 16:52:20.000000000 +0200
> +++ linux-2.6.33.3/drivers/media/video/saa7134/saa7134-input.c 2010-05-09 17:32:25.000000000 +0200
> @@ -671,6 +671,11 @@ int saa7134_input_init1(struct saa7134_d
> mask_keycode = 0x003f00;
> mask_keydown = 0x040000;
> break;
> + case SAA7134_BOARD_VIDEOMATE_T750:
> + ir_codes = &ir_codes_videomate_t750_table;
> + mask_keycode = 0x003f00;
> + mask_keyup = 0x040000;
> + break;
> case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
> ir_codes = &ir_codes_winfast_table;
> mask_keycode = 0x5f00;
> --- linux-2.6.33.3/drivers/media/IR/ir-keymaps.c.orig 2010-05-08 17:03:35.000000000 +0200
> +++ linux-2.6.33.3/drivers/media/IR/ir-keymaps.c 2010-05-09 19:35:27.000000000 +0200
> @@ -3197,6 +3197,96 @@ struct ir_scancode_table ir_codes_videom
> };
> EXPORT_SYMBOL_GPL(ir_codes_videomate_s350_table);
>
> +/*
> +Compro videomate vista T750F remote
> +-----------------------------------
> +Emard 2010-05-09 <davoremard@gmail.com>
> + POWER
> +VIDEO RADIO AUDIO CAMERA
> +PVR EPG TV DVD SUBTITLE
> +
> + UP
> + LEFT OK RIGHT
> + DOWN
> +
> +BACKSPACE MENU INFO
> +
> +VOLUMEUP CHANNELUP
> + MUTE
> +VOLUMEDOWN CHANNELDOWN
> +
> +RECORD STOP
> +REWIND PLAY FASTFORWARD
> +PREVIOUSSONG PLAYPAUSE NEXTSONG
> +
> +NUMERIC_1 NUMERIC_2 NUMERIC_3
> +NUMERIC_4 NUMERIC_5 NUMERIC_6
> +NUMERIC_7 NUMERIC_8 NUMERIC_9
> +NUMERIC_STAR NUMERIC_0 NUMERIC_POUND
> +
> +CLEAR ZOOM ENTER
> +
> +RED GREEN YELLOW BLUE TEXT
> +*/
> +static struct ir_scancode ir_codes_videomate_t750[] = {
> + { 0x01, KEY_POWER},
> + { 0x31, KEY_VIDEO},
> + { 0x33, KEY_RADIO},
> + { 0x2f, KEY_AUDIO},
> + { 0x30, KEY_CAMERA}, /* pictures */
> + { 0x2d, KEY_PVR}, /* Recordings */
> + { 23, KEY_EPG},
> + { 44, KEY_TV},
> + { 43, KEY_DVD},
> + { 0x32, KEY_SUBTITLE},
> + { 17, KEY_UP},
> + { 19, KEY_LEFT},
> + { 21, KEY_OK},
> + { 20, KEY_RIGHT},
> + { 18, KEY_DOWN},
> + { 22, KEY_BACKSPACE},
> + { 0x02, KEY_MENU},
> + { 0x04, KEY_INFO},
> + { 0x05, KEY_VOLUMEUP},
> + { 0x06, KEY_VOLUMEDOWN},
> + { 0x03, KEY_MUTE},
> + { 0x07, KEY_CHANNELUP},
> + { 0x08, KEY_CHANNELDOWN},
> + { 0x0c, KEY_RECORD},
> + { 0x0e, KEY_STOP},
> + { 0x0a, KEY_REWIND},
> + { 0x0b, KEY_PLAY},
> + { 0x09, KEY_FASTFORWARD},
> + { 0x10, KEY_PREVIOUSSONG},
> + { 0x0d, KEY_PLAYPAUSE},
> + { 0x0f, KEY_NEXTSONG},
> + { 30, KEY_NUMERIC_1},
> + { 0x1f, KEY_NUMERIC_2},
> + { 0x20, KEY_NUMERIC_3},
> + { 0x21, KEY_NUMERIC_4},
> + { 0x22, KEY_NUMERIC_5},
> + { 0x23, KEY_NUMERIC_6},
> + { 0x24, KEY_NUMERIC_7},
> + { 0x25, KEY_NUMERIC_8},
> + { 0x26, KEY_NUMERIC_9},
> + { 0x2a, KEY_NUMERIC_STAR},
> + { 29, KEY_NUMERIC_0},
> + { 41, KEY_NUMERIC_POUND},
> + { 39, KEY_CLEAR},
> + { 0x34, KEY_ZOOM},
> + { 0x28, KEY_ENTER},
> + { 25, KEY_RED},
> + { 26, KEY_GREEN},
> + { 27, KEY_YELLOW},
> + { 28, KEY_BLUE},
> + { 24, KEY_TEXT},
The IR code suffered a major change during this development cycle. So, this patch doesn't apply
anymore.
> +};
> +struct ir_scancode_table ir_codes_videomate_t750_table = {
> + .scan = ir_codes_videomate_t750,
> + .size = ARRAY_SIZE(ir_codes_videomate_t750),
> +};
> +EXPORT_SYMBOL_GPL(ir_codes_videomate_t750_table);
> +
> /* GADMEI UTV330+ RM008Z remote
> Shine Liu <shinel@foxmail.com>
> */
> --- linux-2.6.33.3/include/media/ir-common.h.orig 2010-04-26 16:48:30.000000000 +0200
> +++ linux-2.6.33.3/include/media/ir-common.h 2010-05-09 17:30:24.000000000 +0200
> @@ -160,6 +160,7 @@ extern struct ir_scancode_table ir_codes
> extern struct ir_scancode_table ir_codes_evga_indtube_table;
> extern struct ir_scancode_table ir_codes_terratec_cinergy_xs_table;
> extern struct ir_scancode_table ir_codes_videomate_s350_table;
> +extern struct ir_scancode_table ir_codes_videomate_t750_table;
> extern struct ir_scancode_table ir_codes_gadmei_rm008z_table;
> extern struct ir_scancode_table ir_codes_nec_terratec_cinergy_xs_table;
> #endif
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Cheers,
Mauro
next prev parent reply other threads:[~2010-05-27 17:18 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-08 16:06 [PATCH] Compro Videomate T750F Vista digital+analog support Emard
[not found] ` <op.vceiu5q13xmt7q@crni>
[not found] ` <AANLkTinMYcgG6Ac73Vgdx8NMYocW8Net6_-dMC3yEflQ@mail.gmail.com>
[not found] ` <AANLkTikbpZ0LM5rK70abVuJS27j0lT7iZs12DrSKB9wI@mail.gmail.com>
[not found] ` <op.vcfoxwnq3xmt7q@crni>
[not found] ` <20100509173243.GA8227@z60m>
2010-05-09 18:35 ` Samuel Rakitničan
2010-05-09 18:48 ` Emard
2010-05-27 17:18 ` Mauro Carvalho Chehab [this message]
2010-05-28 6:48 ` Davor Emard
2010-05-09 23:15 ` Emard
2010-05-16 10:38 ` semiRocket
2010-05-16 10:41 ` Samuel Rakitničan
2010-05-23 17:40 ` Samuel Rakitničan
2010-05-27 16:55 ` Davor Emard
2010-05-27 17:15 ` Davor Emard
2010-05-30 23:48 ` Davor Emard
2010-05-31 0:27 ` hermann pitton
2010-05-31 0:33 ` hermann pitton
2010-05-31 1:07 ` Davor Emard
2010-05-31 7:52 ` Davor Emard
2010-06-02 11:28 ` semiRocket
2010-06-02 17:22 ` Davor Emard
2010-06-02 18:27 ` Davor Emard
2010-06-02 22:50 ` Samuel Rakitničan
2010-06-03 14:04 ` Davor Emard
2010-06-03 17:17 ` semiRocket
2010-06-03 17:15 ` semiRocket
2010-05-31 1:21 ` Davor Emard
2010-05-11 22:35 ` davor emard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100527141845.200ad4e3@pedra \
--to=mchehab@infradead.org \
--cc=davoremard@gmail.com \
--cc=linux-media@vger.kernel.org \
--cc=semirocket@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).