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.

Reply via email to