How to enable PRU on the BeagleBoard BeagleBone Black?

This link solved the PRU issues for me. http://github.jfet.org/BBKNotes2.html

The hack referred on this page enables PRU with the current 3.8
kernel, but is not safe. An attempt to unload the DT overlay will
cause the kernel to OOPS, with consequences ranging from just junk in
the log, to killed shell and board hanging hard on reboot. It's
probably ok to use it for experimentation, but for more serious work
I'd suggest to stick with 3.2 line.

j.

ok, so until 3.8 is stable, no safe use of PRU? or can PRU be enabled under 3.2?

Chris Michali wrote yesterday that PRU worked fine with 3.8.6. There
must have been some regression and in 3.8.11 things are not that
smooth. I haven't had any problems with running examples from pru_sw
with 3.2.42.

j.

I just rolled back to my fork of the beaglebone kernel when it was 3.8.6, added the boneblack dts from the latest and made some changes (removed capes, etc) and the PRU is working OK for me on the black.

Something regressed it since then so latest kernel is not working, but even on the older one interestingly I still see the omap_hwmod: pruss: failed to hardreset message at boot, even though it’s working.

I just rolled back to my fork of the beaglebone kernel when it was 3.8.6, added the boneblack dts from the latest and made some changes (removed capes, etc) and the PRU is working OK for me on the black.

Can you see if https://github.com/beagleboard/kernel/blob/3.8/patches/omap/0003-omap2-irq-fix-interrupt-latency.patch is causing the issues?

Something regressed it since then so latest kernel is not working, but even on the older one interestingly I still see the omap_hwmod: pruss: failed to hardreset message at boot, even though it's working.

That message is a red herring, ignore it

Koen,

I applied that patch to my working kernel and PRU still works… that does not appear to be the cause.

-chris