Other Parts Discussed in Thread: AM4378
Hello,
I'm trying to interface OV2640 with AM5728 in PSDK 5.3. The device gets enumerated correctly, but launching a gstreamer pipeline results in "Internal error"
```
gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw,width=320,height=240 ! waylandsink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
../../../../gstreamer-1.12.2/libs/gst/base/gstbasesrc.c(2939): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.000324358
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
```
Previously, we have been successful in getting OV2640 to work with AM4378 in PSDK 4.2. Is there any difference between the VPFE and VIP that could be causing problems here? I've tried the following -
1. The ov2640 driver that ships with PSDK 5.3.
2. The latest mainline ov2640 driver from: https://github.com/torvalds/linux/blob/master/drivers/media/i2c/ov2640.c
3. The suggestion of adding s_power from here: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/851210/tmdxidk57x-lcd-ov7670-camera-module/3155418#3155418
```
// In ov2640_s_stream
if (priv->streaming == !on)
{
if (on)
{
// RR: Turn on power before streaming
ret = ov2640_s_power(&priv->subdev, 1);
if (ret < 0)
return ret;
ret = ov2640_set_params(client, priv->win,
priv->cfmt_code);
if (!ret)
ret = __v4l2_ctrl_handler_setup(&priv->hdl);
}
else
{
// RR: Turn off power after streaming
ret = ov2640_s_power(&priv->subdev, 0);
if (ret < 0)
return ret;
}
}
```
All have the same internal error issue. Any idea what could be wrong here?
PS: Sorry for the formatting, unable to attach code.