diff options
author | Adrian Pardini <pardo.bsso@gmail.com> | 2008-02-11 10:40:53 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-02-18 09:15:19 -0500 |
commit | f0ba356c85c25c2732098885a6a089be4698da94 (patch) | |
tree | 8c8c2b2e293bc36fca177784877e294a553f46db /drivers | |
parent | 57566ad2d83f58c02e191aa7f4d7cddad3f92618 (diff) |
V4L/DVB (7192): Adds support for Genius TVGo A11MCE
Signed-off-by: Adrian Pardini <pardo.bsso@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/common/ir-keymaps.c | 46 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 39 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-input.c | 6 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 1 |
4 files changed, 92 insertions, 0 deletions
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c index a4a937c90534..2ab5a120470d 100644 --- a/drivers/media/common/ir-keymaps.c +++ b/drivers/media/common/ir-keymaps.c | |||
@@ -1987,3 +1987,49 @@ IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = { | |||
1987 | }; | 1987 | }; |
1988 | 1988 | ||
1989 | EXPORT_SYMBOL_GPL(ir_codes_behold); | 1989 | EXPORT_SYMBOL_GPL(ir_codes_behold); |
1990 | |||
1991 | /* | ||
1992 | * Remote control for the Genius TVGO A11MCE | ||
1993 | * Adrian Pardini <pardo.bsso@gmail.com> | ||
1994 | */ | ||
1995 | IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = { | ||
1996 | /* Keys 0 to 9 */ | ||
1997 | [0x48] = KEY_0, | ||
1998 | [0x09] = KEY_1, | ||
1999 | [0x1d] = KEY_2, | ||
2000 | [0x1f] = KEY_3, | ||
2001 | [0x19] = KEY_4, | ||
2002 | [0x1b] = KEY_5, | ||
2003 | [0x11] = KEY_6, | ||
2004 | [0x17] = KEY_7, | ||
2005 | [0x12] = KEY_8, | ||
2006 | [0x16] = KEY_9, | ||
2007 | |||
2008 | [0x54] = KEY_RECORD, /* recording */ | ||
2009 | [0x06] = KEY_MUTE, /* mute */ | ||
2010 | [0x10] = KEY_POWER, | ||
2011 | [0x40] = KEY_LAST, /* recall */ | ||
2012 | [0x4c] = KEY_CHANNELUP, /* channel / program + */ | ||
2013 | [0x00] = KEY_CHANNELDOWN, /* channel / program - */ | ||
2014 | [0x0d] = KEY_VOLUMEUP, | ||
2015 | [0x15] = KEY_VOLUMEDOWN, | ||
2016 | [0x4d] = KEY_OK, /* also labeled as Pause */ | ||
2017 | [0x1c] = KEY_ZOOM, /* full screen and Stop*/ | ||
2018 | [0x02] = KEY_MODE, /* AV Source or Rewind*/ | ||
2019 | [0x04] = KEY_LIST, /* -/-- */ | ||
2020 | /* small arrows above numbers */ | ||
2021 | [0x1a] = KEY_NEXT, /* also Fast Forward */ | ||
2022 | [0x0e] = KEY_PREVIOUS, /* also Rewind */ | ||
2023 | /* these are in a rather non standard layout and have | ||
2024 | an alternate name written */ | ||
2025 | [0x1e] = KEY_UP, /* Video Setting */ | ||
2026 | [0x0a] = KEY_DOWN, /* Video Default */ | ||
2027 | [0x05] = KEY_LEFT, /* Snapshot */ | ||
2028 | [0x0c] = KEY_RIGHT, /* Hide Panel */ | ||
2029 | /* Four buttons without label */ | ||
2030 | [0x49] = KEY_RED, | ||
2031 | [0x0b] = KEY_GREEN, | ||
2032 | [0x13] = KEY_YELLOW, | ||
2033 | [0x50] = KEY_BLUE, | ||
2034 | }; | ||
2035 | EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce); | ||
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index dcb601b803f9..262830da08c8 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -3953,6 +3953,44 @@ struct saa7134_board saa7134_boards[] = { | |||
3953 | .gpio = 0x0200000, | 3953 | .gpio = 0x0200000, |
3954 | }, | 3954 | }, |
3955 | }, | 3955 | }, |
3956 | [SAA7134_BOARD_GENIUS_TVGO_A11MCE] = { | ||
3957 | /* Adrian Pardini <pardo.bsso@gmail.com> */ | ||
3958 | .name = "Genius TVGO AM11MCE", | ||
3959 | .audio_clock = 0x00200000, | ||
3960 | .tuner_type = TUNER_TNF_5335MF, | ||
3961 | .radio_type = UNSET, | ||
3962 | .tuner_addr = ADDR_UNSET, | ||
3963 | .radio_addr = ADDR_UNSET, | ||
3964 | .gpiomask = 0xf000, | ||
3965 | .inputs = {{ | ||
3966 | .name = name_tv_mono, | ||
3967 | .vmux = 1, | ||
3968 | .amux = LINE2, | ||
3969 | .gpio = 0x0000, | ||
3970 | .tv = 1, | ||
3971 | }, { | ||
3972 | .name = name_comp1, | ||
3973 | .vmux = 3, | ||
3974 | .amux = LINE1, | ||
3975 | .gpio = 0x2000, | ||
3976 | .tv = 1 | ||
3977 | }, { | ||
3978 | .name = name_svideo, | ||
3979 | .vmux = 8, | ||
3980 | .amux = LINE1, | ||
3981 | .gpio = 0x2000, | ||
3982 | } }, | ||
3983 | .radio = { | ||
3984 | .name = name_radio, | ||
3985 | .amux = LINE2, | ||
3986 | .gpio = 0x1000, | ||
3987 | }, | ||
3988 | .mute = { | ||
3989 | .name = name_mute, | ||
3990 | .amux = LINE2, | ||
3991 | .gpio = 0x6000, | ||
3992 | }, | ||
3993 | }, | ||
3956 | }; | 3994 | }; |
3957 | 3995 | ||
3958 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 3996 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); |
@@ -5054,6 +5092,7 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
5054 | case SAA7134_BOARD_BEHOLD_409: | 5092 | case SAA7134_BOARD_BEHOLD_409: |
5055 | case SAA7134_BOARD_BEHOLD_505FM: | 5093 | case SAA7134_BOARD_BEHOLD_505FM: |
5056 | case SAA7134_BOARD_BEHOLD_507_9FM: | 5094 | case SAA7134_BOARD_BEHOLD_507_9FM: |
5095 | case SAA7134_BOARD_GENIUS_TVGO_A11MCE: | ||
5057 | dev->has_remote = SAA7134_REMOTE_GPIO; | 5096 | dev->has_remote = SAA7134_REMOTE_GPIO; |
5058 | break; | 5097 | break; |
5059 | case SAA7134_BOARD_FLYDVBS_LR300: | 5098 | case SAA7134_BOARD_FLYDVBS_LR300: |
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c index 0db955c2d9b9..b4188819782f 100644 --- a/drivers/media/video/saa7134/saa7134-input.c +++ b/drivers/media/video/saa7134/saa7134-input.c | |||
@@ -406,6 +406,12 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
406 | mask_keyup = 0x8000000; | 406 | mask_keyup = 0x8000000; |
407 | polling = 50; //ms | 407 | polling = 50; //ms |
408 | break; | 408 | break; |
409 | case SAA7134_BOARD_GENIUS_TVGO_A11MCE: | ||
410 | ir_codes = ir_codes_genius_tvgo_a11mce; | ||
411 | mask_keycode = 0xff; | ||
412 | mask_keydown = 0xf00000; | ||
413 | polling = 50; /* ms */ | ||
414 | break; | ||
409 | } | 415 | } |
410 | if (NULL == ir_codes) { | 416 | if (NULL == ir_codes) { |
411 | printk("%s: Oops: IR config error [card=%d]\n", | 417 | printk("%s: Oops: IR config error [card=%d]\n", |
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index 27fb44332215..f940d0254798 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -253,6 +253,7 @@ struct saa7134_format { | |||
253 | #define SAA7134_BOARD_BEHOLD_607_9FM 129 | 253 | #define SAA7134_BOARD_BEHOLD_607_9FM 129 |
254 | #define SAA7134_BOARD_BEHOLD_M6 130 | 254 | #define SAA7134_BOARD_BEHOLD_M6 130 |
255 | #define SAA7134_BOARD_TWINHAN_DTV_DVB_3056 131 | 255 | #define SAA7134_BOARD_TWINHAN_DTV_DVB_3056 131 |
256 | #define SAA7134_BOARD_GENIUS_TVGO_A11MCE 132 | ||
256 | 257 | ||
257 | #define SAA7134_MAXBOARDS 8 | 258 | #define SAA7134_MAXBOARDS 8 |
258 | #define SAA7134_INPUT_MAX 8 | 259 | #define SAA7134_INPUT_MAX 8 |