[PATCH] v4l: 639: added new card gotview pci 7135
authorNickolay V. Shmyrev <nshmyrev@yandex.ru>
Wed, 9 Nov 2005 05:36:22 +0000 (21:36 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 9 Nov 2005 15:56:07 +0000 (07:56 -0800)
- Added new card GoTView PCI 7135

Signed-off-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Documentation/video4linux/CARDLIST.saa7134
drivers/media/video/saa7134/saa7134-cards.c
drivers/media/video/saa7134/saa7134-input.c
drivers/media/video/saa7134/saa7134.h

index f31c2f8e4048ec522bc4dd052dc9a4eeec60b803..411f842c5d1a4a2dfc5ff043916591f050e5dc64 100644 (file)
@@ -66,3 +66,4 @@
  65 -> V-Stream Studio TV Terminator
  66 -> Yuan TUN-900 (saa7135)
  67 -> Beholder BeholdTV 409 FM                 [0000:4091]
+ 68 -> GoTView 7135 PCI                         [5456:7135]
index bca5b7038a8caafa954d61b13f710986a959fb8c..088376d3c95bb9464ee50213dbd1a2efa8424c9f 100644 (file)
@@ -2141,6 +2141,50 @@ struct saa7134_board saa7134_boards[] = {
                          .amux = LINE2,
                },
         },
+        [SAA7134_BOARD_GOTVIEW_7135] = {
+               /* Mike Baikov <lists@baikov.com> */
+               /* Andrey Cvetcov <ays14@yandex.ru> */
+                .name            = "GoTView 7135 PCI",
+                .audio_clock     = 0x00187de7,
+                .tuner_type      = TUNER_PHILIPS_FM1216ME_MK3,
+                .radio_type      = UNSET,
+                .tuner_addr      = ADDR_UNSET,
+                .radio_addr      = ADDR_UNSET,
+                .tda9887_conf    = TDA9887_PRESENT,
+                .gpiomask        = 0x00200003,
+                .inputs          = {{
+                        .name = name_tv,
+                        .vmux = 1,
+                        .amux = TV,
+                        .tv   = 1,
+                        .gpio = 0x00200003,
+                },{
+                        .name = name_tv_mono,
+                        .vmux = 1,
+                        .amux = LINE2,
+                        .gpio = 0x00200003,
+                },{
+                        .name = name_comp1,
+                        .vmux = 3,
+                        .amux = LINE1,
+                        .gpio = 0x00200003,
+                },{
+                        .name = name_svideo,
+                        .vmux = 8,
+                        .amux = LINE1,
+                        .gpio = 0x00200003,
+                }},
+                .radio = {
+                        .name = name_radio,
+                        .amux = LINE2,
+                        .gpio = 0x00200003,
+                },
+                .mute = {
+                        .name = name_mute,
+                        .amux = TV,
+                        .gpio = 0x00200003,
+                },
+        },
 };
 
 const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -2504,6 +2548,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
                .subvendor    = 0x0000, /* It shouldn't break anything, since subdevice id seems unique */
                .subdevice    = 0x4091,
                .driver_data  = SAA7134_BOARD_BEHOLD_409FM,
+        },{
+                .vendor       = PCI_VENDOR_ID_PHILIPS,
+                .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
+                .subvendor    = 0x5456, /* GoTView */
+                .subdevice    = 0x7135,
+                .driver_data  = SAA7134_BOARD_GOTVIEW_7135,
         },{
                /* --- boards without eeprom + subsystem ID --- */
                .vendor       = PCI_VENDOR_ID_PHILIPS,
@@ -2597,6 +2647,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
        case SAA7134_BOARD_MANLI_MTV002:
        case SAA7134_BOARD_BEHOLD_409FM:
        case SAA7134_BOARD_AVACSSMARTTV:
+       case SAA7134_BOARD_GOTVIEW_7135:
                dev->has_remote = 1;
                break;
        case SAA7134_BOARD_MD5044:
@@ -2613,7 +2664,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
                break;
        case SAA7134_BOARD_FLYDVBTDUO:
        case SAA7134_BOARD_THYPHOON_DVBT_DUO_CARDBUS:
-       /* turn the fan on Hac: static for the time being */
+               /* turn the fan on */
                saa_writeb(SAA7134_GPIO_GPMODE3, 0x08);
                saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x06);
                break;
