Check or change CPU speed from Linux

Forums Reference, Evaluation, and Development Boards OSD32MP1-BRK Check or change CPU speed from Linux

Viewing 3 reply threads
  • Author
    Posts
    • #10232
      Dennis Fieldfury
      Participant

        I’m running the latest Octavo Debian image on my BRK. Is there a way to check the current CPU speed? If I need to change it, I assume that’ll be through STM32CubeMX, updating the device trees and whatnot. I’ve checked out the tutorial, and see that the minimal config sets it to 650mhz. Can the BRK run at 800mhz?

        Only thing I’ve found related to CPU speed was from last year on the ST forums, indicating the stm32mp1 doesn’t support cpufreq, which still appears to be the case. Not sure if that’s a driver thing or if the CPU itself doesn’t support dynamic clocking.

        https://community.st.com/s/question/0D50X0000B0yyFi/how-to-change-the-cpu-core-clock-speed-in-general-how-to-reduce-power-consumption

        (In my case, less interested in reducing power consumption, rather just want to see how much CPU performance I can get)

      • #10235
        Neeraj Dantu
        Moderator

          Fury,

          You are correct. You will only be able to set/change the CPU frequency via the CubeMX tool/device tree modification. The OSD32MP1 currently integrates the stm32mp157c version of the processor which specifies a maximum frequency of 650MHz. 800MHz version of OSD32MP1 will be supported later.

          Best,

          Neeraj

        • #10776
          Aedan Cullen
          Participant

            Just came across this thread – this patch might be relevant: http://u-boot.10912.n7.nabble.com/PATCH-v2-0-9-stm32mp1-use-OPP-information-for-PLL1-settings-in-SPL-td413606.html

            Of course, if you feel like breaking the rules you can directly tweak PLL1 settings in the device tree. Last year I checked my STM32MP157C-DK2 just for fun: it was stable up to 1.05GHz without any change to the core voltage.

          • #11091
            mkleox
            Participant

              Hi,
              You can change the CPU clock in the .dtb file and reset the systemctl. Here is how:

              Go to the

              $cd /boot

              the dst file must be there:

              /boot/stm32mp157c-osd32mp157c-brk.dtb

              I did not try for the BRK, but for RED it worked. But I think BRK might use a different CPU clock model. but you can try this:

              $sudo fdtput -t i /boot/stm32mp157c-osd32mp157c-brk.dtb /cpus/cpu@0 clock-frequency 800000000
              $sudo fdtput -t i /boot/stm32mp157c-osd32mp157c-brk.dtb /cpus/cpu@1 clock-frequency 800000000

              and then restart the board or run

              $sudo systemctl reboot

              another way:
              in case you want to see the difference between the BRK and RED dtb, you can decompile the dtb files into dts and change it and recompile it again. you can use this:

              $sudo dtc -I dtb -O dts stm32mp157c-osd32mp157c-brk.dtb -o stm32mp157c-osd32mp157c-brk.dts

              for that you might need to install the dtc compiler.

              $sudo apt-get install device-tree-compiler

              Let us know if that works also for BRK. 🙂

          Viewing 3 reply threads
          • You must be logged in to reply to this topic.