diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-06-26 16:03:00 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-10-12 07:37:10 -0400 |
commit | 9b0001913983de65af17eee8baf02283160f5a69 (patch) | |
tree | 925608ef892e1c2de87d9d5fc245e9a90d836f1c | |
parent | 36f6bb97caa772d7dc42250db74253e0867a444a (diff) |
V4L/DVB (9061): saa7134: Add support for Real Audio 220
Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) for sponsoring
this development.
Signed-off-by: Gilberto <gilberto@sistemafenix.com.br>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 1 | ||||
-rw-r--r-- | drivers/media/common/ir-keymaps.c | 40 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 36 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-input.c | 6 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 1 | ||||
-rw-r--r-- | include/media/ir-common.h | 2 |
6 files changed, 85 insertions, 1 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index 2023c4020ac7..aa06151a2efb 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -146,5 +146,6 @@ | |||
146 | 145 -> AVerMedia MiniPCI DVB-T Hybrid M103 [1461:f636] | 146 | 145 -> AVerMedia MiniPCI DVB-T Hybrid M103 [1461:f636] |
147 | 146 -> ASUSTeK P7131 Analog | 147 | 146 -> ASUSTeK P7131 Analog |
148 | 147 -> Asus Tiger 3in1 [1043:4878] | 148 | 147 -> Asus Tiger 3in1 [1043:4878] |
149 | 147 -> Zogis Real Angel 220 | ||
149 | 148 -> Encore ENLTV-FM v5.3 [1a7f:2008] | 150 | 148 -> Encore ENLTV-FM v5.3 [1a7f:2008] |
150 | 149 -> Avermedia PCI pure analog (M135A) [1461:f11d] | 151 | 149 -> Avermedia PCI pure analog (M135A) [1461:f11d] |
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c index f061dfbc9271..b7ed88c59b54 100644 --- a/drivers/media/common/ir-keymaps.c +++ b/drivers/media/common/ir-keymaps.c | |||
@@ -2381,3 +2381,43 @@ IR_KEYTAB_TYPE ir_codes_encore_enltv_fm53[IR_KEYTAB_SIZE] = { | |||
2381 | [0x47] = KEY_SLEEP, /* shutdown */ | 2381 | [0x47] = KEY_SLEEP, /* shutdown */ |
2382 | }; | 2382 | }; |
2383 | EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53); | 2383 | EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53); |
2384 | |||
2385 | /* Zogis Real Audio 220 - 32 keys IR */ | ||
2386 | IR_KEYTAB_TYPE ir_codes_real_audio_220_32_keys[IR_KEYTAB_SIZE] = { | ||
2387 | [0x1c] = KEY_RADIO, | ||
2388 | [0x12] = KEY_POWER2, | ||
2389 | |||
2390 | [0x01] = KEY_1, | ||
2391 | [0x02] = KEY_2, | ||
2392 | [0x03] = KEY_3, | ||
2393 | [0x04] = KEY_4, | ||
2394 | [0x05] = KEY_5, | ||
2395 | [0x06] = KEY_6, | ||
2396 | [0x07] = KEY_7, | ||
2397 | [0x08] = KEY_8, | ||
2398 | [0x09] = KEY_9, | ||
2399 | [0x00] = KEY_0, | ||
2400 | |||
2401 | [0x0c] = KEY_VOLUMEUP, | ||
2402 | [0x18] = KEY_VOLUMEDOWN, | ||
2403 | [0x0b] = KEY_CHANNELUP, | ||
2404 | [0x15] = KEY_CHANNELDOWN, | ||
2405 | [0x16] = KEY_ENTER, | ||
2406 | |||
2407 | [0x11] = KEY_LIST, /* Source */ | ||
2408 | [0x0d] = KEY_AUDIO, /* stereo */ | ||
2409 | |||
2410 | [0x0f] = KEY_PREVIOUS, /* Prev */ | ||
2411 | [0x1b] = KEY_PAUSE, /* Timeshift */ | ||
2412 | [0x1a] = KEY_NEXT, /* Next */ | ||
2413 | |||
2414 | [0x0e] = KEY_STOP, | ||
2415 | [0x1f] = KEY_PLAY, | ||
2416 | [0x1e] = KEY_PLAYPAUSE, /* Pause */ | ||
2417 | |||
2418 | [0x1d] = KEY_RECORD, | ||
2419 | [0x13] = KEY_MUTE, | ||
2420 | [0x19] = KEY_SHUFFLE, /* Snapshot */ | ||
2421 | |||
2422 | }; | ||
2423 | EXPORT_SYMBOL_GPL(ir_codes_real_audio_220_32_keys); | ||
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index a16ddb21288f..2a5e0dbc4d48 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -4513,6 +4513,41 @@ struct saa7134_board saa7134_boards[] = { | |||
4513 | .gpio = 0x0200000, | 4513 | .gpio = 0x0200000, |
4514 | }, | 4514 | }, |
4515 | }, | 4515 | }, |
4516 | [SAA7134_BOARD_REAL_ANGEL_220] = { | ||
4517 | .name = "Zogis Real Angel 220", | ||
4518 | .audio_clock = 0x00187de7, | ||
4519 | .tuner_type = TUNER_TNF_5335MF, | ||
4520 | .radio_type = UNSET, | ||
4521 | .tuner_addr = ADDR_UNSET, | ||
4522 | .radio_addr = ADDR_UNSET, | ||
4523 | .gpiomask = 0x801a8087, | ||
4524 | .inputs = { { | ||
4525 | .name = name_tv, | ||
4526 | .vmux = 3, | ||
4527 | .amux = LINE2, | ||
4528 | .tv = 1, | ||
4529 | .gpio = 0x624000, | ||
4530 | }, { | ||
4531 | .name = name_comp1, | ||
4532 | .vmux = 1, | ||
4533 | .amux = LINE1, | ||
4534 | .gpio = 0x624000, | ||
4535 | }, { | ||
4536 | .name = name_svideo, | ||
4537 | .vmux = 1, | ||
4538 | .amux = LINE1, | ||
4539 | .gpio = 0x624000, | ||
4540 | } }, | ||
4541 | .radio = { | ||
4542 | .name = name_radio, | ||
4543 | .amux = LINE2, | ||
4544 | .gpio = 0x624001, | ||
4545 | }, | ||
4546 | .mute = { | ||
4547 | .name = name_mute, | ||
4548 | .amux = TV, | ||
4549 | }, | ||
4550 | }, | ||
4516 | }; | 4551 | }; |
4517 | 4552 | ||
4518 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 4553 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); |
@@ -5780,6 +5815,7 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
5780 | case SAA7134_BOARD_BEHOLD_505FM: | 5815 | case SAA7134_BOARD_BEHOLD_505FM: |
5781 | case SAA7134_BOARD_BEHOLD_507_9FM: | 5816 | case SAA7134_BOARD_BEHOLD_507_9FM: |
5782 | case SAA7134_BOARD_GENIUS_TVGO_A11MCE: | 5817 | case SAA7134_BOARD_GENIUS_TVGO_A11MCE: |
5818 | case SAA7134_BOARD_REAL_ANGEL_220: | ||
5783 | dev->has_remote = SAA7134_REMOTE_GPIO; | 5819 | dev->has_remote = SAA7134_REMOTE_GPIO; |
5784 | break; | 5820 | break; |
5785 | case SAA7134_BOARD_FLYDVBS_LR300: | 5821 | case SAA7134_BOARD_FLYDVBS_LR300: |
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c index 0fded7511eaf..72a1c67a8c39 100644 --- a/drivers/media/video/saa7134/saa7134-input.c +++ b/drivers/media/video/saa7134/saa7134-input.c | |||
@@ -533,6 +533,12 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
533 | mask_keydown = 0xf00000; | 533 | mask_keydown = 0xf00000; |
534 | polling = 50; /* ms */ | 534 | polling = 50; /* ms */ |
535 | break; | 535 | break; |
536 | case SAA7134_BOARD_REAL_ANGEL_220: | ||
537 | ir_codes = ir_codes_real_audio_220_32_keys; | ||
538 | mask_keycode = 0x3f00; | ||
539 | mask_keyup = 0x4000; | ||
540 | polling = 50; /* ms */ | ||
541 | break; | ||
536 | } | 542 | } |
537 | if (NULL == ir_codes) { | 543 | if (NULL == ir_codes) { |
538 | printk("%s: Oops: IR config error [card=%d]\n", | 544 | 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 caf055ce3106..c17919a16952 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -272,6 +272,7 @@ struct saa7134_format { | |||
272 | #define SAA7134_BOARD_ASUSTeK_TIGER_3IN1 147 | 272 | #define SAA7134_BOARD_ASUSTeK_TIGER_3IN1 147 |
273 | #define SAA7134_BOARD_ENCORE_ENLTV_FM53 148 | 273 | #define SAA7134_BOARD_ENCORE_ENLTV_FM53 148 |
274 | #define SAA7134_BOARD_AVERMEDIA_M135A 149 | 274 | #define SAA7134_BOARD_AVERMEDIA_M135A 149 |
275 | #define SAA7134_BOARD_REAL_ANGEL_220 147 | ||
275 | 276 | ||
276 | #define SAA7134_MAXBOARDS 8 | 277 | #define SAA7134_MAXBOARDS 8 |
277 | #define SAA7134_INPUT_MAX 8 | 278 | #define SAA7134_INPUT_MAX 8 |
diff --git a/include/media/ir-common.h b/include/media/ir-common.h index 54a57d0c73e7..436360ed0b11 100644 --- a/include/media/ir-common.h +++ b/include/media/ir-common.h | |||
@@ -155,7 +155,7 @@ extern IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE]; | |||
155 | extern IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE]; | 155 | extern IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE]; |
156 | extern IR_KEYTAB_TYPE ir_codes_avermedia_a16d[IR_KEYTAB_SIZE]; | 156 | extern IR_KEYTAB_TYPE ir_codes_avermedia_a16d[IR_KEYTAB_SIZE]; |
157 | extern IR_KEYTAB_TYPE ir_codes_encore_enltv_fm53[IR_KEYTAB_SIZE]; | 157 | extern IR_KEYTAB_TYPE ir_codes_encore_enltv_fm53[IR_KEYTAB_SIZE]; |
158 | 158 | extern IR_KEYTAB_TYPE ir_codes_real_audio_220_32_keys[IR_KEYTAB_SIZE]; | |
159 | #endif | 159 | #endif |
160 | 160 | ||
161 | /* | 161 | /* |