Re: [RFC] clk: meson: t7: Intermittent boot instability and memory corruption on VIM4
Brian Masney <[email protected]>
| Newsgroups | org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-amlogic,org.kernel.vger.linux-clk,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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/[email protected]/ 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. Brian