Skip to contentSkip to conversation

Compro Videomate T750F Vista digital+analog support

PATCH In review Emard 5 participants 25 messages May 8, 2010 – Jun 3, 2010 5 messages not in the archive Media (V4L/DVB)

lore
Share & tools
lore

Emard

author
#0 lore raw

PATCH 1/1 Compro Videomate T750F Vista digital+analog support

HI

I've been fixing this driver a bit in order to unify dvb-t and loading of xc2028 firmware for analog tv and fm radio without failure when cold booted directly to linux

(some say that xc2028 would load if card is "prepared" by previously boothing window$ but franky I was too bothered to go this far)

So this is my v07 of the patch that even registers IR remote device (I copied the code for compro S350)
but it recognizes remote IR keypresses but all keys are the same - generate the same GPIO value thus having same keycode 0x3f so it's not too useable right now if you want a remote with more than one button.

Can someone knowlegeable of saa7134 remotes review the code and suggest some fix?

drivers/media/video/saa7134/saa7134-cards.c renamed from drivers/media/video/saa7134/saa7134-cards.c.orig +13 -1
@@ -4885,8 +4885,9 @@ struct saa7134_board saa7134_boards[] =
 		.audio_clock    = 0x00187de7,
 		.tuner_type     = TUNER_XC2028,
 		.radio_type     = UNSET,
-		.tuner_addr	= ADDR_UNSET,
+		.tuner_addr	= 0x61,
 		.radio_addr	= ADDR_UNSET,
+		.mpeg           = SAA7134_MPEG_DVB,
 		.inputs = {{
 			.name   = name_tv,
 			.vmux   = 3,
@@ -6550,6 +6551,11 @@ static int saa7134_xc2028_callback(struc
 			msleep(10);
 			saa7134_set_gpio(dev, 18, 1);
 		break;
+		case SAA7134_BOARD_VIDEOMATE_T750:
+			saa7134_set_gpio(dev, 20, 0);
+			msleep(10);
+			saa7134_set_gpio(dev, 20, 1);
+		break;
 		}
 	return 0;
 	}
@@ -6956,6 +6962,11 @@ int saa7134_board_init1(struct saa7134_d
 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		dev->has_remote = SAA7134_REMOTE_GPIO;
+		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
+		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
+		break;
 	}
 	return 0;
 }
