Hi Joseph,

As I said before, Robert wasn’t able to get Remoteproc working using devicetree 
overlays, so he provided instructions on how to modify the devicetree and then 
use dtb-rebuilder to create dtbo file. The default is to have neither 
Remoteproc nor uio_pruss installed because most users don’t use PRU. Once you 
have a custom dtbo file created, you can use that with kernels > 4.4-ti. Robert 
did manage to get the uio_pruss overlay to work, but since the remoteproc 
overlay had issues, better to stay with the standard method and use the 
dtb-rebuilder and blacklist method. 

Here are Robert’s original instructions:

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

Regards,
John




> On Jul 16, 2016, at 9:57 AM, Joseph Heller <[email protected]> wrote:
> 
> Hi William, thanks for the support, some input got me further at least. This 
> is how far I got today: I now have the uio driver more or less enabled on 
> 4.1.5-ti-rt-r10 via my DTS file: 
> /dts-v1/;
> 
> /plugin/;
> 
> 
> 
> / { compatible = "ti,beaglebone", "ti,beaglebone-black";
> 
>     part-number = "OMNI-ROBOT";
> 
>     version = "00A0";       
> 
>     
>     fragment@0 {
> 
>         target = <&am33xx_pinmux>;
> 
>         __overlay__ {
> 
>             pinctrl_generated: RNS_Generated_Pins {
> 
>                 pinctrl-single,pins = <
> 
>                     0x078 0x07 /* P9_12 OUTPUT | MODE7 */ 
> 
>                     0x048 0x07 /* P9_14 OUTPUT | MODE7 */
> 
>                     0x04c 0x07 /* P9_16 OUTPUT | MODE7 */
> 
>                     0x084 0x07 /* P8_20 OUTPUT | MODE7 */ 
> 
>                     0x014 0x07 /* P8_22 OUTPUT | MODE7 */
> 
>                     0x004 0x07 /* P8_24 OUTPUT | MODE7 */
> 
>                     0x07c 0x07 /* P8_26 OUTPUT | MODE7 */
> 
> 
> 
>                     0x018 0x37 /* P8_3 INPUT | MODE7 */
> 
>                     0x01c 0x37 /* P8_4 INPUT | MODE7 */
> 
>                     0x008 0x37 /* P8_5 INPUT | MODE7 */
> 
>                     0x00c 0x37 /* P8_6 INPUT | MODE7 */
> 
>                     0x034 0x37 /* P8_11 INPUT | MODE7 */
> 
>                     0x030 0x37 /* P8_12 INPUT | MODE7 */
> 
> 
> 
>                     0x1ac 0x07 /* P9_25 OUTPUT | MODE7 */
> 
>                     0x1a4 0x07 /* P9_27 OUTPUT | MODE7 */
> 
>                     0x19c 0x07 /* P9_28 OUTPUT | MODE7 */
> 
>                     0x194 0x07 /* P9_29 OUTPUT | MODE7 */
> 
>                     0x198 0x07 /* P9_30 OUTPUT | MODE7 */
> 
>                     0x190 0x07 /* P9_31 OUTPUT | MODE7 */
> 
>                 >;
> 
>             };
> 
> 
> 
>             pru_pru_pins: pinmux_pru_pru_pins {
> 
>                 pinctrl-single,pins = <
> 
>                     0x0a4 0x25 /* P8_46 OUTPUT | MODE 5 */
> 
>                 >;
> 
>             };
> 
>         };
> 
>     };
> 
> 
> 
>     fragment@1 {
> 
>         target = <&ocp>;
> 
>         __overlay__ {
> 
>           pinctrl_generated_pinmux {
> 
>                       compatible = "bone-pinmux-helper";
> 
>                       pinctrl-names = "default";
> 
>                       pinctrl-0 = <&pinctrl_generated>;
> 
>                       status = "okay";
> 
>             };
> 
>         };
> 
>     };
> 
> 
> 
>     fragment@2 {
> 
>         target = <&pruss>; 
> 
>         __overlay__ { 
> 
>             status = "okay"; 
> 
>             pinctrl-names = "default";
> 
>             pinctrl-0 = <&pru_pru_pins>;
> 
>         }; 
> 
>     }; 
> 
> 
> 
> };
> 
> 
> 
> I've some issue now do correct pinmuxing AND have my loader program not fail 
> which it currently here: 
>  prussdrv_init();  
>  if (prussdrv_open(PRU_EVTOUT_0) == -1) {  
>   printf("prussdrv_open() failed\n");  
>   return 1;  
>  }  
> 
> With this example dts above I'm setting p8_46 to mode 0x25 successfully, but 
> I find this in my dmesg now (and guess it's not good): 
> pruss_uio 4a300000.pruss: No children
> 
> 
> Which still needs some work to figure out. Might give one of the later 
> kernels a try, or something else. I think I'm nearly there though. 
> 
> Thanks - Joseph. 
> 
> On Saturday, July 16, 2016 at 6:40:37 PM UTC+2, William Hermans wrote:
> I was going to look into this yesterday, but did not for personal reasons. 
> Anyway, no idea whom you're speaking to( I do not see all posts on this group 
> ), but it does not matter what Robert demonstrated. From the information 
> given fro Robert's post. It's clear to at least me that uio_pruss is supposed 
> to have zero issues working, it just needs to be "hooked up".
> 
> So, unless this person you're speaking to can show you exactly how to set up 
> uio_pruss on the newer TI kernels . . . Then just ignore that person, as he / 
> she has no idea what they're talking about.
> 
> I should have time today to test this myself and it won't take all day. Maybe 
> an hour.
> 
> On Sat, Jul 16, 2016 at 1:18 AM, Joseph Heller <[email protected] 
> <javascript:>> wrote:
> That sound like choosing either:
> 
> "Robert didn’t use overlays"
> or
> "all you need to do is load the PRU overlay file to get uio_pruss working"
> 
> Not done here yet with trying both options, but took me a day so far 
> stretching my patience in reality.
> 
> --> Is there a kernel or preferably an image that's working right away with 
> uio_pruss?
> 
> I see some discussion in another post with Robert explains that ti started 
> working on remoteproc somewhere around 4.1 kernels. So I hope actually to 
> save time with an off-the-shelve alternative around that period with uio 
> being the standard, so question here is if there's an advice along that path?
> 
> --
> For more options, visit http://beagleboard.org/discuss 
> <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] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beagleboard/8024d3c1-9ce9-41e0-bb82-4bd16a8eb1b8%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/beagleboard/8024d3c1-9ce9-41e0-bb82-4bd16a8eb1b8%40googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.
> 
> 
> -- 
> For more options, visit http://beagleboard.org/discuss 
> <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] 
> <mailto:[email protected]>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beagleboard/c19dc4d6-a86d-4300-aa38-f6ffa3e4385c%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/beagleboard/c19dc4d6-a86d-4300-aa38-f6ffa3e4385c%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/C21F5971-6A8E-4AF1-907F-71606554661E%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to