Hi Stephan,

This is already the third post you did on the topic.
Could you provide some more details?
Are you using the uio_pruss from the kernel directly?
It creates 8 devices /dev/uioX, for each interrupt line a separate device
and sets the memory ranges on the 8 devices.

The  PRU-ICSS  in the AM572X has a different base address than the  PRU-ICSS
in the AM335X.
In fact, it seems that there are two PRU subsystems in teh AM572*, which
one are you using?
However, the am335x_pru_package uses /dev/uioX to know the base pointer.
So that should still work.
The pru_package uses the revision id of the interrupt controller to
determine which chip is used.
The pru_package does not fail fast with a clear description if it could not
detect  a known revision.
That might explain that it is failing in a non obvious way.

As for the offset of the PRU-ICSS components, all components are at the
same offsets as in the AM335X.
Therefore, you could try adding the AM5729 interrupt controller in
__prussdrv.h,
especially in  __pruss_detect_hw_version.
You should actually should check that the PRU-ICSS components in AM335X and
PRU-ICSS components in AM572* are the same by comparing the technical
references.
The offsets are the same so most of the AM335X defines apply for AM572* as
well.
You can read out the interrupt device id yourself.
Read out the revision id in table 30.742 of the technical reference manual:
http://www.ti.com/lit/ug/spruhz6l/spruhz6l.pdf.
Note that this is relative to the PRU-ICSS base, so I guess you should be
reading from 0x4B22_0000 for the first and 0x4B2A_0000 for the second
subsystem.
The revision ID is not mentioned in the manual.
I used a tool called devmem to read out the memory.
https://github.com/brgl/busybox/blob/master/miscutils/devmem.c

I hope this gives an idea of what is required to get it to work.
I don't have a BB AI , so no way to test.

Best wishes,
Hugo







On Wed, Feb 12, 2020 at 4:13 PM Stephan Böck <[email protected]> wrote:

> Hey,
>
> at the moment I try to port a program to the BB AI, which was developed
> for the BB Black.
>
> This program uses the PRUs and includes the headerfiles
> pruss_intc_mapping.h and prussdrv.h aswell as the libs (libprussdrv.a,
> libprussdrv.so, libprussdrvd.a and libprussdrvd.so) from the
> am335x_pru_package, which can be found in the beagleboard git repo
> https://github.com/beagleboard/am335x_pru_package
>
> Is there a chance that a pru package for the AM5729 is on the way?
>
>
> Currently, I am facing segmentation faults. Which makes totally sense,
> since the base addresses changed.
>
> Stephan
>
> --
> 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/08c3aa1e-e013-4c3e-9214-1b238b5d3924%40googlegroups.com
> <https://groups.google.com/d/msgid/beagleboard/08c3aa1e-e013-4c3e-9214-1b238b5d3924%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAHK0gJ2UHw%2BO3Lb2PpEZsjD5oZOXa6BqCvLBjvjPmaq9CEodLQ%40mail.gmail.com.

Reply via email to