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.