Okay, starting with r34, (4.4.14-ti-r34/4.4.14-ti-rt-r34)
You can swap between rproc and uio for the pruss...
while, uio can be loaded as an overlay, rproc was failing, so we need
to use the dtb-rebuilder...
Step 1:
upgrade to r34 and reboot:
http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#4.4.x-ti
Step 2:
Install dtb-rebuilder:
git clone -b 4.4-ti
https://github.com/RobertCNelson/dtb-rebuilder
dtb-4.4-ti --depth=1
cd ./dtb-4.4-ti/
Step 3: (rproc)
Edit your device tree:
https://github.com/RobertCNelson/dtb-rebuilder/blob/4.4-ti/src/arm/am335x-bonegreen.dts#L16-L22
nano src/arm/am335x-bonegreen.dts
Change:
/* #include "am33xx-pruss-rproc.dtsi" */ -> #include "am33xx-pruss-rproc.dtsi"
make ; sudo make install
set blacklist:
cat /etc/modprobe.d/pruss-blacklist.conf
blacklist uio_pruss
and reboot..
debian@beaglebone:~$ dmesg | grep pru
[ 3.006675] ti-pruss 4a300000.pruss: creating PRU cores and other
child platform devices
[ 3.007791] irq: no irq domain found for /ocp/pruss@4a300000/intc@4a320000 !
[ 3.008351] irq: no irq domain found for /ocp/pruss@4a300000/intc@4a320000 !
[ 3.028561] remoteproc1: 4a334000.pru0 is available
[ 3.036995] remoteproc1: Direct firmware load for am335x-pru0-fw
failed with error -2
[ 3.037020] remoteproc1: failed to load am335x-pru0-fw
[ 3.042449] pru-rproc 4a334000.pru0: booting the PRU core manually
[ 3.042463] remoteproc1: powering up 4a334000.pru0
[ 3.042529] remoteproc1: Direct firmware load for am335x-pru0-fw
failed with error -2
[ 3.047670] pru-rproc 4a334000.pru0: rproc_boot failed
[ 3.083760] remoteproc1: releasing 4a334000.pru0
[ 3.083905] pru-rproc: probe of 4a334000.pru0 failed with error -2
[ 3.084240] remoteproc1: 4a338000.pru1 is available
[ 3.084464] remoteproc1: Direct firmware load for am335x-pru1-fw
failed with error -2
[ 3.084482] remoteproc1: failed to load am335x-pru1-fw
[ 3.092879] pru-rproc 4a338000.pru1: booting the PRU core manually
[ 3.092899] remoteproc1: powering up 4a338000.pru1
[ 3.092979] remoteproc1: Direct firmware load for am335x-pru1-fw
failed with error -2
[ 3.098136] pru-rproc 4a338000.pru1: rproc_boot failed
[ 3.135593] remoteproc1: releasing 4a338000.pru1
[ 3.135739] pru-rproc: probe of 4a338000.pru1 failed with error -2
Step 3: (uio)
Edit your device tree:
https://github.com/RobertCNelson/dtb-rebuilder/blob/4.4-ti/src/arm/am335x-bonegreen.dts#L24-L32
nano src/arm/am335x-bonegreen.dts
Change:
/* #include "am33xx-pruss-uio.dtsi" */ -> #include "am33xx-pruss-uio.dtsi"
make ; sudo make install
set blacklist:
cat /etc/modprobe.d/pruss-blacklist.conf
blacklist pruss
blacklist pruss_intc
blacklist pru-rproc
and reboot..
debian@beaglebone:~$ dmesg | grep pru
[ 11.582433] pruss_uio 4a300000.pruss: pins are not configured from the driver
debian@beaglebone:~$ lsmod | grep uio
uio_pruss 4928 0
uio_pdrv_genirq 3539 0
uio 8822 2 uio_pruss,uio_pdrv_genirq
Regards,
--
Robert Nelson
https://rcn-ee.com/