diff options
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 4 | ||||
-rw-r--r-- | drivers/media/common/ir-keymaps.c | 70 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 80 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-input.c | 13 | ||||
-rw-r--r-- | include/media/ir-common.h | 1 |
5 files changed, 157 insertions, 11 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index fe925b335c94..44d84dd15ad6 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -25,8 +25,8 @@ | |||
25 | 24 -> KNC One TV-Station DVR [1894:a006] | 25 | 24 -> KNC One TV-Station DVR [1894:a006] |
26 | 25 -> ASUS TV-FM 7133 [1043:4843] | 26 | 25 -> ASUS TV-FM 7133 [1043:4843] |
27 | 26 -> Pinnacle PCTV Stereo (saa7134) [11bd:002b] | 27 | 26 -> Pinnacle PCTV Stereo (saa7134) [11bd:002b] |
28 | 27 -> Manli MuchTV M-TV002/Behold TV 403 FM | 28 | 27 -> Manli MuchTV M-TV002 |
29 | 28 -> Manli MuchTV M-TV001/Behold TV 401 | 29 | 28 -> Manli MuchTV M-TV001 |
30 | 29 -> Nagase Sangyo TransGear 3000TV [1461:050c] | 30 | 29 -> Nagase Sangyo TransGear 3000TV [1461:050c] |
31 | 30 -> Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM) [1019:4cb4] | 31 | 30 -> Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM) [1019:4cb4] |
32 | 31 -> Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM) [1019:4cb5] | 32 | 31 -> Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM) [1019:4cb5] |
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c index 65f810cde605..a3485817e46c 100644 --- a/drivers/media/common/ir-keymaps.c +++ b/drivers/media/common/ir-keymaps.c | |||
@@ -2043,6 +2043,76 @@ IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = { | |||
2043 | 2043 | ||
2044 | EXPORT_SYMBOL_GPL(ir_codes_behold); | 2044 | EXPORT_SYMBOL_GPL(ir_codes_behold); |
2045 | 2045 | ||
2046 | /* Beholder Intl. Ltd. 2008 | ||
2047 | * Dmitry Belimov d.belimov@google.com | ||
2048 | * Keytable is used by BeholdTV Columbus | ||
2049 | * The "ascii-art picture" below (in comments, first row | ||
2050 | * is the keycode in hex, and subsequent row(s) shows | ||
2051 | * the button labels (several variants when appropriate) | ||
2052 | * helps to descide which keycodes to assign to the buttons. | ||
2053 | */ | ||
2054 | IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE] = { | ||
2055 | |||
2056 | /* 0x13 0x11 0x1C 0x12 * | ||
2057 | * Mute Source TV/FM Power * | ||
2058 | * */ | ||
2059 | |||
2060 | [0x13] = KEY_MUTE, | ||
2061 | [0x11] = KEY_PROPS, | ||
2062 | [0x1C] = KEY_TUNER, /* KEY_TV/KEY_RADIO */ | ||
2063 | [0x12] = KEY_POWER, | ||
2064 | |||
2065 | /* 0x01 0x02 0x03 0x0D * | ||
2066 | * 1 2 3 Stereo * | ||
2067 | * * | ||
2068 | * 0x04 0x05 0x06 0x19 * | ||
2069 | * 4 5 6 Snapshot * | ||
2070 | * * | ||
2071 | * 0x07 0x08 0x09 0x10 * | ||
2072 | * 7 8 9 Zoom * | ||
2073 | * */ | ||
2074 | [0x01] = KEY_1, | ||
2075 | [0x02] = KEY_2, | ||
2076 | [0x03] = KEY_3, | ||
2077 | [0x0D] = KEY_SETUP, /* Setup key */ | ||
2078 | [0x04] = KEY_4, | ||
2079 | [0x05] = KEY_5, | ||
2080 | [0x06] = KEY_6, | ||
2081 | [0x19] = KEY_BOOKMARKS, /* Snapshot key */ | ||
2082 | [0x07] = KEY_7, | ||
2083 | [0x08] = KEY_8, | ||
2084 | [0x09] = KEY_9, | ||
2085 | [0x10] = KEY_ZOOM, | ||
2086 | |||
2087 | /* 0x0A 0x00 0x0B 0x0C * | ||
2088 | * RECALL 0 ChannelUp VolumeUp * | ||
2089 | * */ | ||
2090 | [0x0A] = KEY_AGAIN, | ||
2091 | [0x00] = KEY_0, | ||
2092 | [0x0B] = KEY_CHANNELUP, | ||
2093 | [0x0C] = KEY_VOLUMEUP, | ||
2094 | |||
2095 | /* 0x1B 0x1D 0x15 0x18 * | ||
2096 | * Timeshift Record ChannelDown VolumeDown * | ||
2097 | * */ | ||
2098 | |||
2099 | [0x1B] = KEY_REWIND, | ||
2100 | [0x1D] = KEY_RECORD, | ||
2101 | [0x15] = KEY_CHANNELDOWN, | ||
2102 | [0x18] = KEY_VOLUMEDOWN, | ||
2103 | |||
2104 | /* 0x0E 0x1E 0x0F 0x1A * | ||
2105 | * Stop Pause Previouse Next * | ||
2106 | * */ | ||
2107 | |||
2108 | [0x0E] = KEY_STOP, | ||
2109 | [0x1E] = KEY_PAUSE, | ||
2110 | [0x0F] = KEY_PREVIOUS, | ||
2111 | [0x1A] = KEY_NEXT, | ||
2112 | |||
2113 | }; | ||
2114 | EXPORT_SYMBOL_GPL(ir_codes_behold_columbus); | ||
2115 | |||
2046 | /* | 2116 | /* |
2047 | * Remote control for the Genius TVGO A11MCE | 2117 | * Remote control for the Genius TVGO A11MCE |
2048 | * Adrian Pardini <pardo.bsso@gmail.com> | 2118 | * Adrian Pardini <pardo.bsso@gmail.com> |
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 82fe19c3b1db..98375955a84b 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include "tuner-xc2028.h" | 30 | #include "tuner-xc2028.h" |
31 | #include <media/v4l2-common.h> | 31 | #include <media/v4l2-common.h> |
32 | #include <media/tveeprom.h> | 32 | #include <media/tveeprom.h> |
33 | #include "tea5767.h" | ||
33 | 34 | ||
34 | /* commly used strings */ | 35 | /* commly used strings */ |
35 | static char name_mute[] = "mute"; | 36 | static char name_mute[] = "mute"; |
@@ -1049,7 +1050,7 @@ struct saa7134_board saa7134_boards[] = { | |||
1049 | }, | 1050 | }, |
1050 | [SAA7134_BOARD_MANLI_MTV002] = { | 1051 | [SAA7134_BOARD_MANLI_MTV002] = { |
1051 | /* Ognjen Nastic <ognjen@logosoft.ba> */ | 1052 | /* Ognjen Nastic <ognjen@logosoft.ba> */ |
1052 | .name = "Manli MuchTV M-TV002/Behold TV 403 FM", | 1053 | .name = "Manli MuchTV M-TV002", |
1053 | .audio_clock = 0x00200000, | 1054 | .audio_clock = 0x00200000, |
1054 | .tuner_type = TUNER_PHILIPS_PAL, | 1055 | .tuner_type = TUNER_PHILIPS_PAL, |
1055 | .radio_type = UNSET, | 1056 | .radio_type = UNSET, |
@@ -1076,7 +1077,7 @@ struct saa7134_board saa7134_boards[] = { | |||
1076 | }, | 1077 | }, |
1077 | [SAA7134_BOARD_MANLI_MTV001] = { | 1078 | [SAA7134_BOARD_MANLI_MTV001] = { |
1078 | /* Ognjen Nastic <ognjen@logosoft.ba> UNTESTED */ | 1079 | /* Ognjen Nastic <ognjen@logosoft.ba> UNTESTED */ |
1079 | .name = "Manli MuchTV M-TV001/Behold TV 401", | 1080 | .name = "Manli MuchTV M-TV001", |
1080 | .audio_clock = 0x00200000, | 1081 | .audio_clock = 0x00200000, |
1081 | .tuner_type = TUNER_PHILIPS_PAL, | 1082 | .tuner_type = TUNER_PHILIPS_PAL, |
1082 | .radio_type = UNSET, | 1083 | .radio_type = UNSET, |
@@ -2198,6 +2199,8 @@ struct saa7134_board saa7134_boards[] = { | |||
2198 | }, | 2199 | }, |
2199 | [SAA7134_BOARD_BEHOLD_409FM] = { | 2200 | [SAA7134_BOARD_BEHOLD_409FM] = { |
2200 | /* <http://tuner.beholder.ru>, Sergey <skiv@orel.ru> */ | 2201 | /* <http://tuner.beholder.ru>, Sergey <skiv@orel.ru> */ |
2202 | /* Beholder Intl. Ltd. 2008 */ | ||
2203 | /*Dmitry Belimov <d.belimov@gmail.com> */ | ||
2201 | .name = "Beholder BeholdTV 409 FM", | 2204 | .name = "Beholder BeholdTV 409 FM", |
2202 | .audio_clock = 0x00187de7, | 2205 | .audio_clock = 0x00187de7, |
2203 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, | 2206 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, |
@@ -2205,6 +2208,7 @@ struct saa7134_board saa7134_boards[] = { | |||
2205 | .tuner_addr = ADDR_UNSET, | 2208 | .tuner_addr = ADDR_UNSET, |
2206 | .radio_addr = ADDR_UNSET, | 2209 | .radio_addr = ADDR_UNSET, |
2207 | .tda9887_conf = TDA9887_PRESENT, | 2210 | .tda9887_conf = TDA9887_PRESENT, |
2211 | .gpiomask = 0x00008000, | ||
2208 | .inputs = {{ | 2212 | .inputs = {{ |
2209 | .name = name_tv, | 2213 | .name = name_tv, |
2210 | .vmux = 3, | 2214 | .vmux = 3, |
@@ -3576,12 +3580,15 @@ struct saa7134_board saa7134_boards[] = { | |||
3576 | }}, | 3580 | }}, |
3577 | }, | 3581 | }, |
3578 | [SAA7134_BOARD_BEHOLD_401] = { | 3582 | [SAA7134_BOARD_BEHOLD_401] = { |
3583 | /* Beholder Intl. Ltd. 2008 */ | ||
3584 | /*Dmitry Belimov <d.belimov@gmail.com> */ | ||
3579 | .name = "Beholder BeholdTV 401", | 3585 | .name = "Beholder BeholdTV 401", |
3580 | .audio_clock = 0x00187de7, | 3586 | .audio_clock = 0x00187de7, |
3581 | .tuner_type = TUNER_PHILIPS_FQ1216ME, | 3587 | .tuner_type = TUNER_PHILIPS_FQ1216ME, |
3582 | .radio_type = UNSET, | 3588 | .radio_type = UNSET, |
3583 | .tuner_addr = ADDR_UNSET, | 3589 | .tuner_addr = ADDR_UNSET, |
3584 | .radio_addr = ADDR_UNSET, | 3590 | .radio_addr = ADDR_UNSET, |
3591 | .gpiomask = 0x00008000, | ||
3585 | .inputs = {{ | 3592 | .inputs = {{ |
3586 | .name = name_svideo, | 3593 | .name = name_svideo, |
3587 | .vmux = 8, | 3594 | .vmux = 8, |
@@ -3602,12 +3609,15 @@ struct saa7134_board saa7134_boards[] = { | |||
3602 | }, | 3609 | }, |
3603 | }, | 3610 | }, |
3604 | [SAA7134_BOARD_BEHOLD_403] = { | 3611 | [SAA7134_BOARD_BEHOLD_403] = { |
3612 | /* Beholder Intl. Ltd. 2008 */ | ||
3613 | /*Dmitry Belimov <d.belimov@gmail.com> */ | ||
3605 | .name = "Beholder BeholdTV 403", | 3614 | .name = "Beholder BeholdTV 403", |
3606 | .audio_clock = 0x00187de7, | 3615 | .audio_clock = 0x00187de7, |
3607 | .tuner_type = TUNER_PHILIPS_FQ1216ME, | 3616 | .tuner_type = TUNER_PHILIPS_FQ1216ME, |
3608 | .radio_type = UNSET, | 3617 | .radio_type = UNSET, |
3609 | .tuner_addr = ADDR_UNSET, | 3618 | .tuner_addr = ADDR_UNSET, |
3610 | .radio_addr = ADDR_UNSET, | 3619 | .radio_addr = ADDR_UNSET, |
3620 | .gpiomask = 0x00008000, | ||
3611 | .inputs = {{ | 3621 | .inputs = {{ |
3612 | .name = name_svideo, | 3622 | .name = name_svideo, |
3613 | .vmux = 8, | 3623 | .vmux = 8, |
@@ -3624,12 +3634,15 @@ struct saa7134_board saa7134_boards[] = { | |||
3624 | }}, | 3634 | }}, |
3625 | }, | 3635 | }, |
3626 | [SAA7134_BOARD_BEHOLD_403FM] = { | 3636 | [SAA7134_BOARD_BEHOLD_403FM] = { |
3637 | /* Beholder Intl. Ltd. 2008 */ | ||
3638 | /*Dmitry Belimov <d.belimov@gmail.com> */ | ||
3627 | .name = "Beholder BeholdTV 403 FM", | 3639 | .name = "Beholder BeholdTV 403 FM", |
3628 | .audio_clock = 0x00187de7, | 3640 | .audio_clock = 0x00187de7, |
3629 | .tuner_type = TUNER_PHILIPS_FQ1216ME, | 3641 | .tuner_type = TUNER_PHILIPS_FQ1216ME, |
3630 | .radio_type = UNSET, | 3642 | .radio_type = UNSET, |
3631 | .tuner_addr = ADDR_UNSET, | 3643 | .tuner_addr = ADDR_UNSET, |
3632 | .radio_addr = ADDR_UNSET, | 3644 | .radio_addr = ADDR_UNSET, |
3645 | .gpiomask = 0x00008000, | ||
3633 | .inputs = {{ | 3646 | .inputs = {{ |
3634 | .name = name_svideo, | 3647 | .name = name_svideo, |
3635 | .vmux = 8, | 3648 | .vmux = 8, |
@@ -3650,6 +3663,8 @@ struct saa7134_board saa7134_boards[] = { | |||
3650 | }, | 3663 | }, |
3651 | }, | 3664 | }, |
3652 | [SAA7134_BOARD_BEHOLD_405] = { | 3665 | [SAA7134_BOARD_BEHOLD_405] = { |
3666 | /* Beholder Intl. Ltd. 2008 */ | ||
3667 | /*Dmitry Belimov <d.belimov@gmail.com> */ | ||
3653 | .name = "Beholder BeholdTV 405", | 3668 | .name = "Beholder BeholdTV 405", |
3654 | .audio_clock = 0x00187de7, | 3669 | .audio_clock = 0x00187de7, |
3655 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, | 3670 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, |
@@ -3657,6 +3672,7 @@ struct saa7134_board saa7134_boards[] = { | |||
3657 | .tuner_addr = ADDR_UNSET, | 3672 | .tuner_addr = ADDR_UNSET, |
3658 | .radio_addr = ADDR_UNSET, | 3673 | .radio_addr = ADDR_UNSET, |
3659 | .tda9887_conf = TDA9887_PRESENT, | 3674 | .tda9887_conf = TDA9887_PRESENT, |
3675 | .gpiomask = 0x00008000, | ||
3660 | .inputs = {{ | 3676 | .inputs = {{ |
3661 | .name = name_svideo, | 3677 | .name = name_svideo, |
3662 | .vmux = 8, | 3678 | .vmux = 8, |
@@ -3674,6 +3690,8 @@ struct saa7134_board saa7134_boards[] = { | |||
3674 | }, | 3690 | }, |
3675 | [SAA7134_BOARD_BEHOLD_405FM] = { | 3691 | [SAA7134_BOARD_BEHOLD_405FM] = { |
3676 | /* Sergey <skiv@orel.ru> */ | 3692 | /* Sergey <skiv@orel.ru> */ |
3693 | /* Beholder Intl. Ltd. 2008 */ | ||
3694 | /*Dmitry Belimov <d.belimov@gmail.com> */ | ||
3677 | .name = "Beholder BeholdTV 405 FM", | 3695 | .name = "Beholder BeholdTV 405 FM", |
3678 | .audio_clock = 0x00187de7, | 3696 | .audio_clock = 0x00187de7, |
3679 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, | 3697 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, |
@@ -3681,6 +3699,7 @@ struct saa7134_board saa7134_boards[] = { | |||
3681 | .tuner_addr = ADDR_UNSET, | 3699 | .tuner_addr = ADDR_UNSET, |
3682 | .radio_addr = ADDR_UNSET, | 3700 | .radio_addr = ADDR_UNSET, |
3683 | .tda9887_conf = TDA9887_PRESENT, | 3701 | .tda9887_conf = TDA9887_PRESENT, |
3702 | .gpiomask = 0x00008000, | ||
3684 | .inputs = {{ | 3703 | .inputs = {{ |
3685 | .name = name_svideo, | 3704 | .name = name_svideo, |
3686 | .vmux = 8, | 3705 | .vmux = 8, |
@@ -3701,6 +3720,8 @@ struct saa7134_board saa7134_boards[] = { | |||
3701 | }, | 3720 | }, |
3702 | }, | 3721 | }, |
3703 | [SAA7134_BOARD_BEHOLD_407] = { | 3722 | [SAA7134_BOARD_BEHOLD_407] = { |
3723 | /* Beholder Intl. Ltd. 2008 */ | ||
3724 | /*Dmitry Belimov <d.belimov@gmail.com> */ | ||
3704 | .name = "Beholder BeholdTV 407", | 3725 | .name = "Beholder BeholdTV 407", |
3705 | .audio_clock = 0x00187de7, | 3726 | .audio_clock = 0x00187de7, |
3706 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, | 3727 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, |
@@ -3708,7 +3729,7 @@ struct saa7134_board saa7134_boards[] = { | |||
3708 | .tuner_addr = ADDR_UNSET, | 3729 | .tuner_addr = ADDR_UNSET, |
3709 | .radio_addr = ADDR_UNSET, | 3730 | .radio_addr = ADDR_UNSET, |
3710 | .tda9887_conf = TDA9887_PRESENT, | 3731 | .tda9887_conf = TDA9887_PRESENT, |
3711 | .gpiomask = 0xc0c000, | 3732 | .gpiomask = 0x00008000, |
3712 | .inputs = {{ | 3733 | .inputs = {{ |
3713 | .name = name_svideo, | 3734 | .name = name_svideo, |
3714 | .vmux = 8, | 3735 | .vmux = 8, |
@@ -3728,6 +3749,8 @@ struct saa7134_board saa7134_boards[] = { | |||
3728 | }}, | 3749 | }}, |
3729 | }, | 3750 | }, |
3730 | [SAA7134_BOARD_BEHOLD_407FM] = { | 3751 | [SAA7134_BOARD_BEHOLD_407FM] = { |
3752 | /* Beholder Intl. Ltd. 2008 */ | ||
3753 | /*Dmitry Belimov <d.belimov@gmail.com> */ | ||
3731 | .name = "Beholder BeholdTV 407 FM", | 3754 | .name = "Beholder BeholdTV 407 FM", |
3732 | .audio_clock = 0x00187de7, | 3755 | .audio_clock = 0x00187de7, |
3733 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, | 3756 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, |
@@ -3735,7 +3758,7 @@ struct saa7134_board saa7134_boards[] = { | |||
3735 | .tuner_addr = ADDR_UNSET, | 3758 | .tuner_addr = ADDR_UNSET, |
3736 | .radio_addr = ADDR_UNSET, | 3759 | .radio_addr = ADDR_UNSET, |
3737 | .tda9887_conf = TDA9887_PRESENT, | 3760 | .tda9887_conf = TDA9887_PRESENT, |
3738 | .gpiomask = 0xc0c000, | 3761 | .gpiomask = 0x00008000, |
3739 | .inputs = {{ | 3762 | .inputs = {{ |
3740 | .name = name_svideo, | 3763 | .name = name_svideo, |
3741 | .vmux = 8, | 3764 | .vmux = 8, |
@@ -3760,6 +3783,8 @@ struct saa7134_board saa7134_boards[] = { | |||
3760 | }, | 3783 | }, |
3761 | }, | 3784 | }, |
3762 | [SAA7134_BOARD_BEHOLD_409] = { | 3785 | [SAA7134_BOARD_BEHOLD_409] = { |
3786 | /* Beholder Intl. Ltd. 2008 */ | ||
3787 | /*Dmitry Belimov <d.belimov@gmail.com> */ | ||
3763 | .name = "Beholder BeholdTV 409", | 3788 | .name = "Beholder BeholdTV 409", |
3764 | .audio_clock = 0x00187de7, | 3789 | .audio_clock = 0x00187de7, |
3765 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, | 3790 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, |
@@ -3767,6 +3792,7 @@ struct saa7134_board saa7134_boards[] = { | |||
3767 | .tuner_addr = ADDR_UNSET, | 3792 | .tuner_addr = ADDR_UNSET, |
3768 | .radio_addr = ADDR_UNSET, | 3793 | .radio_addr = ADDR_UNSET, |
3769 | .tda9887_conf = TDA9887_PRESENT, | 3794 | .tda9887_conf = TDA9887_PRESENT, |
3795 | .gpiomask = 0x00008000, | ||
3770 | .inputs = {{ | 3796 | .inputs = {{ |
3771 | .name = name_tv, | 3797 | .name = name_tv, |
3772 | .vmux = 3, | 3798 | .vmux = 3, |
@@ -3783,6 +3809,8 @@ struct saa7134_board saa7134_boards[] = { | |||
3783 | }}, | 3809 | }}, |
3784 | }, | 3810 | }, |
3785 | [SAA7134_BOARD_BEHOLD_505FM] = { | 3811 | [SAA7134_BOARD_BEHOLD_505FM] = { |
3812 | /* Beholder Intl. Ltd. 2008 */ | ||
3813 | /*Dmitry Belimov <d.belimov@gmail.com> */ | ||
3786 | .name = "Beholder BeholdTV 505 FM/RDS", | 3814 | .name = "Beholder BeholdTV 505 FM/RDS", |
3787 | .audio_clock = 0x00200000, | 3815 | .audio_clock = 0x00200000, |
3788 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, | 3816 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, |
@@ -3790,6 +3818,7 @@ struct saa7134_board saa7134_boards[] = { | |||
3790 | .tuner_addr = ADDR_UNSET, | 3818 | .tuner_addr = ADDR_UNSET, |
3791 | .radio_addr = ADDR_UNSET, | 3819 | .radio_addr = ADDR_UNSET, |
3792 | .tda9887_conf = TDA9887_PRESENT, | 3820 | .tda9887_conf = TDA9887_PRESENT, |
3821 | .gpiomask = 0x00008000, | ||
3793 | .inputs = {{ | 3822 | .inputs = {{ |
3794 | .name = name_tv, | 3823 | .name = name_tv, |
3795 | .vmux = 3, | 3824 | .vmux = 3, |
@@ -3814,6 +3843,8 @@ struct saa7134_board saa7134_boards[] = { | |||
3814 | }, | 3843 | }, |
3815 | }, | 3844 | }, |
3816 | [SAA7134_BOARD_BEHOLD_507_9FM] = { | 3845 | [SAA7134_BOARD_BEHOLD_507_9FM] = { |
3846 | /* Beholder Intl. Ltd. 2008 */ | ||
3847 | /*Dmitry Belimov <d.belimov@gmail.com> */ | ||
3817 | .name = "Beholder BeholdTV 507 FM/RDS / BeholdTV 509 FM", | 3848 | .name = "Beholder BeholdTV 507 FM/RDS / BeholdTV 509 FM", |
3818 | .audio_clock = 0x00187de7, | 3849 | .audio_clock = 0x00187de7, |
3819 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, | 3850 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, |
@@ -3821,6 +3852,7 @@ struct saa7134_board saa7134_boards[] = { | |||
3821 | .tuner_addr = ADDR_UNSET, | 3852 | .tuner_addr = ADDR_UNSET, |
3822 | .radio_addr = ADDR_UNSET, | 3853 | .radio_addr = ADDR_UNSET, |
3823 | .tda9887_conf = TDA9887_PRESENT, | 3854 | .tda9887_conf = TDA9887_PRESENT, |
3855 | .gpiomask = 0x00008000, | ||
3824 | .inputs = {{ | 3856 | .inputs = {{ |
3825 | .name = name_tv, | 3857 | .name = name_tv, |
3826 | .vmux = 3, | 3858 | .vmux = 3, |
@@ -3841,6 +3873,8 @@ struct saa7134_board saa7134_boards[] = { | |||
3841 | }, | 3873 | }, |
3842 | }, | 3874 | }, |
3843 | [SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM] = { | 3875 | [SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM] = { |
3876 | /* Beholder Intl. Ltd. 2008 */ | ||
3877 | /*Dmitry Belimov <d.belimov@gmail.com> */ | ||
3844 | .name = "Beholder BeholdTV Columbus TVFM", | 3878 | .name = "Beholder BeholdTV Columbus TVFM", |
3845 | .audio_clock = 0x00187de7, | 3879 | .audio_clock = 0x00187de7, |
3846 | .tuner_type = TUNER_ALPS_TSBE5_PAL, | 3880 | .tuner_type = TUNER_ALPS_TSBE5_PAL, |
@@ -3848,23 +3882,28 @@ struct saa7134_board saa7134_boards[] = { | |||
3848 | .tuner_addr = ADDR_UNSET, | 3882 | .tuner_addr = ADDR_UNSET, |
3849 | .radio_addr = ADDR_UNSET, | 3883 | .radio_addr = ADDR_UNSET, |
3850 | .tda9887_conf = TDA9887_PRESENT, | 3884 | .tda9887_conf = TDA9887_PRESENT, |
3885 | .gpiomask = 0x000A8004, | ||
3851 | .inputs = {{ | 3886 | .inputs = {{ |
3852 | .name = name_tv, | 3887 | .name = name_tv, |
3853 | .vmux = 3, | 3888 | .vmux = 3, |
3854 | .amux = TV, | 3889 | .amux = TV, |
3855 | .tv = 1, | 3890 | .tv = 1, |
3856 | },{ | 3891 | .gpio = 0x000A8004, |
3892 | }, { | ||
3857 | .name = name_comp1, | 3893 | .name = name_comp1, |
3858 | .vmux = 1, | 3894 | .vmux = 1, |
3859 | .amux = LINE1, | 3895 | .amux = LINE1, |
3860 | },{ | 3896 | .gpio = 0x000A8000, |
3897 | }, { | ||
3861 | .name = name_svideo, | 3898 | .name = name_svideo, |
3862 | .vmux = 8, | 3899 | .vmux = 8, |
3863 | .amux = LINE1, | 3900 | .amux = LINE1, |
3864 | }}, | 3901 | .gpio = 0x000A8000, |
3902 | } }, | ||
3865 | .radio = { | 3903 | .radio = { |
3866 | .name = name_radio, | 3904 | .name = name_radio, |
3867 | .amux = LINE2, | 3905 | .amux = LINE2, |
3906 | .gpio = 0x000A8000, | ||
3868 | }, | 3907 | }, |
3869 | }, | 3908 | }, |
3870 | [SAA7134_BOARD_BEHOLD_607_9FM] = { | 3909 | [SAA7134_BOARD_BEHOLD_607_9FM] = { |
@@ -5471,7 +5510,6 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
5471 | case SAA7134_BOARD_AVERMEDIA_CARDBUS: | 5510 | case SAA7134_BOARD_AVERMEDIA_CARDBUS: |
5472 | case SAA7134_BOARD_AVERMEDIA_CARDBUS_506: | 5511 | case SAA7134_BOARD_AVERMEDIA_CARDBUS_506: |
5473 | case SAA7134_BOARD_AVERMEDIA_M115: | 5512 | case SAA7134_BOARD_AVERMEDIA_M115: |
5474 | case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM: | ||
5475 | case SAA7134_BOARD_AVERMEDIA_A16D: | 5513 | case SAA7134_BOARD_AVERMEDIA_A16D: |
5476 | /* power-down tuner chip */ | 5514 | /* power-down tuner chip */ |
5477 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0xffffffff, 0); | 5515 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0xffffffff, 0); |
@@ -5482,6 +5520,18 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
5482 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff); | 5520 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff); |
5483 | msleep(10); | 5521 | msleep(10); |
5484 | break; | 5522 | break; |
5523 | case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM: | ||
5524 | /* power-down tuner chip */ | ||
5525 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x000A8004, 0x000A8004); | ||
5526 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x000A8004, 0); | ||
5527 | msleep(10); | ||
5528 | /* power-up tuner chip */ | ||
5529 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x000A8004, 0x000A8004); | ||
5530 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x000A8004, 0x000A8004); | ||
5531 | msleep(10); | ||
5532 | /* remote via GPIO */ | ||
5533 | dev->has_remote = SAA7134_REMOTE_GPIO; | ||
5534 | break; | ||
5485 | case SAA7134_BOARD_RTD_VFG7350: | 5535 | case SAA7134_BOARD_RTD_VFG7350: |
5486 | 5536 | ||
5487 | /* | 5537 | /* |
@@ -5770,6 +5820,20 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
5770 | break; | 5820 | break; |
5771 | } | 5821 | } |
5772 | break; | 5822 | break; |
5823 | case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM: | ||
5824 | { | ||
5825 | struct v4l2_priv_tun_config tea5767_cfg; | ||
5826 | struct tea5767_ctrl ctl; | ||
5827 | |||
5828 | dev->i2c_client.addr = 0xC0; | ||
5829 | /* set TEA5767(analog FM) defines */ | ||
5830 | memset(&ctl, 0, sizeof(ctl)); | ||
5831 | ctl.xtal_freq = TEA5767_HIGH_LO_13MHz; | ||
5832 | tea5767_cfg.tuner = TUNER_TEA5767; | ||
5833 | tea5767_cfg.priv = &ctl; | ||
5834 | saa7134_i2c_call_clients(dev, TUNER_SET_CONFIG, &tea5767_cfg); | ||
5835 | } | ||
5836 | break; | ||
5773 | } | 5837 | } |
5774 | 5838 | ||
5775 | if (dev->tuner_type == TUNER_XC2028) { | 5839 | if (dev->tuner_type == TUNER_XC2028) { |
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c index 65f8e594d6fb..767ff30832f2 100644 --- a/drivers/media/video/saa7134/saa7134-input.c +++ b/drivers/media/video/saa7134/saa7134-input.c | |||
@@ -331,6 +331,11 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
331 | break; | 331 | break; |
332 | case SAA7134_BOARD_MANLI_MTV001: | 332 | case SAA7134_BOARD_MANLI_MTV001: |
333 | case SAA7134_BOARD_MANLI_MTV002: | 333 | case SAA7134_BOARD_MANLI_MTV002: |
334 | ir_codes = ir_codes_manli; | ||
335 | mask_keycode = 0x001f00; | ||
336 | mask_keyup = 0x004000; | ||
337 | polling = 50; /* ms */ | ||
338 | break; | ||
334 | case SAA7134_BOARD_BEHOLD_409FM: | 339 | case SAA7134_BOARD_BEHOLD_409FM: |
335 | case SAA7134_BOARD_BEHOLD_401: | 340 | case SAA7134_BOARD_BEHOLD_401: |
336 | case SAA7134_BOARD_BEHOLD_403: | 341 | case SAA7134_BOARD_BEHOLD_403: |
@@ -343,7 +348,13 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
343 | case SAA7134_BOARD_BEHOLD_505FM: | 348 | case SAA7134_BOARD_BEHOLD_505FM: |
344 | case SAA7134_BOARD_BEHOLD_507_9FM: | 349 | case SAA7134_BOARD_BEHOLD_507_9FM: |
345 | ir_codes = ir_codes_manli; | 350 | ir_codes = ir_codes_manli; |
346 | mask_keycode = 0x001f00; | 351 | mask_keycode = 0x003f00; |
352 | mask_keyup = 0x004000; | ||
353 | polling = 50; /* ms */ | ||
354 | break; | ||
355 | case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM: | ||
356 | ir_codes = ir_codes_behold_columbus; | ||
357 | mask_keycode = 0x003f00; | ||
347 | mask_keyup = 0x004000; | 358 | mask_keyup = 0x004000; |
348 | polling = 50; // ms | 359 | polling = 50; // ms |
349 | break; | 360 | break; |
diff --git a/include/media/ir-common.h b/include/media/ir-common.h index 75a3482866fe..bfee8be5d63f 100644 --- a/include/media/ir-common.h +++ b/include/media/ir-common.h | |||
@@ -142,6 +142,7 @@ extern IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE]; | |||
142 | extern IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE]; | 142 | extern IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE]; |
143 | extern IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE]; | 143 | extern IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE]; |
144 | extern IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE]; | 144 | extern IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE]; |
145 | extern IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE]; | ||
145 | extern IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE]; | 146 | extern IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE]; |
146 | extern IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE]; | 147 | extern IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE]; |
147 | extern IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE]; | 148 | extern IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE]; |