aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/video4linux/CARDLIST.saa71341
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c23
-rw-r--r--drivers/media/video/saa7134/saa7134-dvb.c2
-rw-r--r--drivers/media/video/saa7134/saa7134-input.c42
4 files changed, 63 insertions, 5 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134
index 51252ff034e6..997a57db257c 100644
--- a/Documentation/video4linux/CARDLIST.saa7134
+++ b/Documentation/video4linux/CARDLIST.saa7134
@@ -79,3 +79,4 @@
79 78 -> ASUSTeK P7131 Dual [1043:4862] 79 78 -> ASUSTeK P7131 Dual [1043:4862]
80 79 -> PCTV Cardbus TV/Radio (ITO25 Rev:2B) 80 79 -> PCTV Cardbus TV/Radio (ITO25 Rev:2B)
81 80 -> ASUS Digimatrix TV [1043:0210] 81 80 -> ASUS Digimatrix TV [1043:0210]
82 81 -> Philips Tiger reference design [1131:2018]
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index d9b3fb0f3eff..e3fe15a14aee 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -2453,18 +2453,33 @@ struct saa7134_board saa7134_boards[] = {
2453 }, 2453 },
2454 [SAA7134_BOARD_PCTV_CARDBUS] = { 2454 [SAA7134_BOARD_PCTV_CARDBUS] = {
2455 /* Paul Tom Zalac <pzalac@gmail.com> */ 2455 /* Paul Tom Zalac <pzalac@gmail.com> */
2456 /* tda8275a tuner doesnt work yet */ 2456 /* Pavel Mihaylov <bin@bash.info> */
2457 .name = "PCTV Cardbus TV/Radio (ITO25 Rev:2B)", 2457 .name = "PCTV Cardbus TV/Radio (ITO25 Rev:2B)",
2458 /* Sedna Cardbus TV Tuner */
2458 .audio_clock = 0x00187de7, 2459 .audio_clock = 0x00187de7,
2459 .tuner_type = TUNER_ABSENT, 2460 .tuner_type = TUNER_PHILIPS_TDA8290,
2460 .radio_type = UNSET, 2461 .radio_type = UNSET,
2461 .tuner_addr = ADDR_UNSET, 2462 .tuner_addr = ADDR_UNSET,
2462 .radio_addr = ADDR_UNSET, 2463 .radio_addr = ADDR_UNSET,
2464 .gpiomask = 0xe880c0,
2463 .inputs = {{ 2465 .inputs = {{
2466 .name = name_tv,
2467 .vmux = 3,
2468 .amux = TV,
2469 .tv = 1,
2470 },{
2464 .name = name_comp1, 2471 .name = name_comp1,
2465 .vmux = 1, 2472 .vmux = 1,
2466 .amux = LINE2, 2473 .amux = LINE1,
2474 },{
2475 .name = name_svideo,
2476 .vmux = 6,
2477 .amux = LINE1,
2467 }}, 2478 }},
2479 .radio = {
2480 .name = name_radio,
2481 .amux = LINE2,
2482 },
2468 }, 2483 },
2469 [SAA7134_BOARD_ASUSTEK_DIGIMATRIX_TV] = { 2484 [SAA7134_BOARD_ASUSTEK_DIGIMATRIX_TV] = {
2470 /* "Cyril Lacoux (Yack)" <clacoux@ifeelgood.org> */ 2485 /* "Cyril Lacoux (Yack)" <clacoux@ifeelgood.org> */
@@ -2942,7 +2957,7 @@ struct pci_device_id saa7134_pci_tbl[] = {
2942 .subvendor = 0x1043, 2957 .subvendor = 0x1043,
2943 .subdevice = 0x4862, 2958 .subdevice = 0x4862,
2944 .driver_data = SAA7134_BOARD_ASUSTeK_P7131_DUAL, 2959 .driver_data = SAA7134_BOARD_ASUSTeK_P7131_DUAL,
2945 },{ 2960 },{
2946 .vendor = PCI_VENDOR_ID_PHILIPS, 2961 .vendor = PCI_VENDOR_ID_PHILIPS,
2947 .device = PCI_DEVICE_ID_PHILIPS_SAA7133, 2962 .device = PCI_DEVICE_ID_PHILIPS_SAA7133,
2948 .subvendor = PCI_VENDOR_ID_PHILIPS, 2963 .subvendor = PCI_VENDOR_ID_PHILIPS,
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c
index d1d1abc55718..c0337cf91956 100644
--- a/drivers/media/video/saa7134/saa7134-dvb.c
+++ b/drivers/media/video/saa7134/saa7134-dvb.c
@@ -749,7 +749,7 @@ static void philips_tda827xa_pll_sleep(u8 addr, struct dvb_frontend *fe)
749 struct saa7134_dev *dev = fe->dvb->priv; 749 struct saa7134_dev *dev = fe->dvb->priv;
750 static u8 tda827xa_sleep[] = { 0x30, 0x90}; 750 static u8 tda827xa_sleep[] = { 0x30, 0x90};
751 struct i2c_msg tuner_msg = {.addr = addr,.flags = 0,.buf = tda827xa_sleep, 751 struct i2c_msg tuner_msg = {.addr = addr,.flags = 0,.buf = tda827xa_sleep,
752 .len = sizeof(tda827xa_sleep) }; 752 .len = sizeof(tda827xa_sleep) };
753 i2c_transfer(&dev->i2c_adap, &tuner_msg, 1); 753 i2c_transfer(&dev->i2c_adap, &tuner_msg, 1);
754 754
755} 755}
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c
index 0c74c2f5edaa..2aba72de55d6 100644
--- a/drivers/media/video/saa7134/saa7134-input.c
+++ b/drivers/media/video/saa7134/saa7134-input.c
@@ -543,6 +543,42 @@ static IR_KEYTAB_TYPE ir_codes_pinnacle[IR_KEYTAB_SIZE] = {
543 [ 0x0a ] = KEY_BACKSPACE, 543 [ 0x0a ] = KEY_BACKSPACE,
544}; 544};
545 545
546/* Mapping for the 28 key remote control as seen at
547 http://www.sednacomputer.com/photo/cardbus-tv.jpg
548 Pavel Mihaylov <bin@bash.info> */
549static IR_KEYTAB_TYPE pctv_cardbus_codes[IR_KEYTAB_SIZE] = {
550 [ 0 ] = KEY_KP0,
551 [ 1 ] = KEY_KP1,
552 [ 2 ] = KEY_KP2,
553 [ 3 ] = KEY_KP3,
554 [ 4 ] = KEY_KP4,
555 [ 5 ] = KEY_KP5,
556 [ 6 ] = KEY_KP6,
557 [ 7 ] = KEY_KP7,
558 [ 8 ] = KEY_KP8,
559 [ 9 ] = KEY_KP9,
560
561 [ 0x0a ] = KEY_AGAIN, /* Recall */
562 [ 0x0b ] = KEY_CHANNELUP,
563 [ 0x0c ] = KEY_VOLUMEUP,
564 [ 0x0d ] = KEY_MODE, /* Stereo */
565 [ 0x0e ] = KEY_STOP,
566 [ 0x0f ] = KEY_PREVIOUSSONG,
567 [ 0x10 ] = KEY_ZOOM,
568 [ 0x11 ] = KEY_TUNER, /* Source */
569 [ 0x12 ] = KEY_POWER,
570 [ 0x13 ] = KEY_MUTE,
571 [ 0x15 ] = KEY_CHANNELDOWN,
572 [ 0x18 ] = KEY_VOLUMEDOWN,
573 [ 0x19 ] = KEY_SHUFFLE, /* Snapshot */
574 [ 0x1a ] = KEY_NEXTSONG,
575 [ 0x1b ] = KEY_TEXT, /* Time Shift */
576 [ 0x1c ] = KEY_RADIO, /* FM Radio */
577 [ 0x1d ] = KEY_RECORD,
578 [ 0x1e ] = KEY_PAUSE,
579};
580
581
546/* -------------------- GPIO generic keycode builder -------------------- */ 582/* -------------------- GPIO generic keycode builder -------------------- */
547 583
548static int build_key(struct saa7134_dev *dev) 584static int build_key(struct saa7134_dev *dev)
@@ -745,6 +781,12 @@ int saa7134_input_init1(struct saa7134_dev *dev)
745 mask_keyup = 0x004000; 781 mask_keyup = 0x004000;
746 polling = 50; // ms 782 polling = 50; // ms
747 break; 783 break;
784 case SAA7134_BOARD_PCTV_CARDBUS:
785 ir_codes = pctv_cardbus_codes;
786 mask_keycode = 0x001f00;
787 mask_keyup = 0x004000;
788 polling = 50; // ms
789 break;
748 case SAA7134_BOARD_GOTVIEW_7135: 790 case SAA7134_BOARD_GOTVIEW_7135:
749 ir_codes = gotview7135_codes; 791 ir_codes = gotview7135_codes;
750 mask_keycode = 0x0003EC; 792 mask_keycode = 0x0003EC;