uio_pruss on Mainline Linux

176 views
Skip to first unread message

Jordan Yelloz

unread,
Apr 21, 2016, 7:41:37 PM4/21/16
to BeagleBoard
Hi, I've been wondering for a while, since there is a driver in mainline Linux called uio_pruss, what can we actually do with it? Does it work with the beaglebone black? I have built Linux 4.5.2 with this support enabled (i've tried a few other versions too) but there's no information on what needs to be done for somebody to enable this module to actually register the PRU in Linux. I assume it works in ti-linux but I would rather not use that for my personal use case since the mainline kernel is good enough for all my other purposes.

Thanks.

Robert Nelson

unread,
Apr 21, 2016, 7:48:54 PM4/21/16
to Beagle Board, jordan...@gmail.com
On Thu, Apr 21, 2016 at 6:41 PM, Jordan Yelloz <jordan...@gmail.com> wrote:
Hi, I've been wondering for a while, since there is a driver in mainline Linux called uio_pruss, what can we actually do with it? Does it work with the beaglebone black? I have built Linux 4.5.2 with this support enabled (i've tried a few other versions too) but there's no information on what needs to be done for somebody to enable this module to actually register the PRU in Linux. I assume it works in ti-linux but I would rather not use that for my personal use case since the mainline kernel is good enough for all my other purposes.

Here is the patch we've been carrying..


All the TI/Kernel people want people to use remoteproc_pruss...

While everyone uses uio_pruss. ;)

Regards,

Robert Nelson
https://rcn-ee.com/

Jordan Yelloz

unread,
Apr 21, 2016, 8:09:29 PM4/21/16
to BeagleBoard, jordan...@gmail.com
Thanks, that appears to be a pretty small patch, I'll try it out.
I would have no problem using the remoteproc_pruss if it was in the official kernel but I can't see any as of 4.6-rc4.

Robert Nelson

unread,
Apr 21, 2016, 8:22:33 PM4/21/16
to Beagle Board, jordan...@gmail.com

On Thu, Apr 21, 2016 at 7:09 PM, Jordan Yelloz <jordan...@gmail.com> wrote:
Thanks, that appears to be a pretty small patch, I'll try it out.
I would have no problem using the remoteproc_pruss if it was in the official kernel but I can't see any as of 4.6-rc4.

remoteproc_pruss is getting "redesigned" again... ;(

I'm tempted to say, let's just clean it up and push it.

If someone complains, uio_pruss has been in mainline for awhile, and remoteproc_pruss has gone no where. ;)

Regards,

--
Robert Nelson
https://rcn-ee.com/

William Hermans

unread,
Apr 21, 2016, 8:37:53 PM4/21/16
to beagl...@googlegroups.com
Thanks, that appears to be a pretty small patch, I'll try it out.
I would have no problem using the remoteproc_pruss if it was in the official kernel but I can't see any as of 4.6-rc4.

The main problem I see with remoteproc is that it is not as well documented as uio_pruss. Many aspects of how to use, and setup remoteproc are not very clear. For instance, you have these magic "map" files that I have been able to find zero documentation on. Which is in relation to configuration for PRUs as far as I can tell. .bss, data segments, etc, but it's not documented at all. So we're left to assume we know what we're doing. I personally, do not like to operate like that at all.

I had someone on this group tell me not long ago that I must be joking when I tried to explain I was note sure how something worked with remoteproc on the PRU's. But see that the problem when you're dealing with someone whose known the secrete handshake for a long enough period of time that they forget the rest of the world doesn't know what's going on.

Anyway, uio_pruss has been around long enough to have worked well on the white, and the driver code is really short and easy to read through. Not to mention that UIO is just really cool technology to begin with.

remoteproc is really cool technology too as far as I'm concerned, but where it really belongs in my personal opinion, is multi core application processors. So you could for instance run a dual core processor as a single core running Linux, and a single core running bare metal. *THAT* is an awesome concept. But reinventing drivers for a high speed peripheral that already has reallt good drivers is . . . well . . ." don't fix what ain't broke . . "

