On Mon, Sep 21, 2026 at 10:54:37PM +0800, Junhui Liu wrote:
> The SpacemiT BootROM loads a first-stage bootloader from storage or over
> USB in MaskROM mode. Vendor firmware packages this bootloader as FSBL.bin.
> 
> This series documents the SpacemiT boot image format and adds the
> "smtimage" mkimage type for the CRC32-protected K3 variant used in
> non-secure boot mode. It provides the FSBL packaging needed for future
> K3 SPL support. Select K3 with "-n k3" when creating an image.
> 
> K1 and K3 secure boot use RSA authentication and are not supported yet.
> 
> How to test
> -----------
> 
> Rebuild mkimage, wrap a small UART test payload, and load it through K3
> MaskROM fastboot. The payload is linked at 0xc0801000 because the BootROM
> places the complete image at 0xc0800000 and enters the payload after the
> 4 KiB prefix. UART0 should print "Hello SpacemiT K3!" and then loop
> indefinitely.
> 
>   $ make tools-only_defconfig
>   $ make tools-only
> 
>   $ cat > k3-uart.S << 'EOF'
>       .equ    UART0_THR, 0xd4017000
>       .equ    UART0_LSR, 0xd4017014
> 
>       .section        .text
>       .global _start
> _start:
>       la      s0, str
> 1:
>       lbu     a0, (s0)
>       beqz    a0, exit
>       call    uart_send
>       addi    s0, s0, 1
>       j       1b
> 
> exit:
>       j       exit
> 
> uart_send:
>       li      t0, UART0_LSR
>       lw      t1, (t0)
>       andi    t1, t1, 0x20
>       beqz    t1, uart_send
>       li      t0, UART0_THR
>       sw      a0, (t0)
>       ret
> 
>       .section        .rodata
> str:
>       .asciz  "Hello SpacemiT K3!\n"
> EOF
> 
>   $ riscv64-linux-gnu-gcc -nostdlib -fno-builtin -fno-pie -no-pie -static \
>     -march=rv64gc -mabi=lp64 -g -Wall -Wl,--build-id=none \
>     -Ttext=0xc0801000 -o k3-uart.elf k3-uart.S
>   $ riscv64-linux-gnu-objcopy -O binary k3-uart.elf k3-uart.bin
>   $ ./tools/mkimage -T smtimage -n k3 -d k3-uart.bin k3-uart-smt.bin
> 
> Hold the FDL button, power on the board to enter MaskROM, then run
> fastboot on host:
> 
>   $ fastboot stage k3-uart-smt.bin
>   $ fastboot continue

For the series,

Reviewed-by: Yao Zi <[email protected]>

Thanks,
Yao Zi

Reply via email to