Need help in integrating ov13850 sensor support

Hi,

I am trying to add ov13850 sensor support in Debian build with kernel-4.14. Has anyone worked on this?
Any references for driver and media controller pipeline configuration commands will be helpful.

@Loic
@todortomov
Thanks,
Arun

Do you have the driver for this sensor, upstream Linux seems to have support for ov13858, not sure it’s entirely compatible. You can also use a downstream driver (e.g.https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov13850.c). the first thing you need to check is that the driver correctly initialize the sensor. You’ll have to create a node in the devicetree in the same way as for ov5640 or ov5645.

@Loic

Thanks Loic for the reply. I have added the driver support and added dts entry. sensor probed properly.

[ 477.233948] ov13850 5-0010: Detected OV00d850 sensor, REVISION 0xb2
[ 477.244468] ov13850 5-0010: probing successful

$media-ctl -d /dev/media0 -p

  • entity 226: ov13850 5-0010 (1 pad, 1 link)
    type V4L2 subdev subtype Sensor flags 0
    device node name /dev/v4l-subdev19
    pad0: Source
    [fmt:SBGGR10_1X10/2112x1568 field:none]
    -> “msm_csiphy0”:0 [ENABLED,IMMUTABLE]

configured media controller pipeline like below,
sudo media-ctl -d /dev/media0 -l ‘“msm_csiphy0”:1->“msm_csid0”:0[1],“msm_csid0”:1->“msm_ispif0”:0[1],“msm_ispif0”:1->“msm_vfe0_rdi0”:0[1]’

sudo media-ctl -d /dev/media0 ‘“ov13850 5-0010”:0[fmt:SBGGR10_1X10/2112x1568 field:none],“msm_csiphy0”:0[fmt:SBGGR10_1X10/2112x1568 field:none],“msm_csid0”:0[fmt:SBGGR10_1X10/2112x1568 field:none],“msm_ispif0”:0[fmt:SBGGR10_1X10/2112x1568 field:none],“msm_vfe0_rdi0”:0[fmt:SBGGR10_1X10/2112x1568 field:none]’

#video stream
gst-launch-1.0 v4l2src device=/dev/video0 ! ‘video/x-bayer,format=rggb,width=2112,height=1568’ ! bayer2rgb ! glimagesink

getting errors,
Setting pipeline to PAUSED …
error: XDG_RUNTIME_DIR not set in the environment.
Pipeline is live and does not need PREROLL …
Got context from element ‘sink’: gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"(GstGLDisplayX11)\ gldisplayx11-0";
Setting pipeline to PLAYING …
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
Additional debug info:
gstv4l2src.c(658): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed
Execution ended after 0:00:00.459702627
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …

Any idea to debug this?
Thanks,
Arun