I'm having some issues with PRU documentation and information gathering, or 
maybe I'm just reading a lot of stuff wrong. 

Help me figure out where I am wrong. 

PRU(s) are little embedded processors in the AM335x core. 

bone_capemgr allows you to change pinmux functions of the core, to allow 
plug in capes to be detected and set up. and firmware loaded into the 
kernel.

there seems to be a handful of kernel modules relating to the PRUs, 

pruss ( pru sub system driver / Allows kernel to interact with PRU? )
pru_rproc ( PRU Remoteproc system )
rpmsg_pru ( remote proc message system w/ PRU ) ( this may also be used to 
pass buffers between PRU and kernel ?)
uio ( UIO allows the IO to be assigned to Device files ?)
uio_pdrv_genirq ( guessing a UIO/PRU IRQ generator )

Based on what I have read from various Google Searches, the PRUs must be 
enabled, possibly by an Overlay?
are there any overlays that allow you to just enable the PRU, SANS IO pins, 
just to see if it will run code?

FROM: http://mythopoeic.org/bbb-pru-minimal/
echo BB-BONE-PRU-01 >/sys/devices/bone_capemgr.9/slots
which I found is based on the older 3.8 kernels and bone_capemgr has moved 
to /sys/devices/platform/bone_capemgr

from the new https://github.com/beagleboard/bb.org-overlays/
it gives me a plethora of options in /lib/firmware which all appear to be 
Device Tree Overlays
based on names I cannot find one like BB-BONE-PRU-01 the closest I can find 
is uio-pruss-enable-00A0
which I guessed enabled the PRU but the code from am335x_pru package still 
gives me the prussdrv_open open failed
so I'm guessing they are still disabled, or not enabled in the way I was 
expecting.

Looks like the apploader allows you to select which pru you want to use 
with #PRU_NUM.

so a couple of assumptions:

which of the following are true?
1. PRU firmware must be loaded at boot from /lib/firmware? 
(unlikely based on documentation)
OR
2. kernel can jam a program into the PRUs whenever you feel like it
This one seems like the more likely candidate from the am335x_pru_package
however I keep getting a prussdrv_open open failed, which tells me I 
probably don't have the PRUs enabled

I'd really just like to write a program for the pru that looks for a clock 
signal and reads other pins on it. 
Also from what I have read the PRUs have their own "GPI/GPO" pins that have 
single cycle IO that are dedicated to particular pins which are used 
elsewhere on the BBB

Really sorry for brain dumping and being all over the place here, these are 
just questions that I havent seemed to find the correct google search 
string to find the info I'm looking for, 
there is so much stuff out there for the 3.8 kernels and I'm not sure how 
well all that stuff carries over to the new 4.1.18 kernel.  



-- 
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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to