@@ -7192,6 +7203,7 @@ int saa7134_board_init2(struct saa7134_d
 	case SAA7134_BOARD_AVERMEDIA_SUPER_007:
 	case SAA7134_BOARD_TWINHAN_DTV_DVB_3056:
 	case SAA7134_BOARD_CREATIX_CTX953:
+	case SAA7134_BOARD_VIDEOMATE_T750:
 	{
 		/* this is a hybrid board, initialize to analog mode
 		 * and configure firmware eeprom address
drivers/media/video/saa7134/saa7134-dvb.c renamed from drivers/media/video/saa7134/saa7134-dvb.c.orig +32 -0
@@ -55,6 +55,7 @@
 #include "tda8290.h"
 
 #include "zl10353.h"
+#include "qt1010.h"
 
 #include "zl10036.h"
 #include "zl10039.h"
@@ -886,6 +887,17 @@ static struct zl10353_config behold_x7_c
 	.disable_i2c_gate_ctrl = 1,
 };
 
+static struct zl10353_config videomate_t750_zl10353_config = {
+       .demod_address  = 0x0f,
+       .no_tuner = 1,
+       .parallel_ts = 1,
+};
+
+static struct qt1010_config videomate_t750_qt1010_config = {
+       .i2c_address = 0x62
+};
+
+
 /* ==================================================================
  * tda10086 based DVB-S cards, helper functions
  */
@@ -1556,6 +1568,26 @@ static int dvb_init(struct saa7134_dev *
 					__func__);
 
 		break;
+        /*FIXME: What frontend does Videomate T750 use? */
+        case SAA7134_BOARD_VIDEOMATE_T750:
+                printk("Compro VideoMate T750 DVB setup\n");
+                fe0->dvb.frontend = dvb_attach(zl10353_attach,
+                                                &videomate_t750_zl10353_config,
+                                                &dev->i2c_adap);
+                if (fe0->dvb.frontend != NULL) {
+                        printk("Attaching pll\n");
+                        // if there is a gate function then the i2c bus breaks.....!
+                        fe0->dvb.frontend->ops.i2c_gate_ctrl = 0;
+ 
+                        if (dvb_attach(qt1010_attach,
+                                       fe0->dvb.frontend,
+                                       &dev->i2c_adap,
+                                       &videomate_t750_qt1010_config) == NULL)
+                        {
+                                wprintk("error attaching QT1010\n");
+                        }
+                }
+                break;
 	case SAA7134_BOARD_ZOLID_HYBRID_PCI:
 		fe0->dvb.frontend = dvb_attach(tda10048_attach,
 					       &zolid_tda10048_config,
drivers/media/video/saa7134/saa7134-input.c renamed from drivers/media/video/saa7134/saa7134-input.c.orig +5 -0
@@ -671,6 +671,11 @@ int saa7134_input_init1(struct saa7134_d
 		mask_keycode = 0x003f00;
 		mask_keydown = 0x040000;
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		ir_codes     = &ir_codes_videomate_s350_table;
+		mask_keycode = 0x003f00;
+		mask_keydown = 0x040000;
+		break;
 	case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
 		ir_codes     = &ir_codes_winfast_table;
 		mask_keycode = 0x5f00;

A message that is not in the archive (sent off-list or not yet received): op.vceiu5q13xmt7q@crni

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): op.vcfoxwnq3xmt7q@crni

A message that is not in the archive (sent off-list or not yet received): 20100509173243.GA8227@z60m

#6 lore raw
Quoted 12 lines · Emard
Quoted 2 lines

Hmm, power on is pure hardware thing on this card I think, it doesn't need a driver.

But it seems it needs a driver. Although pin is connected to MB power switch, the card has to be in certain state (GPIOs programmed, pci standby power enabled e.g.) in order for this to work.

Anyway, I have fixed the remote control issue and supported the whole remote keycode set.

Here's the patch v15

(cc-ing linux-media)

Great! So everything works now?

Still cannot test this code as I've pulled new version of tree (from hg) which doesn't compile on my Slackware 13. In fact new tree compile to only a few kernel versions right now according to Hans Verkuil daily builds.

So you are aware that your diff must be in against current development tree in other to apply? According to recent changes keytables for remotes are presented as separate modules under linux/drivers/media/IR/keymaps:

	http://linuxtv.org/hg/v4l-dvb/file/4a8d6d981f07/linux/drivers/media/IR/keymaps

One other thing is that t750 and t750f are shipped with two different remotes, so it may probably be needed to add code for auto detection between the two or add a modprobe parameter, or even add a separate card entry.

Older mail for reference:

	http://www.mail-archive.com/[email protected]/msg07478.html

In fact remote shipped with t750f is common between all f series I believe, so I think that it could be named rc-videomate-mce.c or rc-videomate-f-series.c.

Quoted 234 lines

---
linux-2.6.33.3/drivers/media/video/saa7134/saa7134-cards.c.orig 2010-05-08 16:13:28.000000000 +0200
+++
linux-2.6.33.3/drivers/media/video/saa7134/saa7134-cards.c 2010-05-09 17:35:29.000000000 +0200

drivers/media/video/saa7134/saa7134-cards.c renamed from drivers/media/video/saa7134/saa7134-cards.c.orig +14 -2
@@ -4881,12 +4881,14 @@ struct saa7134_board saa7134_boards[] =
 	},
 	[SAA7134_BOARD_VIDEOMATE_T750] = {
 		/* John Newbigin <[email protected]> */
+		/* Emard 2010-05-09 <[email protected]> */
 		.name           = "Compro VideoMate T750",
 		.audio_clock    = 0x00187de7,
 		.tuner_type     = TUNER_XC2028,
 		.radio_type     = UNSET,
-		.tuner_addr	= ADDR_UNSET,
+		.tuner_addr	= 0x61,
 		.radio_addr	= ADDR_UNSET,
+		.mpeg           = SAA7134_MPEG_DVB,
 		.inputs = {{
 			.name   = name_tv,
 			.vmux   = 3,
@@ -6550,6 +6552,11 @@ static int saa7134_xc2028_callback(struc
 			msleep(10);
 			saa7134_set_gpio(dev, 18, 1);
 		break;
+		case SAA7134_BOARD_VIDEOMATE_T750:
+			saa7134_set_gpio(dev, 20, 0);
+			msleep(10);
+			saa7134_set_gpio(dev, 20, 1);
+		break;
 		}
 	return 0;
 	}
@@ -6956,6 +6963,11 @@ int saa7134_board_init1(struct saa7134_d
 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		dev->has_remote = SAA7134_REMOTE_GPIO;
+		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00848000, 0x00808000);
+		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00848000, 0x00808000);
+		break;
 	}
 	return 0;
 }
@@ -7132,6 +7144,7 @@ int saa7134_board_init2(struct saa7134_d
 		}
 		/* break intentionally omitted */
 	case SAA7134_BOARD_VIDEOMATE_DVBT_300:
+	case SAA7134_BOARD_VIDEOMATE_T750:
 	case SAA7134_BOARD_ASUS_EUROPA2_HYBRID:
 	case SAA7134_BOARD_ASUS_EUROPA_HYBRID:
 	{
---  

linux-2.6.33.3/drivers/media/video/saa7134/saa7134-dvb.c.orig 2010-05-08 16:20:12.000000000 +0200
+++ linux-2.6.33.3/drivers/media/video/saa7134/saa7134-dvb.c 2010-05-09
15:33:30.000000000 +0200

drivers/media/video/saa7134/saa7134-dvb.c renamed from drivers/media/video/saa7134/saa7134-dvb.c.orig +19 -0
@@ -55,6 +55,7 @@
 #include "tda8290.h"
 #include "zl10353.h"
+#include "qt1010.h"
 #include "zl10036.h"
 #include "zl10039.h"
@@ -886,6 +887,17 @@ static struct zl10353_config behold_x7_c
 	.disable_i2c_gate_ctrl = 1,
 };
+static struct zl10353_config videomate_t750_zl10353_config = {
+       .demod_address  = 0x0f,
+       .no_tuner = 1,
+       .parallel_ts = 1,
+};
+
+static struct qt1010_config videomate_t750_qt1010_config = {
+       .i2c_address = 0x62
+};
+
+
 /* ==================================================================
  * tda10086 based DVB-S cards, helper functions
  */
@@ -1556,6 +1568,24 @@ static int dvb_init(struct saa7134_dev *
 					__func__);
 		break;
+        case SAA7134_BOARD_VIDEOMATE_T750:
+                printk("Compro VideoMate T750 DVB setup\n");
+                fe0->dvb.frontend = dvb_attach(zl10353_attach,
+                                                 
 &videomate_t750_zl10353_config,
+                                                &dev->i2c_adap);
+                if (fe0->dvb.frontend != NULL) {
+                        // if there is a gate function then the i2c bus  

breaks.....!

drivers/media/video/saa7134/saa7134-dvb.c renamed from drivers/media/video/saa7134/saa7134-dvb.c.orig +6 -0
+                        fe0->dvb.frontend->ops.i2c_gate_ctrl = 0;
+
+                        if (dvb_attach(qt1010_attach,
+                                       fe0->dvb.frontend,
+                                       &dev->i2c_adap,
+                                       &videomate_t750_qt1010_config)  

== NULL)

drivers/media/video/saa7134/saa7134-dvb.c renamed from drivers/media/video/saa7134/saa7134-dvb.c.orig +5 -1
+                        {
+                                wprintk("error attaching QT1010\n");
+                        }
+                }
+                break;
 	case SAA7134_BOARD_ZOLID_HYBRID_PCI:
 		fe0->dvb.frontend = dvb_attach(tda10048_attach,
 					       &zolid_tda10048_config,
---  

linux-2.6.33.3/drivers/media/video/saa7134/saa7134-input.c.orig 2010-05-08 16:52:20.000000000 +0200
+++
linux-2.6.33.3/drivers/media/video/saa7134/saa7134-input.c 2010-05-09 17:32:25.000000000 +0200

drivers/media/video/saa7134/saa7134-input.c renamed from drivers/media/video/saa7134/saa7134-input.c.orig +5 -1
@@ -671,6 +671,11 @@ int saa7134_input_init1(struct saa7134_d
 		mask_keycode = 0x003f00;
 		mask_keydown = 0x040000;
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		ir_codes     = &ir_codes_videomate_t750_table;
+		mask_keycode = 0x003f00;
+		mask_keyup   = 0x040000;
+		break;
 	case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
 		ir_codes     = &ir_codes_winfast_table;
 		mask_keycode = 0x5f00;
--- linux-2.6.33.3/drivers/media/IR/ir-keymaps.c.orig	2010-05-08  

17:03:35.000000000 +0200
+++ linux-2.6.33.3/drivers/media/IR/ir-keymaps.c 2010-05-09
18:23:54.000000000 +0200

(quoted diff) +90 -1
@@ -3197,6 +3197,96 @@ struct ir_scancode_table ir_codes_videom
 };
 EXPORT_SYMBOL_GPL(ir_codes_videomate_s350_table);
+/*
+Compro videomate vista T750F remote
+-----------------------------------
+Emard 2010-05-09 <[email protected]>
+                                            POWER
+VIDEO           RADIO       AUDIO          CAMERA
+PVR             EPG         TV      DVD  SUBTITLE
+
+                      UP
+                 LEFT OK RIGHT
+                     DOWN
+
+BACKSPACE            MENU                    INFO
+
+VOLUMEUP                                CHANNELUP
+                     MUTE
+VOLUMEDOWN                            CHANNELDOWN
+
+RECORD                                       STOP
+REWIND               PLAY             FASTFORWARD
+PREVIOUSSONG       PLAYPAUSE             NEXTSONG
+
+NUMERIC_1          NUMERIC_2         NUMERIC_3
+NUMERIC_4          NUMERIC_5         NUMERIC_6
+NUMERIC_7          NUMERIC_8         NUMERIC_9
+NUMERIC_STAR       NUMEIRC_0         NUMERIC_POUND
+
+CLEAR                ZOOM                 ENTER
+
+RED      GREEN      YELLOW     BLUE        TEXT
+*/
+static struct ir_scancode ir_codes_videomate_t750[] = {
+	{ 0x01, KEY_POWER},
+	{ 0x31, KEY_VIDEO},
+	{ 0x33, KEY_RADIO},
+	{ 0x2f, KEY_AUDIO},
+	{ 0x30, KEY_CAMERA}, /* pictures */
+	{ 0x2d, KEY_PVR},    /* Recordings */
+	{   23, KEY_EPG},
+	{   44, KEY_TV},
+	{   43, KEY_DVD},
+	{ 0x32, KEY_SUBTITLE},
+	{   17, KEY_UP},
+	{   19, KEY_LEFT},
+	{   21, KEY_OK},
+	{   20, KEY_RIGHT},
+	{   18, KEY_DOWN},
+	{   22, KEY_BACKSPACE},
+	{ 0x02, KEY_MENU},
+	{ 0x04, KEY_INFO},
+	{ 0x05, KEY_VOLUMEUP},
+	{ 0x06, KEY_VOLUMEDOWN},
+	{ 0x03, KEY_MUTE},
+	{ 0x07, KEY_CHANNELUP},
+	{ 0x08, KEY_CHANNELDOWN},
+	{ 0x0c, KEY_RECORD},
+	{ 0x0e, KEY_STOP},
+	{ 0x0a, KEY_REWIND},
+	{ 0x0b, KEY_PLAY},
+	{ 0x09, KEY_FASTFORWARD},
+	{ 0x10, KEY_PREVIOUSSONG},
+	{ 0x0d, KEY_PLAYPAUSE},
+	{ 0x0f, KEY_NEXTSONG},
+	{   30, KEY_NUMERIC_1},
+	{ 0x1f, KEY_NUMERIC_2},
+	{ 0x20, KEY_NUMERIC_3},
+	{ 0x21, KEY_NUMERIC_4},
+	{ 0x22, KEY_NUMERIC_5},
+	{ 0x23, KEY_NUMERIC_6},
+	{ 0x24, KEY_NUMERIC_7},
+	{ 0x25, KEY_NUMERIC_8},
+	{ 0x26, KEY_NUMERIC_9},
+	{ 0x2a, KEY_NUMERIC_STAR},
+	{   29, KEY_NUMERIC_0},
+	{   41, KEY_NUMERIC_POUND},
+	{   39, KEY_CLEAR},
+	{ 0x34, KEY_ZOOM},
+	{ 0x28, KEY_ENTER},
+	{   25, KEY_RED},
+	{   26, KEY_GREEN},
+	{   27, KEY_YELLOW},
+	{   28, KEY_BLUE},
+	{   24, KEY_TEXT},
+};
+struct ir_scancode_table ir_codes_videomate_t750_table = {
+	.scan = ir_codes_videomate_t750,
+	.size = ARRAY_SIZE(ir_codes_videomate_t750),
+};
+EXPORT_SYMBOL_GPL(ir_codes_videomate_t750_table);
+
 /* GADMEI UTV330+ RM008Z remote
    Shine Liu <[email protected]>
  */
--- linux-2.6.33.3/include/media/ir-common.h.orig	2010-04-26  

16:48:30.000000000 +0200
+++ linux-2.6.33.3/include/media/ir-common.h 2010-05-09
17:30:24.000000000 +0200

(quoted diff) +1 -0
@@ -160,6 +160,7 @@ extern struct ir_scancode_table ir_codes
 extern struct ir_scancode_table ir_codes_evga_indtube_table;
 extern struct ir_scancode_table ir_codes_terratec_cinergy_xs_table;
 extern struct ir_scancode_table ir_codes_videomate_s350_table;
+extern struct ir_scancode_table ir_codes_videomate_t750_table;
 extern struct ir_scancode_table ir_codes_gadmei_rm008z_table;
 extern struct ir_scancode_table ir_codes_nec_terratec_cinergy_xs_table;
 #endif
Signature · 1 line
Lorem ipsum
author
#7 lore raw

Yes, almost everything:
DVB-T, Analog TV, FM Radio, IR Remote control.

I haven't tested too much analog TV (it seems to work, receivers some snowy channels but I don't have good antenna). Also didn't test video inputs at all.

Not supported is onboard RTC timer that can wake up the computer.

Here's a cleaned up patch
-------------------------

drivers/media/video/saa7134/saa7134-cards.c renamed from drivers/media/video/saa7134/saa7134-cards.c.orig +13 -1
@@ -4881,12 +4881,14 @@ struct saa7134_board saa7134_boards[] =
 	},
 	[SAA7134_BOARD_VIDEOMATE_T750] = {
 		/* John Newbigin <[email protected]> */
+		/* Emard 2010-05-09 v16 <[email protected]> */
 		.name           = "Compro VideoMate T750",
 		.audio_clock    = 0x00187de7,
 		.tuner_type     = TUNER_XC2028,
 		.radio_type     = UNSET,
-		.tuner_addr	= ADDR_UNSET,
+		.tuner_addr	= 0x61,
 		.radio_addr	= ADDR_UNSET,
+		.mpeg           = SAA7134_MPEG_DVB,
 		.inputs = {{
 			.name   = name_tv,
 			.vmux   = 3,
@@ -6550,6 +6552,11 @@ static int saa7134_xc2028_callback(struc
 			msleep(10);
 			saa7134_set_gpio(dev, 18, 1);
 		break;
+		case SAA7134_BOARD_VIDEOMATE_T750:
+			saa7134_set_gpio(dev, 20, 0);
+			msleep(10);
+			saa7134_set_gpio(dev, 20, 1);
+		break;
 		}
 	return 0;
 	}
@@ -6955,6 +6962,11 @@ int saa7134_board_init1(struct saa7134_d
 		dev->has_remote = SAA7134_REMOTE_GPIO;
 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
+		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		dev->has_remote = SAA7134_REMOTE_GPIO;
+		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
+		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
 		break;
 	}
 	return 0;
drivers/media/video/saa7134/saa7134-dvb.c renamed from drivers/media/video/saa7134/saa7134-dvb.c.orig +30 -0
@@ -55,6 +55,7 @@
 #include "tda8290.h"
 
 #include "zl10353.h"
+#include "qt1010.h"
 
 #include "zl10036.h"
 #include "zl10039.h"
@@ -886,6 +887,17 @@ static struct zl10353_config behold_x7_c
 	.disable_i2c_gate_ctrl = 1,
 };
 
+static struct zl10353_config videomate_t750_zl10353_config = {
+       .demod_address  = 0x0f,
+       .no_tuner = 1,
+       .parallel_ts = 1,
+};
+
+static struct qt1010_config videomate_t750_qt1010_config = {
+       .i2c_address = 0x62
+};
+
+
 /* ==================================================================
  * tda10086 based DVB-S cards, helper functions
  */
@@ -1556,6 +1568,24 @@ static int dvb_init(struct saa7134_dev *
 					__func__);
 
 		break;
+        case SAA7134_BOARD_VIDEOMATE_T750:
+                printk("Compro VideoMate T750 DVB setup\n");
+                fe0->dvb.frontend = dvb_attach(zl10353_attach,
+                                                &videomate_t750_zl10353_config,
+                                                &dev->i2c_adap);
+                if (fe0->dvb.frontend != NULL) {
+                        // if there is a gate function then the i2c bus breaks.....!
+                        fe0->dvb.frontend->ops.i2c_gate_ctrl = 0;
+ 
+                        if (dvb_attach(qt1010_attach,
+                                       fe0->dvb.frontend,
+                                       &dev->i2c_adap,
+                                       &videomate_t750_qt1010_config) == NULL)
+                        {
+                                wprintk("error attaching QT1010\n");
+                        }
+                }
+                break;
 	case SAA7134_BOARD_ZOLID_HYBRID_PCI:
 		fe0->dvb.frontend = dvb_attach(tda10048_attach,
 					       &zolid_tda10048_config,
drivers/media/video/saa7134/saa7134-input.c renamed from drivers/media/video/saa7134/saa7134-input.c.orig +5 -0
@@ -671,6 +671,11 @@ int saa7134_input_init1(struct saa7134_d
 		mask_keycode = 0x003f00;
 		mask_keydown = 0x040000;
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		ir_codes     = &ir_codes_videomate_t750_table;
+		mask_keycode = 0x003f00;
+		mask_keyup   = 0x040000;
+		break;
 	case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
 		ir_codes     = &ir_codes_winfast_table;
 		mask_keycode = 0x5f00;
drivers/media/IR/ir-keymaps.c renamed from drivers/media/IR/ir-keymaps.c.orig +90 -0

96 lines not on this page · raw message

include/media/ir-common.h renamed from include/media/ir-common.h.orig +1 -0
@@ -160,6 +160,7 @@ extern struct ir_scancode_table ir_codes
 extern struct ir_scancode_table ir_codes_evga_indtube_table;
 extern struct ir_scancode_table ir_codes_terratec_cinergy_xs_table;
 extern struct ir_scancode_table ir_codes_videomate_s350_table;
+extern struct ir_scancode_table ir_codes_videomate_t750_table;
 extern struct ir_scancode_table ir_codes_gadmei_rm008z_table;
 extern struct ir_scancode_table ir_codes_nec_terratec_cinergy_xs_table;
 #endif
#8 lore raw

Em Sun, 9 May 2010 20:48:22 +0200
Emard <[email protected]> escreveu:

Quoted 201 lines

Yes, almost everything:
DVB-T, Analog TV, FM Radio, IR Remote control.

I haven't tested too much analog TV (it seems to work, receivers some snowy channels but I don't have good antenna). Also didn't test video inputs at all.

Not supported is onboard RTC timer that can wake up the computer.

Here's a cleaned up patch
-------------------------

drivers/media/video/saa7134/saa7134-cards.c renamed from drivers/media/video/saa7134/saa7134-cards.c.orig +13 -1
@@ -4881,12 +4881,14 @@ struct saa7134_board saa7134_boards[] =
 	},
 	[SAA7134_BOARD_VIDEOMATE_T750] = {
 		/* John Newbigin <[email protected]> */
+		/* Emard 2010-05-09 v16 <[email protected]> */
 		.name           = "Compro VideoMate T750",
 		.audio_clock    = 0x00187de7,
 		.tuner_type     = TUNER_XC2028,
 		.radio_type     = UNSET,
-		.tuner_addr	= ADDR_UNSET,
+		.tuner_addr	= 0x61,
 		.radio_addr	= ADDR_UNSET,
+		.mpeg           = SAA7134_MPEG_DVB,
 		.inputs = {{
 			.name   = name_tv,
 			.vmux   = 3,
@@ -6550,6 +6552,11 @@ static int saa7134_xc2028_callback(struc
 			msleep(10);
 			saa7134_set_gpio(dev, 18, 1);
 		break;
+		case SAA7134_BOARD_VIDEOMATE_T750:
+			saa7134_set_gpio(dev, 20, 0);
+			msleep(10);
+			saa7134_set_gpio(dev, 20, 1);
+		break;
 		}
 	return 0;
 	}
@@ -6955,6 +6962,11 @@ int saa7134_board_init1(struct saa7134_d
 		dev->has_remote = SAA7134_REMOTE_GPIO;
 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
+		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		dev->has_remote = SAA7134_REMOTE_GPIO;
+		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
+		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
 		break;
 	}
 	return 0;
drivers/media/video/saa7134/saa7134-dvb.c renamed from drivers/media/video/saa7134/saa7134-dvb.c.orig +30 -0
@@ -55,6 +55,7 @@
 #include "tda8290.h"
 
 #include "zl10353.h"
+#include "qt1010.h"
 
 #include "zl10036.h"
 #include "zl10039.h"
@@ -886,6 +887,17 @@ static struct zl10353_config behold_x7_c
 	.disable_i2c_gate_ctrl = 1,
 };
 
+static struct zl10353_config videomate_t750_zl10353_config = {
+       .demod_address  = 0x0f,
+       .no_tuner = 1,
+       .parallel_ts = 1,
+};
+
+static struct qt1010_config videomate_t750_qt1010_config = {
+       .i2c_address = 0x62
+};
+
+
 /* ==================================================================
  * tda10086 based DVB-S cards, helper functions
  */
@@ -1556,6 +1568,24 @@ static int dvb_init(struct saa7134_dev *
 					__func__);
 
 		break;
+        case SAA7134_BOARD_VIDEOMATE_T750:
+                printk("Compro VideoMate T750 DVB setup\n");
+                fe0->dvb.frontend = dvb_attach(zl10353_attach,
+                                                &videomate_t750_zl10353_config,
+                                                &dev->i2c_adap);
+                if (fe0->dvb.frontend != NULL) {
+                        // if there is a gate function then the i2c bus breaks.....!
+                        fe0->dvb.frontend->ops.i2c_gate_ctrl = 0;
+ 
+                        if (dvb_attach(qt1010_attach,
+                                       fe0->dvb.frontend,
+                                       &dev->i2c_adap,
+                                       &videomate_t750_qt1010_config) == NULL)
+                        {
+                                wprintk("error attaching QT1010\n");
+                        }
+                }
+                break;
 	case SAA7134_BOARD_ZOLID_HYBRID_PCI:
 		fe0->dvb.frontend = dvb_attach(tda10048_attach,
 					       &zolid_tda10048_config,
drivers/media/video/saa7134/saa7134-input.c renamed from drivers/media/video/saa7134/saa7134-input.c.orig +5 -0
@@ -671,6 +671,11 @@ int saa7134_input_init1(struct saa7134_d
 		mask_keycode = 0x003f00;
 		mask_keydown = 0x040000;
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		ir_codes     = &ir_codes_videomate_t750_table;
+		mask_keycode = 0x003f00;
+		mask_keyup   = 0x040000;
+		break;
 	case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
 		ir_codes     = &ir_codes_winfast_table;
 		mask_keycode = 0x5f00;
drivers/media/IR/ir-keymaps.c renamed from drivers/media/IR/ir-keymaps.c.orig +73 -0
@@ -3197,6 +3197,96 @@ struct ir_scancode_table ir_codes_videom
 };
 EXPORT_SYMBOL_GPL(ir_codes_videomate_s350_table);
 
+/*
+Compro videomate vista T750F remote
+-----------------------------------
+Emard 2010-05-09 <[email protected]>
+                                            POWER
+VIDEO           RADIO       AUDIO          CAMERA 
+PVR             EPG         TV      DVD  SUBTITLE
+
+                      UP
+                 LEFT OK RIGHT
+                     DOWN
+
+BACKSPACE            MENU                    INFO
+
+VOLUMEUP                                CHANNELUP
+                     MUTE
+VOLUMEDOWN                            CHANNELDOWN
+
+RECORD                                       STOP
+REWIND               PLAY             FASTFORWARD
+PREVIOUSSONG       PLAYPAUSE             NEXTSONG
+
+NUMERIC_1          NUMERIC_2         NUMERIC_3
+NUMERIC_4          NUMERIC_5         NUMERIC_6
+NUMERIC_7          NUMERIC_8         NUMERIC_9
+NUMERIC_STAR       NUMERIC_0         NUMERIC_POUND
+
+CLEAR                ZOOM                 ENTER
+
+RED      GREEN      YELLOW     BLUE        TEXT
+*/
+static struct ir_scancode ir_codes_videomate_t750[] = {
+	{ 0x01, KEY_POWER},
+	{ 0x31, KEY_VIDEO},
+	{ 0x33, KEY_RADIO},
+	{ 0x2f, KEY_AUDIO},
+	{ 0x30, KEY_CAMERA}, /* pictures */
+	{ 0x2d, KEY_PVR},    /* Recordings */
+	{   23, KEY_EPG},
+	{   44, KEY_TV},
+	{   43, KEY_DVD},
+	{ 0x32, KEY_SUBTITLE},
+	{   17, KEY_UP},
+	{   19, KEY_LEFT},
+	{   21, KEY_OK},
+	{   20, KEY_RIGHT},
+	{   18, KEY_DOWN},
+	{   22, KEY_BACKSPACE},
+	{ 0x02, KEY_MENU},
+	{ 0x04, KEY_INFO},
+	{ 0x05, KEY_VOLUMEUP},
+	{ 0x06, KEY_VOLUMEDOWN},
+	{ 0x03, KEY_MUTE},
+	{ 0x07, KEY_CHANNELUP},
+	{ 0x08, KEY_CHANNELDOWN},
+	{ 0x0c, KEY_RECORD},
+	{ 0x0e, KEY_STOP},
+	{ 0x0a, KEY_REWIND},
+	{ 0x0b, KEY_PLAY},
+	{ 0x09, KEY_FASTFORWARD},
+	{ 0x10, KEY_PREVIOUSSONG},
+	{ 0x0d, KEY_PLAYPAUSE},
+	{ 0x0f, KEY_NEXTSONG},
+	{   30, KEY_NUMERIC_1},
+	{ 0x1f, KEY_NUMERIC_2},
+	{ 0x20, KEY_NUMERIC_3},
+	{ 0x21, KEY_NUMERIC_4},
+	{ 0x22, KEY_NUMERIC_5},
+	{ 0x23, KEY_NUMERIC_6},
+	{ 0x24, KEY_NUMERIC_7},
+	{ 0x25, KEY_NUMERIC_8},
+	{ 0x26, KEY_NUMERIC_9},
+	{ 0x2a, KEY_NUMERIC_STAR},

drivers/media/IR/ir-keymaps.c struct ir_scancode_table ir_codes_videom · line 3282

Quoted 10 lines
drivers/media/IR/ir-keymaps.c renamed from drivers/media/IR/ir-keymaps.c.orig +10 -0
+	{   29, KEY_NUMERIC_0},
+	{   41, KEY_NUMERIC_POUND},
+	{   39, KEY_CLEAR},
+	{ 0x34, KEY_ZOOM},
+	{ 0x28, KEY_ENTER},
+	{   25, KEY_RED},
+	{   26, KEY_GREEN},
+	{   27, KEY_YELLOW},
+	{   28, KEY_BLUE},
+	{   24, KEY_TEXT},

The IR code suffered a major change during this development cycle. So, this patch doesn't apply anymore.

Quoted 23 lines
drivers/media/IR/ir-keymaps.c renamed from drivers/media/IR/ir-keymaps.c.orig +7 -0
+};
+struct ir_scancode_table ir_codes_videomate_t750_table = {
+	.scan = ir_codes_videomate_t750,
+	.size = ARRAY_SIZE(ir_codes_videomate_t750),
+};
+EXPORT_SYMBOL_GPL(ir_codes_videomate_t750_table);
+
 /* GADMEI UTV330+ RM008Z remote
    Shine Liu <[email protected]>
  */
include/media/ir-common.h renamed from include/media/ir-common.h.orig +1 -1
@@ -160,6 +160,7 @@ extern struct ir_scancode_table ir_codes
 extern struct ir_scancode_table ir_codes_evga_indtube_table;
 extern struct ir_scancode_table ir_codes_terratec_cinergy_xs_table;
 extern struct ir_scancode_table ir_codes_videomate_s350_table;
+extern struct ir_scancode_table ir_codes_videomate_t750_table;
 extern struct ir_scancode_table ir_codes_gadmei_rm008z_table;
 extern struct ir_scancode_table ir_codes_nec_terratec_cinergy_xs_table;
 #endif
 
 
--
Quoted 3 lines

To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Cheers,
Mauro

#9 lore raw
Quoted 2 lines

The IR code suffered a major change during this development cycle. So, this patch doesn't apply anymore.

OK, let's delay IR part for a while I'd like to try the new IR code, mainly because of keystroke loss issue if the new code perhaps works better.

In this patch is just my suggestion of remote key events to generate, (this a MCE alike remote) as you can see I avoided normal key events from ordinary keyboard (numeric 0-9) because now in the kernel are more suitable events for this for the OS to immediately recognize related keypress "1" and start the related application (e.g. TV viewer)

Emard

author
#10 lore raw
In reply to Samuel Rakitničan

HI

This is even more cleanup from spaces into tabs and replacing KEY_BACKSPACE with KEY_BACK which I think is more appropriate for this remote.

compro t750f patch v17

About the remote - I noticed 2-10% of the keypresses are not recognized, seems like it either looses packets or saa7134 gpio should be scanned faster/better/more_reliable? I think this may be the issue with other 7134 based remotes too

Best Regards, Emard

drivers/media/video/saa7134/saa7134-cards.c renamed from drivers/media/video/saa7134/saa7134-cards.c.orig +13 -1
@@ -4881,12 +4881,14 @@ struct saa7134_board saa7134_boards[] =
 	},
 	[SAA7134_BOARD_VIDEOMATE_T750] = {
 		/* John Newbigin <[email protected]> */
+		/* Emard 2010-05-10 v17 <[email protected]> */
 		.name           = "Compro VideoMate T750",
 		.audio_clock    = 0x00187de7,
 		.tuner_type     = TUNER_XC2028,
 		.radio_type     = UNSET,
-		.tuner_addr	= ADDR_UNSET,
+		.tuner_addr	= 0x61,
 		.radio_addr	= ADDR_UNSET,
+		.mpeg           = SAA7134_MPEG_DVB,
 		.inputs = {{
 			.name   = name_tv,
 			.vmux   = 3,
@@ -6550,6 +6552,11 @@ static int saa7134_xc2028_callback(struc
 			msleep(10);
 			saa7134_set_gpio(dev, 18, 1);
 		break;
+		case SAA7134_BOARD_VIDEOMATE_T750:
+			saa7134_set_gpio(dev, 20, 0);
+			msleep(10);
+			saa7134_set_gpio(dev, 20, 1);
+		break;
 		}
 	return 0;
 	}
@@ -6955,6 +6962,11 @@ int saa7134_board_init1(struct saa7134_d
 		dev->has_remote = SAA7134_REMOTE_GPIO;
 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
+		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		dev->has_remote = SAA7134_REMOTE_GPIO;
+		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
+		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
 		break;
 	}
 	return 0;
drivers/media/video/saa7134/saa7134-dvb.c renamed from drivers/media/video/saa7134/saa7134-dvb.c.orig +27 -0
@@ -55,6 +55,7 @@
 #include "tda8290.h"
 
 #include "zl10353.h"
+#include "qt1010.h"
 
 #include "zl10036.h"
 #include "zl10039.h"
@@ -886,6 +887,17 @@ static struct zl10353_config behold_x7_c
 	.disable_i2c_gate_ctrl = 1,
 };
 
+static struct zl10353_config videomate_t750_zl10353_config = {
+	.demod_address  = 0x0f,
+	.no_tuner = 1,
+	.parallel_ts = 1,
+};
+
+static struct qt1010_config videomate_t750_qt1010_config = {
+	.i2c_address = 0x62
+};
+
+
 /* ==================================================================
  * tda10086 based DVB-S cards, helper functions
  */
@@ -1556,6 +1568,21 @@ static int dvb_init(struct saa7134_dev *
 					__func__);
 
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		printk("Compro VideoMate T750 DVB setup\n");
+		fe0->dvb.frontend = dvb_attach(zl10353_attach,
+						&videomate_t750_zl10353_config,
+						&dev->i2c_adap);
+		if (fe0->dvb.frontend != NULL) {
+			// if there is a gate function then the i2c bus breaks.....!
+			fe0->dvb.frontend->ops.i2c_gate_ctrl = 0;
+			if (dvb_attach(qt1010_attach,
+					fe0->dvb.frontend,
+					&dev->i2c_adap,
+					&videomate_t750_qt1010_config) == NULL)
+				wprintk("error attaching QT1010\n");
+		}
+		break;
 	case SAA7134_BOARD_ZOLID_HYBRID_PCI:
 		fe0->dvb.frontend = dvb_attach(tda10048_attach,
 					       &zolid_tda10048_config,
drivers/media/video/saa7134/saa7134-input.c renamed from drivers/media/video/saa7134/saa7134-input.c.orig +5 -0
@@ -671,6 +671,11 @@ int saa7134_input_init1(struct saa7134_d
 		mask_keycode = 0x003f00;
 		mask_keydown = 0x040000;
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		ir_codes     = &ir_codes_videomate_t750_table;
+		mask_keycode = 0x003f00;
+		mask_keyup   = 0x040000;
+		break;
 	case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
 		ir_codes     = &ir_codes_winfast_table;
 		mask_keycode = 0x5f00;
drivers/media/IR/ir-keymaps.c renamed from drivers/media/IR/ir-keymaps.c.orig +90 -0

96 lines not on this page · raw message

include/media/ir-common.h renamed from include/media/ir-common.h.orig +1 -0
@@ -160,6 +160,7 @@ extern struct ir_scancode_table ir_codes
 extern struct ir_scancode_table ir_codes_evga_indtube_table;
 extern struct ir_scancode_table ir_codes_terratec_cinergy_xs_table;
 extern struct ir_scancode_table ir_codes_videomate_s350_table;
+extern struct ir_scancode_table ir_codes_videomate_t750_table;
 extern struct ir_scancode_table ir_codes_gadmei_rm008z_table;
 extern struct ir_scancode_table ir_codes_nec_terratec_cinergy_xs_table;
 #endif
#11 lore raw
Quoted 8 lines · Emard

HI

This is even more cleanup from spaces into tabs and replacing KEY_BACKSPACE with KEY_BACK which I think is more appropriate for this remote.

compro t750f patch v17

Quoted 8 lines

About the remote - I noticed 2-10% of the keypresses are not recognized, seems like it either looses packets or saa7134 gpio should be scanned faster/better/more_reliable? I think this may be the issue with other 7134 based remotes too

Best Regards, Emard

Hi Davor,

Unfortunately it doesn't work for me. It can't load firmware like before, I've attached patch against recent hg tree I applied manually (without IR code part) and dmesg output.

In tvtime it shows black screen in PAL mode, if switch to SECAM, it's still black screen but with some random flickering occurring represented by horizontal red/green lines. No white/black dots noise present.

Thanks,
Samuel

#12 lore raw

Sorry, here's the attachments.

Quoted 28 lines · semiRocket
Quoted 8 lines · Emard

HI

This is even more cleanup from spaces into tabs and replacing KEY_BACKSPACE with KEY_BACK which I think is more appropriate for this remote.

compro t750f patch v17

Quoted 8 lines

About the remote - I noticed 2-10% of the keypresses are not recognized, seems like it either looses packets or saa7134 gpio should be scanned faster/better/more_reliable? I think this may be the issue with other 7134 based remotes too

Best Regards, Emard

Hi Davor,

Unfortunately it doesn't work for me. It can't load firmware like before, I've attached patch against recent hg tree I applied manually (without IR code part) and dmesg output.

In tvtime it shows black screen in PAL mode, if switch to SECAM, it's still black screen but with some random flickering occurring represented by horizontal red/green lines. No white/black dots noise present.

Thanks,
Samuel

Signature · 1 line
Lorem ipsum
linux/drivers/media/video/saa7134/saa7134-cards.c +18 -3
diff -r 16ade09022d9 linux/drivers/media/video/saa7134/saa7134-cards.c
@@ -4920,12 +4920,14 @@
 	},
 	[SAA7134_BOARD_VIDEOMATE_T750] = {
 		/* John Newbigin <[email protected]> */
+		/* Emard 2010-05-09 v17 <davoremard@xxxxxxxxx> */
 		.name           = "Compro VideoMate T750",
 		.audio_clock    = 0x00187de7,
 		.tuner_type     = TUNER_XC2028,
 		.radio_type     = UNSET,
-		.tuner_addr	= ADDR_UNSET,
-		.radio_addr	= ADDR_UNSET,
+		.tuner_addr	= 0x61,
+		.radio_addr	= ADDR_UNSET,
+		.mpeg           = SAA7134_MPEG_DVB,
 		.inputs = {{
 			.name   = name_tv,
 			.vmux   = 3,
@@ -6752,6 +6754,11 @@
 			msleep(10);
 			saa7134_set_gpio(dev, 18, 1);
 		break;
+		case SAA7134_BOARD_VIDEOMATE_T750:
+			saa7134_set_gpio(dev, 20, 0);
+			msleep(10);
+			saa7134_set_gpio(dev, 20, 1);
+		break;
 		}
 	return 0;
 	}
@@ -7171,7 +7178,14 @@
 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x0000C000, 0x0000C000);
 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0000C000, 0x0000C000);
 		break;
-	}
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		dev->has_remote = SAA7134_REMOTE_GPIO;
+		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
+		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
+		break;
+
+	}
+
 	return 0;
 }
 
