The error message, I've discovered means that while you have pins defined, 
you didn't supply them in your .dts file... I finally found an example I 
was able to pull from so I have something that looks like this:

fragment@0{
           target=<&am33xx_pinmux>
           __overlay__{
                   pru_pru_pins:pinmux_pru_pru_pins{
                           pinctrl-single,pins =<
                                   0x1a4  0x05  //P9_27 
 pr1_pru0_pru_r30_5,Mode 5  output pulldown
                                   0x19c  0x3e  //P9_28 
 pr1_pru0_pru_r31_3,Mode 6  input  pulldown
                           >;
                   };
           };
};


fragment@1  {
        target = <&pruss>;
        __overlay__ {
              status= "okay";
              pinctrl-names = "default";
              pinctrl-0 = <&pru_pru_pins>;

              inout {
                     pin-names  =  "x:out","x:in"
                     gpios      =  <&gpio3  19  0
                                       &gpio3  17  0>;
              };
         };
};

The main thing is that the fragment@1 now has a child, inout, containing 
the pins that it is using.  If you are using no pins, then presumably you 
won't have the other things in there either and "no children" won't appear 
then either, but you likely wouldn't need the PRU if you didn't want GPIOs. 
 In any case, I didn't have to patch the kernel this way.  I haven't ported 
any of my stuff over to remoteproc yet, so I don't know how this plays in 
Peoria, but if you need to use the uio_pruss with, at least 4.9 kernel 
(this is just building with the basic Beaglebone Black configuration and I 
do have to remove McASP (which gets loaded if you use HDMI) in my case, but 
it does seem to work).

On Tuesday, December 8, 2015 at 8:18:56 AM UTC-5, Micka wrote:
>
> I discovered that you can decompile dtb file ^^ => 
>
> dtc -O dts -I dtb -o am335x-boneblack.dts am335x-boneblack.dtb
>
> the dtb file is the input and the dts file is the output ^^ . 
>
> I attached the file generated with this command.
>
> I can find the pruss definition : 
>
> pruss@4a300000 {
> compatible = "ti,pruss-v2";
> ti,hwmods = "pruss";
> ti,deassert-hard-reset = "pruss", "pruss";
> reg = <0x4a300000 0x80000>;
> ti,pintc-offset = <0x20000>;
> interrupt-parent = <0x1>;
> status = "okay";
> interrupts = <0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b>;
> pinctrl-names = "default";
> *pinctrl-0 = <0x31>;*
> linux,phandle = <0xa2>;
> phandle = <0xa2>;
> };
>
>
> and the line with pinctrl-0 = <0x31>; means that it is linked with that : 
> pinmux_pru_pru_pins {
> pinctrl-single,pins = <0x158 0x72 0x15c 0x72>;
> linux,phandle = <*0x31*>;
> phandle = <*0x31*>;
> };
>
> But I still don't understand what this error message mean :
>
> [    6.745295] pruss_uio 4a300000.pruss: No children
>
>  Micka,
>

-- 
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/ff227ab5-c6f8-4e3f-9851-bccf71b5c612%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to