How to change i.mx6ull CPU clock frequency

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

How to change i.mx6ull CPU clock frequency

跳至解决方案
5,108 次查看
shaot
Contributor II

Hi, I would like to make my CPU(i.mx6ull) clock frequency up.

At first I used a CPU at 528MHz(MCIMX6Y2DVM05AA), but I got a new CPU at 900MHz(MCIMX6Y2DVM09AA).

Although the CPU's clock frequency is 900MHz, following command gave me 528MHz.

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

What file should I modify? 

What I did

I checked my device tree (imx6ull.dtsi), and it said as follows.

cpus {
#address-cells = <1>;
#size-cells = <0>;

cpu0: cpu@0 { /* COMMENT: there are no cpu@ more than 1. It means this is single core.*/
compatible = "arm,cortex-a7";
device_type = "cpu";
reg = <0>;
clock-latency = <61036>; /* two CLK32 periods */
operating-points = <
/* kHz uV */
528000 1175000
396000 1025000
198000 950000
>;
fsl,soc-operating-points = <
/* KHz uV */
528000 1175000
396000 1175000
198000 1175000
>;

fsl,low-power-run;
clocks = <&clks IMX6UL_CLK_ARM>,
<&clks IMX6UL_CLK_PLL2_BUS>,
<&clks IMX6UL_CLK_PLL2_PFD2>,
<&clks IMX6UL_CA7_SECONDARY_SEL>,
<&clks IMX6UL_CLK_STEP>,
<&clks IMX6UL_CLK_PLL1_SW>,
<&clks IMX6UL_CLK_PLL1_SYS>,
<&clks IMX6UL_PLL1_BYPASS>,
<&clks IMX6UL_CLK_PLL1>,
<&clks IMX6UL_PLL1_BYPASS_SRC>,
<&clks IMX6UL_CLK_OSC>;
clock-names = "arm", "pll2_bus", "pll2_pfd2_396m", "secondary_sel", "step",
"pll1_sw", "pll1_sys", "pll1_bypass", "pll1", "pll1_bypass_src", "osc";
};
};

I found operating-points and fsl,soc-operating-points represent the CPU clock frequency.

After changing as follows, I got 900MHz by cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq.

operating-points = <
/* kHz uV */
900000 1275000
792000 1225000
528000 1175000
396000 1025000
198000 950000
>;
fsl,soc-operating-points = <
/* KHz uV */
900000 1175000
792000 1175000
528000 1175000
396000 1175000
198000 1175000
>;

I could not understand the difference between operating-points and fsl,soc-operating-points, but I found new dtsi file which describes above in BSP repository.

I think only device file describes CPU frequency. Is it correct?

Do I have to change the other files (like uboot)?

标签 (3)
0 项奖励
回复
1 解答
3,685 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Hirotoshi

please look at "Linux 4.1.15_2.0.3 Patch" :

    Source Code
    i.MX 6ULL@900M Linux Binary Demo Files

on below link (expand "+ i.MX BSP Updates and Releases")

i.MX Software|NXP 

or

MLK-14409-02 ARM: dts: imx: Add 900MHz setpoint on i.mx6ull · varigit/linux-imx@c27010d · GitHub 

MLK-14409-01 ARM: imx: Add speed grading fuse check for 900MHz on i.m… · varigit/linux-imx@c0821bb ·... 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

在原帖中查看解决方案

2 回复数
3,686 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Hirotoshi

please look at "Linux 4.1.15_2.0.3 Patch" :

    Source Code
    i.MX 6ULL@900M Linux Binary Demo Files

on below link (expand "+ i.MX BSP Updates and Releases")

i.MX Software|NXP 

or

MLK-14409-02 ARM: dts: imx: Add 900MHz setpoint on i.mx6ull · varigit/linux-imx@c27010d · GitHub 

MLK-14409-01 ARM: imx: Add speed grading fuse check for 900MHz on i.m… · varigit/linux-imx@c0821bb ·... 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

3,685 次查看
shaot
Contributor II

Thank you, igor ! I updated my kernel to support i.mx6ull clock at 900MHz, and then my CPU may work fine (top command says that the CPU ratio is lower at 900MHz than 528MHz).

0 项奖励
回复