I have spent a solid 12 hours trying to get the PRU's on the beaglebone to
work. So far I seem to be completely stuck at the getting the device
overlay to work as well as enabling the remoteproc. I have tried to piece
together all of the information I have found on the internet but it is
either out of date or extremely fragmented. I can't seem to find a current
working example or I hit a wall when following along as said previously.
Setup/Environment
I have updated the kernel on the beaglebone followed by multiple "updates",
"upgrades" and "dist-upgrades". As far as I can tell I am using the most
recent version of everything.
- Beaglebone Black
- Debian 8.6
- kernel 4.4.30-ti-r64
- dtc 1.4.1
Sample Code
Device Overlay File [PRU-GPIO-BLINK-00A0.dts]:
// Setup file for basic PRU GPIO Blinking LED
/dts-v1/;
/plugin/;
/ {
compatible = "ti,beaglebone", "ti,beaglebone-black";
part-number = "PRU-GPIO-BLINK";
version = "00A0";
// This overlay uses the following resources
exclusive-use = "P8.12";
fragment@0 {
target = <&am33xx_pinmux>;
__overlay__ {
gpio_pins: pinmux_gpio_pins {
pinctrl-single,pins = <
0x034 0x06
>;
};
};
};
fragment@1 {
target = <&pruss>;
__overlay__ {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&gpio_pins>;
};
};
};
The above code compiles using:
root@beaglebone:/lib/firmware# dtc -O dts -o
/lib/firmware/PRU-GPIO-BLINK-00A0.dtbo -b 0 -@ PRU-GPIO-BLINK.dts
When I go to add this to the bone_capemgr using:
root@beaglebone:/lib/firmware# echo "PRU-GPIO-BLINK" >
/sys/devices/platform/bone_capemgr/slots
I end up getting either a "No Such File or Directory" error or a "File
Exists" error. I have disabled the HDMI in uEnvt.txt like many people have
recommended by simply uncommenting the line:
dtb=am335x-boneblack-emmc-overlay.dtb
On top of the above I tried following the exercise here:
http://elinux.org/EBC_Exercise_30_PRU_via_remoteproc_and_RPMsg
I make it through most of that exercise, up until I hit the enabling the
remoteproc portion. When I go to "uncomment"
#include "am33xx-pruss-rproc.dtsi
I can't seem to find it anywhere in the file. When I simply add the line to
the file and try calling `make` the compiler complains that it can't find
the file and fails the build.
If anyone is curious here is the output when I run
cat /sys/devices/platform/bone_capemgr/slots
0: PF---- -1
1: PF---- -1
2: PF---- -1
3: PF---- -1
4: P-O-L- 0 Override Board Name,00A0,Override Manuf,univ-emmc
Question
Does anyone have any suggestions as to why my device overlay is not working
and I can't follow along with the exercise on elinux? I am pretty much
stuck at this point and most of the examples online reference out of date
pathing or approaches. Is there a package that I am missing? From what I
have read it seems like all of the compilers and loaders come built into
the new beaglebone distributions now. If anyone needs clarification or I
forgot to mention something I will be happy to provide it.
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beagleboard/367f1bd1-533b-4b2a-b126-728b84238890%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.