Re: [PATCH] Add support for RoverMedia TV Link Pro FM v3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Hermann!

> Most likely you have one of the current tuner=38 TCL MK3 clones sitting
> on it.
You're right. Thanks much. This tuner is better suited. The picture was better 
on some channels.

> I suggest to start with tuner=38, enable debug=2 for tda9887 and switch
> between 2 or three channels and try also the radio mode. Is a tda9887
> active?
It seems that active.

[eugene@arch ~]$ dmesg | grep tda
tda9887 2-0043: configure for: Radio Mono
tda9887 2-0043: writing: b=0x4c c=0x30 e=0x3d
tda9887 2-0043: write: byte B 0x4c
tda9887 2-0043:   B0   video mode      : sound trap
tda9887 2-0043:   B1   auto mute fm    : no
tda9887 2-0043:   B2   carrier mode    : QSS
tda9887 2-0043:   B3-4 tv sound/radio  : FM/radio
tda9887 2-0043:   B5   force mute audio: no
tda9887 2-0043:   B6   output port 1   : high (inactive)
tda9887 2-0043:   B7   output port 2   : low (active)
tda9887 2-0043: write: byte C 0x30
tda9887 2-0043:   C0-4 top adjustment  : 0 dB
tda9887 2-0043:   C5-6 de-emphasis     : no
tda9887 2-0043:   C7   audio gain      : 0
tda9887 2-0043: write: byte E 0x3d
tda9887 2-0043:   E0-1 sound carrier   : 5.5 MHz
tda9887 2-0043:   E6   l pll gating   : 13
tda9887 2-0043:   E2-4 video if        : 44 MHz
tda9887 2-0043:   E7   vif agc output  : fm radio carrier afc
tda9887 2-0043: --
tda9887 2-0043: configure for: Radio Mono
tda9887 2-0043: writing: b=0x4c c=0x30 e=0x3d
tda9887 2-0043: write: byte B 0x4c
tda9887 2-0043:   B0   video mode      : sound trap
tda9887 2-0043:   B1   auto mute fm    : no
tda9887 2-0043:   B2   carrier mode    : QSS
tda9887 2-0043:   B3-4 tv sound/radio  : FM/radio
tda9887 2-0043:   B5   force mute audio: no
tda9887 2-0043:   B6   output port 1   : high (inactive)
tda9887 2-0043:   B7   output port 2   : low (active)
tda9887 2-0043: write: byte C 0x30
tda9887 2-0043:   C0-4 top adjustment  : 0 dB
tda9887 2-0043:   C5-6 de-emphasis     : no
tda9887 2-0043:   C7   audio gain      : 0
tda9887 2-0043: write: byte E 0x3d
tda9887 2-0043:   E0-1 sound carrier   : 5.5 MHz
tda9887 2-0043:   E6   l pll gating   : 13
tda9887 2-0043:   E2-4 video if        : 44 MHz
tda9887 2-0043:   E7   vif agc output  : fm radio carrier afc
tda9887 2-0043: --
tda9887 2-0043: configure for: SECAM-DK
tda9887 2-0043: writing: b=0x14 c=0x70 e=0x4b
tda9887 2-0043: write: byte B 0x14
tda9887 2-0043:   B0   video mode      : sound trap
tda9887 2-0043:   B1   auto mute fm    : no
tda9887 2-0043:   B2   carrier mode    : QSS
tda9887 2-0043:   B3-4 tv sound/radio  : FM/TV
tda9887 2-0043:   B5   force mute audio: no
tda9887 2-0043:   B6   output port 1   : low (active)
tda9887 2-0043:   B7   output port 2   : low (active)
tda9887 2-0043: write: byte C 0x70
tda9887 2-0043:   C0-4 top adjustment  : 0 dB
tda9887 2-0043:   C5-6 de-emphasis     : 50
tda9887 2-0043:   C7   audio gain      : 0
tda9887 2-0043: write: byte E 0x4b
tda9887 2-0043:   E0-1 sound carrier   : 6.5 MHz / AM
tda9887 2-0043:   E6   l pll gating   : 36
tda9887 2-0043:   E2-4 video if        : 38.9 MHz
tda9887 2-0043:   E5   tuner gain      : normal
tda9887 2-0043:   E7   vif agc output  : pin3+pin22 port
tda9887 2-0043: --
tda9887 2-0043: configure for: SECAM-DK
tda9887 2-0043: writing: b=0x14 c=0x70 e=0x4b
tda9887 2-0043: write: byte B 0x14
tda9887 2-0043:   B0   video mode      : sound trap
tda9887 2-0043:   B1   auto mute fm    : no
tda9887 2-0043:   B2   carrier mode    : QSS
tda9887 2-0043:   B3-4 tv sound/radio  : FM/TV
tda9887 2-0043:   B5   force mute audio: no
tda9887 2-0043:   B6   output port 1   : low (active)
tda9887 2-0043:   B7   output port 2   : low (active)
tda9887 2-0043: write: byte C 0x70
tda9887 2-0043:   C0-4 top adjustment  : 0 dB
tda9887 2-0043:   C5-6 de-emphasis     : 50
tda9887 2-0043:   C7   audio gain      : 0
tda9887 2-0043: write: byte E 0x4b
tda9887 2-0043:   E0-1 sound carrier   : 6.5 MHz / AM
tda9887 2-0043:   E6   l pll gating   : 36
tda9887 2-0043:   E2-4 video if        : 38.9 MHz
tda9887 2-0043:   E5   tuner gain      : normal
tda9887 2-0043:   E7   vif agc output  : pin3+pin22 port
tda9887 2-0043: --
tda9887 2-0043: configure for: PAL-BGHN
tda9887 2-0043: writing: b=0x14 c=0x70 e=0x49
tda9887 2-0043: write: byte B 0x14
tda9887 2-0043:   B0   video mode      : sound trap
tda9887 2-0043:   B1   auto mute fm    : no
tda9887 2-0043:   B2   carrier mode    : QSS
tda9887 2-0043:   B3-4 tv sound/radio  : FM/TV
tda9887 2-0043:   B5   force mute audio: no
tda9887 2-0043:   B6   output port 1   : low (active)
tda9887 2-0043:   B7   output port 2   : low (active)
tda9887 2-0043: write: byte C 0x70
tda9887 2-0043:   C0-4 top adjustment  : 0 dB
tda9887 2-0043:   C5-6 de-emphasis     : 50
tda9887 2-0043:   C7   audio gain      : 0
tda9887 2-0043: write: byte E 0x49
tda9887 2-0043:   E0-1 sound carrier   : 5.5 MHz
tda9887 2-0043:   E6   l pll gating   : 36
tda9887 2-0043:   E2-4 video if        : 38.9 MHz
tda9887 2-0043:   E5   tuner gain      : normal
tda9887 2-0043:   E7   vif agc output  : pin3+pin22 port
tda9887 2-0043: --

