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.

AM571x EMIF_OCP_CONFIG register

Genius 5785 points

Hello,

I want to understand how to configure EMIF_OCP_CONFIG. I saw the following GEL in CCS v6.1.3.
C:\ti\ccsv6\ccs_base\emulation\boards\am571x\gel\AM571x_ddr_config.gel

The register is set below. It means that SYS_THRESH_MAX is 10 and MPU_THRESH_MAX is 5. Each reset value is 7.
OCP_CONFIG = 0x0A500000U;

In this case, does System interface (from L3_MAIN interconnect) take priority over MPU interface (from MPU subsystem) to access DDR3? I think 10 is max value even though the field width is 4-bit. Because Table 15-99 in TRM describes as follow. "The total number of entries in the command FIFO is 10." How can I decide to configure the register? Please give me some advice.

Regards,
Kazu

  • I will ask the DDR experts to comment. They will reply directly here.
  • Hi Biser,

    Biser Gatchev-XID said:
    I will ask the DDR experts to comment. They will reply directly here.

    I have not yet received any information from them. I need your help.

    Regards,
    Kazu

  • I have escalated this.
  • Hi Biser,

    I'm still waiting for an answer from DDR experts. It's been a month now. Thank you for your help.

    Regards,
    Kazu

  • Hi Kazu,

    Here are some hints regarding EMIF priority:

    The MA_PRIORITY[2:0] PRIORITY field is the MPU MA path equivalent of the DMM PEG priority for the rest of the system traffic to the EMIF.
    The typical scenarios in which this register could have to be modified is

    (1) The MPU does not seem to be able to complete its activities in the required time and a bandwidth/latency of access bottle neck is identified to the EMIF where other initiators seem to be getting higher priority while accessing EMIF vs MPU. In that case the PRIORITY may be increased to any number between 0x5 and 0x7 to ensure MPU gets a fair share of bandwidth and the rest of the system traffic is also okay.

    (2) The MPU accesses to the EMIF need to be controlled with respect to another initiator (for eg. M4) to indicate that when ever an M4 transaction and MPU transaction both arrive at EMIF and we want the M4 transaction to be serviced before MPU, the MA_PRIORITY[2:0] PRIORITY can be configured to be lower than the M4 DMM PEG Priority for the EMIF to prioritize M4 vs MPU.

    The EMIF additionally also provides a knob which allows controlling MPU traffic vs the rest of the system traffic in AM57x via the configuration of EMIF_OCP_CONFIG register. Based on the balance of the configuration in this register and the initiator based PRIORITY fields the EMIF internally decides which transactions to service first. Some details on the arbitration is given in 15.3.4.1.4 Arbitration of Commands in the Command FIFO of the AM57x TRM.

    Regards,
    Pavel
  • See also the below e2e threads regarding more info for EMIF priority:

    e2e.ti.com/.../468434
    e2e.ti.com/.../540668

    Regards,
    Pavel