On Thu, Apr 21, 2016 at 5:09 PM, Jordan Yelloz <jordan...@gmail.com> wrote:
Thanks, that appears to be a pretty small patch, I'll try it out.
I would have no problem using the remoteproc_pruss if it was in the official kernel but I can't see any as of 4.6-rc4.

--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/036b8c05-6fd1-40f5-8bc9-cf554541dd8d%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Charles Steinkuehler

unread,
Apr 21, 2016, 8:48:15 PM4/21/16
to beagl...@googlegroups.com
On 4/21/2016 7:37 PM, William Hermans wrote:
> I had someone on this group tell me not long ago that I must be joking when I
> tried to explain I was note sure how something worked with remoteproc on the
> PRU's. But see that the problem when you're dealing with someone whose known the
> secrete handshake for a long enough period of time that they forget the rest of
> the world doesn't know what's going on.

<heh> That reminds me of the 68000 CPU manuals back in the day (when
you actually had dead-tree printed book data-sheets). The first
edition was *HUGE* (about 2 inches thick), but after several years had
gone by, the manual was only about 1/2 an inch thick. They had
removed all the basic information everyone was supposed to "just
know", but without which you would be totally lost.

I guess it's called "progress". :)

Now I just save each and every datasheet I ever download from the
internet. Usually, the latest version is what I need, but sometimes
there are details in the older versions that got removed in a
subsequent update.

--
Charles Steinkuehler
cha...@steinkuehler.net

John Syne

unread,
Apr 21, 2016, 9:03:46 PM4/21/16
to beagl...@googlegroups.com
But this was done a while ago when the added support for ethernet. I’m not aware of any other changes. 

Regards,
John




--
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.

William Hermans

unread,
Apr 21, 2016, 9:59:31 PM4/21/16
to beagl...@googlegroups.com
<heh>  That reminds me of the 68000 CPU manuals back in the day (when
you actually had dead-tree printed book data-sheets).  The first
edition was *HUGE* (about 2 inches thick), but after several years had
gone by, the manual was only about 1/2 an inch thick.  They had
removed all the basic information everyone was supposed to "just
know", but without which you would be totally lost.

I guess it's called "progress".  :)

Now I just save each and every datasheet I ever download from the
internet.  Usually, the latest version is what I need, but sometimes
there are details in the older versions that got removed in a
subsequent update.

Soundsl iek you and my buddy would get along just dandy. heh, he must have several gigs of pdf's ( yes . . datasheets ) that migrate from new system to new system when he upgrades ;)

He's also a mame / retro arcade board collector, lots of 68000's out there ;)

--
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.

tcmichals

unread,
Apr 22, 2016, 9:29:58 AM4/22/16
to BeagleBoard, jordan...@gmail.com


remoteproc_pruss is getting "redesigned" again... ;(

woow, here is new documentation from TI and now its worthless? http://processors.wiki.ti.com/index.php/PRU-ICSS_Remoteproc_and_RPMsg 

John Syne

unread,
Apr 22, 2016, 3:13:08 PM4/22/16
to beagl...@googlegroups.com
Maybe you should explain why you think this is worthless?

Regards,
John




On Apr 22, 2016, at 6:29 AM, tcmichals <tcmi...@gmail.com> wrote:



remoteproc_pruss is getting "redesigned" again... ;(

woow, here is new documentation from TI and now its worthless? http://processors.wiki.ti.com/index.php/PRU-ICSS_Remoteproc_and_RPMsg 

--
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.

tcmichals

unread,
Apr 22, 2016, 3:56:11 PM4/22/16
to BeagleBoard


Maybe you should explain why you think this is worthless? 
if the software is under going a redesign what are the changes? does this mean the documentation is now worthless due to the redesign? 

John Syne

unread,
Apr 22, 2016, 4:03:50 PM4/22/16
to beagl...@googlegroups.com
The main concepts remain the same. What has changed is TI are moving to use standard API’s instead of some of the custom API’s they used in the past. For example one of the chief improvements over 4.1 they are making is to introduce a irqchip, so that client users can use standard irq handling API instead
of the custom API in 4.1. TI should be introducing this in their 4.4 TI Processor SDK release. We however should have access to the update in a few weeks. 

Regards,
John




--
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.
Reply all
Reply to author
Forward
0 new messages