@@ -7412,6 +7426,7 @@
 	case SAA7134_BOARD_AVERMEDIA_SUPER_007:
 	case SAA7134_BOARD_TWINHAN_DTV_DVB_3056:
 	case SAA7134_BOARD_CREATIX_CTX953:
+	case SAA7134_BOARD_VIDEOMATE_T750:
 	{
 		/* this is a hybrid board, initialize to analog mode
 		 * and configure firmware eeprom address
linux/drivers/media/video/saa7134/saa7134-dvb.c +28 -0
diff -r 16ade09022d9 linux/drivers/media/video/saa7134/saa7134-dvb.c
@@ -55,6 +55,7 @@
 #include "tda8290.h"
 
 #include "zl10353.h"
+#include "qt1010.h"
 
 #include "zl10036.h"
 #include "zl10039.h"
@@ -886,6 +887,17 @@
 	.disable_i2c_gate_ctrl = 1,
 };
 
+static struct zl10353_config videomate_t750_zl10353_config = {
+	.demod_address  = 0x0f,
+	.no_tuner = 1,
+	.parallel_ts = 1,
+};
+
+static struct qt1010_config videomate_t750_qt1010_config = {
+	.i2c_address = 0x62
+};
+
+
 /* ==================================================================
  * tda10086 based DVB-S cards, helper functions
  */
@@ -1595,6 +1607,22 @@
 				   &dtv1000s_tda18271_config);
 		}
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		printk("Compro VideoMate T750 DVB setup\n");
+		fe0->dvb.frontend = dvb_attach(zl10353_attach,
+						&videomate_t750_zl10353_config,
+						&dev->i2c_adap);
+		if (fe0->dvb.frontend != NULL) {
+			// if there is a gate function then the i2c bus breaks.....!
+			fe0->dvb.frontend->ops.i2c_gate_ctrl = 0;
+			if (dvb_attach(qt1010_attach,
+					fe0->dvb.frontend,
+					&dev->i2c_adap,
+					&videomate_t750_qt1010_config) == NULL)
+				wprintk("error attaching QT1010\n");
+		}
+		break;
+
 	default:
 		wprintk("Huh? unknown DVB card?\n");
 		break;
