[RFC] clk: meson: t7: Intermittent boot instability and memory corruption on VIM4

Lucas Tanure tanure at linux.com
Wed Aug 26 02:55:32 PDT 2026


On 24/08/2026 16:29, Brian Masney wrote:
> Hi Lucas,
> 
> On Sun, Aug 23, 2026 at 04:40:42PM +0100, Lucas Tanure wrote:
>> 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
>> [    0.381377] clk: Unprepared unused clock: a73_div16
>> [    0.381972] clk: Unprepared unused clock: cpu_div16
>> [    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.
> 
> I have an outstanding series that disables unused clocks via the
> sync_state callback:
> 
> https://lore.kernel.org/linux-clk/20260626-clk-sync-state-v1-0-4156d8196dc8@redhat.com/
> 
> Be sure to not have clk_ignore_unused in your kernel command line.
> 
> I suggest comparing the list of which clocks are disabled with that
> series against your list of clocks above.
Thanks for the input, it did not solve the issue. I am going to produce 
the list with a diff in disabled clocks with and without our change, but
it did not solve the issue.
> 
> Brian
> 




More information about the linux-amlogic mailing list