Commit 6b961440 authored by Nickolay V. Shmyrev's avatar Nickolay V. Shmyrev Committed by Linus Torvalds

[PATCH] v4l: 639: added new card gotview pci 7135

- Added new card GoTView PCI 7135
Signed-off-by: default avatarNickolay V. Shmyrev <nshmyrev@yandex.ru>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 7c08fb02
......@@ -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]
......@@ -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;
......
......@@ -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;
......
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment