[PATCH v4 7/8] clk: sunxi-ng: a733: Add bus clock gates
Junhui Liu
junhui.liu at pigmoral.tech
Tue Sep 22 08:56:20 PDT 2026
Hi Enzo,
Thanks for testing and for the feedback.
On Tue Sep 22, 2026 at 4:05 AM CST, Enzo Adriano wrote:
> Hi Junhui,
>
> I tested the exact v4 series on a Radxa Cubie A7S. I used v7.3-rc1,
> applied the four-patch A523 single-divider prerequisite, this eight-patch
> series, and Andre's current seven-patch A733 pinctrl series. The test DT is
> a minimal Cubie A7S harness with the main and R CCUs, RTC, pinctrl, UART0,
> and MMC0. The Image, DTB, and initramfs were loaded into RAM from U-Boot.
>
> The exact posted stack starts all eight CPUs, probes the RTC and the A733
> pinctrl driver, and binds UART0. Serial output then stops immediately after
> the 8250 driver replaces the boot console:
>
> sun60i-a733-pinctrl 2000000.pinctrl: initialized sunXi PIO driver
> printk: console [ttyS0] disabled
> 2500000.serial: ttyS0 MMIO32:0x0000000002500000 ... is a 16550A
> printk: console [ttyS0] enabled
> printk: legacy bootconsole [uart8250] disabled
>
> It never reaches the initramfs `/bin/sh` readiness line. There is no panic or
> oops in the captured output.
>
> As a private comparator, I changed only `ahb_cpus_clk` at 0x5c0 bit 28 to
> `CLK_IS_CRITICAL`. That advances the same build to:
>
> clk: Disabling unused clocks
I reproduced the ahb-cpus issue on a Cubie A7A. After disabling
ahb-cpus, accessing registers in the CPUS domain causes the system to
hang. Marking it critical allows the A7A to pass clk_disable_unused()
and reach PID 1.
I will mark ahb_cpus_clk as CLK_IS_CRITICAL in the next version.
>
> but serial output stops there and PID 1 is still not reached. I also added
> private begin/done tracing around each individual enabled clock in
> `clk_disable_unused_subtree()`. Neither trace marker appears, so the second
> loss occurs before the first individual unused-clock disable is attempted.
However, I could not reproduce this second failure on the Cubie A7A,
even after disabling all peripherals except UART0, including MMC0. The
board passes clk_disable_unused() and reaches PID 1, so I am not sure
whether the second failure is related to the clock driver.
Could you also try adding `clk_ignore_unused` to the kernel command
line? This would help confirm whether the second failure is caused by
disabling an unused clock.
>
> Each run used the same RAM-only payload and was followed by an
> identity-checked 120-second power recovery. The board returned to its exact
> vendor kernel and eMMC root after all three runs.
>
> So I cannot add a Tested-by for v4 as posted. The `ahb-cpus` gate appears to
> be one issue, but marking it critical is not sufficient on this board. Could
> you please check the CPUS/AHB dependency and the path entered immediately
> after `clk: Disabling unused clocks`? I can retest a focused change or v5 on
> the Cubie A7S.
>
> Assisted-by: Codex:gpt-5
> I reviewed this report and take responsibility for its contents.
>
> Regards,
> Enzo
--
Best regards,
Junhui Liu
More information about the linux-arm-kernel
mailing list