index 8e2cc9d75cd56c69005b77f4ff17d8bfa93cae14..899abd8ba0d1fdafe8238bfb9870848702432637 100644 (file)
@@ -401,6 +401,48 @@ static IR_KEYTAB_TYPE manli_codes[IR_KEYTAB_SIZE] = {
 
        // 0x1d unused ?
 };
+
+
+/* Mike Baikov Mike Baikov <lists@baikov.com> */
+static IR_KEYTAB_TYPE gotview7135_codes[IR_KEYTAB_SIZE] = {
+
+       [ 33 ] = KEY_POWER,
+       [ 105] = KEY_TV,
+       [ 51 ] = KEY_KP0,
+       [ 81 ] = KEY_KP1,
+       [ 49 ] = KEY_KP2,
+       [ 113] = KEY_KP3,
+       [ 59 ] = KEY_KP4,
+       [ 88 ] = KEY_KP5,
+       [ 65 ] = KEY_KP6,
+       [ 72 ] = KEY_KP7,
+       [ 48 ] = KEY_KP8,
+       [ 83 ] = KEY_KP9,
+       [ 115] = KEY_AGAIN, /* LOOP */
+       [ 10 ] = KEY_AUDIO,
+       [ 97 ] = KEY_PRINT, /* PREVIEW */
+       [ 122] = KEY_VIDEO,
+       [ 32 ] = KEY_CHANNELUP,
+       [ 64 ] = KEY_CHANNELDOWN,
+       [ 24 ] = KEY_VOLUMEDOWN,
+       [ 80 ] = KEY_VOLUMEUP,
+       [ 16 ] = KEY_MUTE,
+       [ 74 ] = KEY_SEARCH,
+       [ 123] = KEY_SHUFFLE, /* SNAPSHOT */
+       [ 34 ] = KEY_RECORD,
+       [ 98 ] = KEY_STOP,
+       [ 120] = KEY_PLAY,
+       [ 57 ] = KEY_REWIND,
+       [ 89 ] = KEY_PAUSE,
+       [ 25 ] = KEY_FORWARD,
+       [  9 ] = KEY_ZOOM,
+
+       [ 82 ] = KEY_F21, /* LIVE TIMESHIFT */
+       [ 26 ] = KEY_F22, /* MIN TIMESHIFT */
+       [ 58 ] = KEY_F23, /* TIMESHIFT */
+       [ 112] = KEY_F24, /* NORMAL TIMESHIFT */
+};
+
 /* ---------------------------------------------------------------------- */
 
 static int build_key(struct saa7134_dev *dev)
@@ -523,6 +565,13 @@ int saa7134_input_init1(struct saa7134_dev *dev)
                mask_keydown = 0x002000;
                polling      = 50; // ms
                break;
+        case SAA7134_BOARD_GOTVIEW_7135:
+               ir_codes     = gotview7135_codes;
+               mask_keycode = 0x0003EC;
+               mask_keyup   = 0x008000;
+               mask_keydown = 0x000010;
+               polling      = 50; // ms
+               break;
        case SAA7134_BOARD_VIDEOMATE_TV_PVR:
        case SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII:
                ir_codes     = videomate_tv_pvr_codes;
index 45fe6af1eccb4ada0a40f5520975810a4c45bbde..291c2e8d108637db8727a94500a20560bbb28f06 100644 (file)
@@ -188,6 +188,7 @@ struct saa7134_format {
 #define SAA7134_BOARD_KWORLD_TERMINATOR 65
 #define SAA7134_BOARD_YUAN_TUN900 66
 #define SAA7134_BOARD_BEHOLD_409FM 67
+#define SAA7134_BOARD_GOTVIEW_7135 68
 
 #define SAA7134_MAXBOARDS 8
 #define SAA7134_INPUT_MAX 8