I'm using GLSDK: ti-glsdk_omap5-uevm_6_03_00_01 which has kernel 3.8.13. I'm using a fully custom file system (not Ubuntu).
This version of the GLSDK appears to have had the omapdce staging driver removed. Has it been replaced by something else?
I'm trying to get gstreamer gst-ducati plugin to work, so have built libdce and ported omapdce rpmsg plugin over from an earlier GLSDK. I have also built the IPU M4 executable.
After loading all the modules, hotplug loads the M4 executable seemingly correctly. Loading the rpmsg-client-sample module runs the "hello world" ping correctly I think:
# modprobe rpmsg_client_sample [839446.892059] rpmsg_client_sample rpmsg0: new channel: 0x400 -> 0x32! [839446.898803] rpmsg_client_sample rpmsg1: new channel: 0x401 -> 0x33! [839446.898956] rpmsg_client_sample rpmsg0: incoming msg 1 (src: 0x32) [839446.898956] rpmsg_sample_cb68 65 6c 6c 6f 20 77 6f 72 6c 64 21 hello world! [839446.899169] rpmsg_client_sample rpmsg0: incoming msg 2 (src: 0x32) [839446.899169] rpmsg_sample_cb68 65 6c 6c 6f 20 77 6f 72 6c 64 21 hello world! [839446.899383] rpmsg_client_sample rpmsg0: incoming msg 3 (src: 0x32) ...snip
Loading omapdce seem to register the driver, but the dce is never probed. It seems like rpmsg-dce never gets created on the bus. This could be some failure in the M4 code I suppose.
As a result the dce plugin never gets loaded and attempts to get the base ioctl address for DCE from the driver only gets EINVAL, indicating plugin not present.
Here are the modules I have loaded:
rpmsg_client_sample 1375 0 - Live 0xbf0e0000 omapdce 22231 0 - Live 0xbf0d6000 (C) rpmsg_proto 5132 0 - Live 0xbf0d1000 omap_remoteproc 2323 1 - Live 0xbf06f000 remoteproc 18216 2 rpmsg_proto,omap_remoteproc, Live 0xbf055000 virtio_rpmsg_bus 8441 3 rpmsg_client_sample,omapdce,rpmsg_proto, Live 0xbf04f000 omapdrm_pvr 318176 0 - Live 0xbf000000 (O)
I'm not sure where to look next. Has the OMAP5 DCE API been tested on this GLSDK? What else might I be missing on the Linux side? I feel like I should be starting to debug on the M4 side, but I'm currently assuming that that code is supposed to work okay.