Hi All,
I am reading the i.MX8M Mini datasheet (IMX8MMIEC rev 2), 11/2022) and more precisely the operating range table 10.
This table gives different VDD_ARM value depending on a frequency value (1.6 or 1.2 GHz). Here are my questions :
- does the frequency value seen in the table refer to the chip reference capabilities (e.g 1.6 GHz), or does it refer to actual frequency at which is running the chip (assuming that it is possible to change internal PLL parameters to lower frequency (e.g 1.2 GHz) ?
- Although the table 10 refers to 1.2GHz parts, the table 2 only references 1.6 Ghz parts. Can you explain ?
- I am wondering how to power a 1.6GHz part running at 1.2G (assuming frequency modification is possible) with the PCA9450A since this PMIC companion sets the VDD_ARM voltage at 0.85V by default. What would you suggest ?
With best regards,
Brunno
Hi Chavira
Thank you for your quick reply but it does not help that much
Let me as the question in a different way, based on a MIMX8MM3CVTKZAA chip.
- Assume we want to run at 1.2 Ghz. What should be the VDD_ARM voltage value in that case ?
- Assume we want to run at 1.00 Ghz. What should be the VDD_ARM voltage value in that case ?
- Assume we want to run at 1.6 Ghz. What should be the VDD_ARM voltage value in that case ?
- Should I understand that the PMIC, or any other power supply solution has to be reprogrammed depending on our frequency target ?
With best regards,
Brunno
Hi @Brunno!
For 1.2GHz or lower, you should use 0.85v.
For 1.6GHz you should use 0.95v
If you use our PMIC with our BSP, the processor configures the PMIC when you change the frequency.
Best Regards!
Chavira
Hi @Brunno!
Thank you for contacting NXP Support!
With our BSP the CPU frequency changes dynamically, depending on the system load either in response to ACPI events or manually by userspace programs.
By default on our BSP, the processor changes frequency from 1.2GHz to 1.8GHz on our iMX8MM-EVK.
Using our driver you can get lower frequencies by adding the frequencies on the devicetree.
• The kernel is pre-configured to support only certain frequencies. The list of frequencies currently supported can be obtained from:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
• To get the available scaling governors:
cat /sys/devices/system/cpu/*/cpufreq/scaling_available_governors
• To check the current CPU frequency:
cat /sys/devices/system/cpu/*/cpufreq/cpuinfo_cur_freq
The frequency is displayed depending on the governor set.
• To check the maximum frequency:
cat /sys/devices/system/cpu/*/cpufreq/cpuinfo_max_freq
• To check the minimum frequency:
cat /sys/devices/system/cpu/*/cpufreq/cpuinfo_min_freq
These commands set a constant CPU frequency:
• Use the maximum frequency:
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
• Use the current frequency to be the constant frequency:
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
• The following two commands set the scaling governor to a specified frequency, if that frequency is supported.
If the frequency is not supported, the closest supported frequency is used:
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo <frequency> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
Those functions are supported by our PMIC and you can test them on our iMX8MM-EVK
Best Regards!
Chavira