/dev/rpmsg_pruXX missing


I’m experiencing an issue with pru_rproc & rpmsg_pru driver. I’m trying to follow TI Hand-on LAB5 (http://processors.wiki.ti.com/index.php/PRU_Training:_Hands-on_Labs#LAB_4:_Introduction_to_Linux_driver) in order to be able to exchange data between PRU and ARM. After loading both projects to PRUs (PRU_RPMsg_Echo_Interrupt1 and PRU_Halt) and modprobe rpmsg_pru and pru_rproc the device /dev/rpmsg_pruXX doesn’t show up. I’ve set CHAN_NAME to “rpmsg-pru” in PRU firmware. What could be wrong?

Another question is: I don’t have /sys/class/remoteproc on my BBB. Instead of remoteproc I have uio directory. Is this normal by my kernel and config or have I messed something up?

uname -a: Linux arm 4.4.68-ti-rt-r111 #1 SMP PREEMPT RT Wed Jun 28 15:12:37 UTC 2017 armv7l armv7l armv7l GNU/Linux





In dtb-overlay files I have disabled uio driver and enabled rproc.


OK, problem solved!

I didn’t know about that:

The PRU-ICSS system events used for RPMsg are defined in the Linux device tree

PRU0 uses system event 16 (To ARM) and 17 (From ARM)
PRU1 uses system event 18 (To ARM) and 19 (From ARM)

I have uploaded firmware with INT 18 and 19 to PRU0 and so I got my problem.

I still don’t know why is /sys/class/remoteproc absent. Anybody?