Skip to content

Commit

Permalink
[media] V4L: mt9m111: fix pixel clock
Browse files Browse the repository at this point in the history
This camera driver supports only rising edge, which is the default
setting of the device. The function mt9m111_setup_pixfmt() overwrites
this setting. So the driver actually uses falling edge.
This patch corrects that.

Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
[g.liakhovetski@gmx.de: removed superfluous register write]
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Tested-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Teresa Gámez authored and Mauro Carvalho Chehab committed May 20, 2011
1 parent a1de7a0 commit 4bc90de
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions drivers/media/video/mt9m111.c
Original file line number Diff line number Diff line change
Expand Up @@ -315,10 +315,20 @@ static int mt9m111_setup_rect(struct i2c_client *client,
static int mt9m111_setup_pixfmt(struct i2c_client *client, u16 outfmt)
{
int ret;
u16 mask = MT9M111_OUTFMT_PROCESSED_BAYER | MT9M111_OUTFMT_RGB |
MT9M111_OUTFMT_BYPASS_IFP | MT9M111_OUTFMT_SWAP_RGB_EVEN |
MT9M111_OUTFMT_RGB565 | MT9M111_OUTFMT_RGB555 |
MT9M111_OUTFMT_SWAP_YCbCr_Cb_Cr |
MT9M111_OUTFMT_SWAP_YCbCr_C_Y;

ret = reg_write(OUTPUT_FORMAT_CTRL2_A, outfmt);
ret = reg_read(OUTPUT_FORMAT_CTRL2_A);
if (ret >= 0)
ret = reg_write(OUTPUT_FORMAT_CTRL2_A, (ret & ~mask) | outfmt);
if (!ret)
ret = reg_write(OUTPUT_FORMAT_CTRL2_B, outfmt);
ret = reg_read(OUTPUT_FORMAT_CTRL2_B);
if (ret >= 0)
ret = reg_write(OUTPUT_FORMAT_CTRL2_B, (ret & ~mask) | outfmt);

return ret;
}

Expand Down

0 comments on commit 4bc90de

Please sign in to comment.