mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] 3/3: 2.6.8 zr36067 driver - correct subfrequency carrier
@ 2004-08-29 19:29 Ronald Bultje
  0 siblings, 0 replies; only message in thread
From: Ronald Bultje @ 2004-08-29 19:29 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, Douglas Fraser, mjpeg-developer

[-- Attachment #1: Type: text/plain, Size: 522 bytes --]

Hi,

attached patch changes the subfrequency carrier value in the adv7175
video output driver which is part of the zr36067 driver package. The
practical consequence is that the picture will be more stable on
non-passthrough video mode in NTSC. It does not affect PAL/SECAM. Patch
originally submitted by Douglas Fraser <ds-fraser@comcast.net> (8/21).

Ronald

Signed-off-by: Ronald Bultje <rbultje@ronald.bitfreak.net>
Signed-off-by: Douglas Fraser <ds-fraser@comcast.net>

-- 
Ronald Bultje <rbultje@ronald.bitfreak.net>

[-- Attachment #2: zoran-adv7175-scf.diff --]
[-- Type: text/x-patch, Size: 1643 bytes --]

Index: linux/drivers/media/video/adv7175.c
--- linux~zoran-adv7175-scf/drivers/media/video/adv7175.c	2004-08-14 12:56:22.000000000 +0200
+++ linux/drivers/media/video/adv7175.c	2004-08-29 18:33:18.392719048 +0200
@@ -156,6 +156,22 @@
 	return ret;
 }
 
+static void
+set_subcarrier_freq (struct i2c_client *client,
+		     int                pass_through)
+{
+	/* for some reason pass_through NTSC needs
+	 * a different sub-carrier freq to remain stable. */
+	if(pass_through)
+		adv7175_write(client, 0x02, 0x00);
+	else
+		adv7175_write(client, 0x02, 0x55);
+
+	adv7175_write(client, 0x03, 0x55);
+	adv7175_write(client, 0x04, 0x55);
+	adv7175_write(client, 0x05, 0x25);
+}
+
 #ifdef ENCODER_DUMP
 static void
 dump (struct i2c_client *client)
@@ -322,6 +338,10 @@
 
 		case 0:
 			adv7175_write(client, 0x01, 0x00);
+
+			if (encoder->norm == VIDEO_MODE_NTSC)
+				set_subcarrier_freq(client, 1);
+
 			adv7175_write(client, 0x0c, TR1CAPT);	/* TR1 */
 			if (encoder->norm == VIDEO_MODE_SECAM)
 				adv7175_write(client, 0x0d, 0x49);	// Disable genlock
@@ -334,6 +354,10 @@
 
 		case 1:
 			adv7175_write(client, 0x01, 0x00);
+
+			if (encoder->norm == VIDEO_MODE_NTSC)
+				set_subcarrier_freq(client, 0);
+
 			adv7175_write(client, 0x0c, TR1PLAY);	/* TR1 */
 			adv7175_write(client, 0x0d, 0x49);
 			adv7175_write(client, 0x07, TR0MODE | TR0RST);
@@ -343,6 +367,10 @@
 
 		case 2:
 			adv7175_write(client, 0x01, 0x80);
+
+			if (encoder->norm == VIDEO_MODE_NTSC)
+				set_subcarrier_freq(client, 0);
+
 			adv7175_write(client, 0x0d, 0x49);
 			adv7175_write(client, 0x07, TR0MODE | TR0RST);
 			adv7175_write(client, 0x07, TR0MODE);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-08-29 19:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-29 19:29 [PATCH] 3/3: 2.6.8 zr36067 driver - correct subfrequency carrier Ronald Bultje

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome