diff options
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 1 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 23 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 2 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-input.c | 42 |
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> */ | ||
549 | static 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 | ||
548 | static int build_key(struct saa7134_dev *dev) | 584 | static 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; |