aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2008-06-26 16:03:00 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-12 07:37:10 -0400
commit9b0001913983de65af17eee8baf02283160f5a69 (patch)
tree925608ef892e1c2de87d9d5fc245e9a90d836f1c
parent36f6bb97caa772d7dc42250db74253e0867a444a (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.saa71341
-rw-r--r--drivers/media/common/ir-keymaps.c40
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c36
-rw-r--r--drivers/media/video/saa7134/saa7134-input.c6
-rw-r--r--drivers/media/video/saa7134/saa7134.h1
-rw-r--r--include/media/ir-common.h2
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 @@
146145 -> AVerMedia MiniPCI DVB-T Hybrid M103 [1461:f636] 146145 -> AVerMedia MiniPCI DVB-T Hybrid M103 [1461:f636]
147146 -> ASUSTeK P7131 Analog 147146 -> ASUSTeK P7131 Analog
148147 -> Asus Tiger 3in1 [1043:4878] 148147 -> Asus Tiger 3in1 [1043:4878]
149147 -> Zogis Real Angel 220
149148 -> Encore ENLTV-FM v5.3 [1a7f:2008] 150148 -> Encore ENLTV-FM v5.3 [1a7f:2008]
150149 -> Avermedia PCI pure analog (M135A) [1461:f11d] 151149 -> 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};
2383EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53); 2383EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53);
2384
2385/* Zogis Real Audio 220 - 32 keys IR */
2386IR_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};
2423EXPORT_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
4518const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); 4553const 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];
155extern IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE]; 155extern IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE];
156extern IR_KEYTAB_TYPE ir_codes_avermedia_a16d[IR_KEYTAB_SIZE]; 156extern IR_KEYTAB_TYPE ir_codes_avermedia_a16d[IR_KEYTAB_SIZE];
157extern IR_KEYTAB_TYPE ir_codes_encore_enltv_fm53[IR_KEYTAB_SIZE]; 157extern IR_KEYTAB_TYPE ir_codes_encore_enltv_fm53[IR_KEYTAB_SIZE];
158 158extern IR_KEYTAB_TYPE ir_codes_real_audio_220_32_keys[IR_KEYTAB_SIZE];
159#endif 159#endif
160 160
161/* 161/*