* [PATCH] New card entry (saa7134) and FM support for TNF9835
@ 2008-02-07 18:09 Adrian Pardini
2008-02-07 19:39 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 10+ messages in thread
From: Adrian Pardini @ 2008-02-07 18:09 UTC (permalink / raw)
To: Linux and Kernel Video
Hello,
This patch brings complete functionality to the "Genius TVGo A11MCE" (saa7130,
tuner is TNF9835) proper audio/video routing, fm tunning and remote control.
Things I've done:
* New entry for the card.
* New entry for the tuner. It's a TNF9835, as the wiki says it works
fine for tv using
tuner=37 but the datasheet specifies different frequency bands and the i2c
command used to tune fm is other.
* Key mappings for the remote control.
Files changed:
ir-common.h
ir-keymaps.c
saa7134.h
saa7134-cards.c
saa7134-input.c
tuner.h
tuner-simple.c
tuner-types.c
Testing:
I successfully built and tested it ( with the sources from
mercurial) using Ubuntu Gutsy(linux 2.6.22, custom) and Musix
1.0r3-test5 (2.6.23-rt1)
Notes:
I get this message from time to time and I don't know what to do:
"saa7130[0]/irq: looping -- clearing PE (parity error!) enable bit"
I didn't want to mess with the pci ids table.
Without using the card= parameter it is detected as being an
"Philips TOUGH DVB-T reference design [card=61,autodetected]".
lspci output:
00:0c.0 Multimedia controller: Philips Semiconductors SAA7130 Video
Broadcast Decoder (rev 01)
Subsystem: Philips Semiconductors Unknown device 2004
Flags: bus master, medium devsel, latency 64, IRQ 11
Memory at dffffc00 (32-bit, non-prefetchable) [size=1K]
Capabilities: [40] Power Management version 1
I'm wide open to accept suggestions and corrections.
Thanks a lot for your time,
Adrian.
Signed-off-by: Adrian Pardini <pardo.bsso AT gmail.com>
---
diff -uprN -X dontdiff v4l-dvb/linux/drivers/media/common/ir-keymaps.c
v4l-dvb-modified/linux/drivers/media/common/ir-keymaps.c
--- v4l-dvb/linux/drivers/media/common/ir-keymaps.c 2008-02-06
22:54:07.000000000 -0200
+++ v4l-dvb-modified/linux/drivers/media/common/ir-keymaps.c 2008-02-07
12:10:06.000000000 -0200
@@ -2037,3 +2037,52 @@ IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB
};
EXPORT_SYMBOL_GPL(ir_codes_behold);
+
+/*
+ * Remote control for the Genius TVGO A11MCE
+ * Adrian Pardini <pardo.bsso@gmail.com>
+ */
+IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = {
+ /* Keys 0 to 9 */
+ [ 0x48 ] = KEY_0,
+ [ 0x09 ] = KEY_1,
+ [ 0x1d ] = KEY_2,
+ [ 0x1f ] = KEY_3,
+ [ 0x19 ] = KEY_4,
+ [ 0x1b ] = KEY_5,
+ [ 0x11 ] = KEY_6,
+ [ 0x17 ] = KEY_7,
+ [ 0x12 ] = KEY_8,
+ [ 0x16 ] = KEY_9,
+
+ [ 0x54 ] = KEY_RECORD, /* recording */
+ [ 0x06 ] = KEY_MUTE, /* mute */
+ [ 0x10 ] = KEY_POWER,
+ [ 0x40 ] = KEY_LAST, /* recall */
+ [ 0x4c ] = KEY_CHANNELUP, /* channel / program + */
+ [ 0x00 ] = KEY_CHANNELDOWN, /* channel / program - */
+ [ 0x0d ] = KEY_VOLUMEUP,
+ [ 0x15 ] = KEY_VOLUMEDOWN,
+ [ 0x4d ] = KEY_OK, /* also labeled as Pause */
+ [ 0x1c ] = KEY_ZOOM, /* full screen and Stop*/
+ [ 0x02 ] = KEY_MODE, /* AV Source or Rewind*/
+ [ 0x04 ] = KEY_LIST, /* -/-- */
+ /* small arrows above numbers */
+ [ 0x1a ] = KEY_NEXT, /* also Fast Forward */
+ [ 0x0e ] = KEY_PREVIOUS, /* also Rewind */
+ /* these are in a rather non standard layout and have
+ an alternate name written */
+ [ 0x1e ] = KEY_UP, /* Video Setting */
+ [ 0x0a ] = KEY_DOWN, /* Video Default */
+ [ 0x05 ] = KEY_LEFT, /* Snapshot */
+ [ 0x0c ] = KEY_RIGHT, /* Hide Panel */
+ /* Four buttons without label */
+ [ 0x49 ] = KEY_RED,
+ [ 0x0b ] = KEY_GREEN,
+ [ 0x13 ] = KEY_YELLOW,
+ [ 0x50 ] = KEY_BLUE,
+
+};
+EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce);
+
diff -uprN -X dontdiff
v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c
v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134-cards.c
--- v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c 2008-02-06
22:54:10.000000000 -0200
+++ v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134-cards.c 2008-02-07
14:07:45.000000000 -0200
@@ -3992,6 +3992,51 @@ struct saa7134_board saa7134_boards[] =
.gpio = 0x0200000,
},
},
+ [SAA7134_BOARD_GENIUS_TVGO_A11MCE] = {
+ /* Adrian Pardini <pardo.bsso@gmail.com> */
+ .name = "Genius TVGO AM11MCE",
+ .audio_clock = 0x00200000,
+ .tuner_type = TUNER_TNF9835,
+ .radio_type = UNSET,
+ .tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
+
+ .gpiomask = 0xf000,
+ .inputs = {{
+ .name = name_tv,
+ .vmux = 1,
+ .amux = TV,
+ .gpio = 0x8000,
+ .tv = 1,
+ },{
+ .name = name_tv_mono,
+ .vmux = 1,
+ .amux = LINE2,
+ .gpio = 0x0000,
+ .tv = 1,
+ },{
+ .name = name_comp1,
+ .vmux = 3,
+ .amux = LINE1,
+ .gpio = 0x2000,
+ .tv=1
+ },{
+ .name = name_svideo,
+ .vmux = 8,
+ .amux = LINE1,
+ .gpio = 0x2000,
+ }},
+ .radio = {
+ .name = name_radio,
+ .amux = LINE2,
+ .gpio = 0x1000,
+ },
+ .mute = {
+ .name = name_mute,
+ .amux = LINE2,
+ .gpio = 0x6000,
+ },
+ },
};
const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -5130,6 +5175,7 @@ int saa7134_board_init1(struct saa7134_d
case SAA7134_BOARD_BEHOLD_409:
case SAA7134_BOARD_BEHOLD_505FM:
case SAA7134_BOARD_BEHOLD_507_9FM:
+ case SAA7134_BOARD_GENIUS_TVGO_A11MCE:
dev->has_remote = SAA7134_REMOTE_GPIO;
break;
case SAA7134_BOARD_FLYDVBS_LR300:
diff -uprN -X dontdiff
v4l-dvb/linux/drivers/media/video/saa7134/saa7134.h
v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134.h
--- v4l-dvb/linux/drivers/media/video/saa7134/saa7134.h 2008-02-06
22:54:10.000000000 -0200
+++ v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134.h 2008-02-07
11:10:37.000000000 -0200
@@ -260,6 +260,7 @@ struct saa7134_format {
#define SAA7134_BOARD_BEHOLD_607_9FM 129
#define SAA7134_BOARD_BEHOLD_M6 130
#define SAA7134_BOARD_TWINHAN_DTV_DVB_3056 131
+#define SAA7134_BOARD_GENIUS_TVGO_A11MCE 132
#define SAA7134_MAXBOARDS 8
#define SAA7134_INPUT_MAX 8
diff -uprN -X dontdiff
v4l-dvb/linux/drivers/media/video/saa7134/saa7134-input.c
v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134-input.c
--- v4l-dvb/linux/drivers/media/video/saa7134/saa7134-input.c 2008-02-06
22:54:10.000000000 -0200
+++ v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134-input.c 2008-02-07
12:11:55.000000000 -0200
@@ -406,6 +406,12 @@ int saa7134_input_init1(struct saa7134_d
mask_keyup = 0x8000000;
polling = 50; //ms
break;
+ case SAA7134_BOARD_GENIUS_TVGO_A11MCE:
+ ir_codes = ir_codes_genius_tvgo_a11mce;
+ mask_keycode = 0xff;
+ mask_keydown = 0xf00000;
+ polling = 50; //ms
+ break;
}
if (NULL == ir_codes) {
printk("%s: Oops: IR config error [card=%d]\n",
diff -uprN -X dontdiff
v4l-dvb/linux/drivers/media/video/tuner-simple.c
v4l-dvb-modified/linux/drivers/media/video/tuner-simple.c
--- v4l-dvb/linux/drivers/media/video/tuner-simple.c 2008-02-06
22:54:11.000000000 -0200
+++ v4l-dvb-modified/linux/drivers/media/video/tuner-simple.c 2008-02-07
14:10:59.000000000 -0200
@@ -462,6 +462,7 @@ static int simple_radio_bandswitch(struc
buffer[3] = 0x19;
break;
case TUNER_TNF_5335MF:
+ case TUNER_TNF9835:
buffer[3] = 0x11;
break;
case TUNER_LG_PAL_FM:
diff -uprN -X dontdiff v4l-dvb/linux/drivers/media/video/tuner-types.c
v4l-dvb-modified/linux/drivers/media/video/tuner-types.c
--- v4l-dvb/linux/drivers/media/video/tuner-types.c 2008-02-06
22:54:11.000000000 -0200
+++ v4l-dvb-modified/linux/drivers/media/video/tuner-types.c 2008-02-07
14:06:28.000000000 -0200
@@ -1133,6 +1133,22 @@ static struct tuner_params tuner_samsung
},
};
+/* -------------------------- TUNER_TNF9835 -------------------------- */
+
+static struct tuner_range tuner_tnf9835_ranges[] = {
+ { 16 * 161.25 /*MHz*/, 0x8e, 0x01, },
+ { 16 * 463.25 /*MHz*/, 0x8e, 0x02, },
+ { 16 * 999.99 , 0x8e, 0x08, },
+};
+
+static struct tuner_params tuner_tnf9835_params[] = {
+ {
+ .type = TUNER_PARAM_TYPE_PAL,
+ .ranges = tuner_tnf9835_ranges,
+ .count = ARRAY_SIZE(tuner_tnf9835_ranges),
+ },
+};
+
/* --------------------------------------------------------------------- */
struct tunertype tuners[] = {
@@ -1527,6 +1543,11 @@ struct tunertype tuners[] = {
.name = "Xceive 5000 tuner",
/* see xc5000.c for details */
},
+ [TUNER_TNF9835] = {
+ .name = "TNF9835 FM / PAL B-BG / NTSC",
+ .params = tuner_tnf9835_params,
+ .count = ARRAY_SIZE(tuner_tnf9835_params),
+ },
};
EXPORT_SYMBOL(tuners);
diff -uprN -X dontdiff v4l-dvb/linux/include/media/ir-common.h
v4l-dvb-modified/linux/include/media/ir-common.h
--- v4l-dvb/linux/include/media/ir-common.h 2008-02-06 22:54:11.000000000 -0200
+++ v4l-dvb-modified/linux/include/media/ir-common.h 2008-02-07
11:08:02.000000000 -0200
@@ -142,6 +142,7 @@ extern IR_KEYTAB_TYPE ir_codes_tt_1500[I
extern IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE];
#endif
diff -uprN -X dontdiff v4l-dvb/linux/include/media/tuner.h
v4l-dvb-modified/linux/include/media/tuner.h
--- v4l-dvb/linux/include/media/tuner.h 2008-02-06 22:54:11.000000000 -0200
+++ v4l-dvb-modified/linux/include/media/tuner.h 2008-02-07
12:57:57.000000000 -0200
@@ -122,6 +122,7 @@
#define TUNER_TDA9887 74 /* This tuner should
be used only internally */
#define TUNER_TEA5761 75 /* Only FM Radio Tuner */
#define TUNER_XC5000 76 /* Xceive Silicon Tuner */
+#define TUNER_TNF9835 77 /* FM / PAL B-BG / NTSC */
/* tv card specific */
#define TDA9887_PRESENT (1<<0)
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH] New card entry (saa7134) and FM support for TNF9835
2008-02-07 18:09 [PATCH] New card entry (saa7134) and FM support for TNF9835 Adrian Pardini
@ 2008-02-07 19:39 ` Mauro Carvalho Chehab
2008-02-07 22:04 ` hermann pitton
0 siblings, 1 reply; 10+ messages in thread
From: Mauro Carvalho Chehab @ 2008-02-07 19:39 UTC (permalink / raw)
To: Adrian Pardini; +Cc: Linux and Kernel Video
The patch looks sane. A few comments:
On Thu, 7 Feb 2008 16:09:48 -0200
"Adrian Pardini" <pardo.bsso@gmail.com> wrote:
> Hello,
> This patch brings complete functionality to the "Genius TVGo A11MCE" (saa7130,
> tuner is TNF9835) proper audio/video routing, fm tunning and remote control.
>
> Things I've done:
> * New entry for the card.
> * New entry for the tuner. It's a TNF9835, as the wiki says it works
> fine for tv using
> tuner=37 but the datasheet specifies different frequency bands and the i2c
> command used to tune fm is other.
> * Key mappings for the remote control.
>
> Files changed:
> ir-common.h
> ir-keymaps.c
> saa7134.h
> saa7134-cards.c
> saa7134-input.c
> tuner.h
> tuner-simple.c
> tuner-types.c
>
> Testing:
> I successfully built and tested it ( with the sources from
> mercurial) using Ubuntu Gutsy(linux 2.6.22, custom) and Musix
> 1.0r3-test5 (2.6.23-rt1)
>
> Notes:
> I get this message from time to time and I don't know what to do:
> "saa7130[0]/irq: looping -- clearing PE (parity error!) enable bit"
>
> I didn't want to mess with the pci ids table.
> Without using the card= parameter it is detected as being an
> "Philips TOUGH DVB-T reference design [card=61,autodetected]".
> lspci output:
> 00:0c.0 Multimedia controller: Philips Semiconductors SAA7130 Video
> Broadcast Decoder (rev 01)
> Subsystem: Philips Semiconductors Unknown device 2004
> Flags: bus master, medium devsel, latency 64, IRQ 11
> Memory at dffffc00 (32-bit, non-prefetchable) [size=1K]
> Capabilities: [40] Power Management version 1
>
> I'm wide open to accept suggestions and corrections.
> Thanks a lot for your time,
> Adrian.
Hmmm... what a big changelog... Better to write it more summarized ;)
> ---
> diff -uprN -X dontdiff v4l-dvb/linux/drivers/media/common/ir-keymaps.c
> v4l-dvb-modified/linux/drivers/media/common/ir-keymaps.c
> --- v4l-dvb/linux/drivers/media/common/ir-keymaps.c 2008-02-06
> 22:54:07.000000000 -0200
> +++ v4l-dvb-modified/linux/drivers/media/common/ir-keymaps.c 2008-02-07
> 12:10:06.000000000 -0200
Your e-mail arrived word-wrapped. Please, don't let your emailer to break lines
into 80 columns, otherwise, patch won't apply.
> + [ 0x48 ] = KEY_0,
There are CodingStyle violations here (*). The proper way is:
[0x48] = KEY_0
(*) yes, I know that this is already present at the current code. However,
newer patches should bind to CodingStyle. Later, someone may fix the current
code.
> +static struct tuner_range tuner_tnf9835_ranges[] = {
> + { 16 * 161.25 /*MHz*/, 0x8e, 0x01, },
> + { 16 * 463.25 /*MHz*/, 0x8e, 0x02, },
> + { 16 * 999.99 , 0x8e, 0x08, },
> +};
> + [TUNER_TNF9835] = {
> + .name = "TNF9835 FM / PAL B-BG / NTSC",
> + .params = tuner_tnf9835_params,
> + .count = ARRAY_SIZE(tuner_tnf9835_params),
> + },
Hmm... the same tuner works for both PAL and NTSC standards? Are you sure about
the frequency ranges? I was expecting to have the same frequency for all
tnfxx35 tuners, although I don't have a datasheet for tnf9835.
Cheers,
Mauro
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH] New card entry (saa7134) and FM support for TNF9835
2008-02-07 19:39 ` Mauro Carvalho Chehab
@ 2008-02-07 22:04 ` hermann pitton
2008-02-07 23:28 ` Adrian Pardini
0 siblings, 1 reply; 10+ messages in thread
From: hermann pitton @ 2008-02-07 22:04 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: Linux and Kernel Video
Hi,
Am Donnerstag, den 07.02.2008, 17:39 -0200 schrieb Mauro Carvalho
Chehab:
> The patch looks sane. A few comments:
>
> On Thu, 7 Feb 2008 16:09:48 -0200
> "Adrian Pardini" <pardo.bsso@gmail.com> wrote:
>
> > Hello,
> > This patch brings complete functionality to the "Genius TVGo A11MCE" (saa7130,
> > tuner is TNF9835) proper audio/video routing, fm tunning and remote control.
here a saa7130 is said, and the wrong auto detection is for a saa7130.
Then the TV section with amux = TV is wrong. The saa7130 can't decode
anything from SIF. Only the TV mono section should be correct then.
See the card=3 FlyVideo2000 to which yours is very close anyway,
but else different enough for a new entry.
Please always send relevant "dmesg" for all card/tuner related when
loading the driver.
Did not look up the IR keymap yet, but mask_keydown seems unique.
Can you tell us the name of the IR controller chip?
> > Things I've done:
> > * New entry for the card.
> > * New entry for the tuner. It's a TNF9835, as the wiki says it works
> > fine for tv using
> > tuner=37 but the datasheet specifies different frequency bands and the i2c
> > command used to tune fm is other.
See comments below please.
> > * Key mappings for the remote control.
> >
> > Files changed:
> > ir-common.h
> > ir-keymaps.c
> > saa7134.h
> > saa7134-cards.c
> > saa7134-input.c
> > tuner.h
> > tuner-simple.c
> > tuner-types.c
> >
> > Testing:
> > I successfully built and tested it ( with the sources from
> > mercurial) using Ubuntu Gutsy(linux 2.6.22, custom) and Musix
> > 1.0r3-test5 (2.6.23-rt1)
> >
> > Notes:
> > I get this message from time to time and I don't know what to do:
> > "saa7130[0]/irq: looping -- clearing PE (parity error!) enable bit"
> >
> > I didn't want to mess with the pci ids table.
> > Without using the card= parameter it is detected as being an
> > "Philips TOUGH DVB-T reference design [card=61,autodetected]".
> > lspci output:
> > 00:0c.0 Multimedia controller: Philips Semiconductors SAA7130 Video
> > Broadcast Decoder (rev 01)
> > Subsystem: Philips Semiconductors Unknown device 2004
> > Flags: bus master, medium devsel, latency 64, IRQ 11
> > Memory at dffffc00 (32-bit, non-prefetchable) [size=1K]
> > Capabilities: [40] Power Management version 1
> >
> > I'm wide open to accept suggestions and corrections.
> > Thanks a lot for your time,
> > Adrian.
>
> Hmmm... what a big changelog... Better to write it more summarized ;)
>
> > ---
> > diff -uprN -X dontdiff v4l-dvb/linux/drivers/media/common/ir-keymaps.c
> > v4l-dvb-modified/linux/drivers/media/common/ir-keymaps.c
> > --- v4l-dvb/linux/drivers/media/common/ir-keymaps.c 2008-02-06
> > 22:54:07.000000000 -0200
> > +++ v4l-dvb-modified/linux/drivers/media/common/ir-keymaps.c 2008-02-07
> > 12:10:06.000000000 -0200
>
> Your e-mail arrived word-wrapped. Please, don't let your emailer to break lines
> into 80 columns, otherwise, patch won't apply.
> > + [ 0x48 ] = KEY_0,
>
> There are CodingStyle violations here (*). The proper way is:
> [0x48] = KEY_0
>
> (*) yes, I know that this is already present at the current code. However,
> newer patches should bind to CodingStyle. Later, someone may fix the current
> code.
>
> > +static struct tuner_range tuner_tnf9835_ranges[] = {
> > + { 16 * 161.25 /*MHz*/, 0x8e, 0x01, },
> > + { 16 * 463.25 /*MHz*/, 0x8e, 0x02, },
> > + { 16 * 999.99 , 0x8e, 0x08, },
> > +};
>
> > + [TUNER_TNF9835] = {
> > + .name = "TNF9835 FM / PAL B-BG / NTSC",
> > + .params = tuner_tnf9835_params,
> > + .count = ARRAY_SIZE(tuner_tnf9835_params),
> > + },
>
> Hmm... the same tuner works for both PAL and NTSC standards? Are you sure about
> the frequency ranges? I was expecting to have the same frequency for all
> tnfxx35 tuners, although I don't have a datasheet for tnf9835.
>
> Cheers,
> Mauro
>
Mauro, this one should be covered by your tuner=69 entry. Might have a
datasheet somewhere, but I think don't need it.
The Tena sheets always have a gap between the end of a band and the
start of the next band. For all what I previously looked up around that
stuff, there is no broadcast in that gap. So it doesn't matter much
where to start and end. Also, a TNF9835 tuner board was within the
TVF58t5-MFF. Except Adrian can show us missing channels, we should drop
the tuner stuff entirely.
Cheers,
Hermann
tuner=69
/* ------------ TUNER_TNF_xxx5 - Texas Instruments--------- */
/* This is known to work with Tenna TVF58t5-MFF and TVF5835 MFF
* but it is expected to work also with other Tenna/Ymec
* models based on TI SN 761677 chip on both PAL and NTSC
*/
static struct tuner_range tuner_tnf_5335_d_if_pal_ranges[] = {
{ 16 * 168.25 /*MHz*/, 0x8e, 0x01, },
{ 16 * 471.25 /*MHz*/, 0x8e, 0x02, },
{ 16 * 999.99 , 0x8e, 0x08, },
};
static struct tuner_range tuner_tnf_5335mf_ntsc_ranges[] = {
{ 16 * 169.25 /*MHz*/, 0x8e, 0x01, },
{ 16 * 469.25 /*MHz*/, 0x8e, 0x02, },
{ 16 * 999.99 , 0x8e, 0x08, },
};
static struct tuner_params tuner_tnf_5335mf_params[] = {
{
.type = TUNER_PARAM_TYPE_NTSC,
.ranges = tuner_tnf_5335mf_ntsc_ranges,
.count = ARRAY_SIZE(tuner_tnf_5335mf_ntsc_ranges),
},
{
.type = TUNER_PARAM_TYPE_PAL,
.ranges = tuner_tnf_5335_d_if_pal_ranges,
.count = ARRAY_SIZE(tuner_tnf_5335_d_if_pal_ranges),
},
};
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH] New card entry (saa7134) and FM support for TNF9835
2008-02-07 22:04 ` hermann pitton
@ 2008-02-07 23:28 ` Adrian Pardini
2008-02-08 0:13 ` hermann pitton
0 siblings, 1 reply; 10+ messages in thread
From: Adrian Pardini @ 2008-02-07 23:28 UTC (permalink / raw)
To: hermann pitton; +Cc: Linux and Kernel Video, Mauro Carvalho Chehab
Hello,
2008/2/7, hermann pitton <hermann-pitton@arcor.de>:
> here a saa7130 is said, and the wrong auto detection is for a saa7130.
> Then the TV section with amux = TV is wrong. The saa7130 can't decode
> anything from SIF. Only the TV mono section should be correct then.
Ok, I'll drop the other section but I get tv audio from both. The "AF
out" from the tuner goes directly to the pin "LEFT 1" of the saa7130.
Right 1, 2 and Left 2 go together with the video signal to a chip
without numbering (al least on the visible side, now I don't feel like
desoldering it to see behind)
> See the card=3 FlyVideo2000 to which yours is very close anyway,
> but else different enough for a new entry.
You are right, I used the FlyVideo3000 (card=2) just because it was
the first that worked fine.
> Please always send relevant "dmesg" for all card/tuner related when
> loading the driver.
dmesg output without the card= parameter:
---
Feb 4 20:19:49 virulazo kernel: [ 36.294884] saa7130[0]: found at
0000:00:0c.0, rev: 1, irq: 11, latency: 64, mmio: 0xdffffc00
Feb 4 20:19:49 virulazo kernel: [ 36.294959] saa7130[0]: subsystem:
1131:2004, board: Philips TOUGH DVB-T reference design
[card=61,autodetected]
Feb 4 20:19:49 virulazo kernel: [ 36.295039] saa7130[0]: board
init: gpio is 571ff
Feb 4 20:19:49 virulazo kernel: [ 36.447561] saa7130[0]: i2c eeprom
00: 31 11 04 20 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
Feb 4 20:19:49 virulazo kernel: [ 36.448904] saa7130[0]: i2c eeprom
10: 00 df 86 0f ff 20 ff ff ff ff ff ff ff ff ff ff
Feb 4 20:19:49 virulazo kernel: [ 36.449795] saa7130[0]: i2c eeprom
20: 01 40 01 02 02 ff 01 03 08 ff 00 8f ff ff ff ff
Feb 4 20:19:49 virulazo kernel: [ 36.451065] saa7130[0]: i2c eeprom
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 4 20:19:49 virulazo kernel: [ 36.452408] saa7130[0]: i2c eeprom
40: ff 87 00 c2 96 10 03 32 15 08 ff ff ff ff ff ff
Feb 4 20:19:49 virulazo kernel: [ 36.453295] saa7130[0]: i2c eeprom
50: ff ff ff ff ff ff ff 41 83 ff 31 30 4d 4f 4f 4e
Feb 4 20:19:49 virulazo kernel: [ 36.454596] saa7130[0]: i2c eeprom
60: 53 50 44 41 31 30 30 ff 41 ff ff ff ff ff ff ff
Feb 4 20:19:49 virulazo kernel: [ 36.455456] saa7130[0]: i2c eeprom
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 4 20:19:49 virulazo kernel: [ 36.466274] saa7130[0]: registered
device video0 [v4l2]
Feb 4 20:19:49 virulazo kernel: [ 36.466401] saa7130[0]: registered
device vbi0
---
dmesg with card=132 parameter:
---
Feb 7 18:24:04 virulazo kernel: [ 35.350727] Linux video capture
interface: v2.00
Feb 7 18:24:04 virulazo kernel: [ 35.508345] saa7130/34: v4l2
driver version 0.2.14 loaded
Feb 7 18:24:04 virulazo kernel: [ 35.508931] ACPI: PCI Interrupt
Link [LNKA] enabled at IRQ 11
Feb 7 18:24:04 virulazo kernel: [ 35.508997] ACPI: PCI Interrupt
0000:00:0c.0[A] -> Link [LNKA] -> GSI 11 (level, low) ->
IRQ 11
Feb 7 18:24:04 virulazo kernel: [ 35.509143] saa7130[0]: found at
0000:00:0c.0, rev: 1, irq: 11, latency: 64, mmio: 0xdff
ffc00
Feb 7 18:24:04 virulazo kernel: [ 35.509216] saa7130[0]: subsystem:
1131:2004, board: Genius TVGO AM11MCE [card=132,insmo
d option]
Feb 7 18:24:04 virulazo kernel: [ 35.509292] saa7130[0]: board
init: gpio is 571ff
Feb 7 18:24:04 virulazo kernel: [ 35.509483] input: saa7134 IR
(Genius TVGO AM11MCE as /class/input/input1
Feb 7 18:24:04 virulazo kernel: [ 35.651756] saa7130[0]: i2c eeprom
00: 31 11 04 20 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
Feb 7 18:24:04 virulazo kernel: [ 35.652423] saa7130[0]: i2c eeprom
10: 00 df 86 0f ff 20 ff ff ff ff ff ff ff ff ff ff
Feb 7 18:24:04 virulazo kernel: [ 35.653092] saa7130[0]: i2c eeprom
20: 01 40 01 02 02 ff 01 03 08 ff 00 8f ff ff ff ff
Feb 7 18:24:04 virulazo kernel: [ 35.653760] saa7130[0]: i2c eeprom
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 7 18:24:04 virulazo kernel: [ 35.654412] saa7130[0]: i2c eeprom
40: ff 87 00 c2 96 10 03 32 15 08 ff ff ff ff ff ff
Feb 7 18:24:04 virulazo kernel: [ 35.655075] saa7130[0]: i2c eeprom
50: ff ff ff ff ff ff ff 41 83 ff 31 30 4d 4f 4f 4e
Feb 7 18:24:04 virulazo kernel: [ 35.655728] saa7130[0]: i2c eeprom
60: 53 50 44 41 31 30 30 ff 41 ff ff ff ff ff ff ff
Feb 7 18:24:04 virulazo kernel: [ 35.656394] saa7130[0]: i2c eeprom
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 7 18:24:04 virulazo kernel: [ 35.657062] saa7130[0]: i2c eeprom
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 7 18:24:04 virulazo kernel: [ 35.657714] saa7130[0]: i2c eeprom
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 7 18:24:04 virulazo kernel: [ 35.658383] saa7130[0]: i2c eeprom
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 7 18:24:04 virulazo kernel: [ 35.659049] saa7130[0]: i2c eeprom
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 7 18:24:04 virulazo kernel: [ 35.659701] saa7130[0]: i2c eeprom
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 7 18:24:04 virulazo kernel: [ 35.660370] saa7130[0]: i2c eeprom
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 7 18:24:04 virulazo kernel: [ 35.661038] saa7130[0]: i2c eeprom
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 7 18:24:04 virulazo kernel: [ 35.661689] saa7130[0]: i2c eeprom
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 7 18:24:04 virulazo kernel: [ 36.525537] All bytes are equal.
It is not a TEA5767
Feb 7 18:24:04 virulazo kernel: [ 36.525607] tuner' 1-0060: chip
found @ 0xc0 (saa7130[0])
Feb 7 18:24:04 virulazo kernel: [ 36.525717] tuner-simple 1-0060:
type set to 77 (TNF9835 FM / PAL B-BG / NTSC)
Feb 7 18:24:04 virulazo kernel: [ 36.529540] tuner' 1-0061: chip
found @ 0xc2 (saa7130[0])
Feb 7 18:24:04 virulazo kernel: [ 36.532408] saa7130[0]: registered
device video0 [v4l2]
Feb 7 18:24:04 virulazo kernel: [ 36.532517] saa7130[0]: registered
device vbi0
Feb 7 18:24:04 virulazo kernel: [ 36.532649] saa7130[0]: registered
device radio0
---
> Did not look up the IR keymap yet, but mask_keydown seems unique.
> Can you tell us the name of the IR controller chip?
Inside it has an ic of the kind that looks like a black plastic drop.
There is a label that reads "www.seneasy.com s42a85". It's a Chinese
company that makes remote controls in massive quantities, but that's
all I found;
The mask_keydown needs a bit of more work, sometimes when changing
channels or input an event with data=0xff is generated.
> Mauro, this one should be covered by your tuner=69 entry. Might have a
> datasheet somewhere, but I think don't need it.
>
> The Tena sheets always have a gap between the end of a band and the
> start of the next band. For all what I previously looked up around that
> stuff, there is no broadcast in that gap. So it doesn't matter much
> where to start and end. Also, a TNF9835 tuner board was within the
> TVF58t5-MFF. Except Adrian can show us missing channels, we should drop
> the tuner stuff entirely.
I agree about dropping the tuner stuff, they only differ in only
6~8Mhz; that's enough bandwidth for a channel but right now I have no
means to prove that it is being used.
Lets drop it until someone comes with more information.
Cheers, Adrian.
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] New card entry (saa7134) and FM support for TNF9835
2008-02-07 23:28 ` Adrian Pardini
@ 2008-02-08 0:13 ` hermann pitton
2008-02-08 17:37 ` Adrian Pardini
0 siblings, 1 reply; 10+ messages in thread
From: hermann pitton @ 2008-02-08 0:13 UTC (permalink / raw)
To: Adrian Pardini; +Cc: Linux and Kernel Video, Mauro Carvalho Chehab
Am Donnerstag, den 07.02.2008, 21:28 -0200 schrieb Adrian Pardini:
> Hello,
>
> 2008/2/7, hermann pitton <hermann-pitton@arcor.de>:
>
> > here a saa7130 is said, and the wrong auto detection is for a saa7130.
> > Then the TV section with amux = TV is wrong. The saa7130 can't decode
> > anything from SIF. Only the TV mono section should be correct then.
>
> Ok, I'll drop the other section but I get tv audio from both. The "AF
> out" from the tuner goes directly to the pin "LEFT 1" of the saa7130.
> Right 1, 2 and Left 2 go together with the video signal to a chip
> without numbering (al least on the visible side, now I don't feel like
> desoldering it to see behind)
>
> > See the card=3 FlyVideo2000 to which yours is very close anyway,
> > but else different enough for a new entry.
>
> You are right, I used the FlyVideo3000 (card=2) just because it was
> the first that worked fine.
>
>
> > Please always send relevant "dmesg" for all card/tuner related when
> > loading the driver.
> dmesg output without the card= parameter:
> ---
> Feb 4 20:19:49 virulazo kernel: [ 36.294884] saa7130[0]: found at
> 0000:00:0c.0, rev: 1, irq: 11, latency: 64, mmio: 0xdffffc00
> Feb 4 20:19:49 virulazo kernel: [ 36.294959] saa7130[0]: subsystem:
> 1131:2004, board: Philips TOUGH DVB-T reference design
> [card=61,autodetected]
> Feb 4 20:19:49 virulazo kernel: [ 36.295039] saa7130[0]: board
> init: gpio is 571ff
> Feb 4 20:19:49 virulazo kernel: [ 36.447561] saa7130[0]: i2c eeprom
> 00: 31 11 04 20 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
> Feb 4 20:19:49 virulazo kernel: [ 36.448904] saa7130[0]: i2c eeprom
> 10: 00 df 86 0f ff 20 ff ff ff ff ff ff ff ff ff ff
> Feb 4 20:19:49 virulazo kernel: [ 36.449795] saa7130[0]: i2c eeprom
> 20: 01 40 01 02 02 ff 01 03 08 ff 00 8f ff ff ff ff
> Feb 4 20:19:49 virulazo kernel: [ 36.451065] saa7130[0]: i2c eeprom
> 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> Feb 4 20:19:49 virulazo kernel: [ 36.452408] saa7130[0]: i2c eeprom
> 40: ff 87 00 c2 96 10 03 32 15 08 ff ff ff ff ff ff
> Feb 4 20:19:49 virulazo kernel: [ 36.453295] saa7130[0]: i2c eeprom
> 50: ff ff ff ff ff ff ff 41 83 ff 31 30 4d 4f 4f 4e
> Feb 4 20:19:49 virulazo kernel: [ 36.454596] saa7130[0]: i2c eeprom
> 60: 53 50 44 41 31 30 30 ff 41 ff ff ff ff ff ff ff
> Feb 4 20:19:49 virulazo kernel: [ 36.455456] saa7130[0]: i2c eeprom
> 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> Feb 4 20:19:49 virulazo kernel: [ 36.466274] saa7130[0]: registered
> device video0 [v4l2]
> Feb 4 20:19:49 virulazo kernel: [ 36.466401] saa7130[0]: registered
> device vbi0
> ---
>
> dmesg with card=132 parameter:
> ---
> Feb 7 18:24:04 virulazo kernel: [ 35.350727] Linux video capture
> interface: v2.00
> Feb 7 18:24:04 virulazo kernel: [ 35.508345] saa7130/34: v4l2
> driver version 0.2.14 loaded
> Feb 7 18:24:04 virulazo kernel: [ 35.508931] ACPI: PCI Interrupt
> Link [LNKA] enabled at IRQ 11
> Feb 7 18:24:04 virulazo kernel: [ 35.508997] ACPI: PCI Interrupt
> 0000:00:0c.0[A] -> Link [LNKA] -> GSI 11 (level, low) ->
> IRQ 11
> Feb 7 18:24:04 virulazo kernel: [ 35.509143] saa7130[0]: found at
> 0000:00:0c.0, rev: 1, irq: 11, latency: 64, mmio: 0xdff
> ffc00
> Feb 7 18:24:04 virulazo kernel: [ 35.509216] saa7130[0]: subsystem:
> 1131:2004, board: Genius TVGO AM11MCE [card=132,insmo
> d option]
> Feb 7 18:24:04 virulazo kernel: [ 35.509292] saa7130[0]: board
> init: gpio is 571ff
> Feb 7 18:24:04 virulazo kernel: [ 35.509483] input: saa7134 IR
> (Genius TVGO AM11MCE as /class/input/input1
> Feb 7 18:24:04 virulazo kernel: [ 35.651756] saa7130[0]: i2c eeprom
> 00: 31 11 04 20 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
> Feb 7 18:24:04 virulazo kernel: [ 35.652423] saa7130[0]: i2c eeprom
> 10: 00 df 86 0f ff 20 ff ff ff ff ff ff ff ff ff ff
> Feb 7 18:24:04 virulazo kernel: [ 35.653092] saa7130[0]: i2c eeprom
> 20: 01 40 01 02 02 ff 01 03 08 ff 00 8f ff ff ff ff
> Feb 7 18:24:04 virulazo kernel: [ 35.653760] saa7130[0]: i2c eeprom
> 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> Feb 7 18:24:04 virulazo kernel: [ 35.654412] saa7130[0]: i2c eeprom
> 40: ff 87 00 c2 96 10 03 32 15 08 ff ff ff ff ff ff
> Feb 7 18:24:04 virulazo kernel: [ 35.655075] saa7130[0]: i2c eeprom
> 50: ff ff ff ff ff ff ff 41 83 ff 31 30 4d 4f 4f 4e
> Feb 7 18:24:04 virulazo kernel: [ 35.655728] saa7130[0]: i2c eeprom
> 60: 53 50 44 41 31 30 30 ff 41 ff ff ff ff ff ff ff
> Feb 7 18:24:04 virulazo kernel: [ 35.656394] saa7130[0]: i2c eeprom
> 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> Feb 7 18:24:04 virulazo kernel: [ 35.657062] saa7130[0]: i2c eeprom
> 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> Feb 7 18:24:04 virulazo kernel: [ 35.657714] saa7130[0]: i2c eeprom
> 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> Feb 7 18:24:04 virulazo kernel: [ 35.658383] saa7130[0]: i2c eeprom
> a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> Feb 7 18:24:04 virulazo kernel: [ 35.659049] saa7130[0]: i2c eeprom
> b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> Feb 7 18:24:04 virulazo kernel: [ 35.659701] saa7130[0]: i2c eeprom
> c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> Feb 7 18:24:04 virulazo kernel: [ 35.660370] saa7130[0]: i2c eeprom
> d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> Feb 7 18:24:04 virulazo kernel: [ 35.661038] saa7130[0]: i2c eeprom
> e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> Feb 7 18:24:04 virulazo kernel: [ 35.661689] saa7130[0]: i2c eeprom
> f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> Feb 7 18:24:04 virulazo kernel: [ 36.525537] All bytes are equal.
> It is not a TEA5767
> Feb 7 18:24:04 virulazo kernel: [ 36.525607] tuner' 1-0060: chip
> found @ 0xc0 (saa7130[0])
> Feb 7 18:24:04 virulazo kernel: [ 36.525717] tuner-simple 1-0060:
> type set to 77 (TNF9835 FM / PAL B-BG / NTSC)
> Feb 7 18:24:04 virulazo kernel: [ 36.529540] tuner' 1-0061: chip
> found @ 0xc2 (saa7130[0])
> Feb 7 18:24:04 virulazo kernel: [ 36.532408] saa7130[0]: registered
> device video0 [v4l2]
> Feb 7 18:24:04 virulazo kernel: [ 36.532517] saa7130[0]: registered
> device vbi0
> Feb 7 18:24:04 virulazo kernel: [ 36.532649] saa7130[0]: registered
> device radio0
> ---
>
> > Did not look up the IR keymap yet, but mask_keydown seems unique.
> > Can you tell us the name of the IR controller chip?
> Inside it has an ic of the kind that looks like a black plastic drop.
> There is a label that reads "www.seneasy.com s42a85". It's a Chinese
> company that makes remote controls in massive quantities, but that's
> all I found;
> The mask_keydown needs a bit of more work, sometimes when changing
> channels or input an event with data=0xff is generated.
>
> > Mauro, this one should be covered by your tuner=69 entry. Might have a
> > datasheet somewhere, but I think don't need it.
> >
> > The Tena sheets always have a gap between the end of a band and the
> > start of the next band. For all what I previously looked up around that
> > stuff, there is no broadcast in that gap. So it doesn't matter much
> > where to start and end. Also, a TNF9835 tuner board was within the
> > TVF58t5-MFF. Except Adrian can show us missing channels, we should drop
> > the tuner stuff entirely.
>
> I agree about dropping the tuner stuff, they only differ in only
> 6~8Mhz; that's enough bandwidth for a channel but right now I have no
> means to prove that it is being used.
> Lets drop it until someone comes with more information.
>
> Cheers, Adrian.
Hi Adrian.
Thanks! Looks good, please proceed.
Your help is welcome.
Cheers,
Hermann
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] New card entry (saa7134) and FM support for TNF9835
2008-02-08 0:13 ` hermann pitton
@ 2008-02-08 17:37 ` Adrian Pardini
2008-02-08 18:31 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 10+ messages in thread
From: Adrian Pardini @ 2008-02-08 17:37 UTC (permalink / raw)
To: hermann pitton; +Cc: Linux and Kernel Video, Mauro Carvalho Chehab
Hello,
As hermann suggested I removed the tuner stuff and switched to the TNF5335
(tuner=69), and left only the TV(mono) input. Also I made some cosmetic
changes to comply with the CodingStyle rules.
Hope everything is ok.
Cheers,
Adrian.
---
diff -uprN -X dontdiff
v4l-dvb/linux/Documentation/video4linux/CARDLIST.saa7134
v4l-dvb-modified/linux/Documentation/video4linux/CARDLIST.saa7134
--- v4l-dvb/linux/Documentation/video4linux/CARDLIST.saa7134 2008-02-06
22:54:07.000000000 -0200
+++ v4l-dvb-modified/linux/Documentation/video4linux/CARDLIST.saa7134
2008-02-08 14:54:51.000000000 -0200
@@ -130,3 +130,4 @@
129 -> Beholder BeholdTV 607 / BeholdTV 609
[5ace:6070,5ace:6071,5ace:6072,5ace:6073,5ace:6090,5ace:6091,5ace:6092,5ace:6093]
130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193]
131 -> Twinhan Hybrid DTV-DVB 3056 PCI [1822:0022]
+132 -> Genius TVGO AM11MCE
diff -uprN -X dontdiff
v4l-dvb/linux/drivers/media/common/ir-keymaps.cv4l-dvb-modified/linux/drivers/media/common/ir-
keymaps.c
--- v4l-dvb/linux/drivers/media/common/ir-keymaps.c 2008-02-06 22:54:
07.000000000 -0200
+++ v4l-dvb-modified/linux/drivers/media/common/ir-keymaps.c 2008-02-08
14:54:51.000000000 -0200
@@ -2037,3 +2037,49 @@ IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB
};
EXPORT_SYMBOL_GPL(ir_codes_behold);
+
+/*
+ * Remote control for the Genius TVGO A11MCE
+ * Adrian Pardini <pardo.bsso@gmail.com>
+ */
+IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = {
+ /* Keys 0 to 9 */
+ [0x48] = KEY_0,
+ [0x09] = KEY_1,
+ [0x1d] = KEY_2,
+ [0x1f] = KEY_3,
+ [0x19] = KEY_4,
+ [0x1b] = KEY_5,
+ [0x11] = KEY_6,
+ [0x17] = KEY_7,
+ [0x12] = KEY_8,
+ [0x16] = KEY_9,
+
+ [0x54] = KEY_RECORD, /* recording */
+ [0x06] = KEY_MUTE, /* mute */
+ [0x10] = KEY_POWER,
+ [0x40] = KEY_LAST, /* recall */
+ [0x4c] = KEY_CHANNELUP, /* channel / program + */
+ [0x00] = KEY_CHANNELDOWN, /* channel / program - */
+ [0x0d] = KEY_VOLUMEUP,
+ [0x15] = KEY_VOLUMEDOWN,
+ [0x4d] = KEY_OK, /* also labeled as Pause */
+ [0x1c] = KEY_ZOOM, /* full screen and Stop*/
+ [0x02] = KEY_MODE, /* AV Source or Rewind*/
+ [0x04] = KEY_LIST, /* -/-- */
+ /* small arrows above numbers */
+ [0x1a] = KEY_NEXT, /* also Fast Forward */
+ [0x0e] = KEY_PREVIOUS, /* also Rewind */
+ /* these are in a rather non standard layout and have
+ an alternate name written */
+ [0x1e] = KEY_UP, /* Video Setting */
+ [0x0a] = KEY_DOWN, /* Video Default */
+ [0x05] = KEY_LEFT, /* Snapshot */
+ [0x0c] = KEY_RIGHT, /* Hide Panel */
+ /* Four buttons without label */
+ [0x49] = KEY_RED,
+ [0x0b] = KEY_GREEN,
+ [0x13] = KEY_YELLOW,
+ [0x50] = KEY_BLUE,
+};
+EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce);
diff -uprN -X dontdiff v4l-dvb/linux/drivers/media/video/saa7134/saa7134-
cards.c v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134-cards.c
--- v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c 2008-02-06
22:54:10.000000000 -0200
+++ v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134-cards.c
2008-02-08 14:57:07.000000000 -0200
@@ -3992,6 +3992,44 @@ struct saa7134_board saa7134_boards[] =
.gpio = 0x0200000,
},
},
+ [SAA7134_BOARD_GENIUS_TVGO_A11MCE] = {
+ /* Adrian Pardini <pardo.bsso@gmail.com> */
+ .name = "Genius TVGO AM11MCE",
+ .audio_clock = 0x00200000,
+ .tuner_type = TUNER_TNF_5335MF,
+ .radio_type = UNSET,
+ .tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
+ .gpiomask = 0xf000,
+ .inputs = {{
+ .name = name_tv_mono,
+ .vmux = 1,
+ .amux = LINE2,
+ .gpio = 0x0000,
+ .tv = 1,
+ }, {
+ .name = name_comp1,
+ .vmux = 3,
+ .amux = LINE1,
+ .gpio = 0x2000,
+ .tv = 1
+ }, {
+ .name = name_svideo,
+ .vmux = 8,
+ .amux = LINE1,
+ .gpio = 0x2000,
+ } },
+ .radio = {
+ .name = name_radio,
+ .amux = LINE2,
+ .gpio = 0x1000,
+ },
+ .mute = {
+ .name = name_mute,
+ .amux = LINE2,
+ .gpio = 0x6000,
+ },
+ },
};
const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -5130,6 +5168,7 @@ int saa7134_board_init1(struct saa7134_d
case SAA7134_BOARD_BEHOLD_409:
case SAA7134_BOARD_BEHOLD_505FM:
case SAA7134_BOARD_BEHOLD_507_9FM:
+ case SAA7134_BOARD_GENIUS_TVGO_A11MCE:
dev->has_remote = SAA7134_REMOTE_GPIO;
break;
case SAA7134_BOARD_FLYDVBS_LR300:
diff -uprN -X dontdiff v4l-dvb/linux/drivers/media/video/saa7134/saa7134.h
v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134.h
--- v4l-dvb/linux/drivers/media/video/saa7134/saa7134.h 2008-02-06 22:54:
10.000000000 -0200
+++ v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134.h
2008-02-08 14:35:55.000000000 -0200
@@ -260,6 +260,7 @@ struct saa7134_format {
#define SAA7134_BOARD_BEHOLD_607_9FM 129
#define SAA7134_BOARD_BEHOLD_M6 130
#define SAA7134_BOARD_TWINHAN_DTV_DVB_3056 131
+#define SAA7134_BOARD_GENIUS_TVGO_A11MCE 132
#define SAA7134_MAXBOARDS 8
#define SAA7134_INPUT_MAX 8
diff -uprN -X dontdiff v4l-dvb/linux/drivers/media/video/saa7134/saa7134-
input.c v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134-input.c
--- v4l-dvb/linux/drivers/media/video/saa7134/saa7134-input.c 2008-02-06
22:54:10.000000000 -0200
+++ v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134-input.c
2008-02-08 14:37:40.000000000 -0200
@@ -406,6 +406,12 @@ int saa7134_input_init1(struct saa7134_d
mask_keyup = 0x8000000;
polling = 50; //ms
break;
+ case SAA7134_BOARD_GENIUS_TVGO_A11MCE:
+ ir_codes = ir_codes_genius_tvgo_a11mce;
+ mask_keycode = 0xff;
+ mask_keydown = 0xf00000;
+ polling = 50; /* ms */
+ break;
}
if (NULL == ir_codes) {
printk("%s: Oops: IR config error [card=%d]\n",
diff -uprN -X dontdiff
v4l-dvb/linux/include/media/ir-common.hv4l-dvb-modified/linux/include/media/ir-
common.h
--- v4l-dvb/linux/include/media/ir-common.h 2008-02-06
22:54:11.000000000-0200
+++ v4l-dvb-modified/linux/include/media/ir-common.h 2008-02-08 14:38:
37.000000000 -0200
@@ -142,6 +142,7 @@ extern IR_KEYTAB_TYPE ir_codes_tt_1500[I
extern IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE];
#endif
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH] New card entry (saa7134) and FM support for TNF9835
2008-02-08 17:37 ` Adrian Pardini
@ 2008-02-08 18:31 ` Mauro Carvalho Chehab
2008-02-08 18:35 ` Adrian Pardini
2008-02-09 17:35 ` PixelView PlayTV 405 DVD Maker Claudinei Camargo
0 siblings, 2 replies; 10+ messages in thread
From: Mauro Carvalho Chehab @ 2008-02-08 18:31 UTC (permalink / raw)
To: Adrian Pardini; +Cc: Linux and Kernel Video
On Fri, 8 Feb 2008 15:37:28 -0200
"Adrian Pardini" <pardo.bsso@gmail.com> wrote:
> Hello,
> As hermann suggested I removed the tuner stuff and switched to the TNF5335
> (tuner=69), and left only the TV(mono) input. Also I made some cosmetic
> changes to comply with the CodingStyle rules.
>
> Hope everything is ok.
> Cheers,
> Adrian.
>
> ---
> diff -uprN -X dontdiff
> v4l-dvb/linux/Documentation/video4linux/CARDLIST.saa7134
> v4l-dvb-modified/linux/Documentation/video4linux/CARDLIST.saa7134
> --- v4l-dvb/linux/Documentation/video4linux/CARDLIST.saa7134 2008-02-06
> 22:54:07.000000000 -0200
> +++ v4l-dvb-modified/linux/Documentation/video4linux/CARDLIST.saa7134
Still the patch is line-wrapped. Although this is not a good practice, you may
send it as an annex, if you can't convince your emailer to not break the lines.
This way, patch command won't accept it.
Cheers,
Mauro
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] New card entry (saa7134) and FM support for TNF9835
2008-02-08 18:31 ` Mauro Carvalho Chehab
@ 2008-02-08 18:35 ` Adrian Pardini
2008-02-09 17:35 ` PixelView PlayTV 405 DVD Maker Claudinei Camargo
1 sibling, 0 replies; 10+ messages in thread
From: Adrian Pardini @ 2008-02-08 18:35 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: Linux and Kernel Video
[-- Attachment #1: Type: text/plain, Size: 364 bytes --]
2008/2/8, Mauro Carvalho Chehab <mchehab@infradead.org>:
> Still the patch is line-wrapped. Although this is not a good practice, you may
> send it as an annex, if you can't convince your emailer to not break the lines.
> This way, patch command won't accept it.
>
> Cheers,
> Mauro
I'm very sorry about this.
Hope it gets right this time.
Kind regards,
Adrian.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: tvgo.patch --]
[-- Type: text/x-patch; name=tvgo.patch, Size: 6011 bytes --]
diff -uprN -X dontdiff v4l-dvb/linux/Documentation/video4linux/CARDLIST.saa7134 v4l-dvb-modified/linux/Documentation/video4linux/CARDLIST.saa7134
--- v4l-dvb/linux/Documentation/video4linux/CARDLIST.saa7134 2008-02-06 22:54:07.000000000 -0200
+++ v4l-dvb-modified/linux/Documentation/video4linux/CARDLIST.saa7134 2008-02-08 14:54:51.000000000 -0200
@@ -130,3 +130,4 @@
129 -> Beholder BeholdTV 607 / BeholdTV 609 [5ace:6070,5ace:6071,5ace:6072,5ace:6073,5ace:6090,5ace:6091,5ace:6092,5ace:6093]
130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193]
131 -> Twinhan Hybrid DTV-DVB 3056 PCI [1822:0022]
+132 -> Genius TVGO AM11MCE
diff -uprN -X dontdiff v4l-dvb/linux/drivers/media/common/ir-keymaps.c v4l-dvb-modified/linux/drivers/media/common/ir-keymaps.c
--- v4l-dvb/linux/drivers/media/common/ir-keymaps.c 2008-02-06 22:54:07.000000000 -0200
+++ v4l-dvb-modified/linux/drivers/media/common/ir-keymaps.c 2008-02-08 14:54:51.000000000 -0200
@@ -2037,3 +2037,49 @@ IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB
};
EXPORT_SYMBOL_GPL(ir_codes_behold);
+
+/*
+ * Remote control for the Genius TVGO A11MCE
+ * Adrian Pardini <pardo.bsso@gmail.com>
+ */
+IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = {
+ /* Keys 0 to 9 */
+ [0x48] = KEY_0,
+ [0x09] = KEY_1,
+ [0x1d] = KEY_2,
+ [0x1f] = KEY_3,
+ [0x19] = KEY_4,
+ [0x1b] = KEY_5,
+ [0x11] = KEY_6,
+ [0x17] = KEY_7,
+ [0x12] = KEY_8,
+ [0x16] = KEY_9,
+
+ [0x54] = KEY_RECORD, /* recording */
+ [0x06] = KEY_MUTE, /* mute */
+ [0x10] = KEY_POWER,
+ [0x40] = KEY_LAST, /* recall */
+ [0x4c] = KEY_CHANNELUP, /* channel / program + */
+ [0x00] = KEY_CHANNELDOWN, /* channel / program - */
+ [0x0d] = KEY_VOLUMEUP,
+ [0x15] = KEY_VOLUMEDOWN,
+ [0x4d] = KEY_OK, /* also labeled as Pause */
+ [0x1c] = KEY_ZOOM, /* full screen and Stop*/
+ [0x02] = KEY_MODE, /* AV Source or Rewind*/
+ [0x04] = KEY_LIST, /* -/-- */
+ /* small arrows above numbers */
+ [0x1a] = KEY_NEXT, /* also Fast Forward */
+ [0x0e] = KEY_PREVIOUS, /* also Rewind */
+ /* these are in a rather non standard layout and have
+ an alternate name written */
+ [0x1e] = KEY_UP, /* Video Setting */
+ [0x0a] = KEY_DOWN, /* Video Default */
+ [0x05] = KEY_LEFT, /* Snapshot */
+ [0x0c] = KEY_RIGHT, /* Hide Panel */
+ /* Four buttons without label */
+ [0x49] = KEY_RED,
+ [0x0b] = KEY_GREEN,
+ [0x13] = KEY_YELLOW,
+ [0x50] = KEY_BLUE,
+};
+EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce);
diff -uprN -X dontdiff v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134-cards.c
--- v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c 2008-02-06 22:54:10.000000000 -0200
+++ v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134-cards.c 2008-02-08 14:57:07.000000000 -0200
@@ -3992,6 +3992,44 @@ struct saa7134_board saa7134_boards[] =
.gpio = 0x0200000,
},
},
+ [SAA7134_BOARD_GENIUS_TVGO_A11MCE] = {
+ /* Adrian Pardini <pardo.bsso@gmail.com> */
+ .name = "Genius TVGO AM11MCE",
+ .audio_clock = 0x00200000,
+ .tuner_type = TUNER_TNF_5335MF,
+ .radio_type = UNSET,
+ .tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
+ .gpiomask = 0xf000,
+ .inputs = {{
+ .name = name_tv_mono,
+ .vmux = 1,
+ .amux = LINE2,
+ .gpio = 0x0000,
+ .tv = 1,
+ }, {
+ .name = name_comp1,
+ .vmux = 3,
+ .amux = LINE1,
+ .gpio = 0x2000,
+ .tv = 1
+ }, {
+ .name = name_svideo,
+ .vmux = 8,
+ .amux = LINE1,
+ .gpio = 0x2000,
+ } },
+ .radio = {
+ .name = name_radio,
+ .amux = LINE2,
+ .gpio = 0x1000,
+ },
+ .mute = {
+ .name = name_mute,
+ .amux = LINE2,
+ .gpio = 0x6000,
+ },
+ },
};
const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -5130,6 +5168,7 @@ int saa7134_board_init1(struct saa7134_d
case SAA7134_BOARD_BEHOLD_409:
case SAA7134_BOARD_BEHOLD_505FM:
case SAA7134_BOARD_BEHOLD_507_9FM:
+ case SAA7134_BOARD_GENIUS_TVGO_A11MCE:
dev->has_remote = SAA7134_REMOTE_GPIO;
break;
case SAA7134_BOARD_FLYDVBS_LR300:
diff -uprN -X dontdiff v4l-dvb/linux/drivers/media/video/saa7134/saa7134.h v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134.h
--- v4l-dvb/linux/drivers/media/video/saa7134/saa7134.h 2008-02-06 22:54:10.000000000 -0200
+++ v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134.h 2008-02-08 14:35:55.000000000 -0200
@@ -260,6 +260,7 @@ struct saa7134_format {
#define SAA7134_BOARD_BEHOLD_607_9FM 129
#define SAA7134_BOARD_BEHOLD_M6 130
#define SAA7134_BOARD_TWINHAN_DTV_DVB_3056 131
+#define SAA7134_BOARD_GENIUS_TVGO_A11MCE 132
#define SAA7134_MAXBOARDS 8
#define SAA7134_INPUT_MAX 8
diff -uprN -X dontdiff v4l-dvb/linux/drivers/media/video/saa7134/saa7134-input.c v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134-input.c
--- v4l-dvb/linux/drivers/media/video/saa7134/saa7134-input.c 2008-02-06 22:54:10.000000000 -0200
+++ v4l-dvb-modified/linux/drivers/media/video/saa7134/saa7134-input.c 2008-02-08 14:37:40.000000000 -0200
@@ -406,6 +406,12 @@ int saa7134_input_init1(struct saa7134_d
mask_keyup = 0x8000000;
polling = 50; //ms
break;
+ case SAA7134_BOARD_GENIUS_TVGO_A11MCE:
+ ir_codes = ir_codes_genius_tvgo_a11mce;
+ mask_keycode = 0xff;
+ mask_keydown = 0xf00000;
+ polling = 50; /* ms */
+ break;
}
if (NULL == ir_codes) {
printk("%s: Oops: IR config error [card=%d]\n",
diff -uprN -X dontdiff v4l-dvb/linux/include/media/ir-common.h v4l-dvb-modified/linux/include/media/ir-common.h
--- v4l-dvb/linux/include/media/ir-common.h 2008-02-06 22:54:11.000000000 -0200
+++ v4l-dvb-modified/linux/include/media/ir-common.h 2008-02-08 14:38:37.000000000 -0200
@@ -142,6 +142,7 @@ extern IR_KEYTAB_TYPE ir_codes_tt_1500[I
extern IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE];
#endif
[-- Attachment #3: Type: text/plain, Size: 164 bytes --]
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
^ permalink raw reply [flat|nested] 10+ messages in thread* PixelView PlayTV 405 DVD Maker
2008-02-08 18:31 ` Mauro Carvalho Chehab
2008-02-08 18:35 ` Adrian Pardini
@ 2008-02-09 17:35 ` Claudinei Camargo
2008-02-09 19:13 ` Sid Boyce
1 sibling, 1 reply; 10+ messages in thread
From: Claudinei Camargo @ 2008-02-09 17:35 UTC (permalink / raw)
To: video4linux-list
Dear,
I got the Mauro's tm6000 tree and compiled it against Ubuntu 2.6.22-rt,
but when I load that module this message come up: xc2028 0-0061: Error:
firmware tm6000-xc3028.fw not found. tm6000_xc2028_firmware1.fw and
tm6000_xc2028_firmware2.fw was put into /lib/firmware. the Readme.first
says that get_firmware.pl is broken. where i can got that firmware?
Claudinei
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: PixelView PlayTV 405 DVD Maker
2008-02-09 17:35 ` PixelView PlayTV 405 DVD Maker Claudinei Camargo
@ 2008-02-09 19:13 ` Sid Boyce
0 siblings, 0 replies; 10+ messages in thread
From: Sid Boyce @ 2008-02-09 19:13 UTC (permalink / raw)
To: video4linux-list
Claudinei Camargo wrote:
> Dear,
>
>
> I got the Mauro's tm6000 tree and compiled it against Ubuntu 2.6.22-rt,
> but when I load that module this message come up: xc2028 0-0061: Error:
> firmware tm6000-xc3028.fw not found. tm6000_xc2028_firmware1.fw and
> tm6000_xc2028_firmware2.fw was put into /lib/firmware. the Readme.first
> says that get_firmware.pl is broken. where i can got that firmware?
>
> Claudinei
>
> --
The error says it's looking for a file named tm600-xc3028.fw, may be
just renaming or copying each of the two files to that filename and
seeing if one of them works.
Regards
Sid.
--
Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
Specialist, Cricket Coach
Microsoft Windows Free Zone - Linux used for all Computing Tasks
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2008-02-09 19:13 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-07 18:09 [PATCH] New card entry (saa7134) and FM support for TNF9835 Adrian Pardini
2008-02-07 19:39 ` Mauro Carvalho Chehab
2008-02-07 22:04 ` hermann pitton
2008-02-07 23:28 ` Adrian Pardini
2008-02-08 0:13 ` hermann pitton
2008-02-08 17:37 ` Adrian Pardini
2008-02-08 18:31 ` Mauro Carvalho Chehab
2008-02-08 18:35 ` Adrian Pardini
2008-02-09 17:35 ` PixelView PlayTV 405 DVD Maker Claudinei Camargo
2008-02-09 19:13 ` Sid Boyce
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox