[RFC] clk: meson: t7: Intermittent boot instability and memory corruption on VIM4
Lucas Tanure
tanure at linux.com
Wed Aug 26 02:57:33 PDT 2026
On 26/08/2026 10:02, Neil Armstrong wrote:
> On 8/23/26 17:40, Lucas Tanure wrote:
>> 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.
Yes, Amlogic, please help.>
> 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
>
More information about the linux-amlogic
mailing list