This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM5728: Memory map questions

Expert 2990 points
Part Number: AM5728

Tool/software: Linux

HI all:

Just know we look at the SPRAC60.pdf doc.

We can know the am5728's memory map is like below:

A15 Linux Kernel 0x80000000

IPU2 CMA              0x95800000

DSP1_CMA           0x99000000

IPU1_CMA             0x9D000000

DSP2_CMA           0x9F000000

CMEM                     0xA0000000

And the CMEM size is 0x0C000000.

Now we have 2 questions:

1 I want to know where is the tiler memory' start address, even though we know the Tiler Memory is 128MB

2 what's the size of the A15 Linux Kernel.

Thanks

regards

  • The software team have been notified. They will respond here.
  • Hi xixi,

    1. The start address is 0x60000000. There is also private memory view for DSS only with start address of 0x01_0000_0000.

    Refer to AM572x TRM, sections:
    2.2 L3_MAIN Memory Map
    2.9 TILER View Memory Map

    See also below pointers:

    e2e.ti.com/.../2248423

    {PSDK}/example-applications/big-data-ipc-demo-linux-01.01.00.00/host_linux/simple_buffer_example/shared/DRA7XX/rsc_table_dsp.h

    {PSDK}/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/share/ti/ti-ipc-tree/packages/ti/ipc/remoteproc/rsc_table_vayu_dsp.h

    2. The kernel size depends on what you have include/exclude in it. The default (pre-built) size of the kernel that comes with the PSDK package is 3.7MB

    {PSDK}/board-support/prebuilt-images/zImage-am57xx-evm.bin

    Regards,
    Pavel
  • HI Pavel

    Thanks for your reply.

    Now I'm still confused about the tiler memory.

    As we know the AM5728_evm have 2GB DDR3, the address is start at 0x8000 0000, the end is at 0xFFFF FFFF, the size is 2GB.

    The  tiler region start address is 0x60000000. 

    So I am confusing about How to map the DDR3 memory to the tiler region。

    Because we know the 0x6000 0000 is memory hole which need maped to the DDR3 memory and what is the start of the DDR3 memory.

    anther question is 

    what's the size of the A15 Linux Kernel CMA region and how to increse the Linux kernel CMA region.

    Thanks

    regards

  • HI all:

    Anyone can help us about this issue.

    Thanks 

    regards

  • xixi said:

    As we know the AM5728_evm have 2GB DDR3, the address is start at 0x8000 0000, the end is at 0xFFFF FFFF, the size is 2GB.

    The  tiler region start address is 0x60000000. 

    So I am confusing about How to map the DDR3 memory to the tiler region。

    Because we know the 0x6000 0000 is memory hole which need maped to the DDR3 memory and what is the start of the DDR3 memory.

    Please explore the simple_buffer_example code, it might give you some hints.

    /sys/kernel/debug/dri/ contains debugfs files for the DRM. It can be used to see the framebuffers allocated, the connectors, information about tiler.

    http://processors.wiki.ti.com/index.php/Linux_Core_DSS_User's_Guide

    Check also below e2e threads:

    xixi said:

    anther question is 

    what's the size of the A15 Linux Kernel CMA region and how to increse the Linux kernel CMA region.

    Refer to the below pointers:

  • HI Pavel :

    Thanks for your reply!!!

    Do you have any document to explain this?

    As far as I know :

    The 0x80000000 is used for Linux kernel

    But why it used by the IPU.

    #define IPU_MEM_TEXT            0x0
    #define IPU_MEM_DATA            0x80000000
     
    #define IPU_MEM_IOBUFS          0x90000000
     
    #define IPU_MEM_IPC_DATA        0x9F000000
    #define IPU_MEM_IPC_VRING       0x60000000
    #define IPU_MEM_RPMSG_VRING0    0x60000000
    #define IPU_MEM_RPMSG_VRING1    0x60004000
    #define IPU_MEM_VRING_BUFS0     0x60040000
    #define IPU_MEM_VRING_BUFS1     0x60080000
     
    #define IPU_MEM_IPC_VRING_SIZE  SZ_1M
    #define IPU_MEM_IPC_DATA_SIZE   SZ_1M
     
    #if defined(VAYU_IPU_1)
    #define IPU_MEM_TEXT_SIZE       (SZ_1M)
    #elif defined(VAYU_IPU_2)
    #define IPU_MEM_TEXT_SIZE       (SZ_1M * 6)
    #endif
     
    #if defined(VAYU_IPU_1)
    #define IPU_MEM_DATA_SIZE       (SZ_1M * 5)
    #elif defined(VAYU_IPU_2)
    #define IPU_MEM_DATA_SIZE       (SZ_1M * 48)
    #endif
     
    #define IPU_MEM_IOBUFS_SIZE     (SZ_1M * 90)

    Thanks
  • HI 

    As I said earlier

    The 0x6000 0000 is memory hole which need maped to the DDR3 memory.

    Just now we found the datasheet (spruhz6h.pdf 3315 page)like below:

    The Tiler memory from 0x6000 0000 must translated to the SDRAM.

    So we want to know which SDRAM is maped and what 's the begin of the SDRAM

    Thanks regards

  • HI ALL:

    Anyone can help us about this issue.

    We just want to know what the corresponding relationship is between the Tiler memory and the DDR3 memory.

    Thanks

    regards

  • HI all:

    Anyone else know about how to map the DDR3 memory to the Tiler memory?

    Thanks

    regards 

  • HI all:

    According to the documents which you give us.

    We have changed the tisdk_am57xx-evm-rt_defconfig.

    CONFIG_CMA_SIZE_MBYTES=48

    So whether the above methods can increase the Linux CMA memory.

    Even though you have give us so much documents.

    But there is no documents to describe the Tiler Memory mapping.

    So we are so confusing how to map the DDR3 memory to the Tiler memory like below?

    Thanks 

    regards

  • Dear Pavel Botev:

    Do you have any other advice for me about this issue

    Thanks
    regards