Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

TDA4AL-Q1: Activate cache coherency across MAIN domain on A72

Part Number: TDA4AL-Q1

Tool/software:

Hello Support-Team,

we have developed a porting layer for TIOVX on our own OS and have mapped until recently the TIOVX Obj Descriptor, Log RT, and App Log segments uncached.

Due to some restrictions we would like to map these segments as cache coherent memory.

If I understood the answer to the linked question correctly the only thing to be done on the A72 CPU is to map those segments as shareable.
We tried both the inner shareable attribute as well as the outer shareable attribute, but ran into effects that look like cache coherency is not given.
For example, when running the TIOVX conformance test suite some runs lead to the following output:

[ -------- ] tests from tivxTestKernelsNotNot
[ RUN 0001 ] tivxTestKernelsNotNot.Sizes/0/640x480 ...
[C7x_2 ]     15.527368 s:  VX_ZONE_ERROR:[ownTargetCmdDescHandler:1115] object descriptor type is invalid

This leads to our assumption that the initialization of the object descriptor array does not reach the C7X, when mapping the array cached.

Is there any other configuration at the MSMC or the MMU to be done to ensure the coherency between all processors and is there a way to confirm that?
We are booting from u-boot and do not touch the MSMC in any way in our OS.

Thank you and kind regards,
Marco

  • Hi Marco,

    The MMU mapping in the C7x should also be taken care here.

    These has to assigned to the appropriate MAIR regions. You can refer the mmu_mapping of the regions in vision_apps/platform/j721s2/rtos/c7x_1/main.c 

    Regards,

    Nikhil

  • Hi Nikhil,

    thank you for your fast response.

    We are using the C7x images as distributed in the PSDK without changes.
    Our OS basically acts as Linux from the C7x point of view.
    We also configure the memory map exactly as described in the system_memory_map.

    Is there something to be changed in file you mentioned in this case as well?

    Kind regards,
    Marco

  • Hi Marco,

    No, if the memory map is unchanged, then there need not be any changes in this file

    Then let us focus on this error 

    [C7x_2 ]     15.527368 s:  VX_ZONE_ERROR:[ownTargetCmdDescHandler:1115] object descriptor type is invalid

    Is this the first error that you are seeing or are there any others present above this?

    Can you share the full logs?

    Regards,

    Nikhil