Am Freitag, den 08.04.2011, 15:27 +0200 schrieb Teresa Gamez:
> Hello Guennadi,
>
> Am Donnerstag, den 07.04.2011, 14:41 +0200 schrieb Guennadi
> Liakhovetski:
> > Hello Teresa
> >
> > On Thu, 7 Apr 2011, Teresa Gamez wrote:
> >
> > > Hello Guennadi,
> > >
> > > the datasheet also says (see table 3):
> > >
> > > <quote>
> > > Pixel clock out. DOUT is valid on rising edge of this
> > > clock.
> > > </quote>
> > >
> > > There is a difference between DOUT beeing vaild and DOUT beeing set up.
> > > So does SOCAM_PCLK_SAMPLE_RISING mean that the data is valid at rising
> > > edge or
> > > does it mean the data is set up at rising edge?
> >
> > Hm, yeah, looks like a typical example of a copy-paste datasheet to me:-(
> > And now we don't know which of the two is actually supposed to be true. As
> > for "set up" vs. "valid" - not sure, whether there is indeed a difference
> > between them. To me "set up _TO_ the rising edge" is a short way to set
> > "set up to be valid at the rising edge," however, I might be wrong. Can
> > you tell me in more detail what and where (at the sensor board or on the
> > baseboard) you measured and what it looked like? I think, Figure 7 and the
> > description below it are interesting. From that diagram I would indeed say
> > indeed the DOUT pins are valid and should be sampled at the rising edge by
> > default - when bit 4 in 0x74 is not set. SOCAM_PCLK_SAMPLE_RISING means,
> > that the data should be sampled at the rising of pclkm, i.e., it is valid
> > there.
>
> I meassured the outgoing pins from the baseboard to the camera board and
> checked the PCLK and D0 to see at which point the data is valid. I have
> also checked the quality of the image.
> All tests where made with sensor_type=color
>
> My results for pcm038 are with following register settings:
>
> mx2_camera
> 0x0 CSICR1: 0x10020b92
> -> rising edge
>
> mt9v022
> 0x74 PIXCLK_FV_LV: 0x00000010
> -> rising edge (which I think is falling edge)
>
> meassured: falling edge (ugly image, wrong colors)
>
> Now I set the SOCAM_SENSOR_INVERT_PCLK flag in the platformcode for the
> mt9v022:
>
> mx2_camera
> 0x0 CSICR1 0x10020b92
> -> rising edge
>
> mt9v022
> 0x74 PIXCLK_FV_LV 0x00000000
> -> falling edge (which I think is rising edge)
>
> meassured: rising edge (image is OK)
>
> Now changed the PCLK of the mx2_camera:
>
> mx2_camera
> 0x0 CSICR1 0x10020b90
> -> falling edge
>
> mt9v022
> 0x74 PIXCLK_FV_LV 0x00000010
> -> rising edge (which I think is falling edge)
>
> meassured: falling edge (image is OK)
>
> >
> > So, yes, if your measurements agree with figure 7 from the datasheet, we
> > shall assume, that the driver implements the pclk polarity wrongly. But
> > the fix should be more extensive, than what you've submitted: if we invert
> > driver's behaviour, we should also invert board configuration of all
> > driver users: pcm990 and pcm037. Or we have to test them and verify, that
> > the inverted pclk polarity doesn't megatively affect the image quality, or
> > maybe even improves it.
> >
> > Thanks
> > Guennadi
> >
> > > I have tested this with a pcm038 but I will also make meassurements with
> > > the pcm037.
> > >
>
> Same results with the pcm037:
>
> mx3_camera
> 0x60 CSI_SENS_CONF: 0x00000700
> -> rising edge
>
> mt9v022
> 0x74 PIXCLK_FV_LV: 0x00000010
> -> rising edge (which I think is falling edge)
>
> meassured: falling edge (ulgy image, looks like b/w with pixel errors)
>
> Set SOCAM_SENSOR_INVERT_PCLK flag in the platformcode for the mt9v022:
> mx3_camera
> 0x60 CSI_SENS_CONF: 0x00000700
> -> rising edge
>
> mt9v022
> 0x74 PIXCLK_FV_LV 0x00000000
> -> falling edge (which I think is rising edge)
>
> meassured: rising edge (image is OK)
>
> Additionally set MX3_CAMERA_PCP of the mx3_camera flags
>
> mx3_camera
> 0x60 CSI_SENS_CONF: 0x00000708
> -> falling edge
>
> mt9v022
> 0x74 PIXCLK_FV_LV: 0x00000010
> -> rising edge (which I think is falling edge)
>
> meassured: falling edge (image is OK)
>
> Removed SOCAM_SENSOR_INVERT_PCLK flag for the mt9v022:
>
> mx3_camera
> 0x60 CSI_SENS_CONF: 0x00000708
> -> falling edge
>
> mt9v022
> 0x74 PIXCLK_FV_LV 0x00000000
> -> falling edge (which I think is rising edge)
>
> meassured: risging edge (ugly image, looks like the first one)
>
> I have noticed that on our pcm037 BSP the SOCAM_SENSOR_INVERT_PCLK flag
> for the camera was set to "fix" this issue.
> I will continue this test on the pcm990.
>
Got the same result with the pcm990:
pxa_camera
0x50000010 CICR4: 0x00880001
-> rising edge (0 << 22)
mt9v022
0x74 PIXCLK_FV_LV: 0x00000010
-> rising edge (1 << 4) (which I think is falling edge)
meassured: falling edge (some pixel have wrong colors)
---
Now set the SOCAM_SENSOR_INVERT_PCLK for mt9v022:
pxa_camera
0x50000010 CICR4: 0x00880001
-> rising edge (0 << 22)
mt9v022
0x74 PIXCLK_FV_LV: 0x00000000
-> falling edge (0 << 4) (which I think is rising edge)
meassured: rising edge (image is OK)
---
Additionaly set the PXA_CAMERA_PCP flag:
pxa_camera
0x50000010 CICR4: 0x00c80001
-> falling edge (1 << 22)
mt9v022
0x74 PIXCLK_FV_LV: 0x00000010
-> rising edge (1 << 4) (which I think is falling edge)
meassured: falling edge (image is OK)
---
Removed SOCAM_SENSOR_INVERT_PCLK again:
pxa_camera
0x50000010 CICR4: 0x00c80001
-> falling edge (1 << 22)
mt9v022
0x74 PIXCLK_FV_LV: 0x00000000
-> falling edge (0 << 4) (which I think is rising
edge)
meassured: rising edge (same as above, image shows wrong colored pixels)
I hope thats sufficed.
Teresa
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html