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.

AM5749: How to modify OPP for DSP, EVE

Other Parts Discussed in Thread: AM5749

Hello support!!

I'm using AM5749 with PROCESSOR-SDK-LINUX-RT-AM57X  05.03.

When I used omapconf utility I saw some interesting thing:

When I change freq for MPU in a column "Operating Point"  I see how meaning was changed from  "NOM" to "HIGH".

But I didn't understend why for "DSP" and "EVE".... I see "OVERDRIVE" meaning but freq is on a maximum like I understood.

The my question is:

1.Is it normal? Is it work on maximum?

2.If it is not normal.... How to change it step by step?

BR,

Oleg

  • Hi Oleg,

    The "OVERDRIVE" OPP is usually less than "HIGH". There is no difference in frequencies between OVERDRIVE and HIGH for EVE (both are 650 MHz), but they are different for DSP. So, it is possible that omapconf is reporting the first matched OPP especially given that DSPs seems to be powered off. Can you please check the same with DSPs running?

    It is possible that this may be a bug in omapconf code (or ok if the reporting ignores the DSPs if they are powered off) 

    The TI SDK U-Boot is configured to use the OPP_HIGH for all of GPU, DSP/EVE, IVA by default to achieve the maximum performance usecases, so the frequency values you see are expected. 

    You can modify the OPP by selecting the appropriate OPP for the given devices in U-Boot menuconfig,

    -> ARM architecture x
      -> Voltage Domain OPP selections x
        -> DSPEVE Voltage Domain  

    NOTE: Depending on the SoC and board, multiple devices might be on the same regulator/power-rail, and the code will pick the highest OPP configured for any of the devices connected together. 

    regards

    Suman

  • Hi Suman,

    I saw settings in U-Boot menuconfig:

    1.OPP_HIGH  for DSPEVE Voltage Domain.

    2.DSP I working I did a test.I try to call: "omapconf show opp" simultaneously with this test and I didn't see changes in OPP columm.

    root@am57xx-evm:/usr/share/ti/tidl/examples/test# ./test_tidl
    Running dense_1x1 on 2 devices, type EVE
    frame[ 0]: Time on EVE0: 92.26 ms
    dense_1x1 : PASSED
    Running j11_bn on 2 devices, type EVE
    frame[ 0]: Time on EVE0: 178.65 ms
    j11_bn : PASSED
    Running j11_cifar on 2 devices, type EVE
    frame[ 0]: Time on EVE0: 53.58 ms
    j11_cifar : PASSED
    Running j11_controlLayers on 2 devices, type EVE
    frame[ 0]: Time on EVE0: 121.68 ms
    j11_controlLayers : PASSED
    Running j11_prelu on 2 devices, type EVE
    frame[ 0]: Time on EVE0: 300.75 ms
    j11_prelu : PASSED
    Running j11_v2 on 2 devices, type EVE
    frame[ 0]: Time on EVE0: 129.40 ms
    j11_v2 : PASSED
    Running jseg21 on 2 devices, type EVE
    frame[ 0]: Time on EVE0: 367.99 ms
    jseg21 : PASSED
    Running jseg21_tiscapes on 2 devices, type EVE
    frame[ 0]: Time on EVE0: 303.11 ms
    frame[ 1]: Time on EVE1: 301.97 ms
    frame[ 2]: Time on EVE0: 303.94 ms
    frame[ 3]: Time on EVE1: 302.79 ms
    frame[ 4]: Time on EVE0: 303.74 ms
    frame[ 5]: Time on EVE1: 302.64 ms
    frame[ 6]: Time on EVE0: 303.68 ms
    frame[ 7]: Time on EVE1: 302.54 ms
    frame[ 8]: Time on EVE0: 298.05 ms
    Comparing frame: 0
    jseg21_tiscapes : PASSED
    Running smallRoi on 2 devices, type EVE
    frame[ 0]: Time on EVE0: 2.61 ms
    smallRoi : PASSED
    Running squeeze1_1 on 2 devices, type EVE
    frame[ 0]: Time on EVE0: 293.00 ms
    squeeze1_1 : PASSED

    Multiple Executor...
    Running network tidl_config_j11_v2.txt on EVEs: 1 in thread 0
    Running network tidl_config_j11_cifar.txt on EVEs: 0 in thread 1
    frame[ 0]: Time on EVE0: 53.60 ms
    frame[ 0]: Time on EVE1: 129.24 ms
    Multiple executors: PASSED
    Running dense_1x1 on 2 devices, type DSP
    frame[ 0]: Time on DSP0: 103.62 ms
    dense_1x1 : PASSED
    Running j11_bn on 2 devices, type DSP
    frame[ 0]: Time on DSP0: 170.55 ms
    j11_bn : PASSED
    Running j11_cifar on 2 devices, type DSP
    frame[ 0]: Time on DSP0: 60.79 ms
    j11_cifar : PASSED
    Running j11_controlLayers on 2 devices, type DSP
    frame[ 0]: Time on DSP0: 401.00 ms
    j11_controlLayers : PASSED
    Running j11_v2 on 2 devices, type DSP
    frame[ 0]: Time on DSP0: 117.36 ms
    j11_v2 : PASSED
    Running jseg21 on 2 devices, type DSP
    frame[ 0]: Time on DSP0: 1124.60 ms
    jseg21 : PASSED
    Running jseg21_tiscapes on 2 devices, type DSP
    frame[ 0]: Time on DSP0: 813.22 ms
    frame[ 1]: Time on DSP1: 813.65 ms
    frame[ 2]: Time on DSP0: 813.21 ms
    frame[ 3]: Time on DSP1: 813.89 ms
    frame[ 4]: Time on DSP0: 813.23 ms
    frame[ 5]: Time on DSP1: 813.91 ms
    frame[ 6]: Time on DSP0: 813.23 ms
    frame[ 7]: Time on DSP1: 813.87 ms
    frame[ 8]: Time on DSP0: 813.04 ms
    Comparing frame: 0
    jseg21_tiscapes : PASSED
    Running smallRoi on 2 devices, type DSP
    frame[ 0]: Time on DSP0: 14.18 ms
    smallRoi : PASSED
    Running squeeze1_1 on 2 devices, type DSP
    frame[ 0]: Time on DSP0: 897.51 ms
    squeeze1_1 : PASSED
    tidl PASSED

    BR,

    Oleg

  • Hi Oleg,

    1. The TI SDK U-Boot is definitely configured for OPP_HIGH. The above menuconfig is where you change if you want a different OPP. There are similar OPP selections for other domains as well (GPU, MPU etc).

    2. You would primarily want to see no parentheses around the Frequency column for the DSPs when they are running. If it is still reporting OVERDRIVE, then it's mostly a bug in omapconf. I suggest you to try the latest omapconf since you are on quite an older SDK. You can just build the latest omapconf (it's a public project hosted on github) and copy it to your file-system.

    regards

    Suman

  • I did download latest version omapconf because old version didn't support this device. But like you will see it still have a bug(if it is a really bag). Thx for your help and fix a bug please.

    BR,

    Oleg