Re: [RFC] clk: meson: t7: Intermittent boot instability and memory corruption on VIM4
From: Lucas Tanure
Date: Wed Aug 26 2026 - 06:08:35 EST
On 26/08/2026 10:02, Neil Armstrong wrote:
On 8/23/26 17:40, Lucas Tanure wrote:Yes, Amlogic, please help.>
Hi,
While testing mainline Linux on the Khadas VIM4 (Amlogic A311D2 / T7), I am hitting intermittent system instability, storage loss, and memory corruption during boot, unless I append clk_ignore_unused to the kernel command line.
Because the failure is intermittent, I am running 100-reboot test campaigns to bisect the remaining clocks and isolate which clocks are critical and cannot be safely disabled.
As testing takes significant time over serial console, I wanted to check if Amlogic or the maintainers could shed light on this:
Are there specific T7 clocks or hardware domains that must remain critical/protected even without an explicit in-kernel consumer?
Current clocks being disabled that don't kill the board on a test run:
[ 0.380313] clk: Disabling unused clocks
[ 0.380413] clk: Disabled unused clock: rtc_dualdiv
[ 0.380718] clk: Disabled unused clock: rtc_duandiv_in
Those could be used by low power stuff aswell, not only RTC
[ 0.381377] clk: Unprepared unused clock: a73_div16
[ 0.381972] clk: Unprepared unused clock: cpu_div16
Those should probably be left enabled if they're used by the DVFS code
[ 0.382605] clk: Unprepared unused clock: f50m
[ 0.383174] clk: Unprepared unused clock: fixed_pll_dco
[ 0.383786] clk: Unprepared unused clock: hdmi_pll_osc
[ 0.384416] clk: Unprepared unused clock: sys1_pll_osc
[ 0.385056] clk: Unprepared unused clock: earc_osc
[ 0.385652] clk: Unprepared unused clock: pcie_refclk_osc
[ 0.386323] clk: Unprepared unused clock: eth_pll_osc
[ 0.386961] clk: Unprepared unused clock: pcie_osc
[ 0.387548] clk: Unprepared unused clock: mclk_pll_osc
[ 0.388187] clk: Unprepared unused clock: usb_pll1_osc
[ 0.388826] clk: Unprepared unused clock: usb_pll0_osc
[ 0.389465] clk: Unprepared unused clock: tcon_pll_osc
[ 0.390105] clk: Unprepared unused clock: top_pll_osc
[ 0.390738] clk: Unprepared unused clock: aud_pll_osc
[ 0.391361] clk: Unprepared unused clock: ddr_pll_osc
I am not forcing any clock to be disabled; I am forcing all clocks to stay on and letting them be disabled if unused one by one.
Any guidance or hints on required platform clocks would be greatly appreciated.
It's hard to say, this is dependent on each family, Amlogic should be able to help here.
You list some clocks, but I don't understand you say that it's stable only if you have clk_ignore_unused, so how did you get this clock list ?I got this list when I add logs to the clock framework and run without clk_ignore_unused.
Neil
Thanks,
Lucas Tanure