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

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.

EDMA access on C6657

Hello there,

One of our customer has some problem regarding to EDMA memory region access.

I would be thankful to you if some one would advice us on below.

I’m trying to read/write the EDMA registers starting of address 0x02700000, but I cannot access that memory region.

It seems I don’t have the permissions either from local access in the DSP or  from PCIe connection.

On the PCIe registers I have set the MST_PRIV mode in the Transaction Priority Register (PRIORITY) offset 3Ch, from PCIe application registers (21800000h),  to 1.

On the MPPAG Memory Protection Page Attribute Global Register, offset 80Ch from the EDMA Channel Controller (EDMA3CC) 02740000h, I’ve changed all last bits to 1.

I still cannot read or write any of the EDMA registers.

What should be the right registers setup in order for me the access the EDMA registers starting of address 0x02700000  ?

  • Kushal Patel,

    Kushal Patel: said:
    I’m trying to read/write the EDMA registers starting of address 0x02700000, but I cannot access that memory region.


    Please check the device datasheet for EDMA register address, I think so, you have mentioned address is reserved.

    You can find the example code at: C:\ti\edma3_lld_02_11_05_02\examples\edma3_driver\evm6657
    Any entity on the chip that has read/write access to the EDMA3 registers and can program an EDMA3 transfer.

    You can check the read/write for EDMA memory mapped registers like below, this is only for your reference.

    #define EDMA3_TPCC_BASE 0x02740000
    #define IECRH (EDMA3_TPCC_BASE + 0x105C) // IECRH Control

    *(int*)IECRH = 0xFFFFFFFF;

  • Kushal Patel,

    Do you need further support on this issue? Are you able to write or read the EDMA memory mapped registers?

  • Hi,

    When I'm accessing the EDMA registers starting off  0x02740000 , I can see the values and I think I can continue from there.

    I was relying on TI Linux Host example - C:\ti\mcsdk_2_01_02_06\tools\boot_loader\examples\pcie\linux_host_loader

    And on the pcidemo.c the definition for the EDMA base registers is 0x02700000

    #define EDMA_TPCC0_BASE_ADDRESS      0x02700000


    So as I described accessing that address is unsuccessful, but now I understand that it is a reserved memory space.

    Once I changed the definition into #define EDMA_TPCC0_BASE_ADDRESS      0x02740000

    That area became accessible.

    I guess there should be #if EVMC6657L before the EDMA_TPCC0_BASE_ADDRESS definition in the Linux host example.

    Thanks,

    Roee

  • Roee,

    Glad to hear. I believe that, its working in your side after modified correct address. However this discussion of thread can helpful for future readers, If you verified this thread.