Commit 4bc90dea authored by Teresa Gámez's avatar Teresa Gámez Committed by Mauro Carvalho Chehab

[media] V4L: mt9m111: fix pixel clock

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: default avatarTeresa Gámez <t.gamez@phytec.de>
[g.liakhovetski@gmx.de: removed superfluous register write]
Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Tested-by: default avatarTeresa Gámez <t.gamez@phytec.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent a1de7a00
...@@ -315,10 +315,20 @@ static int mt9m111_setup_rect(struct i2c_client *client, ...@@ -315,10 +315,20 @@ static int mt9m111_setup_rect(struct i2c_client *client,
static int mt9m111_setup_pixfmt(struct i2c_client *client, u16 outfmt) static int mt9m111_setup_pixfmt(struct i2c_client *client, u16 outfmt)
{ {
int ret; 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) 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; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment