All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-dvb] MSI TV@nywhere A/D v1.1 patch
@ 2008-02-15 14:43 Russell Kliese
  2008-02-15 22:53 ` Hartmut Hackmann
  0 siblings, 1 reply; 4+ messages in thread
From: Russell Kliese @ 2008-02-15 14:43 UTC (permalink / raw)
  To: linux-dvb

[-- Attachment #1: Type: text/plain, Size: 637 bytes --]

Hi,

I've created a patch to support the MSI TV@nywhere A/D v1.1 card. This 
card previously had firmware upload issues when using card=109. With 
this patch, it's auto-detected and I haven't experienced any firmware 
upload problems (although my testing hasn't been exhaustive, but I have 
tried a couple of cold boots).

I've tested both analog and digital TV. I haven't yet tested S-Video or 
composite inputs, so these might need to be tweaked.

It would be great if this patch could be merged into the main 
repository. If there are any special requirements to allow this to be 
done, please let me know.

Cheers,

Russell Kliese



[-- Attachment #2: v4l-dvb.diff --]
[-- Type: text/x-patch, Size: 4359 bytes --]

diff -r 20bb80659549 linux/Documentation/video4linux/CARDLIST.saa7134
--- a/linux/Documentation/video4linux/CARDLIST.saa7134	Mon Feb 11 21:08:12 2008 +0000
+++ b/linux/Documentation/video4linux/CARDLIST.saa7134	Sat Feb 16 00:40:50 2008 +1000
@@ -131,3 +131,4 @@ 130 -> Beholder BeholdTV M6 / BeholdTV M
 130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193]
 131 -> Twinhan Hybrid DTV-DVB 3056 PCI          [1822:0022]
 132 -> Genius TVGO AM11MCE
+133 -> MSI TV@nywhere A/D v1.1                  [1462:8625]
diff -r 20bb80659549 linux/drivers/media/video/saa7134/saa7134-cards.c
--- a/linux/drivers/media/video/saa7134/saa7134-cards.c	Mon Feb 11 21:08:12 2008 +0000
+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c	Sat Feb 16 00:06:18 2008 +1000
@@ -4030,6 +4030,36 @@ struct saa7134_board saa7134_boards[] = 
 			.gpio = 0x6000,
 		},
 	},
+	[SAA7134_BOARD_MSI_TVANYWHERE_AD11] = {
+		.name           = "MSI TV@nywhere A/D v1.1",
+		.audio_clock    = 0x00187de7,
+		.tuner_type     = TUNER_PHILIPS_TDA8290,
+		.radio_type     = UNSET,
+		.tuner_addr	= ADDR_UNSET,
+		.radio_addr	= ADDR_UNSET,
+		.tuner_config   = 2,
+		.mpeg           = SAA7134_MPEG_DVB,
+		.gpiomask       = 0x0200000,
+		.inputs = {{
+			.name   = name_tv,
+			.vmux   = 1,
+			.amux   = TV,
+			.tv     = 1,
+		},{
+			.name   = name_comp1,
+			.vmux   = 3,
+			.amux   = LINE1,
+		},{
+			.name   = name_svideo,
+			.vmux   = 8,
+			.amux   = LINE1,
+		}},
+		.radio = {
+			.name   = name_radio,
+			.amux   = TV,
+			.gpio   = 0x0200000,
+		},
+	},
 };
 
 const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -4980,6 +5010,12 @@ struct pci_device_id saa7134_pci_tbl[] =
 		.subvendor    = 0x1822, /*Twinhan Technology Co. Ltd*/
 		.subdevice    = 0x0022,
 		.driver_data  = SAA7134_BOARD_TWINHAN_DTV_DVB_3056,
+	},{
+		.vendor       = PCI_VENDOR_ID_PHILIPS,
+		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
+		.subvendor    = 0x1462, /* MSI */
+		.subdevice    = 0x8625, /* TV@nywhere A/D v1.1 */
+		.driver_data  = SAA7134_BOARD_MSI_TVANYWHERE_AD11,
 	},{
 		/* --- boards without eeprom + subsystem ID --- */
 		.vendor       = PCI_VENDOR_ID_PHILIPS,
@@ -5477,6 +5513,16 @@ int saa7134_board_init2(struct saa7134_d
 			break;
 		}
 		break;
+	case SAA7134_BOARD_MSI_TVANYWHERE_AD11:
+		{
+		tun_setup.mode_mask = T_ANALOG_TV | T_DIGITAL_TV;
+		tun_setup.type = TUNER_PHILIPS_TDA8290;
+		tun_setup.addr = 0x4b;
+		tun_setup.config = 2;
+
+		saa7134_i2c_call_clients (dev, TUNER_SET_TYPE_ADDR,&tun_setup);
+		}
+		break;
 	}
 	return 0;
 }
diff -r 20bb80659549 linux/drivers/media/video/saa7134/saa7134-dvb.c
--- a/linux/drivers/media/video/saa7134/saa7134-dvb.c	Mon Feb 11 21:08:12 2008 +0000
+++ b/linux/drivers/media/video/saa7134/saa7134-dvb.c	Fri Feb 15 19:32:26 2008 +1000
@@ -794,6 +794,21 @@ static struct tda1004x_config twinhan_dt
 	.request_firmware = philips_tda1004x_request_firmware
 };
 
+static struct tda1004x_config msi_tvanywhere_ad11_config = {
+	.demod_address = 0x08,
+	.invert        = 1,
+	.invert_oclk   = 0,
+	.xtal_freq     = TDA10046_XTAL_16M,
+	.agc_config    = TDA10046_AGC_TDA827X,
+	.gpio_config   = TDA10046_GP01_I,
+	.if_freq       = TDA10046_FREQ_045,
+	.i2c_gate      = 0x4b,
+	.tuner_address = 0x61,
+	.tuner_config  = 2,
+	.antenna_switch= 1,
+	.request_firmware = philips_tda1004x_request_firmware
+};
+
 /* ------------------------------------------------------------------
  * special case: this card uses saa713x GPIO22 for the mode switch
  */
@@ -1064,6 +1079,9 @@ static int dvb_init(struct saa7134_dev *
 	case SAA7134_BOARD_TWINHAN_DTV_DVB_3056:
 		configure_tda827x_fe(dev, &twinhan_dtv_dvb_3056_config);
 		break;
+	case SAA7134_BOARD_MSI_TVANYWHERE_AD11:
+		configure_tda827x_fe(dev, &msi_tvanywhere_ad11_config);
+		break;
 	default:
 		wprintk("Huh? unknown DVB card?\n");
 		break;
diff -r 20bb80659549 linux/drivers/media/video/saa7134/saa7134.h
--- a/linux/drivers/media/video/saa7134/saa7134.h	Mon Feb 11 21:08:12 2008 +0000
+++ b/linux/drivers/media/video/saa7134/saa7134.h	Wed Feb 13 21:42:57 2008 +1000
@@ -261,6 +261,7 @@ struct saa7134_format {
 #define SAA7134_BOARD_BEHOLD_M6		130
 #define SAA7134_BOARD_TWINHAN_DTV_DVB_3056 131
 #define SAA7134_BOARD_GENIUS_TVGO_A11MCE 132
+#define SAA7134_BOARD_MSI_TVANYWHERE_AD11  133
 
 #define SAA7134_MAXBOARDS 8
 #define SAA7134_INPUT_MAX 8

[-- Attachment #3: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-02-16 12:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-15 14:43 [linux-dvb] MSI TV@nywhere A/D v1.1 patch Russell Kliese
2008-02-15 22:53 ` Hartmut Hackmann
2008-02-15 23:35   ` hermann pitton
2008-02-16 12:43     ` Russell Kliese

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.