IMX8摄像头video驱动问题

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX8摄像头video驱动问题

Jump to solution
4,299 Views
957992093
Contributor III

您好:

   在imx8mq上做摄像头移植,解码器选用的是ub940仿照ov5640改写的驱动程序,现在遇到以下问题,麻烦帮解决下:

1、menuconfig配置问题,参考手册上的配置如下,请问在8mq上是否需要配置选项(1)中配置,或者需要配置个别选项,选项(2)中的配置MXC_CAMERA_OV5640_V2是前摄像头,MXC_CAMERA_OV5640_MIPI_V2是后摄像头的意思么,还是有其他含义。

(1)For MX8 select > IMX8 Camera ISI/MIPI Features support
         (VIDEO_MX8_CAPTURE) > IMX8 Camera Controller
         (IMX8_CAPTURE_DRIVER) and Maxim OV5640_V3 driver support
         (MXC_CAMERA_OV5640_V3)
(2) For MX8M select > OmniVision ov5640 camera support
            (MXC_CAMERA_OV5640_V2) and OmniVision ov5640 camera support using
            mipi (MXC_CAMERA_OV5640_MIPI_V2)

2、以上配置全选的情况下,驱动正常加载,检测发现驱动程序已与/dev/video1下设备绑定,通过应用操作/dev/video1设备,执行ioctl命令VIDIOC_REQBUFS时提示以下错误,发现是申请代码中alloc函数指针没有赋值,mx6s_capture.c文件中结构没有调用mx6s_csi_open()赋值函数请问这个函数是在什么时候调用,我需要配置那个选项,启用这个配置,还是在应用启动时调用。

mx6s-csi 30b80000.csi2_bridge: dma_alloc_coherent of size 0 failed

memory allocation failed

Labels (1)
1 Solution
3,951 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello qiang,

    Open i.MX8MQ Reference manual, please!  and see the register "Disable Payload 0 Register (CSI2RX_CFG_DISABLE_PAYLOAD_0)" & "CSI Control Register 18 (CSI_CSICR18)", probably they are what you want to look for.

pastedImage_1.png

另外,请注意,对于新的问题,请重新建一个新的帖子,这样便于讨论或者其他用户检索到。

谢谢!

Weidong

View solution in original post

0 Kudos
5 Replies
3,950 Views
957992093
Contributor III

Hello Dong,

      感谢您的回答,经过查看确实是应用层没有打开,在imx8mq上已经把设备和驱动联系在一起,请问在imx8mq上有相应的/dev/video测试应用么?

maqiang

0 Kudos
3,950 Views
weidong_sun
NXP TechSupport
NXP TechSupport

linux BSP有一个mxc_unit_test目录,这里是CPU各个模块的测试程序,其中就有对camera测试的。另外,gstreamer也可以用来捕获视频。

weidong

3,951 Views
957992093
Contributor III

您好:

在调试video时想添加图像格式RGB565,在添加过程中发现数据手册上没有相应CSI寄存器,请问我截图(2)处的寄存器配置去哪里查找?或者(1)处位应该怎么添加配置,如图:

pastedImage_1.png

0 Kudos
3,952 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello qiang,

    Open i.MX8MQ Reference manual, please!  and see the register "Disable Payload 0 Register (CSI2RX_CFG_DISABLE_PAYLOAD_0)" & "CSI Control Register 18 (CSI_CSICR18)", probably they are what you want to look for.

pastedImage_1.png

另外,请注意,对于新的问题,请重新建一个新的帖子,这样便于讨论或者其他用户检索到。

谢谢!

Weidong

0 Kudos
3,951 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello Qiang,

    在应用层使用某个设备的时候,需要使用linux提供的标准系统调用,任何一个设备都有open () / close()都有这2个调用。

    您是不是没有使用open( )打开设备,直接就用ioctrl了。所以,你查查看。

weidong

0 Kudos