Forums › Reference, Evaluation, and Development Boards › OSD32MP1-BRK › Check or change CPU speed from Linux
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.
(In my case, less interested in reducing power consumption, rather just want to see how much CPU performance I can get)
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
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.
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. 🙂
Octavo Systems LLC all rights reserved
OCTAVO is registered in the U.S. Patent and Trademark Office. OSD, C-SiP, and the Octavo Logo are trademarks of Octavo Systems LLC.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields