On Wed, 13 Feb 2019 at 12:20, Roger Quadros <rog...@ti.com> wrote:

> I see that uio_pruss is important for the bone community. We will need
> to work together to make sure that it continues to operate
>

Fortunately uio_pruss is a pretty simple driver that's easy to forward-port.


> Meanwhile, I'd like to understand what must be done to ensure uio_pruss.c
> is supported. We might need to make some changes to uio_pruss.c
> so that it can understand the device tree node (interrupts, memory regions)
> and do runtime_pm etc. It will be great if we don't have to make any
> device tree changes when switching between pruss_remoteproc and uio_pruss
> drivers. Just unbinding the current driver and binding the alternate driver
> should work.
>

Adding ti,pintc-offset = <0x20000>; to &pruss should suffice to be able to
switch between the two drivers (by changing "compatible" in the DT or by
rebinding at runtime). It might even be nice to add both drivers to the
compatible-property of &pruss to make it automatically fall back to
uio-pruss if remoteproc-pru is disabled in kernel config or blacklisted as
a module. All the child nodes inside &pruss are simply ignored by the
uio-pruss driver.

I think if the pruss_soc_bus is driver is used then it'll take care of
deasserting the hard reset, so the ti,deassert-hard-reset property (and the
kernel patch that introduces it) wouldn't be needed. I haven't tested this
though. On the other hand if you want the same DT to work even if
pruss_soc_bus is disabled in kernel config or blacklisted as a module, then
you can add "simple-pm-bus" as fallback to the compatible-property of
&pruss_soc_bus and add the ti,deassert-hard-reset = "pruss", "pruss";
property to it. I don't think adding this property messes up the actual
pruss_soc_bus driver, but that would need to be double-checked.

For the beagleboard-x15 I also add a "pruss-instance" property to each
pruss instance containing its name ("pruss1" or "pruss2") to allow udev
rules to create convenient symlinks.

Matthijs

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/CAALWOA9itjQPC41j1pu7knGJ_yiVZEbqw8JwtFv3CZc7hoe8xQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to