I’m trying to work with the OV5640 camera on sabre board NCIMX7SABRE SCH-28590 REV C
I’ve bought a camera as suggested in https://community.nxp.com/thread/435090
I’ve built the kernel and rootfs starting from
repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-morty -m imx-4.9.11-1.0.0_ga.xml
I made the following change to select imx7d and add :
machine: imx7dsabresd
image: core-image-base
distro: fsl-frambuffer
kernel: linux-fslc-imx (4.1.38)
The device tree is the original.
I’ve also added:
IMAGE_INSTALL_append = "yavta v4l-utils"
from meta-openembedded/meta-oe/recipes-multimedia/
I’ve boot from sdcard.
From the following command the camera seems to be loaded.
root@imx7dsabresd:~# lsmod
Module S ize Used by
ov5640_camera_mipi 16871 1
mx6s_capture 16548 0
mxc_mipi_csi 12919 1
evbug 2130 0
I see two v4l2 devices:
V4L2 Output Device on /dev/video0
V4L2 Capture Device on to /dev/video1 (the ov5640 camera)
But If I run the following yavta cmd I get the error “Unable to start streaming: No buffer space available (105).”,
In sdcard there is more than 1 GB free space.
root@imx7dsabresd:~# yavta /dev/video1 -c1 -n1 -s640x480 -fUYVY -F
Device /dev/video1 opened.------------[ cut here ]------------
Device `i.MX6S_CSI' on `platforWARNING: CPU: 1 PID: 418 at /imx7build/fsl-arm-yocto-bsp/nxp-camera-build/tmp/work-shared/imx7dsabresd/kernel-source/drivers/media/v4l2-core/videobuf2-core.c:1805 vb2_start_streaming+0xe8/0x164()
m:30710000.csi' is a video output
Modules linked in: (without mplanes) device.
Video ov5640_camera_mipi format set: UYVY (59565955) 640x mx6s_capture480 (stride 1280) field none buff mxc_mipi_csier size 614400
Video format: (0 evbug0000000) 640x480 (stride 0) field
none buffer size 614400
1 buffeCPU: 1 PID: 418 Comm: yavta Tainted: G W 4.1.38-fslc+gee67fc7 #12
rs requested.
length: 614400 offHardware name: Freescale i.MX7 Dual (Device Tree)
set: 0 timestamp type/source: mon[<800184e0>] (unwind_backtrace) from [<80013cfc>] (show_stack+0x20/0x24)
o/EoF
Buffer 0/0 mapped at addre[<80013cfc>] (show_stack) from [<8094421c>] (dump_stack+0x80/0x94)
ss 0x76d43000.
[<8094421c>] (dump_stack) from [<8003ac1c>] (warn_slowpath_common+0x94/0xc4)
[<8003ac1c>] (warn_slowpath_common) from [<8003ad08>] (warn_slowpath_null+0x2c/0x34)
[<8003ad08>] (warn_slowpath_null) from [<80602c60>] (vb2_start_streaming+0xe8/0x164)
[<80602c60>] (vb2_start_streaming) from [<80605930>] (vb2_internal_streamon+0x128/0x170)
[<80605930>] (vb2_internal_streamon) from [<806059b8>] (vb2_streamon+0x40/0x60)
[<806059b8>] (vb2_streamon) from [<7f00c614>] (mx6s_vidioc_streamon+0x50/0xa4 [mx6s_capture])
[<7f00c614>] (mx6s_vidioc_streamon [mx6s_capture]) from [<805eddcc>] (v4l_streamon+0x2c/0x30)
[<805eddcc>] (v4l_streamon) from [<805f1404>] (__video_do_ioctl+0x294/0x2f0)
[<805f1404>] (__video_do_ioctl) from [<805f0cec>] (video_usercopy+0x1d0/0x630)
[<805f0cec>] (video_usercopy) from [<805f116c>] (video_ioctl2+0x20/0x24)
[<805f116c>] (video_ioctl2) from [<805ec960>] (v4l2_ioctl+0x124/0x15c)
[<805ec960>] (v4l2_ioctl) from [<801465e0>] (do_vfs_ioctl+0x460/0x618)
[<801465e0>] (do_vfs_ioctl) from [<801467dc>] (SyS_ioctl+0x44/0x6c)
[<801467dc>] (SyS_ioctl) from [<8000fc00>] (ret_fast_syscall+0x0/0x3c)
---[ end trace 5417d473caa1347c ]---
Unable to start streaming: No buffer space available (105).
1 buffers released.
What is going wrong?
Thank in advance