Hello,
I am using the latest release 4.9.98_2.0.0 on iMX 8M Quad EVK.
I want to set the CPU frequency lower than 1.0GHz.
I tried to change the dts file with i.MX_Linux Reference_Manual.pdf, but there are 4 operational points already.
~/imx-yocto-bsp/build-xwayland/tmp/work-shared/imx8mqevk/kernel-source/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk.dts
&A53_0 {
operating-points = <
/* kHz uV */
1500000 1000000
1300000 1000000
1000000 900000
800000 900000
>;
dc-supply = <®_gpio_dvfs>;
};
I confirmed that the EVK board is using this dts.
root@imx8mqevk:/proc/device-tree# strings compatible
fsl,imx8mq-evk
fsl,imx8mq
The operating point is displayed as follows.
root@imx8mqevk:/proc/device-tree/cpus/cpu@0# hexdump -C operating-points
00000000 00 16 e3 60 00 0f 42 40 00 13 d6 20 00 0f 42 40 |...`..B@... ..B@|
00000010 00 0f 42 40 00 0d bb a0 00 0c 35 00 00 0d bb a0 |..B@......5.....|
0x16e360 -> 1500000(1.5GHz)
0x13d620 -> 1300000(1.3GHz)
0xf4240 -> 1000000(1.0GHz)
0xdbba0 -> 900000(900MHz)
0xc3500 -> 800000(800MHz)
However, only two operating points in the governor are displayed.
root@imx8mqevk:/sys/devices/system/cpu/cpu0/cpufreq# cat scaling_available_frequencies
1000000 1500000
Also, the minimum clock cannot be set lower than 1.0GHz.
Where should I change to add an operating point?
Best regards,
Yoshinari.
Solved! Go to Solution.
Hi Yoshinari
these operating points are for both industrial and consumer gardes, while
consumer grade supports only 1.GHz, 1.5GHz according to Table 7. Operating ranges
i.MX 8M Dual / 8M QuadLite / 8M Quad Applications Processors Data Sheet for Consumer Products
industrial grade supports only 800MHz, 1.3GHz according to Table 7. Operating ranges
i.MX 8M Dual / 8M QuadLite / 8M Quad Applications Processors Data Sheet for Industrial Products
>Where should I change to add an operating point?
for other frequencies one will have to modify cpufreq driver described in sect.2.3.3.2.1 Source Code Structure
attached Linux Manual.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Yoshinari
these operating points are for both industrial and consumer gardes, while
consumer grade supports only 1.GHz, 1.5GHz according to Table 7. Operating ranges
i.MX 8M Dual / 8M QuadLite / 8M Quad Applications Processors Data Sheet for Consumer Products
industrial grade supports only 800MHz, 1.3GHz according to Table 7. Operating ranges
i.MX 8M Dual / 8M QuadLite / 8M Quad Applications Processors Data Sheet for Industrial Products
>Where should I change to add an operating point?
for other frequencies one will have to modify cpufreq driver described in sect.2.3.3.2.1 Source Code Structure
attached Linux Manual.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi @igorpadykov,
Are you saying that it is possible to create our own operating points which can be of a frequency below the frequencies mentioned in the data sheet by adding to the OPP tables in the correct dtsi file in arch/arm/boot/dts? Or do we modify the actual NXP cpufreq driver in the correct imx*-cpufreq.c file to create some custom frequency? Is that even possible? For example, if on my i.MX8DXP the only available frequencies in cpufreq are 900000 kHZ and 1200000 kHz, how can I create a setting to go even lower?
Thank you for quick reply.
The operating point was disabled by grade.
/imx8mqevk/kernel-source/drivers/soc/imx/soc-imx8.c
After changing, it became 800MHz.
Best regards,
Daisuke Yoshinari