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.

Want to know how to change the DM814x SGX speed to 280 MHz for the 5.02 version

Other Parts Discussed in Thread: SYSCONFIG

Hi,

I Want to know how to change the DM814x SGX speed from 200 MHz to 280 MHz for the 5.02 version since it doesn't have the PLL_Clocks_Config() argument in sgxinit.c.

 

Please suggest.

How to change it on booted system? How to read it.

Many Thanks,

Saurabh

  • Hi Saurabh,

    The oldest EZSDK version I have is EZSDK 5.04.00.11 which comes with Graphic SDK 4.04.00.02

    ti-ezsdk_dm814x-evm_5_04_00_11/component-sources/graphics-sdk_4.04.00.02

    The SGX PLL is in:

    ti-ezsdk_dm814x-evm_5_04_00_11/component-sources/graphics-sdk_4.04.00.02/GFX_Linux_KM/services4/srvkm/devices/sgx/sgxinit.c

    PLL_Clocks_Config((UWORD32)pll_base,OSC_0,19,800,4,ADPLLJ_CLKCRTL_HS2);

    Which graphics SDK version (graphics-sdk_x.xx.xx.xx) comes with EZSDK 5.02? And can you migrate to newer graphics-sdk version, where SGX PLL is available?

    Regards,
    Pavel
  • Hi Pavel,


    Thanks for the reply.

    But 5.01 is not the ezsdk version which you are reffering, its the graphics-sdk_5.01XXXX and it doesn't contain the PLL_Clocks_Config() API to change the PLL.

    BR,

    Saurabh

  • Saurabh,

    I refer to the oldest EZSDK that I have (5.04). And I need to know the graphics-sdk version of your EZSDK (5.01 or 5.02)?

    BR
    Pavel
  • graphics-sdk version is 5_01_00_01.

    Many Thanks,
    Saurabh
  • This version is for new devices like AM335x and AM43x. What is the DM814x EZSDK version you have?

    BR
    Pavel
  • Hi Pavel,
    We used 5_05_02_00 ezsdk version but we need graphics-sdk version >= 4.10. So we chose the latest one which was available at that time.
    BR,
    Saurabh
  • Saurabh Awasthi said:
    graphics-sdk version is 5_01_00_01

    The last version which is only build tested for DM814x is 4.10.00.01

    1. This release has been tested on AM parts only.
    2. This release is build tested only for 387x(TI814x) & 389x(TI816x) & DM parts.
    3. This release is build tested only against 3.8 kernel.


    While the last release fully tested for DM814x is 4_06_00_03

    BR
    Pavel

     

  • So according to you, we should use graphics-sdk version 4.10.00.01.
    But the problem remains the same.
    We want to know how to change the PLL frequency to 280 MHz.
    Can you please let me know in which file I need to change so that we can be able to get the same as 280 MHz.
    as this doesn't contain the "PLL_Clocks_Config" function.

    Many Thanks,
    Saurabh
  • Saurabh,

    Let we first try with graphics-sdk 5_01_00_01. Does this graphics sdk works fine for your DM814x device with 200MHz? I mean the only problem is to switch from 200MHz to 280MHz, and everything else works fine for this combination (DM814x device + graphics sdk 5.01.00.01)?

    For switching to 280MHz you should have CYE1 or CYE2 device and switch to OPP166 (core voltage 1.35V).

    Can you try to update file graphics-sdk-5.01.00.01/GFX_Linux_KM/services4/system/ti81xx/sysconfig.h

    #define VS_PRODUCT_NAME "TI81xx"

    #define SYS_SGX_CLOCK_SPEED 200000000 // -> 280000000
    #define SYS_387x_SGX_CLOCK_SPEED 200000000 // -> 280000000

    Regards,
    Pavel
  • Hi Pavel,

    We changed our file as per your suggestion but we are not able to get the required clock speed.
    Please suggest.

    Many Thanks,
    Saurabh
  • Saurabh,

    How you check that the clock is 200MHz and not 280MHz?

    BR
    Pavel
  • cat /sys/kernel/debug/clock/osc0_clkin_ck/sgx_dpll_ck/rate
  • Saurabh Awasthi said:
    cat /sys/kernel/debug/clock/osc0_clkin_ck/sgx_dpll_ck/rate

    As this setting (200MHz -> 280MHz) is done outside the linux kernel, I doubt that linux kernel clock framework is providing the right value. Please export it to the CLKOUT pin and measure it with scope, as explained in the below e2e thread:

    Regards,
    Pavel

  • Hi Pavel,


    I am trying to change the settings from UBOOT:

    The SGX_PLL selection bits are mapped to CLKOUT_MUX[19:16] bits. Which means the write value should be 0x90000, not 0x9000. Writing 0x9000, you are trying to write at bits [15:12], which are read-only.

    This is what I have trying this in u-boot:

    TI8148_EVM#md 0x481C52E4 1
    481c52e4: 00000000    ....
    TI8148_EVM#mw 0x481C52E4 0x9000 1
    TI8148_EVM#md 0x481C52E4 1
    481c52e4: 00000000    ....
    TI8148_EVM#mw 0x481C52E4 0x90000 1
    TI8148_EVM#md 0x481C52E4 1
    481c52e4: 00090000    ....

    as mentioned in below link:

  • Hi Pavel,

    After doing the above mentioned commands in UBOOT but it didn't work.
    Please suggest something so that we can be able to achieve the same.

    Thanks for your inputs.

    BR,
    Saurabh
  • Saurabh,

    Saurabh Awasthi said:
    After doing the above mentioned commands in UBOOT but it didn't work.

    What do you mean exactly? Are you saying you can measure 200MHz but not 280MHz on the CLKOUT1 pin?

    Saurabh Awasthi said:
    Please suggest something so that we can be able to achieve the same.

    I would suggest you to check again, as this is working fine on my side, and on other users side.

    BR
    Pavel

  • It is really very hard to help you, as you do not provide any useful info about you want to do, and what is not working fine on your side.
  • Hi Pavel,


    OK, I can understand that it might be confusing for you.

    My goal is to achieve SGX clock speed to 280 MHz which is currently 200 MHz on dm814x platform.

    As per your suggestion, I needed to change below files:

    graphics-sdk-5.01.00.01/GFX_Linux_KM/services4/system/ti81xx/sysconfig.h

    #define VS_PRODUCT_NAME "TI81xx"

    #define SYS_SGX_CLOCK_SPEED 200000000 // -> 280000000
    #define SYS_387x_SGX_CLOCK_SPEED 200000000 // -> 280000000

    and I built the code.

    Apart from that if I am not able to see the 280 MHZ value on the console, so I need to check it with CRO.

    But I am not able find out the exact pin on which I see the o/p.
    Are you using the 2.6.37 kernel for dm8148 platform?


    Many Thanks,

    Saurabh

  • Saurabh Awasthi said:
    Are you using the 2.6.37 kernel for dm8148 platform?

    Yes, the kernel that comes with EZSDK 5.05.02.00:

    ti-ezsdk_dm814x-evm_5_05_02_00/board-support/linux-2.6.37-psp04.04.00.01

    Saurabh Awasthi said:
    But I am not able find out the exact pin on which I see the o/p.

    You can use CLKOUT0 on physical pin AE17 (PINCNTL134/0x48140A14 [7:0]MUXMODE = 0x20) or physical pin J7 (PINCNTL259/0x48140C08 [7:0] MUXMODE = 0x4)

    Or you can use CLKOUT1 on physical pin AG17 (PINCNTL152/0x48140A5C [7:0]MUXMODE = 0x20) or physical pin R26 (PINCNTL127/0x481409F8 [7:0] MUXMODE = 0x10)

    To sum up, you can use 4 pins (AE17, J7, AG17, R26), it is up to you to decide which one.

    BR
    Pavel