aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/ivtv/ivtv-cards.c
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2007-09-11 10:59:15 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-09 21:04:54 -0400
commit372978055dd564d97ca1b4099c99296eaff1fe19 (patch)
tree956775ff2bde4ab23a85326b2284be997e8607fd /drivers/media/video/ivtv/ivtv-cards.c
parent2cc720957a743ef59f9925ecfef5f71f08387d8b (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.c81
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
830static const struct ivtv_card_pci_info ivtv_pci_pg600v2[] = { 828static 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
836static const struct ivtv_card ivtv_card_pg600v2 = { 834static 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
860static 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
865static 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
891static 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
896static 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
863static const struct ivtv_card *ivtv_card_list[] = { 918static 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. */