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.

DM647/8 and CLKDIV4 0 domain (for example, EMIFA)



Is it true that CLKDIV4 0 domain (for example, EMIFA) must run at 1/4 the DSP frequency? Another wards SYSCLK4 fixed ratio vs. DSP frequency is 1:4 and it cannot be change to something like 1:5, 1:6, 1:7 or 1:8. It means if I need EMIFA to be 75MHz I must reduce DSP frequency to 600MHz?

  • Hi Yury,

    Please refer to the data sheet of DM647, chapter 6.4 and 6.4.1

    www.ti.com/.../tms320dm647.pdf

    SYSCLK4 is used as the EMIFA AECLKOUT
    [When SYSCLK4 is used as the EMIF input clock source, the actual clock goes through a divider and
    the frequency would be SYSCLK4 divide-by-2 (see Figure 6-5, PLL Input Clock).]

    The PLL multiplier controller (PLLM) must be programmed after reset. There is no hardware CLKMODE
    selection on the device. Since the divider ratio bits for dividers D1, D3, D5, and D6 are fixed, the
    frequency of SYSCLK1, SYCLK3, SYSCLK5, and SYSCLK6 is tied to the frequency of SYSREFCLK.
    However, the frequency of SYSCLK2 and SYSCLK4 depends on the configuration of dividers D2 and D4.
    For example, with PLLM in the PLL1 multiply control register set to 10011b (x20 mode) and a 35-MHz
    CLKIN1 input, the PLL output PLLOUT is set to 700 MHz and SYSCLK1 and SYSCLK3 run at 233 MHz
    and 117 MHz, respectively. Divider D4 can be programmed through the PLLDIV4 register to divide
    SYSREFCLK by 8 (2 * (PLLDIV4.RATIO+1)) such that SYSCLK4 runs at 87.5 MHz.



    Yes, you can configure the CLKDIV (PLLDIV4.RATIO) to 4,5,6,7,8 but it will get divided further by 2.

    Say e.g,

    (2 * (PLLDIV4.RATIO+1))

    If you want to operate EMIFA 75MHz and DSP at 900MHz then
    900MHz/75MHz = 12
    PLLDIV4.RATIO = 5 and default divider will be 2 so
    total (5+1)*2) = 12

    So, you have to set PLLDIV4.RATIO to 5 and DSP should operate at 900MHz.

    I would like to suggest to use gel file for clock modification and experiment.

    C:\ti\ccsv5\ccs_base\emulation\boards\evmdm648\gel\EVMDM648.gel

    1) Try to change DIV4 and probe the EMIFA clock.

    div2 = (*pll_div2 & 0x1f) +1;
    div4 = (*pll_div4 & 0x1f) +1;

    // Print freq info...
    GEL_TextOut( "PLL1 Setup for DSP @ %d MHz, SYSCLK2 = %f MHz, SYSCLK4 = %f MHz.\n",,,,, dsp_freq, ((float)(dsp_freq)/div2), ((float)(dsp_freq)/div4));
    GEL_TextOut( "PLL1 Setup... Done.\n" );


    2) Also try to change the "PLLDIV4.RATIO" to change the SYSCLK4.

  • Hi Titusrathinaraj,

    Thank you for the detail response, I completely agree with your explanation. But the reason why I asked my question is a contradiction of the spec with reference guide http://www.ti.com/lit/ug/sprueu6b/sprueu6b.pdf . On page 32 it has "The clock of the major chip subsystems must be programmed to operate at fixed ratios of the primary system/DSP clock frequency within each mode, as shown in Table 4-1" and according to that table SYSCLK4 fixed ratio vs. DSP frequency is 1:4. So according to spec SYSCLK4 is programmable (ratio 4, 5, 6, 7, 8), but according to reference guide is is fixed (4).

    Thank you,

    Yury

  • Hi Yury,
    Please refer to the table 5.2.1, its just a default divider and you can change as per the data sheet.
    Always we recommend you to refer to the data sheet of the processor for the device specific information.

    Have you tried to change and able to see/probe the different frequencies ?
  • Hi Titusrathinaraj,

    Yes, it works!

    Spplication note statement on page 32 (in 4.2.1) "Modules in the CLKDIV4 0 domain (for example, EMIFA) must run at 1/4 the DSP frequency" confused us ("must run" instead of "default"), but now it is clear.

    Thank you for your help!

    Yury

  • Sounds good.
    Thanks for your update.