Skip to content

Commit

Permalink
V4L/DVB (3514): SAA7113 doesn't have auto std chroma detection mode
Browse files Browse the repository at this point in the history
This patch makes chroma standard selection based at possible values,
according with datasheet.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
  • Loading branch information
Mauro Carvalho Chehab authored and Linus Torvalds committed Mar 21, 2006
1 parent f5762e4 commit f89982a
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions drivers/media/video/saa7115.c
Original file line number Diff line number Diff line change
Expand Up @@ -713,6 +713,35 @@ static void saa7115_set_v4lstd(struct i2c_client *client, v4l2_std_id std)
saa7115_writeregs(client, saa7115_cfg_50hz_video);
}

/* Register 0E - Bits D6-D4 on NO-AUTO mode
(SAA7113 doesn't have auto mode)
50 Hz / 625 lines 60 Hz / 525 lines
000 PAL BGDHI (4.43Mhz) NTSC M (3.58MHz)
001 NTSC 4.43 (50 Hz) PAL 4.43 (60 Hz)
010 Combination-PAL N (3.58MHz) NTSC 4.43 (60 Hz)
011 NTSC N (3.58MHz) PAL M (3.58MHz)
100 reserved NTSC-Japan (3.58MHz)
*/
if (state->ident == V4L2_IDENT_SAA7113) {
u8 reg = saa7115_read(client, 0x0e) & 0x8f;

if (std & V4L2_STD_PAL) {
if (std == V4L2_STD_PAL_M) {
reg|=0x30;
} else if (std == V4L2_STD_PAL_N) {
reg|=0x20;
} else if (std == V4L2_STD_PAL_60) {
reg|=0x10;
}
} else if (std & V4L2_STD_NTSC) {
if (std == V4L2_STD_NTSC_M_JP) {
reg|=0x40;
}
}
saa7115_write(client, 0x0e, reg);
}


state->std = std;

/* restart task B if needed */
Expand Down

0 comments on commit f89982a

Please sign in to comment.