#13 lore raw
In reply to semiRocket
Quoted 22 lines · semiRocket
Quoted 8 lines · Emard

HI

This is even more cleanup from spaces into tabs and replacing KEY_BACKSPACE with KEY_BACK which I think is more appropriate for this remote.

compro t750f patch v17

Quoted 8 lines

About the remote - I noticed 2-10% of the keypresses are not recognized, seems like it either looses packets or saa7134 gpio should be scanned faster/better/more_reliable? I think this may be the issue with other 7134 based remotes too

Best Regards, Emard

Hi Davor,

Quoted 6 lines

Unfortunately it doesn't work for me. It can't load firmware like before, I've attached patch against recent hg tree I applied manually (without IR code part) and dmesg output.

In tvtime it shows black screen in PAL mode, if switch to SECAM, it's still black screen but with some random flickering occurring represented by horizontal red/green lines. No white/black dots noise present.

Thanks,
Samuel

The good news is that it managed to load firmware after beign prepared by windows driver previously, but somehow unstable e.g. sometimes I can restart tvtime 3 times before stops working, sometimes it load firmware on modprobe but fails when I run tvtime.

Other than that analog seems to work fine when firmware successfully load. I didn't managed to get the sound though, previosly with the command like

	sox -c 2 -s -r 32000 -t ossdsp /dev/dsp1 -t ossdsp -r 32000 /dev/dsp &

now doesn't work, I'm not sure yet if it's the driver problem.

I didn't test dvb at all (don't have good signal).

Best regards,
Samuel

#14 lore raw

HI

This code is responsible to prepare the card to load the firmware I have no true clue what it actually does, possible it is a reset sequence for onboard tuner chips or just a matter of enabling some power to them.

I have googled for compro 750 related discussions and seen various posts so I narrowed to this. Feel free to either comment out the code or try slightly different values to see if they leat to more reliable loading of the firmware at your hardware

+ case SAA7134_BOARD_VIDEOMATE_T750:

+                       saa7134_set_gpio(dev, 20, 0);
+                       msleep(10);
+                       saa7134_set_gpio(dev, 20, 1);

+ break;

+ case SAA7134_BOARD_VIDEOMATE_T750:

+               dev->has_remote = SAA7134_REMOTE_GPIO;
+               saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
+               saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
+               break;

some similar cards use instead of 0x00008000 use 0x0000C000 also it's possible to try other values if they can help on your hardware (I tried a lots of them, some work, some don't but with not obvious improvement for my card so I left the minimum that works)

Emard

#15 lore raw
In reply to Samuel Rakitničan

Another idea:

compare syslog line

May 27 14:33:42 emard kernel: saa7133[0]: board init: gpio is 84bf00

when trying to load firmware without preparing with windows and after windows - see if there's a difference between bits of the hex value (0x84bf00 in my case)

that's a probable clue to modify this 0x0008000 value to either include the missing bits or remove the excess ones

Emard

#16 lore raw
In reply to Samuel Rakitničan

HI!

I have downloaded latest hg v4l and adapted the compro t750f support patch. The patch is the same but v4l code is newer so there's some improvement

Restarting VDR is now stable. Tried it cca 10x VDR restarts, DVB-T tuner always worked. Remote still has 10% keys lost.

ALSA device now appears with alsa=1 in the list arecord -l (but I haven't tried to capture anything yet)

Someone mentioned that MCE-alike remote is the same to all f-series of the cards so I called it rc-videomate-f.

Here's the patch

linux/drivers/media/IR/keymaps/Makefile +1 -0
diff -r 304cfde05b3f linux/drivers/media/IR/keymaps/Makefile
@@ -63,5 +63,6 @@
 			rc-tt-1500.o \
 			rc-videomate-s350.o \
 			rc-videomate-tv-pvr.o \
+			rc-videomate-f.o \
 			rc-winfast.o \
 			rc-winfast-usbii-deluxe.o
linux/drivers/media/video/saa7134/saa7134-cards.c +13 -1
diff -r 304cfde05b3f linux/drivers/media/video/saa7134/saa7134-cards.c
@@ -4920,12 +4920,14 @@
 	},
 	[SAA7134_BOARD_VIDEOMATE_T750] = {
 		/* John Newbigin <[email protected]> */
+		/* Emard 2010-05-10 v18-v4l <[email protected]> */
 		.name           = "Compro VideoMate T750",
 		.audio_clock    = 0x00187de7,
 		.tuner_type     = TUNER_XC2028,
 		.radio_type     = UNSET,
-		.tuner_addr	= ADDR_UNSET,
+		.tuner_addr	= 0x61,
 		.radio_addr	= ADDR_UNSET,
+		.mpeg           = SAA7134_MPEG_DVB,
 		.inputs = {{
 			.name   = name_tv,
 			.vmux   = 3,
@@ -6752,6 +6754,11 @@
 			msleep(10);
 			saa7134_set_gpio(dev, 18, 1);
 		break;
+		case SAA7134_BOARD_VIDEOMATE_T750:
+			saa7134_set_gpio(dev, 20, 0);
+			msleep(10);
+			saa7134_set_gpio(dev, 20, 1);
+		break;
 		}
 	return 0;
 	}
@@ -7171,6 +7178,11 @@
 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x0000C000, 0x0000C000);
 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0000C000, 0x0000C000);
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		dev->has_remote = SAA7134_REMOTE_GPIO;
+		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
+		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
+		break;
 	}
 	return 0;
 }
linux/drivers/media/video/saa7134/saa7134-dvb.c +27 -0
diff -r 304cfde05b3f linux/drivers/media/video/saa7134/saa7134-dvb.c
@@ -55,6 +55,7 @@
 #include "tda8290.h"
 
 #include "zl10353.h"
+#include "qt1010.h"
 
 #include "zl10036.h"
 #include "zl10039.h"
@@ -886,6 +887,17 @@
 	.disable_i2c_gate_ctrl = 1,
 };
 
+static struct zl10353_config videomate_t750_zl10353_config = {
+	.demod_address  = 0x0f,
+	.no_tuner = 1,
+	.parallel_ts = 1,
+};
+
+static struct qt1010_config videomate_t750_qt1010_config = {
+	.i2c_address = 0x62
+};
+
+
 /* ==================================================================
  * tda10086 based DVB-S cards, helper functions
  */
@@ -1569,6 +1581,21 @@
 					__func__);
 
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		printk("Compro VideoMate T750 DVB setup\n");
+		fe0->dvb.frontend = dvb_attach(zl10353_attach,
+						&videomate_t750_zl10353_config,
+						&dev->i2c_adap);
+		if (fe0->dvb.frontend != NULL) {
+			// if there is a gate function then the i2c bus breaks.....!
+			fe0->dvb.frontend->ops.i2c_gate_ctrl = 0;
+			if (dvb_attach(qt1010_attach,
+					fe0->dvb.frontend,
+					&dev->i2c_adap,
+					&videomate_t750_qt1010_config) == NULL)
+				wprintk("error attaching QT1010\n");
+		}
+		break;
 	case SAA7134_BOARD_ZOLID_HYBRID_PCI:
 		fe0->dvb.frontend = dvb_attach(tda10048_attach,
 					       &zolid_tda10048_config,
linux/drivers/media/video/saa7134/saa7134-input.c +5 -0
diff -r 304cfde05b3f linux/drivers/media/video/saa7134/saa7134-input.c
@@ -865,6 +865,11 @@
 		mask_keycode = 0x003f00;
 		mask_keydown = 0x040000;
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		ir_codes     = RC_MAP_VIDEOMATE_F;
+		mask_keycode = 0x003f00;
+		mask_keyup   = 0x040000;
+		break;
 	case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
 		ir_codes     = RC_MAP_WINFAST;
 		mask_keycode = 0x5f00;
linux/include/media/rc-map.h +1 -0
diff -r 304cfde05b3f linux/include/media/rc-map.h
@@ -113,6 +113,7 @@
 #define RC_MAP_TT_1500                   "rc-tt-1500"
 #define RC_MAP_VIDEOMATE_S350            "rc-videomate-s350"
 #define RC_MAP_VIDEOMATE_TV_PVR          "rc-videomate-tv-pvr"
+#define RC_MAP_VIDEOMATE_F               "rc-videomate-f"
 #define RC_MAP_WINFAST                   "rc-winfast"
 #define RC_MAP_WINFAST_USBII_DELUXE      "rc-winfast-usbii-deluxe"
 /*
linux/drivers/media/IR/keymaps/rc-videomate-f.c renamed from linux/drivers/media/IR/keymaps/rc-videomate-f.c.orig +119 -0

119 lines not on this page · raw message

#17 lore raw

Hi Davor,

Am Montag, den 31.05.2010, 01:48 +0200 schrieb Davor Emard:

Quoted 9 lines

HI!

I have downloaded latest hg v4l and adapted the compro t750f support patch. The patch is the same but v4l code is newer so there's some improvement

Restarting VDR is now stable. Tried it cca 10x VDR restarts, DVB-T tuner always worked. Remote still has 10% keys lost.

Quoted 7 lines

ALSA device now appears with alsa=1 in the list arecord -l (but I haven't tried to capture anything yet)

Someone mentioned that MCE-alike remote is the same to all f-series of the cards so I called it rc-videomate-f.

Here's the patch

likely one of the most difficult cards on that driver during the last time.

Does't look such bad to me, after all, without having one.

Hmm, somehow its #define in the saa7134.h header is missing?

I'm also wondering, why we don't see the usual three lines offset on the end of current patches.

Cheers,
Hermann

Quoted 254 lines

diff -r 304cfde05b3f linux/drivers/media/IR/keymaps/Makefile

linux/drivers/media/IR/keymaps/Makefile +1 -0
@@ -63,5 +63,6 @@
 			rc-tt-1500.o \
 			rc-videomate-s350.o \
 			rc-videomate-tv-pvr.o \
+			rc-videomate-f.o \
 			rc-winfast.o \
 			rc-winfast-usbii-deluxe.o

diff -r 304cfde05b3f linux/drivers/media/video/saa7134/saa7134-cards.c

linux/drivers/media/video/saa7134/saa7134-cards.c +13 -1
@@ -4920,12 +4920,14 @@
 	},
 	[SAA7134_BOARD_VIDEOMATE_T750] = {
 		/* John Newbigin <[email protected]> */
+		/* Emard 2010-05-10 v18-v4l <[email protected]> */
 		.name           = "Compro VideoMate T750",
 		.audio_clock    = 0x00187de7,
 		.tuner_type     = TUNER_XC2028,
 		.radio_type     = UNSET,
-		.tuner_addr	= ADDR_UNSET,
+		.tuner_addr	= 0x61,
 		.radio_addr	= ADDR_UNSET,
+		.mpeg           = SAA7134_MPEG_DVB,
 		.inputs = {{
 			.name   = name_tv,
 			.vmux   = 3,
@@ -6752,6 +6754,11 @@
 			msleep(10);
 			saa7134_set_gpio(dev, 18, 1);
 		break;
+		case SAA7134_BOARD_VIDEOMATE_T750:
+			saa7134_set_gpio(dev, 20, 0);
+			msleep(10);
+			saa7134_set_gpio(dev, 20, 1);
+		break;
 		}
 	return 0;
 	}
@@ -7171,6 +7178,11 @@
 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x0000C000, 0x0000C000);
 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0000C000, 0x0000C000);
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		dev->has_remote = SAA7134_REMOTE_GPIO;
+		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
+		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
+		break;
 	}
 	return 0;
 }

diff -r 304cfde05b3f linux/drivers/media/video/saa7134/saa7134-dvb.c

linux/drivers/media/video/saa7134/saa7134-dvb.c +27 -0
@@ -55,6 +55,7 @@
 #include "tda8290.h"
 
 #include "zl10353.h"
+#include "qt1010.h"
 
 #include "zl10036.h"
 #include "zl10039.h"
@@ -886,6 +887,17 @@
 	.disable_i2c_gate_ctrl = 1,
 };
 
+static struct zl10353_config videomate_t750_zl10353_config = {
+	.demod_address  = 0x0f,
+	.no_tuner = 1,
+	.parallel_ts = 1,
+};
+
+static struct qt1010_config videomate_t750_qt1010_config = {
+	.i2c_address = 0x62
+};
+
+
 /* ==================================================================
  * tda10086 based DVB-S cards, helper functions
  */
@@ -1569,6 +1581,21 @@
 					__func__);
 
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		printk("Compro VideoMate T750 DVB setup\n");
+		fe0->dvb.frontend = dvb_attach(zl10353_attach,
+						&videomate_t750_zl10353_config,
+						&dev->i2c_adap);
+		if (fe0->dvb.frontend != NULL) {
+			// if there is a gate function then the i2c bus breaks.....!
+			fe0->dvb.frontend->ops.i2c_gate_ctrl = 0;
+			if (dvb_attach(qt1010_attach,
+					fe0->dvb.frontend,
+					&dev->i2c_adap,
+					&videomate_t750_qt1010_config) == NULL)
+				wprintk("error attaching QT1010\n");
+		}
+		break;
 	case SAA7134_BOARD_ZOLID_HYBRID_PCI:
 		fe0->dvb.frontend = dvb_attach(tda10048_attach,
 					       &zolid_tda10048_config,

diff -r 304cfde05b3f linux/drivers/media/video/saa7134/saa7134-input.c

linux/drivers/media/video/saa7134/saa7134-input.c +5 -0
@@ -865,6 +865,11 @@
 		mask_keycode = 0x003f00;
 		mask_keydown = 0x040000;
 		break;
+	case SAA7134_BOARD_VIDEOMATE_T750:
+		ir_codes     = RC_MAP_VIDEOMATE_F;
+		mask_keycode = 0x003f00;
+		mask_keyup   = 0x040000;
+		break;
 	case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
 		ir_codes     = RC_MAP_WINFAST;
 		mask_keycode = 0x5f00;

diff -r 304cfde05b3f linux/include/media/rc-map.h

linux/include/media/rc-map.h +1 -0
@@ -113,6 +113,7 @@
 #define RC_MAP_TT_1500                   "rc-tt-1500"
 #define RC_MAP_VIDEOMATE_S350            "rc-videomate-s350"
 #define RC_MAP_VIDEOMATE_TV_PVR          "rc-videomate-tv-pvr"
+#define RC_MAP_VIDEOMATE_F               "rc-videomate-f"
 #define RC_MAP_WINFAST                   "rc-winfast"
 #define RC_MAP_WINFAST_USBII_DELUXE      "rc-winfast-usbii-deluxe"
 /*
linux/drivers/media/IR/keymaps/rc-videomate-f.c renamed from linux/drivers/media/IR/keymaps/rc-videomate-f.c.orig +119 -1
@@ -0,0 +1,119 @@
+/* videomate-f.h - Keytable for videomate f series Remote Controller
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#include <media/rc-map.h>
+
+/*
+Compro videomate vista T750F remote
+-----------------------------------
+Emard 2010-05-09 <[email protected]>
+                                            POWER
+VIDEO           RADIO       AUDIO          CAMERA 
+PVR             EPG         TV      DVD  SUBTITLE
+
+                      UP
+                 LEFT OK RIGHT
+                     DOWN
+
+BACK                 MENU                    INFO
+
+VOLUMEUP                                CHANNELUP
+                     MUTE
+VOLUMEDOWN                            CHANNELDOWN
+
+RECORD                                       STOP
+REWIND               PLAY             FASTFORWARD
+PREVIOUSSONG       PLAYPAUSE             NEXTSONG
+
+NUMERIC_1          NUMERIC_2         NUMERIC_3
+NUMERIC_4          NUMERIC_5         NUMERIC_6
+NUMERIC_7          NUMERIC_8         NUMERIC_9
+NUMERIC_STAR       NUMERIC_0         NUMERIC_POUND
+
+CLEAR                ZOOM                 ENTER
+
+RED      GREEN      YELLOW     BLUE        TEXT
+*/
+static struct ir_scancode videomate_f[] = {
+	{ 0x01, KEY_POWER},
+	{ 0x31, KEY_VIDEO},
+	{ 0x33, KEY_RADIO},
+	{ 0x2f, KEY_AUDIO},
+	{ 0x30, KEY_CAMERA}, /* pictures */
+	{ 0x2d, KEY_PVR},    /* Recordings */
+	{   23, KEY_EPG},
+	{   44, KEY_TV},
+	{   43, KEY_DVD},
+	{ 0x32, KEY_SUBTITLE},
+	{   17, KEY_UP},
+	{   19, KEY_LEFT},
+	{   21, KEY_OK},
+	{   20, KEY_RIGHT},
+	{   18, KEY_DOWN},
+	{   22, KEY_BACK},
+	{ 0x02, KEY_MENU},
+	{ 0x04, KEY_INFO},
+	{ 0x05, KEY_VOLUMEUP},
+	{ 0x06, KEY_VOLUMEDOWN},
+	{ 0x03, KEY_MUTE},
+	{ 0x07, KEY_CHANNELUP},
+	{ 0x08, KEY_CHANNELDOWN},
+	{ 0x0c, KEY_RECORD},
+	{ 0x0e, KEY_STOP},
+	{ 0x0a, KEY_REWIND},
+	{ 0x0b, KEY_PLAY},
+	{ 0x09, KEY_FASTFORWARD},
+	{ 0x10, KEY_PREVIOUSSONG},
+	{ 0x0d, KEY_PLAYPAUSE},
+	{ 0x0f, KEY_NEXTSONG},
+	{   30, KEY_NUMERIC_1},
+	{ 0x1f, KEY_NUMERIC_2},
+	{ 0x20, KEY_NUMERIC_3},
+	{ 0x21, KEY_NUMERIC_4},
+	{ 0x22, KEY_NUMERIC_5},
+	{ 0x23, KEY_NUMERIC_6},
+	{ 0x24, KEY_NUMERIC_7},
+	{ 0x25, KEY_NUMERIC_8},
+	{ 0x26, KEY_NUMERIC_9},
+	{ 0x2a, KEY_NUMERIC_STAR},
+	{   29, KEY_NUMERIC_0},
+	{   41, KEY_NUMERIC_POUND},
+	{   39, KEY_CLEAR},
+	{ 0x34, KEY_ZOOM},
+	{ 0x28, KEY_ENTER},
+	{   25, KEY_RED},
+	{   26, KEY_GREEN},
+	{   27, KEY_YELLOW},
+	{   28, KEY_BLUE},
+	{   24, KEY_TEXT},
+};
+
+static struct rc_keymap videomate_f_map = {
+	.map = {
+		.scan    = videomate_f,
+		.size    = ARRAY_SIZE(videomate_f),
+		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+		.name    = RC_MAP_VIDEOMATE_F,
+	}
+};
+
+static int __init init_rc_map_videomate_f(void)
+{
+	return ir_register_map(&videomate_f_map);
+}
+
+static void __exit exit_rc_map_videomate_f(void)
+{
+	ir_unregister_map(&videomate_f_map);
+}
+
+module_init(init_rc_map_videomate_f)
+module_exit(exit_rc_map_videomate_f)
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Davor Emard <[email protected]>");
 
--
#18 lore raw
Quoted 6 lines

Hmm, somehow its #define in the saa7134.h header is missing?

I'm also wondering, why we don't see the usual three lines offset on the end of current patches.

Forget about the later, is in new file mode.

Hermann

#19 lore raw

HI

Quoted 2 lines

Forget about the later, is in new file mode.

I wanted the new file but I don't know hg diff too much so I just manually cat >> to append to the hg diff output...

d.

#20 lore raw
In reply to Davor Emard

HI!

I just went to compro website and have seen that *f cards have some identical MCE-alike but also slightly different remotes, so we have to invent some better names to distinguish between them (compro itself might have some names for them)

d.

#21 lore raw
Quoted 8 lines · Davor Emard

HI!

I just went to compro website and have seen that *f cards have some identical MCE-alike but also slightly different remotes, so we have to invent some better names to distinguish between them (compro itself might have some names for them)

d.

Hi,

Tested your new patch with Gerd's input-events utility. input-events is reporting wrong key (KEY_MIN_INTERESTING) for KEY_MUTE, not sure why.

input-events is reporting ??? for all KEY_NUMERIC_*.

Perhaps you could use KEY_PREVIOUS and KEY_NEXT instead of KEY_PREVIOUSSONG and KEY_NEXTSONG.

For the naming you could use K100

http://www.comprousa.com/en/pctv_remote.php

Lirc has definitions for K300 and it seems that it's using totally different codes:
http://lirc.sourceforge.net/remotes/compro/VideoMate-K300

So I think too this would be a better naming sheme.

Regards,
Samuel

#22 lore raw
Quoted 10 lines
Quoted 7 lines

HI!

I just went to compro website and have seen that *f cards have some identical MCE-alike but also slightly different remotes, so we have to invent some better names to distinguish between them (compro itself might have some names for them)

Tested your new patch with Gerd's input-events utility. input-events is reporting wrong key (KEY_MIN_INTERESTING) for KEY_MUTE, not sure why.

HI! Is at least tuner (and loading of the firmware) working now without preinitialization with windows?

About remote keys:
My evtest in debian is outdated (probably also your input-events). Not only it doesn't support all KEY_*s but also for some existing keys it reports the wrong names (like KEY_MIN_INTERESTING).

Try it with xev, at least MUTE should work correctly there (reports XF86AudioMute). However KEY_NUMERIC_* won't be recognized by xev because X11 doesn't map them to anything by default

However only the input layer keycodes matter, we can ignore it's name interpreted by some application (every app may name it different or even wrong...).

The tools should be compiled against latest /usr/include/linux/input.h and have all new key names there (and corrected some existing names).

My intention was to map remote key pictograms to most appropriate event in latest kernel's input.h, avoiding PC keyboard ambiguity as much as I can.

Because in the kernel they have expanded input.h with a number of new keys to better cover MCE remotes and new media keyboards, so you get those ??? for old apps but the keycode numbers should still be correct according to the kernel's input layer. input layer Applications map key events to the keycode numbers, and have freedom to give any name to the key.

The KEY_PREVIOUS and KEY_NEXT are actually keys for prev page and next page on the keyboard, used for scrolling text. PREVIOUSSONG NEXTSIONG are used to skip to songs and are also expanded to skipping to video DVD chapters, so I thought they are more appropriate for the remote pictograms "|<" ">|" at VCR key group. I wanted to avoid ambiguity between keyboard events and remote, however I still have KEY_ENTER and KEY_BACKSPACE and the cursors, which is in ambiguity to the normal keyboard - any idea what to replace them with in MCE style?

I have no issue of mapping all current keys to VDR. If you have any real issue of mapping keys to some other TV view application or to the linux console or X11, feel free to change them and suggest a patch

d.

#23 lore raw
In reply to semiRocket

HI!

Have you tested my lastest GPIO suggestion, or come up with your own initialization? Does it allow to load firmware without windows booting?

Key namings of the remote must be some from linux input.h I welcome you to change whatever is needed to fit any of your application if current scheme is not suitable. I use VDR whcih can adapt to just anything event layer gives.

d.

#24 lore raw
Quoted 6 lines · Davor Emard

HI!

Have you tested my lastest GPIO suggestion, or come up with your own initialization? Does it allow to load firmware without windows booting?

Didn't have time to look for gpios, tomorrow I will have. But I can tell that this change is not working for me:

	case SAA7134_BOARD_VIDEOMATE_T750:
		dev->has_remote = SAA7134_REMOTE_GPIO;
		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x8082c000, 0x8082c000);
		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x8082c000, 0x0080c000);
		break;
Quoted 6 lines

Key namings of the remote must be some from linux input.h I welcome you to change whatever is needed to fit any of your application if current scheme is not suitable. I use VDR whcih can adapt to just anything event layer gives.

d.

OK, I'm not having any personal opinion about the keys nor a application which I'm using, I'm just noticed that the keys differ against standard keys defined at linuxtv wiki. But if the keys at wiki are not correct, then perhaps should we change them there and let all use the same keys.

If we have standard keys, than userspace applications programmers can make a use of it and assign the keys to their applications and to have just work experience to their users. But maybe I'm terrible wrong...

Best regards,
Samuel

#25 lore raw
Quoted 8 lines

Didn't have time to look for gpios, tomorrow I will have. But I can tell that this change is not working for me:

	case SAA7134_BOARD_VIDEOMATE_T750:
		dev->has_remote = SAA7134_REMOTE_GPIO;
		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x8082c000, 0x8082c000);
		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x8082c000, 0x0080c000);
		break;

Thanx for testing it out, If it doesn't work, try this:

saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, /* keep */ 0x8082c000, /* keep */ 0x8082c000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, /* keep */ 0x8082c000, /* modify */ 0x0080c000);

modify only the indicated number, try 0, try 0x8082c000 and if you have time try all combinations of bits 0x8082c000 optionally set to 0 e.g. 0x8002c000, 0x8080c000, 0x80828000, 0x0080c000 etc...

It is possible that you and I don't have same revision of the card and you need a slightly different initialization procedure. If you get something to work for your card then I can try it back at mine there's a changes that we get a common setup which works for both.

Quoted 10 lines

OK, I'm not having any personal opinion about the keys nor a application which I'm using, I'm just noticed that the keys differ against standard keys defined at linuxtv wiki. But if the keys at wiki are not correct, then perhaps should we change them there and let all use the same keys.

If we have standard keys, than userspace applications programmers can make a use of it and assign the keys to their applications and to have just work experience to their users. But maybe I'm terrible wrong...

Yeah I know, almost every remote has its own logic so it seems my version is yet-another-bla... I'm hoping for upcoming X11 xinput2 layer hopefully get full support of MCE remotes and nicely integrate with X applications therefore I produced MCE stuff here for a challenge to the xinput2

For integrated TV and PC to work well we need all remote keys be different than any other existing key used by keyboard.

Without this, when X11 based TV view application gets "out of input focus" means it becomes irresponsive to ambiguity keys on the remote controller (in this example cursor keys) and we need to first use mouse to click on TV application and then continue using cursors on remote control (imagine how practical it is to make mouse click when watching TV from sofa)

best regards, d.

#26 lore raw
Quoted 14 lines · Davor Emard
Quoted 8 lines

Didn't have time to look for gpios, tomorrow I will have. But I can tell that this change is not working for me:

	case SAA7134_BOARD_VIDEOMATE_T750:
		dev->has_remote = SAA7134_REMOTE_GPIO;
		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x8082c000, 0x8082c000);
		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x8082c000, 0x0080c000);
		break;

Thanx for testing it out, If it doesn't work, try this:

saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, /* keep */ 0x8082c000, /* keep */ 0x8082c000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, /* keep */ 0x8082c000, /* modify */ 0x0080c000);

Quoted 9 lines

modify only the indicated number, try 0, try 0x8082c000 and if you have time try all combinations of bits 0x8082c000 optionally set to 0 e.g. 0x8002c000, 0x8080c000, 0x80828000, 0x0080c000 etc...

It is possible that you and I don't have same revision of the card and you need a slightly different initialization procedure. If you get something to work for your card then I can try it back at mine there's a changes that we get a common setup which works for both.

OK, do I need to do cold boot or reboot anytime I try different gpio value?

#27 lore raw
In reply to Davor Emard
Quoted 6 lines · Davor Emard

HI!

Have you tested my lastest GPIO suggestion, or come up with your own initialization? Does it allow to load firmware without windows booting?

No luck with this...

Remainder: It can't load firmware doing cold boot. If I restart from windows firmware loads, and can start tvtime a few times and watch analog tv.

I've uninstalled the driver and compro software from windows in order to track thing more carefully.

My card cold boot gpstatus value is 0080bf00. When windows driver loads, it sets it to 0080ff00. And sets the GPMODE to 82c000 among the other values. When compro remote tray utility loads sets mask to 84ff00 (94ff00) and value begins to constantly change.

So, I tried with something like:

	case SAA7134_BOARD_VIDEOMATE_T750:
		dev->has_remote = SAA7134_REMOTE_GPIO;
		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x0082c000, 0x0082c000);
		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0000f000, 0x0000f000);
		break;

And I get this line in dmesg after loading the driver for the second time:
saa7133[0]: board init: gpio is 94ff00

That doesn't help with firmware load. But it seems to help get to work analog stable, e.g when windows prepare device I can restart tvtime as many times as I want without analog stop working.

Audio clock changes (xx187de7) when switching from inputs. It uses 03187de7 for analog and DVB, and 43187de7 for S Video and Composite. Maybe this enables audio line in connector.

I tried to log GPMODE additional activity before it stabilizes at 0082c000 by enabling/disabling windows driver and attached it to this mail.

