3/3: 2.6.8 zr36067 driver - correct subfrequency carrier
PATCH 1/1 3/3: 2.6.8 zr36067 driver - correct subfrequency carrier
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 <[email protected]> (8/21).
Ronald
Signed-off-by Ronald Bultje <[email protected]>
Signed-off-by Douglas Fraser <[email protected]>
Signature · 1 line
Ronald Bultje <[email protected]>
Index: linux/drivers/media/video/adv7175.c
drivers/media/video/adv7175.c +28 -0
@@ -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 );