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.

DM8148 EVK ARM/DDR clock speed



Hi,

Currently I am using DM8148 EVK and notice that ARM is running at 600MHz and DDR at 400MHz as showed in following U-Boot message:

ARM clk: 600MHz
DDR clk: 400MHz

I want to configure ARM and DDR to higher clock speed in our project, for example, ARM to 720MHz or 1GHZ (if chip supports), DDR to 800MHz or higher. Does anyone know how to do it? Is there any document on this area?

I noticed that following code in U-Boot to calculate the current ARM/DDR speed. What is meaning for these two formula? Any document on this?

/* clk_out = ((OSC_0/ ( N+1 )) * M) / M2 */
arm_freq = ((OSC_0_FREQ / (MODENA_N + 1) * MODENA_M) / MODENA_M2);
ddr_freq = ((OSC_0_FREQ / (DDR_N + 1) * DDR_M) / DDR_M2);

Thanks in advance for your help!

Regards,

Shunnian

  • Shunnian,

    Please refer to the datasheet for supported clocks on ARM/DDR/.. etc for the device variant you have. For this device DDR 800 Mhz is not possible.

    Also, to change the clocks you need to do 2 changes:

    1. Update the domain rail voltage to appropriate voltage for the target OPP (1.1/1.2/1.35V). Target OPP depends on the final clock and again the device variant that you have.

    2. Update the clock from u-boot. The logic for updating clocks can be referred in following file:

    u-boot/arch/arm/include/asm/arch-ti81xx/clocks_ti814x.h

    Regards

    Rajat

  • Hi, Rajat,

    Thanks for your quick reply.

    The device we will use is DM8148 with ARM speed 720MHz. I checked the datasheet and found the following information in Table 7-26 -- Maximum Module Clock Frequencies:

    MODULE       CLOCK SOURCES             MAX FREQUENCY OPP100 (MHz)
    Cortex-A8      PLL_ARM SYSCLK18            600 

    DDR0/1          PLL_DDR                             400

    DMM              PLL_DDR/2                          200

    The speed in table above is for OPP100(1.1V). The power supply in our board is 1.2V (OPP120) and system clock is 20MHz. Please advise what is the max frequency we can reach for our board.

    In your reply you mentioned that for this device DDR 800 Mhz is not possible. I checked the datasheet and notice that it can support up to DDR3-800. So, in what condition, the device can support DDR3 800MHz?

    Thanks again for your help!

    Regards,

    Shunnian

  • Hi Shunnian,

    DDR3-800 requires 400 Mhz DDR clock which amounts to 800Mhz dual data rate.

    OPP support is dependent on device variant you have and I am not sure which device variant you have. Can you check with local FAE team on max supported clocks?

    Regards

    Rajat

  • Hi, Rajat,

    Thanks for your information. What you mean is that max DDR3 clock speed DM8148 can support is 400MHz, which is default setting in EVK. So, it is impossible to increase to any higher clock. Am I right?

    The device we will use for now is TMS320DM8148SCYE0(720Mhz). Based on datasheet, ARM max speed can be 720MHz. Then, max clock speed can be set to 720MHz. Is it right? If this is the case, maybe I will try to set 720MHz clock in a late time.

    Thanks and Regards,

    Shunnian

  • Hello Shunnian Zhai:

     I encounter the same problem as you,and now arm rate is 720M use:

    echo "Config Cortex A8 720MHZ..."
    #cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
    echo -n "userspace" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    echo -n 720000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

    But DDR3 still 400M,how about now you system ?

    Email:tanzhichaoanuo@163.com

  • Hi, Zhi Chao,

    We only have the issue with our EVT1 board due to the PCB layout, which leads to DDR3 only working at below 230MHZ.

    However, our new EVT2 board solves the PCB layout issue. Now DDR3 can work at 400MHz without any problem.

    Regards,

    Shunnian

  • Hello Shunnian:

      My system infor  were listed below when boot up:

     

    U-Boot 2010.06 (Jul 12 2013 - 09:10:34)

    TI8148-GP rev 2.1

    ARM clk: 600MHz
    DDR clk: 400MHz

    I2C:   ready
    DRAM:  1 GiB

    ----------------

    and can work ok.

    So

    1. wheather My DDR3 has get the max speed ?if not ,how let the  DDR3 get the higher speed ,eg:553M ?

    2.How to test the DDR3 speed?

           Thanks.

                                                 zhichao.

     

  • Hi, Zhi Chao,

    As I know, DM8148 EVK can only support up to 400MHz. So, you already run at max speed.

    As for DDR3 speed test, you may ask your hardware engineer to measure the clock to verify.

    Regards,

    Shunnian

  • Another way to find clock frequencies of various components is to mount the debug filesystem by following procedure:

    root@dm814x-evm: mount -t debugfs debugfs /sys/kernel/debug

    This will mount debugfs into /sys/kernel/debug folder where-in you can find info. about clock frequencies.

    root@dm814x-evm: cd /sys/kernel/debug/clock

    The various folders inside this directory will look like this:

    root@dm814x-evm:/sys/kernel/debug/clock# ls

    atl0_clk_ck       dvoi2_ck          pciess_50m_ck     tclkin_ck

    atl1_clk_ck       external_ck       rcosc_32k_ck      tsi0_dck_ck

    atl2_clk_ck       hdmi_phy_tclk_ck  rtc_divider_ck    tsi1_dck_ck

    atl3_clk_ck       ljcb_serdesn_ck   satass_125m_ck    video_m_pclk_ck

    dvi_ch1_ck        ljcb_serdesp_ck   satass_20m_ck     xref0_ck

    dvi_ch2_ck        osc0_clkin_ck     satass_50m_ck     xref1_ck

    dvi_ch3_ck        osc1_clkin_ck     satassn_ck        xref2_ck

    dvi_ch4_ck        osc1_x1_ck        satassp_ck

    dvoi1_ck          pciess_125m_ck    sys_32k_clkin_ck

    You can find clock rates of various components like ARM, DSP, DDR along with other sub-systems inside osc0_clkin_ck folder.

    For example, to get current value of ARM clock, type the following command:

    root@dm814x-evm:/sys/kernel/debug/clock# cat osc0_clkin_ck/arm_dpll_clkin_ck/arm_dpll_ck/rate

    Note that there are many such rate files inside each sub-folder. Some rates correspond the PLL clock input for the components.