diff options
author | Mauro Carvalho Chehab <mchehab@brturbo.com.br> | 2005-06-24 01:05:09 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-24 03:06:39 -0400 |
commit | ac19ecc6fa57b0ea320f01831175ff163f47d6a2 (patch) | |
tree | e57248fd223eddb98a43eed6abbac704863a0abd /drivers/media/video/saa7134/saa7134-cards.c | |
parent | 56fc08ca375491b965cb76fad65bfb98973e80d8 (diff) |
[PATCH] v4l: update for SAA7134 cards
This patch adds support for various SAA7134 cards and brings some fixes.
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Fabrice Aeschbacher <fabrice.aeschbacher@laposte.net>
Signed-off-by: Hermann Pitton <hermann.pitton@onlinehome.de>.
Signed-off-by: Nickolay V Shmyrev <nshmyrev@yandex.ru>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-cards.c')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 163 |
1 files changed, 147 insertions, 16 deletions
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index c51eb7f078d3..0c781e24c446 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -1,6 +1,6 @@ | |||
1 | 1 | ||
2 | /* | 2 | /* |
3 | * $Id: saa7134-cards.c,v 1.54 2005/03/07 12:01:51 kraxel Exp $ | 3 | * $Id: saa7134-cards.c,v 1.58 2005/06/07 18:05:00 nsh Exp $ |
4 | * | 4 | * |
5 | * device driver for philips saa7134 based TV cards | 5 | * device driver for philips saa7134 based TV cards |
6 | * card-specific stuff. | 6 | * card-specific stuff. |
@@ -165,7 +165,7 @@ struct saa7134_board saa7134_boards[] = { | |||
165 | .inputs = {{ | 165 | .inputs = {{ |
166 | .name = name_tv, | 166 | .name = name_tv, |
167 | .vmux = 1, | 167 | .vmux = 1, |
168 | .amux = LINE2, | 168 | .amux = TV, |
169 | .tv = 1, | 169 | .tv = 1, |
170 | },{ | 170 | },{ |
171 | .name = name_comp1, | 171 | .name = name_comp1, |
@@ -878,7 +878,7 @@ struct saa7134_board saa7134_boards[] = { | |||
878 | }, | 878 | }, |
879 | [SAA7134_BOARD_MANLI_MTV002] = { | 879 | [SAA7134_BOARD_MANLI_MTV002] = { |
880 | /* Ognjen Nastic <ognjen@logosoft.ba> */ | 880 | /* Ognjen Nastic <ognjen@logosoft.ba> */ |
881 | .name = "Manli MuchTV M-TV002", | 881 | .name = "Manli MuchTV M-TV002/Behold TV 403 FM", |
882 | .audio_clock = 0x00200000, | 882 | .audio_clock = 0x00200000, |
883 | .tuner_type = TUNER_PHILIPS_PAL, | 883 | .tuner_type = TUNER_PHILIPS_PAL, |
884 | .inputs = {{ | 884 | .inputs = {{ |
@@ -899,14 +899,10 @@ struct saa7134_board saa7134_boards[] = { | |||
899 | .name = name_radio, | 899 | .name = name_radio, |
900 | .amux = LINE2, | 900 | .amux = LINE2, |
901 | }, | 901 | }, |
902 | .mute = { | ||
903 | .name = name_mute, | ||
904 | .amux = LINE1, | ||
905 | }, | ||
906 | }, | 902 | }, |
907 | [SAA7134_BOARD_MANLI_MTV001] = { | 903 | [SAA7134_BOARD_MANLI_MTV001] = { |
908 | /* Ognjen Nastic <ognjen@logosoft.ba> UNTESTED */ | 904 | /* Ognjen Nastic <ognjen@logosoft.ba> UNTESTED */ |
909 | .name = "Manli MuchTV M-TV001", | 905 | .name = "Manli MuchTV M-TV001/Behold TV 401", |
910 | .audio_clock = 0x00200000, | 906 | .audio_clock = 0x00200000, |
911 | .tuner_type = TUNER_PHILIPS_PAL, | 907 | .tuner_type = TUNER_PHILIPS_PAL, |
912 | .inputs = {{ | 908 | .inputs = {{ |
@@ -923,6 +919,10 @@ struct saa7134_board saa7134_boards[] = { | |||
923 | .amux = LINE2, | 919 | .amux = LINE2, |
924 | .tv = 1, | 920 | .tv = 1, |
925 | }}, | 921 | }}, |
922 | .mute = { | ||
923 | .name = name_mute, | ||
924 | .amux = LINE1, | ||
925 | }, | ||
926 | }, | 926 | }, |
927 | [SAA7134_BOARD_TG3000TV] = { | 927 | [SAA7134_BOARD_TG3000TV] = { |
928 | /* TransGear 3000TV */ | 928 | /* TransGear 3000TV */ |
@@ -1078,7 +1078,6 @@ struct saa7134_board saa7134_boards[] = { | |||
1078 | .audio_clock = 0x00187de7, | 1078 | .audio_clock = 0x00187de7, |
1079 | .tuner_type = TUNER_PHILIPS_FM1256_IH3, | 1079 | .tuner_type = TUNER_PHILIPS_FM1256_IH3, |
1080 | .tda9887_conf = TDA9887_PRESENT, | 1080 | .tda9887_conf = TDA9887_PRESENT, |
1081 | .gpiomask = 0x3, | ||
1082 | .inputs = {{ | 1081 | .inputs = {{ |
1083 | .name = name_tv, | 1082 | .name = name_tv, |
1084 | .vmux = 1, | 1083 | .vmux = 1, |
@@ -1285,7 +1284,7 @@ struct saa7134_board saa7134_boards[] = { | |||
1285 | .gpio =0x8000, | 1284 | .gpio =0x8000, |
1286 | } | 1285 | } |
1287 | }, | 1286 | }, |
1288 | [SAA7134_BOARD_AVERMEDIA_307] = { | 1287 | [SAA7134_BOARD_AVERMEDIA_STUDIO_307] = { |
1289 | /* | 1288 | /* |
1290 | Nickolay V. Shmyrev <nshmyrev@yandex.ru> | 1289 | Nickolay V. Shmyrev <nshmyrev@yandex.ru> |
1291 | Lots of thanks to Andrey Zolotarev <zolotarev_andrey@mail.ru> | 1290 | Lots of thanks to Andrey Zolotarev <zolotarev_andrey@mail.ru> |
@@ -1323,6 +1322,35 @@ struct saa7134_board saa7134_boards[] = { | |||
1323 | .gpio = 0x01, | 1322 | .gpio = 0x01, |
1324 | }, | 1323 | }, |
1325 | }, | 1324 | }, |
1325 | [SAA7134_BOARD_AVERMEDIA_GO_007_FM] = { | ||
1326 | .name = "Avermedia AVerTV GO 007 FM", | ||
1327 | .audio_clock = 0x00187de7, | ||
1328 | .tuner_type = TUNER_PHILIPS_TDA8290, | ||
1329 | .gpiomask = 0x00300003, | ||
1330 | // .gpiomask = 0x8c240003, | ||
1331 | .inputs = {{ | ||
1332 | .name = name_tv, | ||
1333 | .vmux = 1, | ||
1334 | .amux = TV, | ||
1335 | .tv = 1, | ||
1336 | .gpio = 0x01, | ||
1337 | },{ | ||
1338 | .name = name_comp1, | ||
1339 | .vmux = 0, | ||
1340 | .amux = LINE2, | ||
1341 | .gpio = 0x02, | ||
1342 | },{ | ||
1343 | .name = name_svideo, | ||
1344 | .vmux = 6, | ||
1345 | .amux = LINE2, | ||
1346 | .gpio = 0x02, | ||
1347 | }}, | ||
1348 | .radio = { | ||
1349 | .name = name_radio, | ||
1350 | .amux = LINE1, | ||
1351 | .gpio = 0x00300001, | ||
1352 | }, | ||
1353 | }, | ||
1326 | [SAA7134_BOARD_AVERMEDIA_CARDBUS] = { | 1354 | [SAA7134_BOARD_AVERMEDIA_CARDBUS] = { |
1327 | /* Jon Westgate <oryn@oryn.fsck.tv> */ | 1355 | /* Jon Westgate <oryn@oryn.fsck.tv> */ |
1328 | .name = "AVerMedia Cardbus TV/Radio", | 1356 | .name = "AVerMedia Cardbus TV/Radio", |
@@ -1492,7 +1520,6 @@ struct saa7134_board saa7134_boards[] = { | |||
1492 | .audio_clock = 0x00187de7, | 1520 | .audio_clock = 0x00187de7, |
1493 | .tuner_type = TUNER_PHILIPS_FQ1216ME, | 1521 | .tuner_type = TUNER_PHILIPS_FQ1216ME, |
1494 | .tda9887_conf = TDA9887_PRESENT, | 1522 | .tda9887_conf = TDA9887_PRESENT, |
1495 | .gpiomask = 0x3, | ||
1496 | .inputs = {{ | 1523 | .inputs = {{ |
1497 | .name = name_tv, | 1524 | .name = name_tv, |
1498 | .vmux = 1, | 1525 | .vmux = 1, |
@@ -1546,7 +1573,82 @@ struct saa7134_board saa7134_boards[] = { | |||
1546 | // .gpio = 0x4000, | 1573 | // .gpio = 0x4000, |
1547 | }}, | 1574 | }}, |
1548 | }, | 1575 | }, |
1549 | }; | 1576 | [SAA7134_BOARD_AVERMEDIA_307] = { |
1577 | /* | ||
1578 | Davydov Vladimir <vladimir@iqmedia.com> | ||
1579 | */ | ||
1580 | .name = "Avermedia AVerTV 307", | ||
1581 | .audio_clock = 0x00187de7, | ||
1582 | .tuner_type = TUNER_PHILIPS_FQ1216ME, | ||
1583 | .tda9887_conf = TDA9887_PRESENT, | ||
1584 | .inputs = {{ | ||
1585 | .name = name_tv, | ||
1586 | .vmux = 1, | ||
1587 | .amux = TV, | ||
1588 | .tv = 1, | ||
1589 | },{ | ||
1590 | .name = name_comp1, | ||
1591 | .vmux = 0, | ||
1592 | .amux = LINE1, | ||
1593 | },{ | ||
1594 | .name = name_comp2, | ||
1595 | .vmux = 3, | ||
1596 | .amux = LINE1, | ||
1597 | },{ | ||
1598 | .name = name_svideo, | ||
1599 | .vmux = 8, | ||
1600 | .amux = LINE1, | ||
1601 | }}, | ||
1602 | }, | ||
1603 | [SAA7134_BOARD_ADS_INSTANT_TV] = { | ||
1604 | .name = "ADS Tech Instant TV (saa7135)", | ||
1605 | .audio_clock = 0x00187de7, | ||
1606 | .tuner_type = TUNER_PHILIPS_TDA8290, | ||
1607 | .inputs = {{ | ||
1608 | .name = name_tv, | ||
1609 | .vmux = 1, | ||
1610 | .amux = TV, | ||
1611 | .tv = 1, | ||
1612 | },{ | ||
1613 | .name = name_comp1, | ||
1614 | .vmux = 3, | ||
1615 | .amux = LINE2, | ||
1616 | },{ | ||
1617 | .name = name_svideo, | ||
1618 | .vmux = 8, | ||
1619 | .amux = LINE2, | ||
1620 | }}, | ||
1621 | }, | ||
1622 | [SAA7134_BOARD_KWORLD_VSTREAM_XPERT] = { | ||
1623 | .name = "Kworld/Tevion V-Stream Xpert TV PVR7134", | ||
1624 | .audio_clock = 0x00187de7, | ||
1625 | .tuner_type = TUNER_PHILIPS_PAL_I, | ||
1626 | .gpiomask = 0x0700, | ||
1627 | .inputs = {{ | ||
1628 | .name = name_tv, | ||
1629 | .vmux = 1, | ||
1630 | .amux = TV, | ||
1631 | .tv = 1, | ||
1632 | .gpio = 0x000, | ||
1633 | },{ | ||
1634 | .name = name_comp1, | ||
1635 | .vmux = 3, | ||
1636 | .amux = LINE1, | ||
1637 | .gpio = 0x200, //gpio by DScaler | ||
1638 | },{ | ||
1639 | .name = name_svideo, | ||
1640 | .vmux = 0, | ||
1641 | .amux = LINE1, | ||
1642 | .gpio = 0x200, | ||
1643 | }}, | ||
1644 | .radio = { | ||
1645 | .name = name_radio, | ||
1646 | .amux = LINE1, | ||
1647 | .gpio = 0x100, | ||
1648 | }, | ||
1649 | }, | ||
1650 | }; | ||
1651 | |||
1550 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 1652 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); |
1551 | 1653 | ||
1552 | /* ------------------------------------------------------------------ */ | 1654 | /* ------------------------------------------------------------------ */ |
@@ -1663,7 +1765,7 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
1663 | .driver_data = SAA7134_BOARD_ASUSTeK_TVFM7134, | 1765 | .driver_data = SAA7134_BOARD_ASUSTeK_TVFM7134, |
1664 | },{ | 1766 | },{ |
1665 | .vendor = PCI_VENDOR_ID_PHILIPS, | 1767 | .vendor = PCI_VENDOR_ID_PHILIPS, |
1666 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | 1768 | .device = PCI_DEVICE_ID_PHILIPS_SAA7135, |
1667 | .subvendor = PCI_VENDOR_ID_ASUSTEK, | 1769 | .subvendor = PCI_VENDOR_ID_ASUSTEK, |
1668 | .subdevice = 0x4845, | 1770 | .subdevice = 0x4845, |
1669 | .driver_data = SAA7135_BOARD_ASUSTeK_TVFM7135, | 1771 | .driver_data = SAA7135_BOARD_ASUSTeK_TVFM7135, |
@@ -1824,6 +1926,12 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
1824 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, | 1926 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, |
1825 | .subvendor = 0x1461, /* Avermedia Technologies Inc */ | 1927 | .subvendor = 0x1461, /* Avermedia Technologies Inc */ |
1826 | .subdevice = 0x9715, | 1928 | .subdevice = 0x9715, |
1929 | .driver_data = SAA7134_BOARD_AVERMEDIA_STUDIO_307, | ||
1930 | },{ | ||
1931 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
1932 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, | ||
1933 | .subvendor = 0x1461, /* Avermedia Technologies Inc */ | ||
1934 | .subdevice = 0xa70a, | ||
1827 | .driver_data = SAA7134_BOARD_AVERMEDIA_307, | 1935 | .driver_data = SAA7134_BOARD_AVERMEDIA_307, |
1828 | },{ | 1936 | },{ |
1829 | .vendor = PCI_VENDOR_ID_PHILIPS, | 1937 | .vendor = PCI_VENDOR_ID_PHILIPS, |
@@ -1844,6 +1952,26 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
1844 | .subvendor = 0x5168, | 1952 | .subvendor = 0x5168, |
1845 | .subdevice = 0x0306, | 1953 | .subdevice = 0x0306, |
1846 | .driver_data = SAA7134_BOARD_FLYDVBTDUO, | 1954 | .driver_data = SAA7134_BOARD_FLYDVBTDUO, |
1955 | },{ | ||
1956 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
1957 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
1958 | .subvendor = 0x1461, /* Avermedia Technologies Inc */ | ||
1959 | .subdevice = 0xf31f, | ||
1960 | .driver_data = SAA7134_BOARD_AVERMEDIA_GO_007_FM, | ||
1961 | |||
1962 | },{ | ||
1963 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
1964 | .device = PCI_DEVICE_ID_PHILIPS_SAA7135, | ||
1965 | .subvendor = 0x1421, | ||
1966 | .subdevice = 0x0350, /* PCI version */ | ||
1967 | .driver_data = SAA7134_BOARD_ADS_INSTANT_TV, | ||
1968 | |||
1969 | },{ | ||
1970 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
1971 | .device = PCI_DEVICE_ID_PHILIPS_SAA7135, | ||
1972 | .subvendor = 0x1421, | ||
1973 | .subdevice = 0x0370, /* cardbus version */ | ||
1974 | .driver_data = SAA7134_BOARD_ADS_INSTANT_TV, | ||
1847 | 1975 | ||
1848 | },{ | 1976 | },{ |
1849 | /* --- boards without eeprom + subsystem ID --- */ | 1977 | /* --- boards without eeprom + subsystem ID --- */ |
@@ -1954,20 +2082,23 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
1954 | dev->has_remote = 1; | 2082 | dev->has_remote = 1; |
1955 | board_flyvideo(dev); | 2083 | board_flyvideo(dev); |
1956 | break; | 2084 | break; |
1957 | case SAA7134_BOARD_FLYTVPLATINUM_FM: | 2085 | case SAA7134_BOARD_FLYTVPLATINUM_FM: |
1958 | case SAA7134_BOARD_CINERGY400: | 2086 | case SAA7134_BOARD_CINERGY400: |
1959 | case SAA7134_BOARD_CINERGY600: | 2087 | case SAA7134_BOARD_CINERGY600: |
1960 | case SAA7134_BOARD_CINERGY600_MK3: | 2088 | case SAA7134_BOARD_CINERGY600_MK3: |
1961 | case SAA7134_BOARD_ECS_TVP3XP: | 2089 | case SAA7134_BOARD_ECS_TVP3XP: |
1962 | case SAA7134_BOARD_ECS_TVP3XP_4CB5: | 2090 | case SAA7134_BOARD_ECS_TVP3XP_4CB5: |
1963 | case SAA7134_BOARD_MD2819: | 2091 | case SAA7134_BOARD_MD2819: |
2092 | case SAA7134_BOARD_KWORLD_VSTREAM_XPERT: | ||
1964 | case SAA7134_BOARD_AVERMEDIA_STUDIO_305: | 2093 | case SAA7134_BOARD_AVERMEDIA_STUDIO_305: |
1965 | case SAA7134_BOARD_AVERMEDIA_305: | 2094 | case SAA7134_BOARD_AVERMEDIA_305: |
2095 | case SAA7134_BOARD_AVERMEDIA_STUDIO_307: | ||
1966 | case SAA7134_BOARD_AVERMEDIA_307: | 2096 | case SAA7134_BOARD_AVERMEDIA_307: |
2097 | case SAA7134_BOARD_AVERMEDIA_GO_007_FM: | ||
1967 | // case SAA7134_BOARD_SABRENT_SBTTVFM: /* not finished yet */ | 2098 | // case SAA7134_BOARD_SABRENT_SBTTVFM: /* not finished yet */ |
1968 | case SAA7134_BOARD_VIDEOMATE_TV_PVR: | 2099 | case SAA7134_BOARD_VIDEOMATE_TV_PVR: |
1969 | dev->has_remote = 1; | 2100 | case SAA7134_BOARD_MANLI_MTV001: |
1970 | break; | 2101 | case SAA7134_BOARD_MANLI_MTV002: |
1971 | case SAA7134_BOARD_AVACSSMARTTV: | 2102 | case SAA7134_BOARD_AVACSSMARTTV: |
1972 | dev->has_remote = 1; | 2103 | dev->has_remote = 1; |
1973 | break; | 2104 | break; |