Hello,

On Sun, Aug 9, 2026 at 7:47 PM Simon Law <[email protected]> wrote:
>
> The Kendryte K230 machine currently lacks the Clock Management Unit (CMU)
>   register interface required by the K230 SDK U-Boot and the Linux K230 clock
>   driver. As a result, software probing the PLL and sysclk providers cannot
>   observe the expected reset values or register update semantics.
>
>   This series adds a minimal, deterministic K230 CMU model.
>
>   The model covers:
>
>   - four PLL register blocks at 0x91102000..0x9110203f;
>   - the defined sysclk registers in the 0x91100000 window;
>   - the software-visible SPI2AXI_CLK_DIV register at sysclk offset 0x108;
>   - reset values and writable/reserved/read-only masks;
>   - PLL control write-enable semantics;
>   - write-one-to-trigger update behavior;
>   - deterministic PLL lock and initialization status;
>   - VMState for stable PLL and sysclk register state;
>   - qtest coverage for reset, masks, write-enable, W1T, status, sysclk
>     updates, unknown offsets, and system reset;
>   - K230 machine wiring and user-facing documentation.
>
>   The model intentionally does not propagate clock frequencies to QEMU 
> devices or
>   change CPU execution speed. Peripheral reset, power control, and the
>   guest-initiated K230 reboot backend remain outside the scope of this series.
>   Those functions require separate reset/power models and a matching OpenSBI
>   backend.
>
>   The implementation is based only on the existing K230 machine and does not
>   depend on unmerged RMU, Timer, SPI, or SDHCI device series.
>
>   Testing:
>   - QTEST_QEMU_BINARY=/workspace/qemu/build/qemu-system-riscv64
>     /workspace/qemu/build/tests/qtest/k230-cmu-test
>     (10/10 subtests passed)
>   - QTEST_QEMU_BINARY=/workspace/qemu/build/qemu-system-riscv64
>     /workspace/qemu/build/tests/qtest/k230-wdt-test
>     (7/7 subtests passed)
>   - K230 direct Linux boot and K230 U-Boot boot
>   - Linux K230 clock probe and clk_summary validation
>   - CMU source/destination migration smoke
>
> Signed-off-by: Simon Law <[email protected]>

Is this clock modeling a must-have to make U-Boot or Linux boot on the
QEMU k230 machine?

Is an unimplemented region enough to make the software happy?

Regards,
Bin

Reply via email to