public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [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