diff options
author | Oldřich Jedlička <oldium.pro@seznam.cz> | 2009-04-14 14:47:17 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-06-16 17:20:42 -0400 |
commit | d46de9d2364cad55caddc04632707f5739b4cd87 (patch) | |
tree | 69110b559a1e0a8b2de5bfa66e6ad30daab5687e | |
parent | df0dbbe24053b7c669f63341d3d3f090560c3217 (diff) |
V4L/DVB (11567): saa7134: Added support for AVerMedia Cardbus Plus
Here comes the full support for AVerMedia Cardbus Plus (E501R) - including
remote control. TV, Composite and FM radio tested, I don't have S-Video to
test. I've figured out that the radio works only with xtal frequency 13MHz.
[mchehab@redhat.com: CodingStyle fixes]
Signed-off-by: Oldřich Jedlička <oldium.pro@seznam.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 1 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 51 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 1 |
3 files changed, 53 insertions, 0 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index 8a15e2b837fc..fb3098d56d85 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -156,3 +156,4 @@ | |||
156 | 155 -> Hauppauge WinTV-HVR1120 ATSC/QAM-Hybrid [0070:6706,0070:6708] | 156 | 155 -> Hauppauge WinTV-HVR1120 ATSC/QAM-Hybrid [0070:6706,0070:6708] |
157 | 156 -> Hauppauge WinTV-HVR1110r3 [0070:6707,0070:6709,0070:670a] | 157 | 156 -> Hauppauge WinTV-HVR1110r3 [0070:6707,0070:6709,0070:670a] |
158 | 157 -> Avermedia AVerTV Studio 507UA [1461:a11b] | 158 | 157 -> Avermedia AVerTV Studio 507UA [1461:a11b] |
159 | 158 -> AVerMedia Cardbus TV/Radio (E501R) [1461:b7e9] | ||
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index eab4782861fe..e1c455827b8d 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -1669,6 +1669,39 @@ struct saa7134_board saa7134_boards[] = { | |||
1669 | .amux = LINE1, | 1669 | .amux = LINE1, |
1670 | }, | 1670 | }, |
1671 | }, | 1671 | }, |
1672 | [SAA7134_BOARD_AVERMEDIA_CARDBUS_501] = { | ||
1673 | /* Oldrich Jedlicka <oldium.pro@seznam.cz> */ | ||
1674 | .name = "AVerMedia Cardbus TV/Radio (E501R)", | ||
1675 | .audio_clock = 0x187de7, | ||
1676 | .tuner_type = TUNER_ALPS_TSBE5_PAL, | ||
1677 | .radio_type = TUNER_TEA5767, | ||
1678 | .tuner_addr = 0x61, | ||
1679 | .radio_addr = 0x60, | ||
1680 | .tda9887_conf = TDA9887_PRESENT, | ||
1681 | .gpiomask = 0x08000000, | ||
1682 | .inputs = { { | ||
1683 | .name = name_tv, | ||
1684 | .vmux = 1, | ||
1685 | .amux = TV, | ||
1686 | .tv = 1, | ||
1687 | .gpio = 0x08000000, | ||
1688 | }, { | ||
1689 | .name = name_comp1, | ||
1690 | .vmux = 3, | ||
1691 | .amux = LINE1, | ||
1692 | .gpio = 0x08000000, | ||
1693 | }, { | ||
1694 | .name = name_svideo, | ||
1695 | .vmux = 8, | ||
1696 | .amux = LINE1, | ||
1697 | .gpio = 0x08000000, | ||
1698 | } }, | ||
1699 | .radio = { | ||
1700 | .name = name_radio, | ||
1701 | .amux = LINE2, | ||
1702 | .gpio = 0x00000000, | ||
1703 | }, | ||
1704 | }, | ||
1672 | [SAA7134_BOARD_CINERGY400_CARDBUS] = { | 1705 | [SAA7134_BOARD_CINERGY400_CARDBUS] = { |
1673 | .name = "Terratec Cinergy 400 mobile", | 1706 | .name = "Terratec Cinergy 400 mobile", |
1674 | .audio_clock = 0x187de7, | 1707 | .audio_clock = 0x187de7, |
@@ -5065,6 +5098,13 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
5065 | .subdevice = 0xd6ee, | 5098 | .subdevice = 0xd6ee, |
5066 | .driver_data = SAA7134_BOARD_AVERMEDIA_CARDBUS, | 5099 | .driver_data = SAA7134_BOARD_AVERMEDIA_CARDBUS, |
5067 | },{ | 5100 | },{ |
5101 | /* AVerMedia CardBus */ | ||
5102 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
5103 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, | ||
5104 | .subvendor = 0x1461, /* Avermedia Technologies Inc */ | ||
5105 | .subdevice = 0xb7e9, | ||
5106 | .driver_data = SAA7134_BOARD_AVERMEDIA_CARDBUS_501, | ||
5107 | }, { | ||
5068 | /* TransGear 3000TV */ | 5108 | /* TransGear 3000TV */ |
5069 | .vendor = PCI_VENDOR_ID_PHILIPS, | 5109 | .vendor = PCI_VENDOR_ID_PHILIPS, |
5070 | .device = PCI_DEVICE_ID_PHILIPS_SAA7130, | 5110 | .device = PCI_DEVICE_ID_PHILIPS_SAA7130, |
@@ -6240,6 +6280,16 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
6240 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff); | 6280 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff); |
6241 | msleep(10); | 6281 | msleep(10); |
6242 | break; | 6282 | break; |
6283 | case SAA7134_BOARD_AVERMEDIA_CARDBUS_501: | ||
6284 | /* power-down tuner chip */ | ||
6285 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x08400000, 0x08400000); | ||
6286 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x08400000, 0); | ||
6287 | msleep(10); | ||
6288 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x08400000, 0x08400000); | ||
6289 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x08400000, 0x08400000); | ||
6290 | msleep(10); | ||
6291 | dev->has_remote = SAA7134_REMOTE_I2C; | ||
6292 | break; | ||
6243 | case SAA7134_BOARD_AVERMEDIA_CARDBUS_506: | 6293 | case SAA7134_BOARD_AVERMEDIA_CARDBUS_506: |
6244 | saa7134_set_gpio(dev, 23, 0); | 6294 | saa7134_set_gpio(dev, 23, 0); |
6245 | msleep(10); | 6295 | msleep(10); |
@@ -6679,6 +6729,7 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
6679 | 6729 | ||
6680 | switch (dev->board) { | 6730 | switch (dev->board) { |
6681 | case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM: | 6731 | case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM: |
6732 | case SAA7134_BOARD_AVERMEDIA_CARDBUS_501: | ||
6682 | { | 6733 | { |
6683 | struct v4l2_priv_tun_config tea5767_cfg; | 6734 | struct v4l2_priv_tun_config tea5767_cfg; |
6684 | struct tea5767_ctrl ctl; | 6735 | struct tea5767_ctrl ctl; |
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index 8d251db3a71a..a8ac046b6ebe 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -281,6 +281,7 @@ struct saa7134_format { | |||
281 | #define SAA7134_BOARD_HAUPPAUGE_HVR1120 155 | 281 | #define SAA7134_BOARD_HAUPPAUGE_HVR1120 155 |
282 | #define SAA7134_BOARD_HAUPPAUGE_HVR1110R3 156 | 282 | #define SAA7134_BOARD_HAUPPAUGE_HVR1110R3 156 |
283 | #define SAA7134_BOARD_AVERMEDIA_STUDIO_507UA 157 | 283 | #define SAA7134_BOARD_AVERMEDIA_STUDIO_507UA 157 |
284 | #define SAA7134_BOARD_AVERMEDIA_CARDBUS_501 158 | ||
284 | 285 | ||
285 | #define SAA7134_MAXBOARDS 32 | 286 | #define SAA7134_MAXBOARDS 32 |
286 | #define SAA7134_INPUT_MAX 8 | 287 | #define SAA7134_INPUT_MAX 8 |