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.

DMA copy to MMC/SD

Other Parts Discussed in Thread: DM385

HI all,

S/w: ipnc_rdk_v3.2
H/w: Dm385

  • I want to use some DMA operations on M3vpss, so that I an send Video frames to MMC/SD  directly. I know DMA is supported on my current setup and used the same for video frame local copy purpose. How to use the DMA on M3vpss for writing data to MMC/SD?
  • If not M3vpss, I am ok with DMA operations from A8 also. (I am not sure about the accessibility of DMA from A8 on DM385!!) So that I can write Data to MMC/SD  from A8.


Any help/idea will be appreciated.

  • Hi all, Any suggestions ?

  • Hello,

    I checked the DM814x TRM and it seems that the MMC/SD card peripheral can work only with the system DMA (EDMA). The MMC/SD has two DMA request signals towards EDMA, 1 for receive and 1 for transmit.This is explained in sections 18.1 Introduction and 18.2.6 DMA Modes. You can check the DM385 TRM, if the same is valid there also.

    Regards,

    Pavel



  • Hi, Pavel Botev

    Referencing 18.1.2 Features section of DM814x TRM, Supported data rates are

     --  Up to 384Mbit/sec (48MByte/sec) in MMC mode 8-bit data transfer
     –  Up to 192Mbit/sec (24MByte/sec) in High-Speed SD mode 4-bit data transfer
     –  Up to 24Mbit/sec (3MByte/sec) in Default SD mode 1-bit data transfer

    But Referring to Below Link, whic is Dm814x performance guide, it is mentioned that, 8Mbps is the Max possible Data rate.
    http://processors.wiki.ti.com/index.php/DM814x_AM387x_PSP_04.01.00.07_Feature_Performance_Guide#Performance_and_Benchmarks_6


    Appreciate your help :)



  • The TRM says "Up to" and is assuming the optimal configuration, while the Performance Guide is providing the real values for the following configuration:

    Please refer MMC/SD Test Setup before proceeding.

    The performance numbers were captured using the following: 

    • SD Card (Sandisk Extreme, SDHC, Class 10, 4GB)
    • 100MB file size
    • Partition was mounted with async option
    • LTP-DDT test suite

    The correct wiki page is:

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_04.04.00.01_Feature_Performance_Guide#Performance_and_Benchmarks_7

    BR,

    Pavel

  • Hi Pavel Botev,

    Thank you for your precious reply.

    "The performance numbers were captured using the following: 

    • SD Card (Sandisk Extreme, SDHC, Class 10, 4GB)
    • 100MB file size
    • Partition was mounted with async option
    • LTP-DDT test suite "

    Yes I have taken care all these options, and I could practically see the performance number is around 4Mbps-5Mbps using fwrite() / write().
    using dd command I can see the throughput as 7.6Mbps Max.

    Any how, this 7.6Mbps is also not sufficient for my use case. How I can increase this performance somewhere closer to 12Mbps? Is there any way to do this?

    Thanks in advance :)

  • Do you involve the EDMA in this operation?

    You can try to increase the performance with increasing the Cortex-A8 processor frequency and MMC peripheral functional/interconnect clock signal frequency.

    Regards,

    Pavel

  • Hi Pavel Botev,

    Looking into my boot logs, Arm is running at 600Mhz.
    Referring to TRM, MMC peripheral interconnect Clock must be running at 192Mhz. But I am not sure how to confirm this clock.

    Expecting your support on this.

    Thanks you :)

  • For running the ARM in 1GHz, you need to modify the MODENA_M to 0x64, located in u-boot-2010.06-psp04.04.00.01/arch/arm/include/asm/arch-ti81xx/clocks_ti814x.h file. But just increasing the Multiplier is not sufficient. By default the core voltage only support 600Mhz. To support 1Ghz the core voltage has to be increased to 1.35v. There are several way to do this but the easiest would be to add this u-boot command to your boot command:

    TI8148_EVM#i2c mw 0x2D 0x22 0x3C

    This method works with Power Management chip TPS659113, attached to I2C0 at address 0x2D.

    You can check the MMC clock frequency and try to increase it, following the guidelines here:

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_PM_CLOCK_FRAMEWORK_User_Guide

    Regards,

    Pavel