Problems configuring OMAP35x ISP driver
A message that is not in the archive (sent off-list or not yet received): [email protected]
Hello Sergio,
I spoke with you earlier about using the ISP and omap34xxcam drivers with a micron mt9d111 SOC sensor. I have since been able to take pictures, but the sensor data is not making it through the ISP data-path correctly. I know the problem is in the ISP data-path because I am configuring the sensor the exact same way as I have been on my working PXA system. I am expecting 4:2:2 packed YUV data, but all of the U and V data is no more than 2 bits where it should be 8. I know the ISP has a lot of capabilities, but all I want to use it for is grabbing 8-bit data from my sensor and putting it in a buffer untouched using the CCDC interface (and of course clocking and timing). What are the key steps to take to get this type of configuration?
Other Questions:
Is there any processing done on YUV data in the ISP driver by default that I am missing? Has any one else experienced similar problems while adding new sensor support?
Any help here would be greatly appreciated.
Thank you,
Zach LeRoy
Hello Zach,
unfortunately I cannot help you, but maybe you can tell me what driver you use? Where I can find it?
Thanks in advance
/Jesko
-----Ursprüngliche Nachricht-----
Von: [email protected] [mailto:[email protected]] Im Auftrag von Zach LeRoy
Gesendet: Dienstag, 14. Juli 2009 18:49
An: Aguirre Rodriguez, Sergio
Cc: linux-media; linux-omap
Betreff: Problems configuring OMAP35x ISP driver
Hello Sergio,
I spoke with you earlier about using the ISP and omap34xxcam drivers with a micron mt9d111 SOC sensor. I have since been able to take pictures, but the sensor data is not making it through the ISP data-path correctly. I know the problem is in the ISP data-path because I am configuring the sensor the exact same way as I have been on my working PXA system. I am expecting 4:2:2 packed YUV data, but all of the U and V data is no more than 2 bits where it should be 8. I know the ISP has a lot of capabilities, but all I want to use it for is grabbing 8-bit data from my sensor and putting it in a buffer untouched using the CCDC interface (and of course clocking and timing). What are the key steps to take to get this type of configuration?
Other Questions:
Is there any processing done on YUV data in the ISP driver by default that I am missing?
Has any one else experienced similar problems while adding new sensor support?
Any help here would be greatly appreciated.
Thank you,
Zach LeRoy
--
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
--
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
Zach,
We've gotten a Aptina MT9P031 driver working with the latest ISP patchset, both with YUV and RAW data.
I don't know what the problem might be with YUYV data - we get useful YUYV data without any changes to the ISP defaults.
However, to request RAW data, that simply uses the CCDC and bypasses all the processing in the ISP, request the pixelformat of V4L2_PIX_FMT_SGRBG10. This will give you two bytes per pixel, at least in our case (although we have a 12-bit sensor cut down to 10 bits), so be prepared to throw out every other byte.
Hope this helps,
Eino-Ville (Eddy) Talvala
Computer Graphics Lab
Stanford University
Quoted 19 lines · Zach LeRoy
Hello Sergio,
I spoke with you earlier about using the ISP and omap34xxcam drivers with a micron mt9d111 SOC sensor. I have since been able to take pictures, but the sensor data is not making it through the ISP data-path correctly. I know the problem is in the ISP data-path because I am configuring the sensor the exact same way as I have been on my working PXA system. I am expecting 4:2:2 packed YUV data, but all of the U and V data is no more than 2 bits where it should be 8. I know the ISP has a lot of capabilities, but all I want to use it for is grabbing 8-bit data from my sensor and putting it in a buffer untouched using the CCDC interface (and of course clocking and timing). What are the key steps to take to get this type of configuration?
Other Questions:
Is there any processing done on YUV data in the ISP driver by default that I am missing? Has any one else experienced similar problems while adding new sensor support?
Any help here would be greatly appreciated.
Thank you,
Zach LeRoy
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Eddy and anyone who may be able to help,
I am currently working on an Omnivision OV5620 and have used the ov3640 driver as a starting point. I have the June 18( latest ? ) code from the gitorious git repo. I have thouroughly tested my i2c driver setup using a 500 Mhz oscilloscope and have configured the sensor to 640 x 480. The only mode this supports is RAW V4L2_PIX_FMT_SGRBG10 and I have that as the only available format. So far so good. Sensor powers, configures etc, etc. However when I run the sensor I get ISPCTRL: HS_VS_IRQ <6>ISPCTRL: OVF_IRQ <6>ISPCTRL:
To test this I used the example code provided with v4l2 documentation.
I have attached a complete log with all my added printk's set up as a
poor mans stacktrace.
Stuck trying to determine where to go from here, I feel like I am so close to getting an image.
Thanks,
John Sarman
v4l2_open
omap34xx: Opening deviceisp_get
ISPCTRL: isp_get: old 0isp_enable_clocksisp_restore_ctxisp_restore_contextisp_restore_contextiommu_restore_ctx
ISPHIST: Restoring contextisp_restore_context
ISPH3A: Restoring contextisp_restore_contextisp_restore_context
ISPRESZ: Restoring contextisp_restore_context
ISPCTRL: isp_get: new 1omap34xxcam_slave_power_set
OV5620: ioctl_s_powerisp_set_xclkisp_reg_and_or
ISPCTRL: isp_set_xclk(): cam_xclka set to 24000000 HzBOARD_OVERO_CAMERA: Switching Power to 1
OV5620: POWER ONisp_configure_interfaceisp_buf_init
OV5620: Sensor Detected, calling configure
ov5620:configureomap34xxcam_slave_power_set
OV5620: ioctl_s_powerBOARD_OVERO_CAMERA: Switching Power to 2
OV5620: POWER STANDBYisp_set_xclkisp_reg_and_or
ISPCTRL: isp_set_xclk(): cam_xclka set to 0 Hz
OV5620: ioctl_g_fmt_capomap34xxcam_s_pix_parmomap34xxcam_try_pix_parmomap34xxcam_try_pix_parm fps = 1
OV5620: ioctl_enum_fmt_cap
OV5620: ioctl_enum_fmt_cap index 0 type 1
video4linux video0: trying fmt 30314142 (0)
OV5620: ioctl_enum_framesizesisp_try_fmt_capisp_try_pipeline
video4linux video0: this w 640 h 480 fmt 30314142 -> w 640 h 480 fmt
30314142 wanted w 640 h 480 fmt 30314142
video4linux video0: renegotiate: w 640 h 480 w 1073741823 h 1073741823
OV5620: ioctl_enum_frameintervals
video4linux video0: fps 60
the demoninator is 0
video4linux video0: best_pix_in: w 640 h 480 fmt 30314142 ival 1/60
OV5620: ioctl_enum_frameintervals
video4linux video0: fps 30
video4linux video0: closer fps: fps 29 fps 59
video4linux video0: best_pix_in: w 640 h 480 fmt 30314142 ival 1/30
OV5620: ioctl_enum_frameintervals
video4linux video0: fps 7
video4linux video0: closer fps: fps 6 fps 29
video4linux video0: best_pix_in: w 640 h 480 fmt 30314142 ival 2/15
OV5620: ioctl_enum_frameintervals
OV5620: ioctl_enum_framesizesisp_try_fmt_capisp_try_pipeline
video4linux video0: this w 1280 h 960 fmt 30314142 -> w 1280 h 960
fmt 30314142 wanted w 640 h 480 fmt 30314142
video4linux video0: size diff bigger: w 1280 h 960 w 640 h 480
OV5620: ioctl_enum_framesizes
OV5620: ioctl_enum_fmt_cap
OV5620: ioctl_enum_fmt_cap index 1 type 1
video4linux video0: w 640, h 480, fmt 30314142 -> w 640, h 480 video4linux video0: Wanted w 640, h 480, fmt 30314142 omap34xxcam_s_pix_parm 1 0isp_s_fmt_capisp_s_pipelineisp_release_resourcesisp_try_pipelineisp_reg_orisp_reg_orisp_reg_and_orisp_reg_and_orisp_reg_andisp_print_status
ISPCTRL: ###ISP_CTRL=0x29c140
ISPCTRL: ###ISP_TCTRL_CTRL=0x0
ISPCTRL: ###ISP_SYSCONFIG=0x2000
ISPCTRL: ###ISP_SYSSTATUS=0x1
ISPCTRL: ###ISP_IRQ0ENABLE=0x0
ISPCTRL: ###ISP_IRQ0STATUS=0x80000000isp_reg_andisp_reg_andisp_reg_andomap34xxcam_s_pix_parm 2 0
OV5620: ioctl_g_fmt_cap
OV5620: ioctl_s_fmt_cap
OV5620: ioctl_try_fmt_cap
OV5620: ioctl_try_fmt_cap WIDTH = 640
OV5620: ioctl_try_fmt_cap HEIGHT = 480 omap34xxcam_s_pix_parm 3 0
OV5620: ioctl_s_parm
OV5620 desired_fps = 7omap34xxcam_s_pix_parm 4 0
omap34xx: Opened devicevideo_do_ioctlomap34xxcam_vidioc_querycapvideo_do_ioctlomap34xxcam_cropcap
OV5620: ioctl_g_fmt_capvideo_do_ioctlomap34xxcam_vidioc_s_cropisp_s_cropvideo_do_ioctlomap34xxcam_vidioc_s_fmt_vid_capomap34xxcam_s_pix_parmomap34xxcam_try_pix_parmomap34xxcam_try_pix_parm fps = 1
OV5620: ioctl_enum_fmt_cap
OV5620: ioctl_enum_fmt_cap index 0 type 1
video4linux video0: trying fmt 30314142 (0)
OV5620: ioctl_enum_framesizesisp_try_fmt_capisp_try_pipeline
video4linux video0: this w 640 h 480 fmt 30314142 -> w 640 h 480 fmt
56595559 wanted w 640 h 480 fmt 56595559
video4linux video0: renegotiate: w 640 h 480 w 1073741823 h 1073741823
OV5620: ioctl_enum_frameintervals
video4linux video0: fps 60
the demoninator is 0
video4linux video0: best_pix_in: w 640 h 480 fmt 30314142 ival 1/60
OV5620: ioctl_enum_frameintervals
video4linux video0: fps 30
video4linux video0: closer fps: fps 29 fps 59
video4linux video0: best_pix_in: w 640 h 480 fmt 30314142 ival 1/30
OV5620: ioctl_enum_frameintervals
video4linux video0: fps 7
video4linux video0: closer fps: fps 6 fps 29
video4linux video0: best_pix_in: w 640 h 480 fmt 30314142 ival 2/15
OV5620: ioctl_enum_frameintervals
OV5620: ioctl_enum_framesizesisp_try_fmt_capisp_try_pipeline
video4linux video0: this w 1280 h 960 fmt 30314142 -> w 640 h 480 fmt
56595559 wanted w 640 h 480 fmt 56595559
OV5620: ioctl_enum_frameintervals
video4linux video0: fps 60
video4linux video0: falling through
OV5620: ioctl_enum_frameintervals
OV5620: ioctl_enum_framesizes
OV5620: ioctl_enum_fmt_cap
OV5620: ioctl_enum_fmt_cap index 1 type 1
video4linux video0: w 640, h 480, fmt 30314142 -> w 640, h 480 video4linux video0: Wanted w 640, h 480, fmt 30314142 omap34xxcam_s_pix_parm 1 0isp_s_fmt_capisp_s_pipelineisp_release_resourcesisp_reg_andisp_try_pipelineisp_reg_orisp_reg_orisp_reg_and_orisp_reg_andisp_print_status
ISPCTRL: ###ISP_CTRL=0x29c140
ISPCTRL: ###ISP_TCTRL_CTRL=0x0
ISPCTRL: ###ISP_SYSCONFIG=0x2000
ISPCTRL: ###ISP_SYSSTATUS=0x1
ISPCTRL: ###ISP_IRQ0ENABLE=0x0
ISPCTRL: ###ISP_IRQ0STATUS=0x80000000isp_reg_andisp_reg_orisp_reg_and_orisp_reg_orisp_reg_andisp_reg_andisp_reg_orisp_reg_orisp_reg_orisp_reg_and
ISPRESZ: ispresizer_config_datapath()+isp_reg_or
ISPRESZ: ispresizer_config_ycpos()+isp_reg_and_or
ISPRESZ: ispresizer_config_ycpos()-
ISPRESZ: ispresizer_config_filter_coef()+
ISPRESZ: ispresizer_config_filter_coef()-
ISPRESZ: ispresizer_enable_cbilin()+isp_reg_and_or
ISPRESZ: ispresizer_enable_cbilin()-
ISPRESZ: ispresizer_config_luma_enhance()+
ISPRESZ: ispresizer_config_luma_enhance()-
ISPRESZ: ispresizer_config_datapath()-
ISPRESZ: ispresizer_config_inlineoffset()+
ISPRESZ: ispresizer_config_inlineoffset()-
ISPRESZ: ispresizer_set_inaddr()+
ISPRESZ: ispresizer_set_inaddr()-
ISPRESZ: ispresizer_config_outlineoffset()+
ISPRESZ: ispresizer_config_outlineoffset()-
ISPRESZ: ispresizer_config_ycpos()+isp_reg_and_or
ISPRESZ: ispresizer_config_ycpos()-
ISPRESZ: ispresizer_config_size()-omap34xxcam_s_pix_parm 2 0
OV5620: ioctl_g_fmt_cap
OV5620: ioctl_s_fmt_cap
OV5620: ioctl_try_fmt_cap
OV5620: ioctl_try_fmt_cap WIDTH = 640
OV5620: ioctl_try_fmt_cap HEIGHT = 480 omap34xxcam_s_pix_parm 3 0
OV5620: ioctl_s_parm
OV5620 desired_fps = 7omap34xxcam_s_pix_parm 4 0video_do_ioctlomap34xxcam_vidioc_reqbufsomap34xxcam_vbq_setup
SETTING UP with SIZEIMAGE = 614400isp_vbq_setupisp_tmp_buf_allocisp_tmp_buf_free
ISPRESZ: ispresizer_set_inaddr()+
ISPRESZ: ispresizer_set_inaddr()-video_do_ioctlomap34xxcam_vidioc_querybufomap34xxcam_mmapvideo_do_ioctlomap34xxcam_vidioc_querybufomap34xxcam_mmapvideo_do_ioctlomap34xxcam_vidioc_querybufomap34xxcam_mmapvideo_do_ioctlomap34xxcam_vidioc_querybufomap34xxcam_mmapvideo_do_ioctlomap34xxcam_vidioc_qbufomap34xxcam_vbq_prepareisp_vbq_prepareisp_ispmmu_vmapvideo_do_ioctlomap34xxcam_vidioc_qbufomap34xxcam_vbq_prepareisp_vbq_prepareisp_ispmmu_vmapvideo_do_ioctlomap34xxcam_vidioc_qbufomap34xxcam_vbq_prepareisp_vbq_prepareisp_ispmmu_vmapvideo_do_ioctlomap34xxcam_vidioc_qbufomap34xxcam_vbq_prepareisp_vbq_prepareisp_ispmmu_vmapvideo_do_ioctlomap34xxcam_vidioc_streamonomap34xxcam_slave_power_set
OV5620: ioctl_s_powerisp_set_xclkisp_reg_and_or
ISPCTRL: isp_set_xclk(): cam_xclka set to 24000000 HzBOARD_OVERO_CAMERA: Switching Power to 1
OV5620: POWER ON
OV5620: Sensor Detected, calling configure
ov5620:configureisp_startomap34xxcam_vbq_queueisp_buf_queueisp_vbq_syncisp_enable_intisp_set_buf
ISPRESZ: ispresizer_set_outaddr()+
ISPRESZ: ispresizer_set_outaddr()-isp_reg_and_or
ISPCTRL: <1>isp_buf_queue: queue 0 vb 0, mmu 000a4000 omap34xxcam_vbq_queueisp_buf_queueisp_vbq_sync
ISPCTRL: <1>isp_buf_queue: queue 1 vb 1, mmu 0013a000 omap34xxcam_vbq_queueisp_buf_queueisp_vbq_sync
ISPCTRL: <1>isp_buf_queue: queue 2 vb 2, mmu 001d0000 omap34xxcam_vbq_queueisp_buf_queueisp_vbq_sync
ISPCTRL: <1>isp_buf_queue: queue 3 vb 3, mmu 00266000 omap34xxcam_pollomap34xxcam_poll
ISPCTRL: HS_VS_IRQ <6>ISPCTRL: OVF_IRQ <6>ISPCTRL:
-------!These were repeated several times!----------------------------
ISPCTRL: HS_VS_IRQ <6>ISPCTRL: OVF_IRQ <6>ISPCTRL:omap34xxcam_poll
ISPCTRL: HS_VS_IRQ <6>ISPCTRL: OVF_IRQ <6>ISPCTRL:omap34xxcam_vbq_releaseomap34xxcam_vbq_releaseomap34xxcam_vbq_releaseomap34xxcam_vbq_releaseomap34xxcam_releaseisp_stopisp_disable_intisp_stop_modulesisp_disable_modules
ISPH3A: H3A disabled ISPHIST: histogram disabled
isp_reg_and_or
ISPRESZ: +ispresizer_enable()+
ISPRESZ: +ispresizer_enable()-isp_reg_andisp_reg_and_or
omap3isp omap3isp: __isp_disable_modules: can't stop ccdc isp_icsi_enableisp_reg_and_orisp_buf_initisp_vbq_syncomap34xxcam_vbq_completeisp_vbq_syncomap34xxcam_vbq_completeisp_vbq_syncomap34xxcam_vbq_completeisp_vbq_syncomap34xxcam_vbq_completeisp_save_ctxisp_save_contextisp_save_contextiommu_save_ctx
ISPHIST: Saving contextisp_save_context
ISPH3A: Saving contextisp_save_contextisp_save_context
ISPRESZ: Saving contextisp_save_contextisp_resetisp_restore_ctxisp_restore_contextisp_restore_contextiommu_restore_ctx
ISPHIST: Restoring contextisp_restore_context
ISPH3A: Restoring contextisp_restore_contextisp_restore_context
ISPRESZ: Restoring contextisp_restore_contextomap34xxcam_vbq_releaseisp_vbq_releaseisp_vunmapomap34xxcam_vbq_releaseisp_vbq_releaseisp_vunmapomap34xxcam_vbq_releaseisp_vbq_releaseisp_vunmapomap34xxcam_vbq_releaseisp_vbq_releaseisp_vunmapomap34xxcam_slave_power_set
OV5620: ioctl_s_powerBOARD_OVERO_CAMERA: Switching Power to 2
OV5620: POWER STANDBYisp_set_xclkisp_reg_and_or
ISPCTRL: isp_set_xclk(): cam_xclka set to 0 Hz omap34xxcam_slave_power_set
OV5620: ioctl_s_power
OV5620: POWER OFFBOARD_OVERO_CAMERA: Switching Power to 0
OV5620: POWER OFFisp_set_xclkisp_reg_and_or
ISPCTRL: isp_set_xclk(): cam_xclka set to 0 Hz isp_put
ISPCTRL: isp_put: old 1isp_save_ctxisp_save_contextisp_save_contextiommu_save_ctx
ISPHIST: Saving contextisp_save_context
ISPH3A: Saving contextisp_save_contextisp_save_context
ISPRESZ: Saving contextisp_save_contextisp_tmp_buf_freeisp_release_resourcesisp_reg_andisp_reg_andisp_reg_andisp_disable_clocks
ISPCTRL: isp_put: new 0
Quoted 35 lines · Eino-Ville Talvala
Zach,
We've gotten a Aptina MT9P031 driver working with the latest ISP patchset, both with YUV and RAW data.
I don't know what the problem might be with YUYV data - we get useful YUYV data without any changes to the ISP defaults.
However, to request RAW data, that simply uses the CCDC and bypasses all the processing in the ISP, request the pixelformat ofV4L2_PIX_FMT_SGRBG10. This will give you two bytes per pixel, at least in our case (although we have a 12-bit sensor cut down to 10 bits), so be prepared to throw out every other byte.Hope this helps,
Eino-Ville (Eddy) Talvala
Computer Graphics Lab
Stanford UniversityQuoted 12 lines · Zach LeRoy
Hello Sergio,
I spoke with you earlier about using the ISP and omap34xxcam drivers with a micron mt9d111 SOC sensor. I have since been able to take pictures, but the sensor data is not making it through the ISP data-path correctly. I know the problem is in the ISP data-path because I am configuring the sensor the exact same way as I have been on my working PXA system. I am expecting 4:2:2 packed YUV data, but all of the U and V data is no more than 2 bits where it should be 8. I know the ISP has a lot of capabilities, but all I want to use it for is grabbing 8-bit data from my sensor and putting it in a buffer untouched using the CCDC interface (and of course clocking and timing). What are the key steps to take to get this type of configuration?
Other Questions:
Is there any processing done on YUV data in the ISP driver by default that I am missing? Has any one else experienced similar problems while adding new sensor support?
Any help here would be greatly appreciated.
Quoted 8 lines
Thank you,
Zach LeRoy
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 4 lines
--
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
--
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
A message that is not in the archive (sent off-list or not yet received): [email protected]
Eddy
Here is the config
static struct isp_interface_config ov5620_if_config = {
.ccdc_par_ser = ISP_PARLL,
.dataline_shift = 0x1,
.hsvs_syncdetect = ISPCTRL_SYNC_DETECT_VSRISE,
.strobe = 0x0,
.prestrobe = 0x0,
.shutter = 0x0,
.prev_sph = 2,
.prev_slv = 0,
.wenlog = ISPCCDC_CFG_WENLOG_OR,
.u.par.par_bridge = 0x0,
.u.par.par_clk_pol = 0x0,
};My sensor has pos edge Vsync and pos edge h sync, positive clock, wenlog was originally ISPCCDC_CFG_WENLOG_AND
I am using the latest patches from Sergio.
Maybe I should backport my driver to the older release. Are you using the RAW input or another input format ?
Thanks
John Sarman
Tetracam Inc.
Quoted 501 lines · Eino-Ville Talvala
John,
I don't have any magic cures to offer right off - if I had to guess, I'd say something in the ISP is misconfigured. Do you call
isp_configure_interfacein your board file, and does the struct you pass it match what the sensor puts out?I'm not actually sure which kernel version you're using - we here at Stanford have been using Vaibhav Hiremath's git repository at:
http://arago-project.org/git/people/vaibhav/ti-psp-omap-video.git
(theti_displaypart), with the ISP patches from Sergio from a few months ago applied on top. It's a bit of a mess, if you ask me - I hope all of this gets integrated into the mainline soon, keeping track of it all takes far too much time.-Eddy
Quoted 481 lines · John Sarman
Eddy and anyone who may be able to help,
I am currently working on an Omnivision OV5620 and have used the ov3640 driver as a starting point. I have the June 18( latest ? ) code from the gitorious git repo. I have thouroughly tested my i2c driver setup using a 500 Mhz oscilloscope and have configured the sensor to 640 x 480. The only mode this supports is RAWV4L2_PIX_FMT_SGRBG10and I have that as the only available format. So far so good. Sensor powers, configures etc, etc. However when I run the sensor I get ISPCTRL: HS_VS_IRQ<6>ISPCTRL: OVF_IRQ<6>ISPCTRL:
To test this I used the example code provided with v4l2 documentation. I have attached a complete log with all my added printk's set up as a poor mans stacktrace.Stuck trying to determine where to go from here, I feel like I am so close to getting an image.
Thanks,
John Sarman
v4l2_open
omap34xx: Opening deviceisp_get
ISPCTRL:isp_get: old 0isp_enable_clocksisp_restore_ctxisp_restore_contextisp_restore_contextiommu_restore_ctx
ISPHIST: Restoring contextisp_restore_context
ISPH3A: Restoring contextisp_restore_contextisp_restore_context
ISPRESZ: Restoring contextisp_restore_context
ISPCTRL:isp_get: new 1omap34xxcam_slave_power_set
OV5620:ioctl_s_powerisp_set_xclkisp_reg_and_or
ISPCTRL:isp_set_xclk():cam_xclkaset to 24000000 HzBOARD_OVERO_CAMERA: Switching Power to 1
OV5620: POWER ONisp_configure_interfaceisp_buf_init
OV5620: Sensor Detected, calling configure
ov5620:configureomap34xxcam_slave_power_set
OV5620:ioctl_s_powerBOARD_OVERO_CAMERA: Switching Power to 2
OV5620: POWER STANDBYisp_set_xclkisp_reg_and_or
ISPCTRL:isp_set_xclk():cam_xclkaset to 0 Hz
OV5620:ioctl_g_fmt_capomap34xxcam_s_pix_parmomap34xxcam_try_pix_parmomap34xxcam_try_pix_parmfps = 1
OV5620:ioctl_enum_fmt_cap
OV5620:ioctl_enum_fmt_capindex 0 type 1
video4linux video0: trying fmt 30314142 (0)
OV5620:ioctl_enum_framesizesisp_try_fmt_capisp_try_pipeline
video4linux video0: this w 640 h 480 fmt 30314142 -> w 640 h 480 fmt
30314142 wanted w 640 h 480 fmt 30314142 video4linux video0: renegotiate: w 640 h 480 w 1073741823 h 1073741823
OV5620:ioctl_enum_frameintervals
video4linux video0: fps 60
the demoninator is 0
video4linux video0:best_pix_in: w 640 h 480 fmt 30314142 ival 1/60
OV5620:ioctl_enum_frameintervals
video4linux video0: fps 30
video4linux video0: closer fps: fps 29 fps 59
video4linux video0:best_pix_in: w 640 h 480 fmt 30314142 ival 1/30
OV5620:ioctl_enum_frameintervals
video4linux video0: fps 7
video4linux video0: closer fps: fps 6 fps 29
video4linux video0:best_pix_in: w 640 h 480 fmt 30314142 ival 2/15
OV5620:ioctl_enum_frameintervals
OV5620:ioctl_enum_framesizesisp_try_fmt_capisp_try_pipeline
video4linux video0: this w 1280 h 960 fmt 30314142 -> w 1280 h 960
fmt 30314142 wanted w 640 h 480 fmt 30314142 video4linux video0: size diff bigger: w 1280 h 960 w 640 h 480
OV5620:ioctl_enum_framesizes
OV5620:ioctl_enum_fmt_cap
OV5620:ioctl_enum_fmt_capindex 1 type 1
video4linux video0: w 640, h 480, fmt 30314142 -> w 640, h 480 video4linux video0: Wanted w 640, h 480, fmt 30314142omap34xxcam_s_pix_parm1 0isp_s_fmt_capisp_s_pipelineisp_release_resourcesisp_try_pipelineisp_reg_orisp_reg_orisp_reg_and_orisp_reg_and_orisp_reg_andisp_print_status
ISPCTRL: ###ISP_CTRL=0x29c140
ISPCTRL: ###ISP_TCTRL_CTRL=0x0
ISPCTRL: ###ISP_SYSCONFIG=0x2000
ISPCTRL: ###ISP_SYSSTATUS=0x1
ISPCTRL: ###ISP_IRQ0ENABLE=0x0
ISPCTRL: ###ISP_IRQ0STATUS=0x80000000isp_reg_andisp_reg_andisp_reg_andomap34xxcam_s_pix_parm2 0
OV5620:ioctl_g_fmt_cap
OV5620:ioctl_s_fmt_cap
OV5620:ioctl_try_fmt_cap
OV5620:ioctl_try_fmt_capWIDTH = 640
OV5620:ioctl_try_fmt_capHEIGHT = 480omap34xxcam_s_pix_parm3 0
OV5620:ioctl_s_parm
OV5620desired_fps= 7omap34xxcam_s_pix_parm4 0
omap34xx: Opened devicevideo_do_ioctlomap34xxcam_vidioc_querycapvideo_do_ioctlomap34xxcam_cropcap
OV5620:ioctl_g_fmt_capvideo_do_ioctlomap34xxcam_vidioc_s_cropisp_s_cropvideo_do_ioctlomap34xxcam_vidioc_s_fmt_vid_capomap34xxcam_s_pix_parmomap34xxcam_try_pix_parmomap34xxcam_try_pix_parmfps = 1
OV5620:ioctl_enum_fmt_cap
OV5620:ioctl_enum_fmt_capindex 0 type 1
video4linux video0: trying fmt 30314142 (0)
OV5620:ioctl_enum_framesizesisp_try_fmt_capisp_try_pipeline
video4linux video0: this w 640 h 480 fmt 30314142 -> w 640 h 480 fmt
56595559 wanted w 640 h 480 fmt 56595559 video4linux video0: renegotiate: w 640 h 480 w 1073741823 h 1073741823
OV5620:ioctl_enum_frameintervals
video4linux video0: fps 60
the demoninator is 0
video4linux video0:best_pix_in: w 640 h 480 fmt 30314142 ival 1/60
OV5620:ioctl_enum_frameintervals
video4linux video0: fps 30
video4linux video0: closer fps: fps 29 fps 59
video4linux video0:best_pix_in: w 640 h 480 fmt 30314142 ival 1/30
OV5620:ioctl_enum_frameintervals
video4linux video0: fps 7
video4linux video0: closer fps: fps 6 fps 29
video4linux video0:best_pix_in: w 640 h 480 fmt 30314142 ival 2/15
OV5620:ioctl_enum_frameintervals
OV5620:ioctl_enum_framesizesisp_try_fmt_capisp_try_pipeline
video4linux video0: this w 1280 h 960 fmt 30314142 -> w 640 h 480 fmt
56595559 wanted w 640 h 480 fmt 56595559
OV5620:ioctl_enum_frameintervals
video4linux video0: fps 60
video4linux video0: falling through
OV5620:ioctl_enum_frameintervals
OV5620:ioctl_enum_framesizes
OV5620:ioctl_enum_fmt_cap
OV5620:ioctl_enum_fmt_capindex 1 type 1
video4linux video0: w 640, h 480, fmt 30314142 -> w 640, h 480 video4linux video0: Wanted w 640, h 480, fmt 30314142omap34xxcam_s_pix_parm1 0isp_s_fmt_capisp_s_pipelineisp_release_resourcesisp_reg_andisp_try_pipelineisp_reg_orisp_reg_orisp_reg_and_orisp_reg_andisp_print_status
ISPCTRL: ###ISP_CTRL=0x29c140
ISPCTRL: ###ISP_TCTRL_CTRL=0x0
ISPCTRL: ###ISP_SYSCONFIG=0x2000
ISPCTRL: ###ISP_SYSSTATUS=0x1
ISPCTRL: ###ISP_IRQ0ENABLE=0x0
ISPCTRL: ###ISP_IRQ0STATUS=0x80000000isp_reg_andisp_reg_orisp_reg_and_orisp_reg_orisp_reg_andisp_reg_andisp_reg_orisp_reg_orisp_reg_orisp_reg_and
ISPRESZ: ispresizer_config_datapath()+isp_reg_or
ISPRESZ: ispresizer_config_ycpos()+isp_reg_and_or
ISPRESZ: ispresizer_config_ycpos()-
ISPRESZ: ispresizer_config_filter_coef()+
ISPRESZ: ispresizer_config_filter_coef()-
ISPRESZ: ispresizer_enable_cbilin()+isp_reg_and_or
ISPRESZ: ispresizer_enable_cbilin()-
ISPRESZ: ispresizer_config_luma_enhance()+
ISPRESZ: ispresizer_config_luma_enhance()-
ISPRESZ: ispresizer_config_datapath()-
ISPRESZ: ispresizer_config_inlineoffset()+
ISPRESZ: ispresizer_config_inlineoffset()-
ISPRESZ: ispresizer_set_inaddr()+
ISPRESZ: ispresizer_set_inaddr()-
ISPRESZ: ispresizer_config_outlineoffset()+
ISPRESZ: ispresizer_config_outlineoffset()-
ISPRESZ: ispresizer_config_ycpos()+isp_reg_and_or
ISPRESZ: ispresizer_config_ycpos()-
ISPRESZ: ispresizer_config_size()-omap34xxcam_s_pix_parm2 0
OV5620:ioctl_g_fmt_cap
OV5620:ioctl_s_fmt_cap
OV5620:ioctl_try_fmt_cap
OV5620:ioctl_try_fmt_capWIDTH = 640
OV5620:ioctl_try_fmt_capHEIGHT = 480omap34xxcam_s_pix_parm3 0
OV5620:ioctl_s_parm
OV5620desired_fps= 7omap34xxcam_s_pix_parm4 0video_do_ioctlomap34xxcam_vidioc_reqbufsomap34xxcam_vbq_setup
SETTING UP with SIZEIMAGE = 614400isp_vbq_setupisp_tmp_buf_allocisp_tmp_buf_free
ISPRESZ: ispresizer_set_inaddr()+
ISPRESZ: ispresizer_set_inaddr()-video_do_ioctlomap34xxcam_vidioc_querybufomap34xxcam_mmapvideo_do_ioctlomap34xxcam_vidioc_querybufomap34xxcam_mmapvideo_do_ioctlomap34xxcam_vidioc_querybufomap34xxcam_mmapvideo_do_ioctlomap34xxcam_vidioc_querybufomap34xxcam_mmapvideo_do_ioctlomap34xxcam_vidioc_qbufomap34xxcam_vbq_prepareisp_vbq_prepareisp_ispmmu_vmapvideo_do_ioctlomap34xxcam_vidioc_qbufomap34xxcam_vbq_prepareisp_vbq_prepareisp_ispmmu_vmapvideo_do_ioctlomap34xxcam_vidioc_qbufomap34xxcam_vbq_prepareisp_vbq_prepareisp_ispmmu_vmapvideo_do_ioctlomap34xxcam_vidioc_qbufomap34xxcam_vbq_prepareisp_vbq_prepareisp_ispmmu_vmapvideo_do_ioctlomap34xxcam_vidioc_streamonomap34xxcam_slave_power_set
OV5620:ioctl_s_powerisp_set_xclkisp_reg_and_or
ISPCTRL:isp_set_xclk():cam_xclkaset to 24000000 HzBOARD_OVERO_CAMERA: Switching Power to 1
OV5620: POWER ON
OV5620: Sensor Detected, calling configure
ov5620:configureisp_startomap34xxcam_vbq_queueisp_buf_queueisp_vbq_syncisp_enable_intisp_set_buf
ISPRESZ: ispresizer_set_outaddr()+
ISPRESZ: ispresizer_set_outaddr()-isp_reg_and_or
ISPCTRL:<1>isp_buf_queue: queue 0 vb 0, mmu000a4000omap34xxcam_vbq_queueisp_buf_queueisp_vbq_sync
ISPCTRL:<1>isp_buf_queue: queue 1 vb 1, mmu0013a000omap34xxcam_vbq_queueisp_buf_queueisp_vbq_sync
ISPCTRL:<1>isp_buf_queue: queue 2 vb 2, mmu001d0000omap34xxcam_vbq_queueisp_buf_queueisp_vbq_sync
ISPCTRL:<1>isp_buf_queue: queue 3 vb 3, mmu 00266000omap34xxcam_pollomap34xxcam_poll
ISPCTRL: HS_VS_IRQ<6>ISPCTRL: OVF_IRQ<6>ISPCTRL:
-------!These were repeated several times!----------------------------
ISPCTRL: HS_VS_IRQ<6>ISPCTRL: OVF_IRQ<6>ISPCTRL:omap34xxcam_poll
ISPCTRL: HS_VS_IRQ<6>ISPCTRL: OVF_IRQ<6>ISPCTRL:omap34xxcam_vbq_releaseomap34xxcam_vbq_releaseomap34xxcam_vbq_releaseomap34xxcam_vbq_releaseomap34xxcam_releaseisp_stopisp_disable_intisp_stop_modulesisp_disable_modules
ISPH3A: H3A disabled
ISPHIST: histogram disabledisp_reg_and_or
ISPRESZ: +ispresizer_enable()+
ISPRESZ: +ispresizer_enable()-isp_reg_andisp_reg_and_or
omap3isp omap3isp:__isp_disable_modules: can't stop ccdcisp_icsi_enableisp_reg_and_orisp_buf_initisp_vbq_syncomap34xxcam_vbq_completeisp_vbq_syncomap34xxcam_vbq_completeisp_vbq_syncomap34xxcam_vbq_completeisp_vbq_syncomap34xxcam_vbq_completeisp_save_ctxisp_save_contextisp_save_contextiommu_save_ctx
ISPHIST: Saving contextisp_save_context
ISPH3A: Saving contextisp_save_contextisp_save_context
ISPRESZ: Saving contextisp_save_contextisp_resetisp_restore_ctxisp_restore_contextisp_restore_contextiommu_restore_ctx
ISPHIST: Restoring contextisp_restore_context
ISPH3A: Restoring contextisp_restore_contextisp_restore_context
ISPRESZ: Restoring contextisp_restore_contextomap34xxcam_vbq_releaseisp_vbq_releaseisp_vunmapomap34xxcam_vbq_releaseisp_vbq_releaseisp_vunmapomap34xxcam_vbq_releaseisp_vbq_releaseisp_vunmapomap34xxcam_vbq_releaseisp_vbq_releaseisp_vunmapomap34xxcam_slave_power_set
OV5620:ioctl_s_powerBOARD_OVERO_CAMERA: Switching Power to 2
OV5620: POWER STANDBYisp_set_xclkisp_reg_and_or
ISPCTRL:isp_set_xclk():cam_xclkaset to 0 Hzomap34xxcam_slave_power_set
OV5620:ioctl_s_power
OV5620: POWER OFFBOARD_OVERO_CAMERA: Switching Power to 0
OV5620: POWER OFFisp_set_xclkisp_reg_and_or
ISPCTRL:isp_set_xclk():cam_xclkaset to 0 Hzisp_put
ISPCTRL:isp_put: old 1isp_save_ctxisp_save_contextisp_save_contextiommu_save_ctx
ISPHIST: Saving contextisp_save_context
ISPH3A: Saving contextisp_save_contextisp_save_context
ISPRESZ: Saving contextisp_save_contextisp_tmp_buf_freeisp_release_resourcesisp_reg_andisp_reg_andisp_reg_andisp_disable_clocks
ISPCTRL:isp_put: new 0Quoted 59 lines · Eino-Ville Talvala
Zach,
We've gotten a Aptina MT9P031 driver working with the latest ISP patchset, both with YUV and RAW data.
I don't know what the problem might be with YUYV data - we get useful YUYV data without any changes to the ISP defaults.
However, to request RAW data, that simply uses the CCDC and bypasses all the processing in the ISP, request the pixelformat ofV4L2_PIX_FMT_SGRBG10. This will give you two bytes per pixel, at least in our case (although we have a 12-bit sensor cut down to 10 bits), so be prepared to throw out every other byte.Hope this helps,
Eino-Ville (Eddy) Talvala
Computer Graphics Lab
Stanford UniversityQuoted 23 lines · Zach LeRoy
Hello Sergio,
I spoke with you earlier about using the ISP and omap34xxcam drivers with a micron mt9d111 SOC sensor. I have since been able to take pictures, but the sensor data is not making it through the ISP data-path correctly. I know the problem is in the ISP data-path because I am configuring the sensor the exact same way as I have been on my working PXA system. I am expecting 4:2:2 packed YUV data, but all of the U and V data is no more than 2 bits where it should be 8. I know the ISP has a lot of capabilities, but all I want to use it for is grabbing 8-bit data from my sensor and putting it in a buffer untouched using the CCDC interface (and of course clocking and timing). What are the key steps to take to get this type of configuration?
Other Questions:
Is there any processing done on YUV data in the ISP driver by default that I am missing?
Has any one else experienced similar problems while adding new sensor support?Any help here would be greatly appreciated.
Quoted 9 lines
Thank you,
Zach LeRoy
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html--
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
Quoted 12 lines · Eino-Ville Talvala
Zach,
We've gotten a Aptina MT9P031 driver working with the latest ISP patchset, both with YUV and RAW data.
I don't know what the problem might be with YUYV data - we get useful YUYV data without any changes to the ISP defaults.
However, to request RAW data, that simply uses the CCDC and bypasses all the processing in the ISP, request the pixelformat ofV4L2_PIX_FMT_SGRBG10. This will give you two bytes per pixel, at least in our case (although we have a 12-bit sensor cut down to 10 bits), so be prepared to throw out every other byte.
Quoted 6 lines
Hope this helps,
Eino-Ville (Eddy) Talvala
Computer Graphics Lab
Stanford University
I've been working on this same issue, using a Micron MT9T001 sensor, without much success. Could you share your tree and/or patches (against what?)?? This would be most helpful.
Thanks
Quoted 28 lines · Zach LeRoy
Quoted 27 lines
Hello Sergio,
I spoke with you earlier about using the ISP and omap34xxcam drivers with a micron mt9d111 SOC sensor. I have since been able to take pictures, but the sensor data is not making it through the ISP data-path correctly. I know the problem is in the ISP data-path because I am configuring the sensor the exact same way as I have been on my working PXA system. I am expecting 4:2:2 packed YUV data, but all of the U and V data is no more than 2 bits where it should be 8. I know the ISP has a lot of capabilities, but all I want to use it for is grabbing 8-bit data from my sensor and putting it in a buffer untouched using the CCDC interface (and of course clocking and timing). What are the key steps to take to get this type of configuration?
Other Questions:
Is there any processing done on YUV data in the ISP driver by default that I am missing?
Has any one else experienced similar problems while adding new sensor support?Any help here would be greatly appreciated.
Thank you,
Zach LeRoy
Signature · 4 lines
------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------