here follows windows driver initialization from cold boot (without software installed) I know it shows GPMODE 0002c000 but later (a second after loading) it stabilizes at 0082c000 (didn't cach it here.):

SAA7133 Card [0]:

Vendor ID:           0x1131
Device ID:           0x7133
Subsystem ID:        0xc900185b

3 states dumped

----------------------------------------------------------------------------------

SAA7133 Card - State 0:

SAA7134_GPIO_GPMODE:             00000000 * (00000000 00000000 00000000 00000000)
SAA7134_GPIO_GPSTATUS:           0080bf00 * (00000000 10000000 10111111 00000000)
SAA7134_ANALOG_IN_CTRL1:         00 *       (00000000)
SAA7133_ANALOG_IO_SELECT:        00 *       (00000000)
SAA7133_AUDIO_CLOCK_NOMINAL:     00187de7 * (00000000 00011000 01111101 11100111)
SAA7133_PLL_CONTROL:             00 *       (00000000)
SAA7133_AUDIO_CLOCKS_PER_FIELD:  00000000 * (00000000 00000000 00000000 00000000)
SAA7134_VIDEO_PORT_CTRL0:        0000b000 * (00000000 00000000 10110000 00000000)
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)
SAA7134_I2S_AUDIO_OUTPUT:        10 *       (00010000)
SAA7134_TS_PARALLEL:             6c *       (01101100)
SAA7134_TS_PARALLEL_SERIAL:      b9 *       (10111001)
SAA7134_TS_SERIAL0:              50 *       (01010000)
SAA7134_TS_SERIAL1:              01 *       (00000001)
SAA7134_TS_DMA0:                 35 *       (00110101)
SAA7134_TS_DMA1:                 01 *       (00000001)
SAA7134_TS_DMA2:                 00         (00000000)
SAA7134_SPECIAL_MODE:            00 *       (00000000)
Changes: State 0 -> State 1:
SAA7134_GPIO_GPMODE:             00000000 -> 0002c000  (-------- ------0- 00------ --------)
SAA7134_GPIO_GPSTATUS:           0080bf00 -> 0080ff00  (-------- -------- -0------ --------)
SAA7134_ANALOG_IN_CTRL1:         00       -> 88        (0---0---)
SAA7133_ANALOG_IO_SELECT:        00       -> 02        (------0-)
SAA7133_AUDIO_CLOCK_NOMINAL:     00187de7 -> 03187de7  (------00 -------- -------- --------)
SAA7133_PLL_CONTROL:             00       -> 03        (------00)
SAA7133_AUDIO_CLOCKS_PER_FIELD:  00000000 -> 0001e000  (-------- -------0 000----- --------)
SAA7134_VIDEO_PORT_CTRL0:        0000b000 -> 00000000  (-------- -------- 1-11---- --------)
SAA7134_I2S_AUDIO_OUTPUT:        10       -> 11        (-------0)
SAA7134_TS_PARALLEL:             6c       -> 04        (-11-1---)
SAA7134_TS_PARALLEL_SERIAL:      b9       -> 00        (1-111--1)
SAA7134_TS_SERIAL0:              50       -> 00        (-1-1----)
SAA7134_TS_SERIAL1:              01       -> 00        (-------1)
SAA7134_TS_DMA0:                 35       -> 00        (--11-1-1)
SAA7134_TS_DMA1:                 01       -> 00        (-------1)
SAA7134_SPECIAL_MODE:            00       -> 01        (-------0)

16 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 1:

SAA7134_GPIO_GPMODE:             0002c000 * (00000000 00000010 11000000 00000000)  (was: 00000000)
SAA7134_GPIO_GPSTATUS:           0080ff00   (00000000 10000000 11111111 00000000)  (was: 0080bf00)
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                             (was: 00)
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                             (was: 00)
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)  (was: 00187de7)
SAA7133_PLL_CONTROL:             03         (00000011)                             (was: 00)
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)  (was: 00000000)
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)  (was: 0000b000)
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                             (was: 10)
SAA7134_TS_PARALLEL:             04         (00000100)                             (was: 6c)
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                             (was: b9)
SAA7134_TS_SERIAL0:              00         (00000000)                             (was: 50)
SAA7134_TS_SERIAL1:              00         (00000000)                             (was: 01)
SAA7134_TS_DMA0:                 00         (00000000)                             (was: 35)
SAA7134_TS_DMA1:                 00         (00000000)                             (was: 01)
SAA7134_TS_DMA2:                 00         (00000000)
SAA7134_SPECIAL_MODE:            01         (00000001)                             (was: 00)

Changes: State 1 -> Register Dump:
SAA7134_GPIO_GPMODE: 0002c000 -> 0082c000 (-------- 0------- -------- --------)

1 changes

=================================================================================

SAA7133 Card - Register Dump:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)  (was: 0002c000)
SAA7134_GPIO_GPSTATUS:           0080ff00   (00000000 10000000 11111111 00000000)
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)
SAA7133_ANALOG_IO_SELECT:        02         (00000010)
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)
SAA7133_PLL_CONTROL:             03         (00000011)
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)
SAA7134_TS_PARALLEL:             04         (00000100)
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)
SAA7134_TS_SERIAL0:              00         (00000000)
SAA7134_TS_SERIAL1:              00         (00000000)
SAA7134_TS_DMA0:                 00         (00000000)
SAA7134_TS_DMA1:                 00         (00000000)
SAA7134_TS_DMA2:                 00         (00000000)
SAA7134_SPECIAL_MODE:            01         (00000001)

end of dump

SAA7133 Card [0]:

Vendor ID:           0x1131
Device ID:           0x7133
Subsystem ID:        0xc900185b

11 states dumped

----------------------------------------------------------------------------------

SAA7133 Card - State 0:

SAA7134_GPIO_GPMODE:             00028000   (00000000 00000010 10000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094bf00 * (00000000 10010100 10111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         80         (10000000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 0 -> State 1:
SAA7134_GPIO_GPSTATUS: 0094bf00 -> 00943f00 (-------- -------- 1------- --------)

1 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 1:

SAA7134_GPIO_GPMODE:             00028000   (00000000 00000010 10000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           00943f00   (00000000 10010100 00111111 00000000)  (was: 0094bf00)
SAA7134_ANALOG_IN_CTRL1:         80         (10000000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 1 -> State 2:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 2:

SAA7134_GPIO_GPMODE:             00028000 * (00000000 00000010 10000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           00943f00 * (00000000 10010100 00111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         80 *       (10000000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            
Changes: State 2 -> State 3:
SAA7134_GPIO_GPMODE:             00028000 -> 0002c000  (-------- -------- -0------ --------)  
SAA7134_GPIO_GPSTATUS:           00943f00 -> 0094ff00  (-------- -------- 00------ --------)  
SAA7134_ANALOG_IN_CTRL1:         80       -> 88        (----0---)                             

3 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 3:

SAA7134_GPIO_GPMODE:             0002c000   (00000000 00000010 11000000 00000000)  (was: 00028000)
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)  (was: 00943f00)
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                             (was: 80)      
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 3 -> State 4:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 4:

SAA7134_GPIO_GPMODE:             0002c000   (00000000 00000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 4 -> State 5:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 5:

SAA7134_GPIO_GPMODE:             0002c000   (00000000 00000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 5 -> State 6:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 6:

SAA7134_GPIO_GPMODE:             0002c000   (00000000 00000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 6 -> State 7:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 7:

SAA7134_GPIO_GPMODE:             0002c000 * (00000000 00000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 7 -> State 8:
SAA7134_GPIO_GPMODE: 0002c000 -> 0082c000 (-------- 0------- -------- --------)

1 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 8:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)  (was: 0002c000)
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 8 -> State 9:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 9:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 9 -> Register Dump:

0 changes

=================================================================================

SAA7133 Card - Register Dump:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

end of dump

SAA7133 Card [0]:

Vendor ID:           0x1131
Device ID:           0x7133
Subsystem ID:        0xc900185b

6 states dumped

----------------------------------------------------------------------------------

SAA7133 Card - State 0:

SAA7134_GPIO_GPMODE:             00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0080bf00   (00000000 10000000 10111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         00         (00000000)                                            
SAA7133_ANALOG_IO_SELECT:        00         (00000000)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     00187de7   (00000000 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             00         (00000000)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        0000b000   (00000000 00000000 10110000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        10         (00010000)                                            
SAA7134_TS_PARALLEL:             6c         (01101100)                                            
SAA7134_TS_PARALLEL_SERIAL:      b9         (10111001)                                            
SAA7134_TS_SERIAL0:              50         (01010000)                                            
SAA7134_TS_SERIAL1:              01         (00000001)                                            
SAA7134_TS_DMA0:                 35         (00110101)                                            
SAA7134_TS_DMA1:                 01         (00000001)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            00         (00000000)                                            

Changes: State 0 -> State 1:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 1:

SAA7134_GPIO_GPMODE:             00000000 * (00000000 00000000 00000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0080bf00 * (00000000 10000000 10111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         00 *       (00000000)                                            
SAA7133_ANALOG_IO_SELECT:        00 *       (00000000)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     00187de7 * (00000000 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             00 *       (00000000)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  00000000 * (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        0000b000 * (00000000 00000000 10110000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        10 *       (00010000)                                            
SAA7134_TS_PARALLEL:             6c *       (01101100)                                            
SAA7134_TS_PARALLEL_SERIAL:      b9 *       (10111001)                                            
SAA7134_TS_SERIAL0:              50 *       (01010000)                                            
SAA7134_TS_SERIAL1:              01 *       (00000001)                                            
SAA7134_TS_DMA0:                 35 *       (00110101)                                            
SAA7134_TS_DMA1:                 01 *       (00000001)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            00 *       (00000000)                                            
Changes: State 1 -> State 2:
SAA7134_GPIO_GPMODE:             00000000 -> 0002c000  (-------- ------0- 00------ --------)  
SAA7134_GPIO_GPSTATUS:           0080bf00 -> 0080ff00  (-------- -------- -0------ --------)  
SAA7134_ANALOG_IN_CTRL1:         00       -> 88        (0---0---)                             
SAA7133_ANALOG_IO_SELECT:        00       -> 02        (------0-)                             
SAA7133_AUDIO_CLOCK_NOMINAL:     00187de7 -> 03187de7  (------00 -------- -------- --------)  
SAA7133_PLL_CONTROL:             00       -> 03        (------00)                             
SAA7133_AUDIO_CLOCKS_PER_FIELD:  00000000 -> 0001e000  (-------- -------0 000----- --------)  
SAA7134_VIDEO_PORT_CTRL0:        0000b000 -> 00000000  (-------- -------- 1-11---- --------)  
SAA7134_I2S_AUDIO_OUTPUT:        10       -> 11        (-------0)                             
SAA7134_TS_PARALLEL:             6c       -> 04        (-11-1---)                             
SAA7134_TS_PARALLEL_SERIAL:      b9       -> 00        (1-111--1)                             
SAA7134_TS_SERIAL0:              50       -> 00        (-1-1----)                             
SAA7134_TS_SERIAL1:              01       -> 00        (-------1)                             
SAA7134_TS_DMA0:                 35       -> 00        (--11-1-1)                             
SAA7134_TS_DMA1:                 01       -> 00        (-------1)                             
SAA7134_SPECIAL_MODE:            00       -> 01        (-------0)                             

16 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 2:

SAA7134_GPIO_GPMODE:             0002c000 * (00000000 00000010 11000000 00000000)  (was: 00000000)
SAA7134_GPIO_GPSTATUS:           0080ff00   (00000000 10000000 11111111 00000000)  (was: 0080bf00)
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                             (was: 00)      
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                             (was: 00)      
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)  (was: 00187de7)
SAA7133_PLL_CONTROL:             03         (00000011)                             (was: 00)      
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)  (was: 00000000)
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)  (was: 0000b000)
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                             (was: 10)      
SAA7134_TS_PARALLEL:             04         (00000100)                             (was: 6c)      
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                             (was: b9)      
SAA7134_TS_SERIAL0:              00         (00000000)                             (was: 50)      
SAA7134_TS_SERIAL1:              00         (00000000)                             (was: 01)      
SAA7134_TS_DMA0:                 00         (00000000)                             (was: 35)      
SAA7134_TS_DMA1:                 00         (00000000)                             (was: 01)      
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                             (was: 00)      

Changes: State 2 -> State 3:
SAA7134_GPIO_GPMODE: 0002c000 -> 0082c000 (-------- 0------- -------- --------)

1 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 3:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)  (was: 0002c000)
SAA7134_GPIO_GPSTATUS:           0080ff00   (00000000 10000000 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 3 -> State 4:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 4:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0080ff00   (00000000 10000000 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 4 -> Register Dump:

0 changes

=================================================================================

SAA7133 Card - Register Dump:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0080ff00   (00000000 10000000 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

end of dump

SAA7133 Card [0]:

Vendor ID:           0x1131
Device ID:           0x7133
Subsystem ID:        0xc900185b

=================================================================================

SAA7133 Card - Register Dump:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

end of dump

SAA7133 Card [0]:

Vendor ID:           0x1131
Device ID:           0x7133
Subsystem ID:        0xc900185b

10 states dumped

----------------------------------------------------------------------------------

SAA7133 Card - State 0:

SAA7134_GPIO_GPMODE:             00028000   (00000000 00000010 10000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094bf00 * (00000000 10010100 10111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         80         (10000000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 0 -> State 1:
SAA7134_GPIO_GPSTATUS: 0094bf00 -> 00943f00 (-------- -------- 1------- --------)

1 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 1:

SAA7134_GPIO_GPMODE:             00028000   (00000000 00000010 10000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           00943f00   (00000000 10010100 00111111 00000000)  (was: 0094bf00)
SAA7134_ANALOG_IN_CTRL1:         80         (10000000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 1 -> State 2:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 2:

SAA7134_GPIO_GPMODE:             00028000 * (00000000 00000010 10000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           00943f00 * (00000000 10010100 00111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         80 *       (10000000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            
Changes: State 2 -> State 3:
SAA7134_GPIO_GPMODE:             00028000 -> 0002c000  (-------- -------- -0------ --------)  
SAA7134_GPIO_GPSTATUS:           00943f00 -> 0094ff00  (-------- -------- 00------ --------)  
SAA7134_ANALOG_IN_CTRL1:         80       -> 88        (----0---)                             

3 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 3:

SAA7134_GPIO_GPMODE:             0002c000 * (00000000 00000010 11000000 00000000)  (was: 00028000)
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)  (was: 00943f00)
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                             (was: 80)      
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 3 -> State 4:
SAA7134_GPIO_GPMODE: 0002c000 -> 0082c000 (-------- 0------- -------- --------)

1 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 4:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)  (was: 0002c000)
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 4 -> State 5:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 5:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 5 -> State 6:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 6:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 6 -> State 7:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 7:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 7 -> State 8:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 8:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 8 -> Register Dump:

0 changes

=================================================================================

SAA7133 Card - Register Dump:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

end of dump

SAA7133 Card [0]:

Vendor ID:           0x1131
Device ID:           0x7133
Subsystem ID:        0xc900185b

8 states dumped

----------------------------------------------------------------------------------

SAA7133 Card - State 0:

SAA7134_GPIO_GPMODE:             ffffffff * (11111111 11111111 11111111 11111111)                 
SAA7134_GPIO_GPSTATUS:           ffffffff * (11111111 11111111 11111111 11111111)                 
SAA7134_ANALOG_IN_CTRL1:         ff *       (11111111)                                            
SAA7133_ANALOG_IO_SELECT:        ff *       (11111111)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     ffffffff * (11111111 11111111 11111111 11111111)                 
SAA7133_PLL_CONTROL:             ff *       (11111111)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  ffffffff * (11111111 11111111 11111111 11111111)                 
SAA7134_VIDEO_PORT_CTRL0:        ffffffff * (11111111 11111111 11111111 11111111)                 
SAA7134_VIDEO_PORT_CTRL4:        ffffffff * (11111111 11111111 11111111 11111111)                 
SAA7134_VIDEO_PORT_CTRL8:        ff *       (11111111)                                            
SAA7134_I2S_OUTPUT_SELECT:       ff *       (11111111)                                            
SAA7134_I2S_OUTPUT_FORMAT:       ff *       (11111111)                                            
SAA7134_I2S_OUTPUT_LEVEL:        ff *       (11111111)                                            
SAA7134_I2S_AUDIO_OUTPUT:        ff *       (11111111)                                            
SAA7134_TS_PARALLEL:             ff *       (11111111)                                            
SAA7134_TS_PARALLEL_SERIAL:      ff *       (11111111)                                            
SAA7134_TS_SERIAL0:              ff *       (11111111)                                            
SAA7134_TS_SERIAL1:              ff *       (11111111)                                            
SAA7134_TS_DMA0:                 ff *       (11111111)                                            
SAA7134_TS_DMA1:                 ff *       (11111111)                                            
SAA7134_TS_DMA2:                 ff *       (11111111)                                            
SAA7134_SPECIAL_MODE:            ff *       (11111111)                                            
Changes: State 0 -> State 1:
SAA7134_GPIO_GPMODE:             ffffffff -> 00028000  (11111111 111111-1 -1111111 11111111)  
SAA7134_GPIO_GPSTATUS:           ffffffff -> 0094bf00  (11111111 -11-1-11 -1------ 11111111)  
SAA7134_ANALOG_IN_CTRL1:         ff       -> 80        (-1111111)                             
SAA7133_ANALOG_IO_SELECT:        ff       -> 02        (111111-1)                             
SAA7133_AUDIO_CLOCK_NOMINAL:     ffffffff -> 03187de7  (111111-- 111--111 1-----1- ---11---)  
SAA7133_PLL_CONTROL:             ff       -> 03        (111111--)                             
SAA7133_AUDIO_CLOCKS_PER_FIELD:  ffffffff -> 0001e000  (11111111 1111111- ---11111 11111111)  
SAA7134_VIDEO_PORT_CTRL0:        ffffffff -> 00000000  (11111111 11111111 11111111 11111111)  
SAA7134_VIDEO_PORT_CTRL4:        ffffffff -> 00000000  (11111111 11111111 11111111 11111111)  
SAA7134_VIDEO_PORT_CTRL8:        ff       -> 00        (11111111)                             
SAA7134_I2S_OUTPUT_SELECT:       ff       -> 00        (11111111)                             
SAA7134_I2S_OUTPUT_FORMAT:       ff       -> 00        (11111111)                             
SAA7134_I2S_OUTPUT_LEVEL:        ff       -> 00        (11111111)                             
SAA7134_I2S_AUDIO_OUTPUT:        ff       -> 11        (111-111-)                             
SAA7134_TS_PARALLEL:             ff       -> 04        (11111-11)                             
SAA7134_TS_PARALLEL_SERIAL:      ff       -> 00        (11111111)                             
SAA7134_TS_SERIAL0:              ff       -> 00        (11111111)                             
SAA7134_TS_SERIAL1:              ff       -> 00        (11111111)                             
SAA7134_TS_DMA0:                 ff       -> 00        (11111111)                             
SAA7134_TS_DMA1:                 ff       -> 00        (11111111)                             
SAA7134_TS_DMA2:                 ff       -> 00        (11111111)                             
SAA7134_SPECIAL_MODE:            ff       -> 01        (1111111-)                             

22 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 1:

SAA7134_GPIO_GPMODE:             00028000   (00000000 00000010 10000000 00000000)  (was: ffffffff)
SAA7134_GPIO_GPSTATUS:           0094bf00 * (00000000 10010100 10111111 00000000)  (was: ffffffff)
SAA7134_ANALOG_IN_CTRL1:         80         (10000000)                             (was: ff)      
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                             (was: ff)      
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)  (was: ffffffff)
SAA7133_PLL_CONTROL:             03         (00000011)                             (was: ff)      
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)  (was: ffffffff)
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)  (was: ffffffff)
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)  (was: ffffffff)
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                             (was: ff)      
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                             (was: ff)      
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                             (was: ff)      
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                             (was: ff)      
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                             (was: ff)      
SAA7134_TS_PARALLEL:             04         (00000100)                             (was: ff)      
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                             (was: ff)      
SAA7134_TS_SERIAL0:              00         (00000000)                             (was: ff)      
SAA7134_TS_SERIAL1:              00         (00000000)                             (was: ff)      
SAA7134_TS_DMA0:                 00         (00000000)                             (was: ff)      
SAA7134_TS_DMA1:                 00         (00000000)                             (was: ff)      
SAA7134_TS_DMA2:                 00         (00000000)                             (was: ff)      
SAA7134_SPECIAL_MODE:            01         (00000001)                             (was: ff)      

Changes: State 1 -> State 2:
SAA7134_GPIO_GPSTATUS: 0094bf00 -> 00943f00 (-------- -------- 1------- --------)

1 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 2:

SAA7134_GPIO_GPMODE:             00028000   (00000000 00000010 10000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           00943f00   (00000000 10010100 00111111 00000000)  (was: 0094bf00)
SAA7134_ANALOG_IN_CTRL1:         80         (10000000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 2 -> State 3:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 3:

SAA7134_GPIO_GPMODE:             00028000 * (00000000 00000010 10000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           00943f00 * (00000000 10010100 00111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         80 *       (10000000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            
Changes: State 3 -> State 4:
SAA7134_GPIO_GPMODE:             00028000 -> 0002c000  (-------- -------- -0------ --------)  
SAA7134_GPIO_GPSTATUS:           00943f00 -> 0094ff00  (-------- -------- 00------ --------)  
SAA7134_ANALOG_IN_CTRL1:         80       -> 88        (----0---)                             

3 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 4:

SAA7134_GPIO_GPMODE:             0002c000   (00000000 00000010 11000000 00000000)  (was: 00028000)
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)  (was: 00943f00)
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                             (was: 80)      
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 4 -> State 5:

0 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 5:

SAA7134_GPIO_GPMODE:             0002c000 * (00000000 00000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 5 -> State 6:
SAA7134_GPIO_GPMODE: 0002c000 -> 0082c000 (-------- 0------- -------- --------)

1 changes

----------------------------------------------------------------------------------

SAA7133 Card - State 6:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)  (was: 0002c000)
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

Changes: State 6 -> Register Dump:

0 changes

=================================================================================

SAA7133 Card - Register Dump:

SAA7134_GPIO_GPMODE:             0082c000   (00000000 10000010 11000000 00000000)                 
SAA7134_GPIO_GPSTATUS:           0094ff00   (00000000 10010100 11111111 00000000)                 
SAA7134_ANALOG_IN_CTRL1:         88         (10001000)                                            
SAA7133_ANALOG_IO_SELECT:        02         (00000010)                                            
SAA7133_AUDIO_CLOCK_NOMINAL:     03187de7   (00000011 00011000 01111101 11100111)                 
SAA7133_PLL_CONTROL:             03         (00000011)                                            
SAA7133_AUDIO_CLOCKS_PER_FIELD:  0001e000   (00000000 00000001 11100000 00000000)                 
SAA7134_VIDEO_PORT_CTRL0:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL4:        00000000   (00000000 00000000 00000000 00000000)                 
SAA7134_VIDEO_PORT_CTRL8:        00         (00000000)                                            
SAA7134_I2S_OUTPUT_SELECT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_FORMAT:       00         (00000000)                                            
SAA7134_I2S_OUTPUT_LEVEL:        00         (00000000)                                            
SAA7134_I2S_AUDIO_OUTPUT:        11         (00010001)                                            
SAA7134_TS_PARALLEL:             04         (00000100)                                            
SAA7134_TS_PARALLEL_SERIAL:      00         (00000000)                                            
SAA7134_TS_SERIAL0:              00         (00000000)                                            
SAA7134_TS_SERIAL1:              00         (00000000)                                            
SAA7134_TS_DMA0:                 00         (00000000)                                            
SAA7134_TS_DMA1:                 00         (00000000)                                            
SAA7134_TS_DMA2:                 00         (00000000)                                            
SAA7134_SPECIAL_MODE:            01         (00000001)                                            

end of dump

#28 lore raw
In reply to Samuel Rakitničan

HI!

Can you also try this GPIO settings? It's my try to use last summer's registers dump to setup gpio mask and value

	case SAA7134_BOARD_VIDEOMATE_T750:
		dev->has_remote = SAA7134_REMOTE_GPIO;
		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x8082c000, 0x8082c000);
		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x8082c000, 0x0080c000);
		break;
#29 lore raw
In reply to Emard

HI

I tried to fix unreliable IR remote keys (cca 10% lost key presses), the similar problem has been reported on the same card with windows driver too and I had other saa7134 analog tv card also loosing IR keys

I have tried modifying saa7134-input.c to use gpio polling with interval of 15ms and 5ms but it did not help - always some IR key presses are lost.

Is it any workarond possible for lost keys, that's pretty annoying?