AnsweredAssumed Answered

How to get image use csi parallel port?

Question asked by Hanseung Lee on May 30, 2016
Latest reply on May 30, 2016 by Hanseung Lee

ubuntu 12.04

kernel 3.0.35 LTIB

i.mx6DL sabresd board.


Hello !

I want to make function below image.

I use ov5640.c and mxc_v4l2_capture.c device driver and mxc_v4l2_capture.c application file.

when i get test image use mxc_v4l2_capture.c application file, i can get  640x480 size and 1024x768 size images.


1. When i get the image data from fpga use YUYV Format, I can not receive full data.

   -- I can get data U and V value. Y data are break.

example)  FPGA Data   :  0(Y)     1(CB)     2(Y)      3(CR)    4(Y)      5(CB)    6(Y)       7(CR)    8(Y)..........................

       yuyv file :  xx(Y)    1(CB)     xx(Y)    3(CR)   xx(Y)      5(CB)   xx(Y)      7(CR)       ....................


2. I want to get image 3072x3072  size.

If i will set pixel clock (F = FH * FW * FPS * BI * DF) , can i get image?


when i get test image , result is below.


./mxc_v4l2_capture_ori -iw 3072 -ih 3072 -ow 3072 -oh 3072 -i 1 -fr 15 -m 9 -c 1 3072_3072.raw
in_width = 3072, in_height = 3072
out_width = 3072, out_height = 3072
top = 0, left = 0
sensor chip is ov5640_camera
sensor supported frame size:
3072x3072 // add size format for me on camera_driver
sensor frame format: YUYV
sensor frame format: YUYV
sensor frame format: YUYV
sensor frame format: YUYV
sensor frame format: YUYV
sensor frame format: YUYV
sensor frame format: YUYV
sensor frame format: YUYV
sensor frame format: YUYV
sensor frame format: YUYV
VCO =  84000 ,  xvclk = 2400
sysclk =  4200
ov5640: the actual frame rate of QSXGA is 7.5fps
   cam->crop_current.width=3072, cam->crop_current.height=3072
crop_bounds.width = 3072 crop_bounds.height = 3072

   Cropping Input to ipu size 3072 x 3072
mxc_v4l2_captur: page allocation failure: order:13, mode:0xd1
[<80048e34>] (unwind_backtrace+0x0/0xf8) from [<800c0a38>] (warn_alloc_failed+0xc8/0x100)
[<800c0a38>] (warn_alloc_failed+0xc8/0x100) from [<800c2f70>] (__alloc_pages_nodemask+0x4c8/0x6cc)
[<800c2f70>] (__alloc_pages_nodemask+0x4c8/0x6cc) from [<8004bda0>] (__dma_alloc+0xa4/0x300)
[<8004bda0>] (__dma_alloc+0xa4/0x300) from [<8004c5d8>] (dma_alloc_coherent+0x54/0x60)
[<8004c5d8>] (dma_alloc_coherent+0x54/0x60) from [<7f0194c4>] (mxc_v4l_do_ioctl+0x56c/0x208c [mxc_v4l2_capture])
[<7f0194c4>] (mxc_v4l_do_ioctl+0x56c/0x208c [mxc_v4l2_capture]) from [<8034c278>] (video_usercopy+0x98/0x4d4)
[<8034c278>] (video_usercopy+0x98/0x4d4) from [<8034b814>] (v4l2_ioctl+0x11c/0x138)
[<8034b814>] (v4l2_ioctl+0x11c/0x138) from [<801017c4>] (do_vfs_ioctl+0x80/0x54c)
[<801017c4>] (do_vfs_ioctl+0x80/0x54c) from [<80101cc8>] (sys_ioctl+0x38/0x5c)
[<80101cc8>] (sys_ioctl+0x38/0x5c) from [<80041fc0>] (ret_fast_syscall+0x0/0x30)
DMA per-cpu:
CPU    0: hi:   90, btch:  15 usd:   0
Normal per-cpu:
CPU    0: hi:   18, btch:   3 usd:  15
active_anon:188 inactive_anon:139 isolated_anon:0
active_file:1890 inactive_file:6155 isolated_file:0
unevictable:0 dirty:1 writeback:0 unstable:0
free:39273 slab_reclaimable:259 slab_unreclaimable:1632
mapped:371 shmem:142 pagetables:24 bounce:0
DMA free:134816kB min:1468kB low:1832kB high:2200kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:186944kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:8kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes
lowmem_reserve[]: 0 69 69 69
Normal free:22324kB min:556kB low:692kB high:832kB active_anon:752kB inactive_anon:556kB active_file:7560kB inactive_file:24620kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:71104kB mlocked:0kB dirty:4kB writeback:0kB mapped:1484kB shmem:568kB slab_reclaimable:1028kB slab_unreclaimable:6528kB kernel_stack:424kB pagetables:96kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
DMA: 2*4kB 3*8kB 4*16kB 6*32kB 4*64kB 3*128kB 3*256kB 4*512kB 2*1024kB 3*2048kB 4*4096kB 5*8192kB 4*16384kB 0*32768kB = 134816kB
Normal: 310*4kB 467*8kB 165*16kB 73*32kB 42*64kB 54*128kB 24*256kB 19*512kB 5*1024kB 1*2048kB 1*4096kB 0*8192kB 0*16384kB 0*32768kB = 46688kB
154 total pagecache pages
0 pages in swap cache
Swap cache stats: add 0, delete 0, find 0/0
Free swap  = 0kB
Total swap = 0kB
131072 pages of RAM
47427 free pages
69410 reserved pages
1692 slab pages
11 pages shared
0 pages swap cached
ERROR: v4l2 capture: mxc_allocate_frame_buf failed.
v4l_capture_setup: VIDIOC_REQBUFS failed
get format failed