interesting. Looks like the latest beaglebone stable image (2015-11-12 
jessie) has the "ti" kernel, not a "bone" kernel. This explains why so many 
things don't load for me.

root@beaglebone:~# uname -r
4.1.12-ti-r29

root@beaglebone:/sys/class/uio# cat /etc/dogtag
BeagleBoard.org Debian Image 2015-11-12

root@beaglebone:~# echo enable-pru > 
/sys/devices/platform/bone_capemgr/slots
root@beaglebone:~# 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,enable-pru

root@beaglebone:/sys/class/uio# ls
//nothing here//

This leaves me in a bit of a pickle as I've managed to make my publicly 
distributed code install and run on the past two beaglebone images and 
would like to keep supporting each new image. The ti prussdrv.so shared 
library still comes compiled and installed in /usr/lib in this new jessie 
image 
(source: 
https://github.com/beagleboard/am335x_pru_package/tree/master/pru_sw/app_loader/interface).
 
However it uses /sys/class/uio.

Is there a new branch of the am335x_pru_package using remoteproc that I've 
missed? alternatively does anyone know what i would have to include to get 
uio back up and running again without changing kernels? I'm trying to keep 
my software package as a fairly simple install that runs on all stable 
"latest-images." It's already a bit of a fuss having to modify and 
recompile the am335x-boneblack.dtb file for each image just to tweak i2c 
speeds.

thank you for any and all help!


On Sunday, December 13, 2015 at 12:17:36 PM UTC-8, William Hermans wrote:
>
> *With newer kernels, you need to use the standard Linux remote-proc*
>> * interface, rather than the legacy UIO driver.*
>
>
> Not exactly. Only if you're using the *TI kernels. The *bone kernels have 
> uio_pruss enabled.
>
>
> william@beaglebone:~$ *uname -r*
> 4.1.12-bone-rt-r16
> william@beaglebone:~$ *sudo sh -c "echo 'pru_enable' > 
> /sys/devices/platform/bone_capemgr/slots"*
> william@beaglebone:~$ *./ti/lsuio-0.2.0/lsuio*
> uio7: name=pruss_evt7, version=1.0, events=0
>         map[0]: addr=0x4A300000, size=524288
>         map[1]: addr=0x9E880000, size=262144
> uio6: name=pruss_evt6, version=1.0, events=0
>         map[0]: addr=0x4A300000, size=524288
>         map[1]: addr=0x9E880000, size=262144
> uio5: name=pruss_evt5, version=1.0, events=0
>         map[0]: addr=0x4A300000, size=524288
>         map[1]: addr=0x9E880000, size=262144
> uio4: name=pruss_evt4, version=1.0, events=0
>         map[0]: addr=0x4A300000, size=524288
>         map[1]: addr=0x9E880000, size=262144
> uio3: name=pruss_evt3, version=1.0, events=0
>         map[0]: addr=0x4A300000, size=524288
>         map[1]: addr=0x9E880000, size=262144
> uio2: name=pruss_evt2, version=1.0, events=0
>         map[0]: addr=0x4A300000, size=524288
>         map[1]: addr=0x9E880000, size=262144
> uio1: name=pruss_evt1, version=1.0, events=0
>         map[0]: addr=0x4A300000, size=524288
>         map[1]: addr=0x9E880000, size=262144
> uio0: name=pruss_evt0, version=1.0, events=0
>         map[0]: addr=0x4A300000, size=524288
>         map[1]: addr=0x9E880000, size=262144
>
> The pru_enable  device tree file is pretty simple too:
>
> /dts-v1/;
> /plugin/;
>
> / {
>     compatible = "ti,beaglebone", "ti,beaglebone-black";
>
>     /* identification */
>     part-number = "pruss_enable";
>     version = "00A0";
>
>      fragment@0 {
>              target = <&pruss>;
>            __overlay__ {
>                       status = "okay";
>
>                    };
>         };
>
> };
>
> Also, yes, everything works fine. I've tested various PRU git projects, 
> and they all seem to work fine.
>
>
> On Sun, Dec 13, 2015 at 9:30 AM, Charles Steinkuehler <
> cha...@steinkuehler.net <javascript:>> wrote:
>
>> On 12/13/2015 4:37 AM, Strawson wrote:
>> > Sadly I'm running into the same missing uio directories now that I'm 
>> trying
>> > to get my beaglebone code that was stable on the 3.8 kernel and Wheezy
>> > image. My old compiled dtbo wouldn't load with a 4.1 kernel until it was
>> > recompiled. Even with it loaded, the following modules don't load: PRU,
>> > eQEP, PWM, and GPIO_buttons. I spent today hacking together workarounds 
>> for
>> > the latter 3, but the PRU still has me stumped.
>> >
>> > Looking closely, the am335x-boneblack.dtb file has changed quite a bit.
>> > Once decompiled I have the following entries for the PRUSS:
>>
>> With newer kernels, you need to use the standard Linux remote-proc
>> interface, rather than the legacy UIO driver.
>>
>> --
>> Charles Steinkuehler
>> cha...@steinkuehler.net <javascript:>
>>
>> --
>> 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 beagleboard...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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 beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to