Project

General

Profile

Change Core Clock Frequency

The clock frequencies of the different cores can be changed from U-Boot through menuconfig. The following assumes you have set up the build environment for compiling U-Boot found here: Building U-Boot for MitySOM-AM57X

The following core frequencies can be modified:
Freq Setting DSPEVE IVA GPU MPU
OPP_NOM 600 MHz 388 MHz 425 MHz 1000 MHz
OPP_OD 700 MHz 430 MHz 500 MHz N/A
OPP_HIGH 750 MHz 532 MHz 532 MHz N/A
Default OPP_HIGH OPP_NOM OPP_NOM OPP_NOM

Modifying U-Boot to change core frequency

To select a different core frequency, run menuconfig after you have run the defconfig setup. Below is an example after the U-Boot source has been checked out and the build environment has been set up.

$ make mitysom57xx_devkit_defconfig
$ make menuconfig

In menuconfig, navigate to ARM architecture --> Voltage Domain OPP selections -->

Select one of the core frequencies you'd like to change and select the option (Example is setting DSPEVE to OPP_HIGH, which sets the DSP frequency to 750 MHz)

Exit out of menuconfig and save the changes to the config. Continue following the Building U-Boot for MitySOM-AM57X instructions to build and install the newly modified version of U-Boot.

Check current core clock frequencies

You can check the core clock frequencies by running the following command (omapconf show opp):

root@mitysom-am57x:~# omapconf show opp
OMAPCONF (rev v1.74-1-g40ab0a2 built Fri Jan 22 21:22:26 UTC 2021)

HW Platform:
  Generic DRA74X (Flattened Device Tree)
  DRA75X ES2.0 GP Device (STANDARD performance (1.5GHz))
  TPS659038  ES2.2

SW Build Details:
  Build:
    Version:  _____                    _____           _         _
  Kernel:
    Version: 4.19.94-g78f5a55524
    Author: oe-user@oe-host
    Toolchain: gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)
    Type: #1 SMP PREEMPT
    Date: Fri Mar 19 14:50:53 UTC 2021

|-----------------------------------------------------------------------------------|
|                        | Temperature | Voltage | Frequency      | OPerating Point |
|-----------------------------------------------------------------------------------|
| VDD_CORE / VDD_CORE0   | 64C / 147F  | 1.150 V |                | NOM             |
|   L3                   |             |         |  266  MHz      |                 |
|   DMM                  |             |         |  266  MHz      |                 |
|   EMIF1                |             |         |  266  MHz      |                 |
|   EMIF2                |             |         |  266  MHz      |                 |
|     LP-DDR2            |             |         |  532  MHz      |                 |
|   L4                   |             |         |  266  MHz      |                 |
|   IPU1                 |             |         |  425  MHz      |                 |
|     Cortex-M4 Cores    |             |         |  212  MHz      |                 |
|   IPU2                 |             |         | (425  MHz) (1) |                 |
|     Cortex-M4 Cores    |             |         | (212  MHz) (1) |                 |
|   DSS                  |             |         | (192  MHz) (1) |                 |
|   BB2D                 |             |         | (354  MHz) (1) |                 |
|                        |             |         |                |                 |
| VDD_MPU / VDD_CORE1    | 65C / 149F  | 1.090 V |                | NOM             |
|   MPU (CPU1 ON)        |             |         |  1000 MHz      |                 |
|                        |             |         |                |                 |
| VDD_GPU / VDD_CORE2    | 65C / 149F  | 1.130 V |                | NOM             |
|   GPU                  |             |         |  425  MHz      |                 |
|                        |             |         |                |                 |
| VDD_DSPEVE / VDD_CORE3 | 64C / 147F  | 1.080 V |                | HIGH            |
|   DSP1                 |             |         | (750  MHz) (1) |                 |
|   DSP2                 |             |         | (750  MHz) (1) |                 |
|   EVE1                 |             |         | (0    MHz) (1) |                 |
|   EVE2                 |             |         | (0    MHz) (1) |                 |
|                        |             |         |                |                 |
| VDD_IVA / VDD_CORE4    | 65C / 149F  | 1.060 V |                | NOM             |
|   IVA                  |             |         | (388  MHz) (1) |                 |
|                        |             |         |                |                 |
|-----------------------------------------------------------------------------------|

Notes:
  (1) Module is disabled, rate may not be relevant.

CPU Frequencies

The CPUs are configured with an on-demand governor to scale the frequencies between 1GHz to 1.5GHz depending on the system load. The settings for the frequencies / govenors for each CPU can be found here:

/sys/devices/system/cpu/cpu0/cpufreq
/sys/devices/system/cpu/cpu1/cpufreq

Example below shows changing the CPU0 govenor from ondemand to performance so that the CPU frequency will stay at 1.5GHz.

root@mitysom-am57x:~# echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

A list of available goveners can be found by running the following:

root@mitysom-am57x:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
conservative userspace powersave ondemand performance schedutil

You can check the CPU frequency with either the command mentioned previously above (omapconf show opp) or by running the following:

root@mitysom-am57x:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
1500000

NOTE Remember to apply any changes to both CPUs (cpu0 or cpu1 / if applicable).

Go to top
Add picture from clipboard (Maximum size: 600 MB)