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

[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
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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]
+52 −1
Original line number Diff line number Diff line
@@ -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;
+49 −0
Original line number Diff line number Diff line
@@ -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;
+1 −0
Original line number Diff line number Diff line
@@ -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