Passed that, why do you need to “bind” these pins to the PRUs ? The PRU’s can access any GPIO / hardware module directly through it’s register addresses. Whats more, I’m not even sure what you’re trying to do is possible. The PRUs are not like any of the other hardware modules on the processor, in that they are directly connected to pads / pins.
I think a good example of how to enable pins and the PRUs in the same overlay file would be Beagelpilot. I’ll check it’s dts’s too since I’m currently not doing anything . . .
Here is a good example I think, but I’m confused as to why he has multiple mode / pullup / pulldown configurations for the same pin. But I would take that as only on mode / pullup/pulldown config is meant to be used at any one given time.
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:
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).