I’m writing a kernel driver for a MIPI sensor using the OV6693 sensor as a base, and have run into a bit of a dead end, from which I am not certain how to proceed.
The driver is being loaded, and is registered with the media-ctl device, however, when I try to capture from the video device, I get the following kernel messages. The last one is a print statement I have added to determine exactly where the timeout was occurring.
[ 326.187982] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11 [ 326.194437] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel [ 326.204684] tegra-vi4 15700000.vi: tegra_channel_capture_frame_single_thread++
As far as I have managed to discover, this indicates that the syncpt is not being incremented because the vi is not receiving a frame, however I’m not certain why not.
The only other thing that has raised any suspicion is that media-clt -p lists the sensor as the following.
type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev1 pad0: Source [fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb] -> "150c0000.nvcsi--1":0 [ENABLED]
The sensor itself is configured to be 1280x720 in the device tree, but I also need to configure it as UYVY8_2X8, which doesn’t seem to be an available option.
active_w = "1280"; active_h = "720"; mode_type = "yuv"; pixel_phase = "uyvy"; csi_pixel_bit_depth = "16";
Edit: I guess I would like to know if I am going about this the right way, or whether I should be using a different reference driver and device tree for a generic yuv sensor.