> Is "four in one" checked on the tuner's sticker?
Yes, it is. I also made a photo(3 Mb) of this board 
(http://img34.imageshack.us/img34/7330/img1417d.jpg).
Under the label was marked "TCL MFPE05".

Updated patch is at the end of letter. I also checked the auto-detection. It 
works correctly with this "modprobe.conf":
alias char-major-81 videodev
alias char-major-81-0 saa7134
options saa7134 i2c_scan=1

Dmesg:
[eugene@arch ~]$ dmesg | grep saa
saa7130/34: v4l2 driver version 0.2.15 loaded
saa7134 0000:01:07.0: PCI INT A -> Link[APC4] -> GSI 19 (level, high) -> IRQ 
19
saa7134[0]: found at 0000:01:07.0, rev: 1, irq: 19, latency: 32, mmio: 
0xea000000
saa7134[0]: subsystem: 19d1:0138, board: RoverMedia TV Link Pro FM 
[card=170,autodetected]
saa7134[0]: board init: gpio is 3b000                                                     
input: saa7134 IR (RoverMedia TV Link  as 
/devices/pci0000:00/0000:00:08.0/0000:01:07.0/input/input5                                                                                      
IRQ 19/saa7134[0]: IRQF_DISABLED is not guaranteed on shared IRQs                            
saa7134[0]: i2c eeprom 00: d1 19 38 01 10 28 ff ff ff ff ff ff ff ff ff ff                   
saa7134[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7134[0]: i2c scan: found device @ 0x86  [tda9887]
saa7134[0]: i2c scan: found device @ 0xa0  [eeprom]
saa7134[0]: i2c scan: found device @ 0xc2  [???]
tuner 2-0043: chip found @ 0x86 (saa7134[0])
tuner 2-0061: chip found @ 0xc2 (saa7134[0])
saa7134[0]: registered device video0 [v4l2]
saa7134[0]: registered device vbi0
saa7134[0]: registered device radio0
saa7134 ALSA driver for DMA sound loaded
IRQ 19/saa7134[0]: IRQF_DISABLED is not guaranteed on shared IRQs
saa7134[0]/alsa: saa7134[0] at 0xea000000 irq 19 registered as card -1

Once again, many thanks!

Signed-off-by: Eugene Yudin <Eugene.Yudin@xxxxxxxxx>

Best Regards, Eugene.

diff -uprN a/linux/Documentation/video4linux/CARDLIST.saa7134 
b/linux/Documentation/video4linux/CARDLIST.saa7134
--- a/linux/Documentation/video4linux/CARDLIST.saa7134	2009-08-28 
14:11:53.000000000 +0400
+++ b/linux/Documentation/video4linux/CARDLIST.saa7134	2009-08-28 
17:59:29.286336586 +0400
@@ -168,3 +168,4 @@
 167 -> Beholder BeholdTV 609 RDS                [5ace:6092]
 168 -> Beholder BeholdTV 609 RDS                [5ace:6093]
 169 -> Compro VideoMate S350/S300               [185b:c900]
+170 -> RoverMedia TV Link Pro FM                [19d1:0138]
diff -uprN a/linux/drivers/media/video/saa7134/saa7134-cards.c 
b/linux/drivers/media/video/saa7134/saa7134-cards.c
--- a/linux/drivers/media/video/saa7134/saa7134-cards.c	2009-08-28 
14:11:55.000000000 +0400
+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c	2009-08-28 
18:06:47.419626739 +0400
@@ -5182,6 +5182,56 @@ struct saa7134_board saa7134_boards[] = 
 			.amux	= LINE1
 		} },
 	},
+	[SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM] = {
+		/* Eugene Yudin <Eugene.Yudin@xxxxxxxxx> */
+		.name		= "RoverMedia TV Link Pro FM",
+		.audio_clock	= 0x00200000,
+		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3,
+		.radio_type     = UNSET,
+		.tuner_addr	= ADDR_UNSET,
+		.radio_addr	= ADDR_UNSET,
+		.tda9887_conf   = TDA9887_PRESENT,
+
+		.gpiomask       = 0xe000,
+		.inputs         = {{
+			.name = name_tv,
+			.vmux = 1,
+			.amux = TV,
+			.gpio = 0x8000,
+			.tv   = 1,
+		},{
+			.name = name_tv_mono,
+			.vmux = 1,
+			.amux = LINE2,
+			.gpio = 0x0000,
+			.tv   = 1,
+		},{
+			.name = name_comp1,
+			.vmux = 0,
+			.amux = LINE2,
+			.gpio = 0x4000,
+		},{
+			.name = name_comp2,
+			.vmux = 3,
+			.amux = LINE2,
+			.gpio = 0x4000,
+		},{
+			.name = name_svideo,
+			.vmux = 8,
+			.amux = LINE2,
+			.gpio = 0x4000,
+		}},
+		.radio = {
+			.name = name_radio,
+			.amux = LINE2,
+			.gpio = 0x2000,
+		},
+		.mute = {
+			.name = name_mute,
+			.amux = TV,
+			.gpio = 0x8000,
+		},
+	},
 };
 
 const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -6296,6 +6346,12 @@ struct pci_device_id saa7134_pci_tbl[] =
 		.subdevice    = 0xc900,
 		.driver_data  = SAA7134_BOARD_VIDEOMATE_S350,
 	}, {
+		.vendor       = PCI_VENDOR_ID_PHILIPS,
+		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
+		.subvendor    = 0x19d1, /* RoverMedia */
+		.subdevice    = 0x0138, /* LifeView FlyTV Prime30 OEM */
+		.driver_data  = SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM,
+	}, {
 		/* --- boards without eeprom + subsystem ID --- */
 		.vendor       = PCI_VENDOR_ID_PHILIPS,
 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
@@ -6656,6 +6712,7 @@ int saa7134_board_init1(struct saa7134_d
 	case SAA7134_BOARD_REAL_ANGEL_220:
 	case SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG:
 	case SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS:
+	case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM:
 		dev->has_remote = SAA7134_REMOTE_GPIO;
 		break;
 	case SAA7134_BOARD_FLYDVBS_LR300:
diff -uprN a/linux/drivers/media/video/saa7134/saa7134-input.c 
b/linux/drivers/media/video/saa7134/saa7134-input.c
--- a/linux/drivers/media/video/saa7134/saa7134-input.c	2009-08-28 
14:11:55.000000000 +0400
+++ b/linux/drivers/media/video/saa7134/saa7134-input.c	2009-08-28 
18:07:15.409625963 +0400
@@ -456,6 +456,7 @@ int saa7134_input_init1(struct saa7134_d
 	case SAA7134_BOARD_FLYVIDEO3000:
 	case SAA7134_BOARD_FLYTVPLATINUM_FM:
 	case SAA7134_BOARD_FLYTVPLATINUM_MINI2:
+	case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM:
 		ir_codes     = ir_codes_flyvideo;
 		mask_keycode = 0xEC00000;
 		mask_keydown = 0x0040000;
diff -uprN a/linux/drivers/media/video/saa7134/saa7134.h 
b/linux/drivers/media/video/saa7134/saa7134.h
--- a/linux/drivers/media/video/saa7134/saa7134.h	2009-08-28 
14:11:55.000000000 +0400
+++ b/linux/drivers/media/video/saa7134/saa7134.h	2009-08-28 
18:00:10.563752295 +0400
@@ -294,6 +294,7 @@ struct saa7134_format {
 #define SAA7134_BOARD_BEHOLD_609RDS_MK3     167
 #define SAA7134_BOARD_BEHOLD_609RDS_MK5     168
 #define SAA7134_BOARD_VIDEOMATE_S350        169
+#define SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM     170
 
 #define SAA7134_MAXBOARDS 32
 #define SAA7134_INPUT_MAX 8



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

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux