Hello everyone, the development board I use is MCIMX7SABRE. The kernel version is Linux 4.9.88. The problem I am having now is: at boot time, uboot detects that the CPU frequency is 396MHZ. When the kernel starts, it indicates that this frequency is not in the list. Then the kernel is not running. I added some print information to the kernel code. Found in the imx7-cpufreq.c file, the function imx7d_set_target function will call the clk_set_rate function. But after calling this function, you can't go back to the imx7d_set_target function. I added print information before and after the imx7d_set_target function called the clk_set_rate function. The print information before the call is normal, and the print information after the call is not printed. As shown below:
The 75 lines of information can be printed. However, the information on line 79 was not printed.
But I will not have this problem on the Linux 4.1.15 version. On version 4.1.15, the kernel will change the frequency to 792 MHz.
This is the information when uboot starts.
This is the print information when the Linux 4.9.88 kernel is stopped.
This is the information that Linux 4.1.15 can start normally.
Uboot uses the same. The hardware environment is also tested on the same board.
Hi 其东 刘
cpu frequency 396MHZ is not in the list of operating points in dts file
imx7d.dtsi\dts\boot\arm\arch - linux-imx - i.MX Linux kernel
and Table 9. Operating ranges
i.MX 7Dual Family of Applications Processors Datasheet
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
hi,igorpadykov . I know that 396MHZ is not in the DTS operation list. But now uboot detects 396MHZ and passes it to the kernel. The kernel also knows that it does not support this frequency. The kernel automatically tries to change the frequency, but the kernel does not correct it. What should I do to allow the kernel to automatically change to a frequency that can be supported?
cpufreq driver supports only operating points given in
Table 9. Operating ranges
i.MX 7Dual Family of Applications Processors Datasheet
It does not matter at what frequency cpu operates in uboot.
Best regards
igor
We use the 4.1.15 kernel and the system can boot normally. With the 4.9.88 system, the kernel failed to boot. What is the difference between version 4.9.88 and 4.1.15? I want to know why the kernel of version 4.9.88 will fail to start.
suggest to create new thread for this new problem.
Best regards
igor