diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2007-09-11 10:59:15 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-09 21:04:54 -0400 |
commit | 372978055dd564d97ca1b4099c99296eaff1fe19 (patch) | |
tree | 956775ff2bde4ab23a85326b2284be997e8607fd /drivers/media/video/ivtv/ivtv-cards.c | |
parent | 2cc720957a743ef59f9925ecfef5f71f08387d8b (diff) |
V4L/DVB (5995): ivtv: add AverMedia M116
- Split Club3D card from Yuan PG600-2, GotView PCI DVD Lite
(different composite input)
- Add AVerTV MCE 116 Plus (M116) card
- Allow Xceive cards to be used without Xceive support
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-cards.c')
-rw-r--r-- | drivers/media/video/ivtv/ivtv-cards.c | 81 |
1 files changed, 68 insertions, 13 deletions
diff --git a/drivers/media/video/ivtv/ivtv-cards.c b/drivers/media/video/ivtv/ivtv-cards.c index e51d7cc35b1c..b6a8be622d3c 100644 --- a/drivers/media/video/ivtv/ivtv-cards.c +++ b/drivers/media/video/ivtv/ivtv-cards.c | |||
@@ -823,9 +823,7 @@ static const struct ivtv_card ivtv_card_dctmvtvp1 = { | |||
823 | 823 | ||
824 | /* ------------------------------------------------------------------------- */ | 824 | /* ------------------------------------------------------------------------- */ |
825 | 825 | ||
826 | #ifdef HAVE_XC3028 | 826 | /* Yuan PG600-2/GotView PCI DVD Lite cards */ |
827 | |||
828 | /* Yuan PG600-2/GotView PCI DVD Lite/Club3D ZAP-TV1x01 cards */ | ||
829 | 827 | ||
830 | static const struct ivtv_card_pci_info ivtv_pci_pg600v2[] = { | 828 | static const struct ivtv_card_pci_info ivtv_pci_pg600v2[] = { |
831 | { PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_YUAN3, 0x0600 }, | 829 | { PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_YUAN3, 0x0600 }, |
@@ -835,30 +833,87 @@ static const struct ivtv_card_pci_info ivtv_pci_pg600v2[] = { | |||
835 | 833 | ||
836 | static const struct ivtv_card ivtv_card_pg600v2 = { | 834 | static const struct ivtv_card ivtv_card_pg600v2 = { |
837 | .type = IVTV_CARD_PG600V2, | 835 | .type = IVTV_CARD_PG600V2, |
838 | .name = "Yuan PG600-2, GotView PCI DVD Lite, Club3D ZAP-TV1x01", | 836 | .name = "Yuan PG600-2, GotView PCI DVD Lite", |
839 | .v4l2_capabilities = IVTV_CAP_ENCODER, | 837 | .v4l2_capabilities = IVTV_CAP_ENCODER, |
840 | .hw_video = IVTV_HW_CX25840, | 838 | .hw_video = IVTV_HW_CX25840, |
841 | .hw_audio = IVTV_HW_CX25840, | 839 | .hw_audio = IVTV_HW_CX25840, |
842 | .hw_audio_ctrl = IVTV_HW_CX25840, | 840 | .hw_audio_ctrl = IVTV_HW_CX25840, |
843 | .hw_all = IVTV_HW_CX25840 | IVTV_HW_TUNER, | 841 | .hw_all = IVTV_HW_CX25840 | IVTV_HW_TUNER, |
844 | .video_inputs = { | 842 | .video_inputs = { |
845 | { IVTV_CARD_INPUT_VID_TUNER, 0, CX25840_COMPOSITE2 }, | 843 | { IVTV_CARD_INPUT_SVIDEO1, 0, |
846 | { IVTV_CARD_INPUT_SVIDEO1, 1, | ||
847 | CX25840_SVIDEO_LUMA3 | CX25840_SVIDEO_CHROMA4 }, | 844 | CX25840_SVIDEO_LUMA3 | CX25840_SVIDEO_CHROMA4 }, |
848 | { IVTV_CARD_INPUT_COMPOSITE1, 1, CX25840_COMPOSITE1 }, | 845 | { IVTV_CARD_INPUT_COMPOSITE1, 0, CX25840_COMPOSITE1 }, |
849 | }, | 846 | }, |
850 | .audio_inputs = { | 847 | .audio_inputs = { |
851 | { IVTV_CARD_INPUT_AUD_TUNER, CX25840_AUDIO5 }, | ||
852 | { IVTV_CARD_INPUT_LINE_IN1, CX25840_AUDIO_SERIAL }, | 848 | { IVTV_CARD_INPUT_LINE_IN1, CX25840_AUDIO_SERIAL }, |
853 | }, | 849 | }, |
854 | .radio_input = { IVTV_CARD_INPUT_AUD_TUNER, CX25840_AUDIO5 }, | ||
855 | .tuners = { | 850 | .tuners = { |
856 | { .std = V4L2_STD_ALL, .tuner = TUNER_XCEIVE_XC3028 }, | 851 | { .std = V4L2_STD_ALL, .tuner = TUNER_XCEIVE_XC3028 }, |
857 | }, | 852 | }, |
858 | .gpio_init = { .direction = 0x1000, .initial_value = 0x1000 }, /* tuner reset */ | ||
859 | .pci_list = ivtv_pci_pg600v2, | 853 | .pci_list = ivtv_pci_pg600v2, |
860 | }; | 854 | }; |
861 | #endif | 855 | |
856 | /* ------------------------------------------------------------------------- */ | ||
857 | |||
858 | /* Club3D ZAP-TV1x01 cards */ | ||
859 | |||
860 | static const struct ivtv_card_pci_info ivtv_pci_club3d[] = { | ||
861 | { PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_YUAN3, 0x0600 }, | ||
862 | { 0, 0, 0 } | ||
863 | }; | ||
864 | |||
865 | static const struct ivtv_card ivtv_card_club3d = { | ||
866 | .type = IVTV_CARD_CLUB3D, | ||
867 | .name = "Club3D ZAP-TV1x01", | ||
868 | .v4l2_capabilities = IVTV_CAP_ENCODER, | ||
869 | .hw_video = IVTV_HW_CX25840, | ||
870 | .hw_audio = IVTV_HW_CX25840, | ||
871 | .hw_audio_ctrl = IVTV_HW_CX25840, | ||
872 | .hw_all = IVTV_HW_CX25840 | IVTV_HW_TUNER, | ||
873 | .video_inputs = { | ||
874 | { IVTV_CARD_INPUT_SVIDEO1, 0, | ||
875 | CX25840_SVIDEO_LUMA3 | CX25840_SVIDEO_CHROMA4 }, | ||
876 | { IVTV_CARD_INPUT_COMPOSITE1, 0, CX25840_COMPOSITE3 }, | ||
877 | }, | ||
878 | .audio_inputs = { | ||
879 | { IVTV_CARD_INPUT_LINE_IN1, CX25840_AUDIO_SERIAL }, | ||
880 | }, | ||
881 | .tuners = { | ||
882 | { .std = V4L2_STD_ALL, .tuner = TUNER_XCEIVE_XC3028 }, | ||
883 | }, | ||
884 | .pci_list = ivtv_pci_club3d, | ||
885 | }; | ||
886 | |||
887 | /* ------------------------------------------------------------------------- */ | ||
888 | |||
889 | /* AVerTV MCE 116 Plus (M116) card */ | ||
890 | |||
891 | static const struct ivtv_card_pci_info ivtv_pci_avertv_mce116[] = { | ||
892 | { PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_AVERMEDIA, 0xc439 }, | ||
893 | { 0, 0, 0 } | ||
894 | }; | ||
895 | |||
896 | static const struct ivtv_card ivtv_card_avertv_mce116 = { | ||
897 | .type = IVTV_CARD_AVERTV_MCE116, | ||
898 | .name = "AVerTV MCE 116 Plus", | ||
899 | .v4l2_capabilities = IVTV_CAP_ENCODER, | ||
900 | .hw_video = IVTV_HW_CX25840, | ||
901 | .hw_audio = IVTV_HW_CX25840, | ||
902 | .hw_audio_ctrl = IVTV_HW_CX25840, | ||
903 | .hw_all = IVTV_HW_CX25840 | IVTV_HW_TUNER | IVTV_HW_WM8739, | ||
904 | .video_inputs = { | ||
905 | { IVTV_CARD_INPUT_SVIDEO1, 0, CX25840_SVIDEO3 }, | ||
906 | { IVTV_CARD_INPUT_COMPOSITE1, 0, CX25840_COMPOSITE1 }, | ||
907 | }, | ||
908 | .audio_inputs = { | ||
909 | { IVTV_CARD_INPUT_LINE_IN1, CX25840_AUDIO_SERIAL, 1 }, | ||
910 | }, | ||
911 | .gpio_init = { .direction = 0xe000, .initial_value = 0x4000 }, /* enable line-in */ | ||
912 | .tuners = { | ||
913 | { .std = V4L2_STD_ALL, .tuner = TUNER_XCEIVE_XC3028 }, | ||
914 | }, | ||
915 | .pci_list = ivtv_pci_avertv_mce116, | ||
916 | }; | ||
862 | 917 | ||
863 | static const struct ivtv_card *ivtv_card_list[] = { | 918 | static const struct ivtv_card *ivtv_card_list[] = { |
864 | &ivtv_card_pvr250, | 919 | &ivtv_card_pvr250, |
@@ -879,9 +934,9 @@ static const struct ivtv_card *ivtv_card_list[] = { | |||
879 | &ivtv_card_gotview_pci_dvd2, | 934 | &ivtv_card_gotview_pci_dvd2, |
880 | &ivtv_card_yuan_mpc622, | 935 | &ivtv_card_yuan_mpc622, |
881 | &ivtv_card_dctmvtvp1, | 936 | &ivtv_card_dctmvtvp1, |
882 | #ifdef HAVE_XC3028 | ||
883 | &ivtv_card_pg600v2, | 937 | &ivtv_card_pg600v2, |
884 | #endif | 938 | &ivtv_card_club3d, |
939 | &ivtv_card_avertv_mce116, | ||
885 | 940 | ||
886 | /* Variations of standard cards but with the same PCI IDs. | 941 | /* Variations of standard cards but with the same PCI IDs. |
887 | These cards must come last in this list. */ | 942 | These cards must come last in this list. */ |