diff options
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 1 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 53 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-input.c | 49 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 1 |
4 files changed, 103 insertions, 1 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index f31c2f8e4048..411f842c5d1a 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -66,3 +66,4 @@ | |||
66 | 65 -> V-Stream Studio TV Terminator | 66 | 65 -> V-Stream Studio TV Terminator |
67 | 66 -> Yuan TUN-900 (saa7135) | 67 | 66 -> Yuan TUN-900 (saa7135) |
68 | 67 -> Beholder BeholdTV 409 FM [0000:4091] | 68 | 67 -> Beholder BeholdTV 409 FM [0000:4091] |
69 | 68 -> GoTView 7135 PCI [5456:7135] | ||
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index bca5b7038a8c..088376d3c95b 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -2141,6 +2141,50 @@ struct saa7134_board saa7134_boards[] = { | |||
2141 | .amux = LINE2, | 2141 | .amux = LINE2, |
2142 | }, | 2142 | }, |
2143 | }, | 2143 | }, |
2144 | [SAA7134_BOARD_GOTVIEW_7135] = { | ||
2145 | /* Mike Baikov <lists@baikov.com> */ | ||
2146 | /* Andrey Cvetcov <ays14@yandex.ru> */ | ||
2147 | .name = "GoTView 7135 PCI", | ||
2148 | .audio_clock = 0x00187de7, | ||
2149 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, | ||
2150 | .radio_type = UNSET, | ||
2151 | .tuner_addr = ADDR_UNSET, | ||
2152 | .radio_addr = ADDR_UNSET, | ||
2153 | .tda9887_conf = TDA9887_PRESENT, | ||
2154 | .gpiomask = 0x00200003, | ||
2155 | .inputs = {{ | ||
2156 | .name = name_tv, | ||
2157 | .vmux = 1, | ||
2158 | .amux = TV, | ||
2159 | .tv = 1, | ||
2160 | .gpio = 0x00200003, | ||
2161 | },{ | ||
2162 | .name = name_tv_mono, | ||
2163 | .vmux = 1, | ||
2164 | .amux = LINE2, | ||
2165 | .gpio = 0x00200003, | ||
2166 | },{ | ||
2167 | .name = name_comp1, | ||
2168 | .vmux = 3, | ||
2169 | .amux = LINE1, | ||
2170 | .gpio = 0x00200003, | ||
2171 | },{ | ||
2172 | .name = name_svideo, | ||
2173 | .vmux = 8, | ||
2174 | .amux = LINE1, | ||
2175 | .gpio = 0x00200003, | ||
2176 | }}, | ||
2177 | .radio = { | ||
2178 | .name = name_radio, | ||
2179 | .amux = LINE2, | ||
2180 | .gpio = 0x00200003, | ||
2181 | }, | ||
2182 | .mute = { | ||
2183 | .name = name_mute, | ||
2184 | .amux = TV, | ||
2185 | .gpio = 0x00200003, | ||
2186 | }, | ||
2187 | }, | ||
2144 | }; | 2188 | }; |
2145 | 2189 | ||
2146 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 2190 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); |
@@ -2505,6 +2549,12 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
2505 | .subdevice = 0x4091, | 2549 | .subdevice = 0x4091, |
2506 | .driver_data = SAA7134_BOARD_BEHOLD_409FM, | 2550 | .driver_data = SAA7134_BOARD_BEHOLD_409FM, |
2507 | },{ | 2551 | },{ |
2552 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
2553 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
2554 | .subvendor = 0x5456, /* GoTView */ | ||
2555 | .subdevice = 0x7135, | ||
2556 | .driver_data = SAA7134_BOARD_GOTVIEW_7135, | ||
2557 | },{ | ||
2508 | /* --- boards without eeprom + subsystem ID --- */ | 2558 | /* --- boards without eeprom + subsystem ID --- */ |
2509 | .vendor = PCI_VENDOR_ID_PHILIPS, | 2559 | .vendor = PCI_VENDOR_ID_PHILIPS, |
2510 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, | 2560 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, |
@@ -2597,6 +2647,7 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
2597 | case SAA7134_BOARD_MANLI_MTV002: | 2647 | case SAA7134_BOARD_MANLI_MTV002: |
2598 | case SAA7134_BOARD_BEHOLD_409FM: | 2648 | case SAA7134_BOARD_BEHOLD_409FM: |
2599 | case SAA7134_BOARD_AVACSSMARTTV: | 2649 | case SAA7134_BOARD_AVACSSMARTTV: |
2650 | case SAA7134_BOARD_GOTVIEW_7135: | ||
2600 | dev->has_remote = 1; | 2651 | dev->has_remote = 1; |
2601 | break; | 2652 | break; |
2602 | case SAA7134_BOARD_MD5044: | 2653 | case SAA7134_BOARD_MD5044: |
@@ -2613,7 +2664,7 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
2613 | break; | 2664 | break; |
2614 | case SAA7134_BOARD_FLYDVBTDUO: | 2665 | case SAA7134_BOARD_FLYDVBTDUO: |
2615 | case SAA7134_BOARD_THYPHOON_DVBT_DUO_CARDBUS: | 2666 | case SAA7134_BOARD_THYPHOON_DVBT_DUO_CARDBUS: |
2616 | /* turn the fan on Hac: static for the time being */ | 2667 | /* turn the fan on */ |
2617 | saa_writeb(SAA7134_GPIO_GPMODE3, 0x08); | 2668 | saa_writeb(SAA7134_GPIO_GPMODE3, 0x08); |
2618 | saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x06); | 2669 | saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x06); |
2619 | break; | 2670 | break; |
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c index 8e2cc9d75cd5..899abd8ba0d1 100644 --- a/drivers/media/video/saa7134/saa7134-input.c +++ b/drivers/media/video/saa7134/saa7134-input.c | |||
@@ -401,6 +401,48 @@ static IR_KEYTAB_TYPE manli_codes[IR_KEYTAB_SIZE] = { | |||
401 | 401 | ||
402 | // 0x1d unused ? | 402 | // 0x1d unused ? |
403 | }; | 403 | }; |
404 | |||
405 | |||
406 | /* Mike Baikov Mike Baikov <lists@baikov.com> */ | ||
407 | static IR_KEYTAB_TYPE gotview7135_codes[IR_KEYTAB_SIZE] = { | ||
408 | |||
409 | [ 33 ] = KEY_POWER, | ||
410 | [ 105] = KEY_TV, | ||
411 | [ 51 ] = KEY_KP0, | ||
412 | [ 81 ] = KEY_KP1, | ||
413 | [ 49 ] = KEY_KP2, | ||
414 | [ 113] = KEY_KP3, | ||
415 | [ 59 ] = KEY_KP4, | ||
416 | [ 88 ] = KEY_KP5, | ||
417 | [ 65 ] = KEY_KP6, | ||
418 | [ 72 ] = KEY_KP7, | ||
419 | [ 48 ] = KEY_KP8, | ||
420 | [ 83 ] = KEY_KP9, | ||
421 | [ 115] = KEY_AGAIN, /* LOOP */ | ||
422 | [ 10 ] = KEY_AUDIO, | ||
423 | [ 97 ] = KEY_PRINT, /* PREVIEW */ | ||
424 | [ 122] = KEY_VIDEO, | ||
425 | [ 32 ] = KEY_CHANNELUP, | ||
426 | [ 64 ] = KEY_CHANNELDOWN, | ||
427 | [ 24 ] = KEY_VOLUMEDOWN, | ||
428 | [ 80 ] = KEY_VOLUMEUP, | ||
429 | [ 16 ] = KEY_MUTE, | ||
430 | [ 74 ] = KEY_SEARCH, | ||
431 | [ 123] = KEY_SHUFFLE, /* SNAPSHOT */ | ||
432 | [ 34 ] = KEY_RECORD, | ||
433 | [ 98 ] = KEY_STOP, | ||
434 | [ 120] = KEY_PLAY, | ||
435 | [ 57 ] = KEY_REWIND, | ||
436 | [ 89 ] = KEY_PAUSE, | ||
437 | [ 25 ] = KEY_FORWARD, | ||
438 | [ 9 ] = KEY_ZOOM, | ||
439 | |||
440 | [ 82 ] = KEY_F21, /* LIVE TIMESHIFT */ | ||
441 | [ 26 ] = KEY_F22, /* MIN TIMESHIFT */ | ||
442 | [ 58 ] = KEY_F23, /* TIMESHIFT */ | ||
443 | [ 112] = KEY_F24, /* NORMAL TIMESHIFT */ | ||
444 | }; | ||
445 | |||
404 | /* ---------------------------------------------------------------------- */ | 446 | /* ---------------------------------------------------------------------- */ |
405 | 447 | ||
406 | static int build_key(struct saa7134_dev *dev) | 448 | static int build_key(struct saa7134_dev *dev) |
@@ -523,6 +565,13 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
523 | mask_keydown = 0x002000; | 565 | mask_keydown = 0x002000; |
524 | polling = 50; // ms | 566 | polling = 50; // ms |
525 | break; | 567 | break; |
568 | case SAA7134_BOARD_GOTVIEW_7135: | ||
569 | ir_codes = gotview7135_codes; | ||
570 | mask_keycode = 0x0003EC; | ||
571 | mask_keyup = 0x008000; | ||
572 | mask_keydown = 0x000010; | ||
573 | polling = 50; // ms | ||
574 | break; | ||
526 | case SAA7134_BOARD_VIDEOMATE_TV_PVR: | 575 | case SAA7134_BOARD_VIDEOMATE_TV_PVR: |
527 | case SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII: | 576 | case SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII: |
528 | ir_codes = videomate_tv_pvr_codes; | 577 | ir_codes = videomate_tv_pvr_codes; |
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index 45fe6af1eccb..291c2e8d1086 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -188,6 +188,7 @@ struct saa7134_format { | |||
188 | #define SAA7134_BOARD_KWORLD_TERMINATOR 65 | 188 | #define SAA7134_BOARD_KWORLD_TERMINATOR 65 |
189 | #define SAA7134_BOARD_YUAN_TUN900 66 | 189 | #define SAA7134_BOARD_YUAN_TUN900 66 |
190 | #define SAA7134_BOARD_BEHOLD_409FM 67 | 190 | #define SAA7134_BOARD_BEHOLD_409FM 67 |
191 | #define SAA7134_BOARD_GOTVIEW_7135 68 | ||
191 | 192 | ||
192 | #define SAA7134_MAXBOARDS 8 | 193 | #define SAA7134_MAXBOARDS 8 |
193 | #define SAA7134_INPUT_MAX 8 | 194 | #define SAA7134_INPUT_MAX 8 |