OK, shame on me for just testing everything works on bbx15 and merely
checking the devices show up on beaglebone and *assuming* they work. They
really didn't. I had overlooked that the ti,deassert-hard-reset DT property
is a non-standard thing added by the original uio-pruss patch. A better
solution would be to have the uio-pruss driver deassert the reset directly,
just like the pruss_soc_bus driver does, but since I don't have time to
persue that right now I've simply added that patch back in.

I've also dropped the patch that enables uio-pruss by default on
beaglebone, and restructured the dts patches in general. The patch set is
now:
0001: uio-pruss driver itself
0002: add missing hwmods for pruss on dra7 (cherry-pick of a commit also
needed for remoteproc-pru)
0003: add support for ti,deassert-hard-reset (needed for uio-pruss on
am335x)
0004: outline dts declarations for pruss (can be dropped when full
declarations are added for remoteproc-pru)
0005: dtsi files for enabling uio-pruss (for convenience of #including by
those who want it)
0006: enable uio-pruss by default on beagleboard-x15 (feel free to drop,
but seemed better than nothing until remoteproc-pru works)
and I've moved them to patches/drivers/ti/uio_pruss.

Hopefully this makes the patchset acceptable to merge as-is (or optionally
dropping the last patch if you feel it is a bad idea).

Tests confirmed working on beaglebone-black:
am335x_pru_package/pru_sw/example_apps/PRU_memAccessPRUDataRam
py-uio/pru-examples/intc-test.py
py-uio/pru-examples/ddr-ping.py

Tests confirmed working on beagleboard-x15:
am335x_pru_package/pru_sw/example_apps/PRU_memAccessPRUDataRam (pruss1)
py-uio/pru-examples/intc-test.py (pruss1 and pruss2)
py-uio/pru-examples/ddr-ping.py (pruss1 and pruss2)

I should caution that the libprussdrv examples look pretty broken.
The PRU_industrialEthernetTimer example doesn't actually work (it doesn't
wait 10s like it was supposed to) and after fixing the most obvious bugs
(TICKS written to wrong memory, shared memory access not
volatile-qualified) it seems to hang forever. The remaining two examples
use /dev/mem to access a part of DDR3 memory that's not actually reserved
for use by pruss (instead of using libprussdrv's API to access the ddr3
memory that is reserved for pruss), and will therefore probably clobber
some kernel memory.

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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/CAALWOA8ZRnpqO0DfHHLM_V_48vY%2B8h84RZ%2BTebptAa2V62siPA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to