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. Teresa -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html