Add support for RoverMedia TV Link Pro FM
PATCH 1/1 Add support for RoverMedia TV Link Pro FM
Hello.
This patch add support for RoverMedia TV Link Pro FM card based on saa7134.
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-26
12:07:09.000000000 +0400
+++ b/linux/Documentation/video4linux/CARDLIST.saa7134 2009-08-27
20:59:24.946147754 +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-27
20:27:10.000000000 +0400
+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c 2009-08-27
20:37:32.336277639 +0400
@@ -5182,6 +5182,55 @@ struct saa7134_board saa7134_boards[] =
.amux = LINE1
} },
},
+ [SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM] = {
+ /* Eugene Yudin <[email protected]> */
+ .name = "RoverMedia TV Link Pro FM",
+ .audio_clock = 0x00200000,
+ .tuner_type = TUNER_PHILIPS_FQ1216ME,
+ .radio_type = UNSET,
+ .tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
+
+ .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 +6345,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 +6711,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-26
12:07:11.000000000 +0400
+++ b/linux/drivers/media/video/saa7134/saa7134-input.c 2009-08-27
19:49:42.000000000 +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-26
12:07:11.000000000 +0400
+++ b/linux/drivers/media/video/saa7134/saa7134.h 2009-08-27
19:50:41.000000000 +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
Re: [PATCH] Add support for RoverMedia TV Link Pro FM v2
В сообщении от Четверг 27 августа 2009 21:04:59 автор Eugene Yudin написал:
Quoted 3 lines
Hello.
This patch add support for RoverMedia TV Link Pro FM card based on saa7134.
...
Sorry, I forgot some things. All is working now.
This patch add support for RoverMedia TV Link Pro FM card based on saa7134.
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-26
12:07:09.000000000 +0400
+++ b/linux/Documentation/video4linux/CARDLIST.saa7134 2009-08-27
20:59:24.946147754 +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-27
20:27:10.000000000 +0400
+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c 2009-08-28
00:57:15.190205787 +0400
@@ -5182,6 +5182,56 @@ struct saa7134_board saa7134_boards[] =
.amux = LINE1
} },
},
+ [SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM] = {
+ /* Eugene Yudin <[email protected]> */
+ .name = "RoverMedia TV Link Pro FM",
+ .audio_clock = 0x00200000,
+ .tuner_type = TUNER_PHILIPS_FMD1216ME_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-26
12:07:11.000000000 +0400
+++ b/linux/drivers/media/video/saa7134/saa7134-input.c 2009-08-27
19:49:42.000000000 +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-26
12:07:11.000000000 +0400
+++ b/linux/drivers/media/video/saa7134/saa7134.h 2009-08-27
19:50:41.000000000 +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
Re: [PATCH] Add support for RoverMedia TV Link Pro FM v2
Hi Eugene,
Am Freitag, den 28.08.2009, 00:59 +0400 schrieb Eugene Yudin:
Quoted 7 lines
В сообщении от Четверг 27 августа 2009 21:04:59 автор Eugene Yudin написал:
Quoted 3 lines
Hello.
This patch add support for RoverMedia TV Link Pro FM card based on saa7134.
...Sorry, I forgot some things. All is working now.
This patch add support for RoverMedia TV Link Pro FM card based on saa7134.
I bet you are still struggling with the tuner.
The FMD1216ME MK3, which has also support for digital TV, is very unlikely to be found on such a device.
Most likely you have one of the current tuner=38 TCL MK3 clones sitting on it.
Compared to the original tuner and the known clones, the FMD will have missing channels and a grainy picture on very low VHF channels. Since you don't have such an FMD, likely you can't realize that.
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 is important to know, if this could be really some ME (MultiEurope). Only then I would see an good argument to eventually duplicate all the code for a new card entry. The other tuner mess is since ever and RoverMedia seems to produce a lot of clones, like so many others since 2002. Else only auto detect it and use FV3K entry for it.
Is "four in one" checked on the tuner's sticker?
Cheers,
Hermann
Quoted 128 lines
Signed-off-by Eugene Yudin <[email protected]>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-26
12:07:09.000000000 +0400
+++ b/linux/Documentation/video4linux/CARDLIST.saa7134 2009-08-27
20:59:24.946147754 +0400(quoted diff) +1
-0@@ -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.cb/linux/drivers/media/video/saa7134/saa7134-cards.c
---a/linux/drivers/media/video/saa7134/saa7134-cards.c2009-08-27
20:27:10.000000000 +0400
+++b/linux/drivers/media/video/saa7134/saa7134-cards.c2009-08-28
00:57:15.190205787 +0400(quoted diff) +57
-0@@ -5182,6 +5182,56 @@ struct saa7134_board saa7134_boards[] = .amux = LINE1 } }, }, + [SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM] = { + /* Eugene Yudin <[email protected]> */ + .name = "RoverMedia TV Link Pro FM", + .audio_clock = 0x00200000, + .tuner_type = TUNER_PHILIPS_FMD1216ME_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.cb/linux/drivers/media/video/saa7134/saa7134-input.c
---a/linux/drivers/media/video/saa7134/saa7134-input.c2009-08-26
12:07:11.000000000 +0400
+++b/linux/drivers/media/video/saa7134/saa7134-input.c2009-08-27
19:49:42.000000000 +0400(quoted diff) +1
-0@@ -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.hb/linux/drivers/media/video/saa7134/saa7134.h
---a/linux/drivers/media/video/saa7134/saa7134.h2009-08-26
12:07:11.000000000 +0400
+++b/linux/drivers/media/video/saa7134/saa7134.h2009-08-27
19:50:41.000000000 +0400(quoted diff) +1
-0@@ -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
Re: [PATCH] Add support for RoverMedia TV Link Pro FM v2
...
Quoted 4 lines
Compared to the original tuner and the known clones, the FMD will have missing channels and a grainy picture on very low VHF channels. Since you don't have such an FMD, likely you can't realize that.
For the record.
Sorry, was of cause meant the other way round.
You will see this on tuner=38 like types and not on the FMD. The genuine FMD can also be identified by its radio and tda9887 initialization behavior.
Hermann
Re: [PATCH] Add support for RoverMedia TV Link Pro FM v3
Hi Hermann!
Quoted 2 lines
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.
Quoted 3 lines
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: --
Quoted 1 line
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!
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 <[email protected]> */
+ .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
Re: [PATCH] Add support for RoverMedia TV Link Pro FM v3
В сообщении от Пятница 28 августа 2009 18:46:01 автор Eugene Yudin написал:
Quoted 5 lines
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
Sorry, I'm a little confused. Tuner working great with:
Quoted 3 lines
alias char-major-81 videodev
alias char-major-81-0 saa7134
options saa7134 secam=dk
Dmesg:
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/input6
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
It also determined correctly with setting i2c_scan = 1, but seems to be using some other tuner.
Re: [PATCH] Add support for RoverMedia TV Link Pro FM v3
Hi Eugene,
Am Freitag, den 28.08.2009, 19:17 +0400 schrieb Eugene Yudin:
Quoted 52 lines
В сообщении от Пятница 28 августа 2009 18:46:01 автор Eugene Yudin написал:
Quoted 5 lines
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=1Sorry, I'm a little confused. Tuner working great with:
Quoted 3 lines
alias char-major-81 videodev
alias char-major-81-0 saa7134
options saa7134 secam=dkDmesg:
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/input6
IRQ 19/saa7134[0]:IRQF_DISABLEDis 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 ffsaa7134[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_DISABLEDis not guaranteed on shared IRQs saa7134[0]/alsa: saa7134[0] at0xea000000irq 19 registered as card -1
Quoted 2 lines
It also determined correctly with setting
i2c_scan= 1, but seems to be using some other tuner.
hm, because not printing tda9887 and tuner type set?
We use since years tuner=38 for that TCL MFPE05 2, also in tveeprom.c for those using that.
For me the patch looks OK now, just some details to get it to "patchwork".
We have already a card=170 meanwhile.
Their are line breakages, please also send it as attachment. In the auto detection a comment pointing to LR138 REV:I might be appropriate and one behind the Philips FM1216ME/I H-3 (MK3) mentioning that TCL tuner. Guess we will see more OEMs with MultiEurope tuners on the LR138 design in the future and we can use that entry then.
Dmitri Belimov tries to tweak that TCL better for Secam DK currently. If he gets his code in, we can also change to that dedicated tuner.
Best is to install "mercurial" and then:
"hg clone http://linuxtv.org/hg/v4l-dvb"
Try to get your patch applied on that and run "make checkpatch" once. Fix the spaces about it may complain and the like and with "hg diff > saa7134_support-Rovermedia-etc....patch" you likely have something ready for inclusion then. Don't forget to attach it as well and test it once.
Cheers,
Hermann
Re: [PATCH] Add support for RoverMedia TV Link Pro FM v3
Hello Hermann!
Quoted 1 line
hm, because not printing tda9887 and tuner type set?
I checked again. This is not observed now. It seems that repairs antenna at this time. Sorry for my mistake.
I will try to accommodate all your wishes. I hope that I will make it. Thank you for your great help and advices!
Best Regards,
Eugene.
PATCH 1/1 Add support for RoverMedia TV Link Pro FM
This patch add support for RoverMedia TV Link Pro FM (LR138 REV:I) card based on saa7134.
Best Regards,
Eugene
linux/Documentation/video4linux/CARDLIST.saa7134 +1 -0
@@ -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]
linux/drivers/media/video/saa7134/saa7134-cards.c +57 -0
75 lines not on this page · raw message
linux/drivers/media/video/saa7134/saa7134-input.c +1 -0
@@ -456,6 +456,7 @@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 ;
linux/drivers/media/video/saa7134/saa7134.h +1 -0
@@ -294,6 +294,7 @@#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