Connect ME 9210 dynamic frequency scaling of CPU speed may overclock and overheat CPU

The NS9210 CPU used in Digi Connect ME 9210 modules has a hardware register SYS_CLOCK, to change the CPU frequency during run time in order to save power or improve processing performance.

Digi does not recommend to use the frequency scaling, as most drivers are only tested at the default ME 9210 CPU frequency of 75MHz which is the hardware strapped boot up default.

If you enable the frequency scaling in NET+OS firmware, its in the responsibility of the developer to make sure the clock is not set to any frequency above 75MHz to avoid overclocking and overheating (with finally destroying the hardware)! The NET+OS API does not check the values for the ME 9210 limits!

In Linux frequency scaling is not officially supported also because any drivers have only been tested at 75MHz.
Older version of Digi Embedded Linux DEL-4.2 allowed to enable frequency scaling which might result in a frequency of 112.435MHz being programmed and will quickly heat up the CPU until it dies, or even not work at all (the CPU used is only specified for 75MHz). See DEL-4.2/kernel/linux/Documentation/cpu-freq/user-guide.txt and governors.txt
E.g. if you enable a frequency governor (meaning the CPU speed is increased depending on the CPU load), it might increase to a value above 75MHz also destroying the CPU during high load situations.

Customer has to be very careful with enabling this feature in Linux, as the values of
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq and
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
are initialized by default to illegal values of greater 75MHz.
Customer would need to patch the kernel himself, to make sure the initial values are below 75MHz.

With latest version Digi Embedded Linux 5.7 DEL-5.7 customer will not be able to enable CONFIG_CPU_FREQ scaling in the kernel configuration at all any more. While the code is still available but should not be used or forced to be enabled.

Last updated: Oct 21, 2024

Filed Under

Embedded

Recently Viewed

No recently viewed articles

Did you find this article helpful?