Google
  Web www.spinics.net

Compro Videomate TV/PVR Patches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Hi,

I have created two patches based on the 2.6.10rc1 kernel and v4l
patches. One patch puts the necessary stuff in to make the remote
control work. The other fixes the problem of audio only coming out of
the left side, although I am not sure if it is the best way to fix this
problem.

Regards,

Michael
--- linux-2.6.10-rc1.orig/drivers/media/video/saa7134/saa7134-tvaudio.c	2004-11-19 11:36:37.000000000 +0000
+++ linux-2.6.10-rc1/drivers/media/video/saa7134/saa7134-tvaudio.c	2004-11-27 15:03:48.000000000 +0000
@@ -245,6 +245,10 @@
 	case LINE1: ausel=0x80; ics=0x00; ocs=0x00; break;
 	case LINE2: ausel=0x80; ics=0x08; ocs=0x01; break;
 	}
+	if ( dev->board == SAA7134_BOARD_VIDEOMATE_TV_PVR &&
+	     in->amux == LINE2 ) {
+		ocs=0x05;
+	}
 	saa_andorb(SAA7134_AUDIO_FORMAT_CTRL, 0xc0, ausel);
 	saa_andorb(SAA7134_ANALOG_IO_SELECT, 0x08, ics);
 	saa_andorb(SAA7134_ANALOG_IO_SELECT, 0x07, ocs);
diff -urN linux-2.6.10-rc1.orig/drivers/media/video/saa7134/saa7134-cards.c linux-2.6.10-rc1/drivers/media/video/saa7134/saa7134-cards.c
--- linux-2.6.10-rc1.orig/drivers/media/video/saa7134/saa7134-cards.c	2004-11-19 11:36:37.000000000 +0000
+++ linux-2.6.10-rc1/drivers/media/video/saa7134/saa7134-cards.c	2004-11-19 12:11:15.000000000 +0000
@@ -1587,6 +1587,7 @@
 	case SAA7134_BOARD_ECS_TVP3XP_4CB5:
 	case SAA7134_BOARD_MD2819:
 	case SAA7134_BOARD_AVERMEDIA_307:
+	case SAA7134_BOARD_VIDEOMATE_TV_PVR:
 		dev->has_remote = 1;
 		break;
 	case SAA7134_BOARD_AVACSSMARTTV:
--- linux-2.6.10-rc1.orig/drivers/media/video/saa7134/saa7134-input.c	2004-11-19 11:36:37.000000000 +0000
+++ linux-2.6.10-rc1/drivers/media/video/saa7134/saa7134-input.c	2004-11-27 15:33:41.000000000 +0000
@@ -258,6 +258,55 @@
 	[ 17 ] = KEY_CHANNELDOWN,	// CHANNEL/PAGE-
 	[ 49 ] = KEY_CHANNELUP		// CHANNEL/PAGE+
 };
+
+static IR_KEYTAB_TYPE videomate_tv_pvr_codes[IR_KEYTAB_SIZE] = {
+	[ 20 ] = KEY_MUTE,
+	[ 36 ] = KEY_ZOOM,
+
+	[  1 ] = KEY_DVD,
+	[ 35 ] = KEY_RADIO,
+	[  0 ] = KEY_TV,
+
+	[ 10 ] = KEY_REWIND,
+	[  8 ] = KEY_PLAYPAUSE,
+	[ 15 ] = KEY_FORWARD,
+
+	[  2 ] = KEY_PREVIOUS,
+	[  7 ] = KEY_STOP,
+	[  6 ] = KEY_NEXT,
+
+	[ 12 ] = KEY_UP,
+	[ 14 ] = KEY_DOWN,
+	[ 11 ] = KEY_LEFT,
+	[ 13 ] = KEY_RIGHT,
+	[ 17 ] = KEY_OK,
+
+	[  3 ] = KEY_MENU,
+	[  9 ] = KEY_SETUP,
+	[  5 ] = KEY_VIDEO,
+	[ 34 ] = KEY_CHANNEL,
+
+	[ 18 ] = KEY_VOLUMEUP,
+	[ 21 ] = KEY_VOLUMEDOWN,
+	[ 16 ] = KEY_CHANNELUP,
+	[ 19 ] = KEY_CHANNELDOWN,
+
+	[  4 ] = KEY_RECORD,
+
+	[ 22 ] = KEY_KP1,
+	[ 23 ] = KEY_KP2,
+	[ 24 ] = KEY_KP3,
+	[ 25 ] = KEY_KP4,
+	[ 26 ] = KEY_KP5,
+	[ 27 ] = KEY_KP6,
+	[ 28 ] = KEY_KP7,
+	[ 29 ] = KEY_KP8,
+	[ 30 ] = KEY_KP9,
+	[ 31 ] = KEY_KP0,
+
+	[ 32 ] = KEY_LANGUAGE,
+	[ 33 ] = KEY_SLEEP,
+};
 /* ---------------------------------------------------------------------- */
 
 static int build_key(struct saa7134_dev *dev)
@@ -362,6 +411,12 @@
 		saa_setb(SAA7134_GPIO_GPMODE0, 0x4);
 		saa_setb(SAA7134_GPIO_GPSTATUS0, 0x4);
 		break;
+	case SAA7134_BOARD_VIDEOMATE_TV_PVR:
+		ir_codes     = videomate_tv_pvr_codes;
+		mask_keycode = 0x00003F;
+		mask_keyup   = 0x400000;
+		polling      = 50; // ms
+		break;
 	}
 	if (NULL == ir_codes) {
 		printk("%s: Oops: IR config error [card=%d]\n",
--

Unsubscribe mailto:video4linux-list-request@xxxxxxxxxx?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list

[Home]     [Older V4L]     [Linux DVB]     [Video Disk Recorder]     [Video Technology]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Plasma TVs]     [Video Projectors]     [PDAs]     [Xorg]     [Util Linux NG]     [Xfree86]     [Devices]     [Big List of Linux Books]     [Free Photo Albums]     [LCD TVs]     [Fedora Users]     [Webcams]     [Fedora Women]     [HDTV]     [ALSA Users]     [ALSA Devel]     [Stuff]     [SSH]     [Linux USB]

Powered by Linux

Google PageRank Checking tool