Hi Junhui,

On 8/22/26 01:56, 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.
> Its headers use the magic "AIHD".
> 
> This series documents the AIHD image format and adds the "aihdimage"
> 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 aihdimage -n k3 -d k3-uart.bin k3-uart-aihd.bin
> 
> Hold the FDL button, power on the board to enter MaskROM, then run
> fastboot on host:
> 
>   $ fastboot stage k3-uart-aihd.bin
>   $ fastboot continue
> 
> ---
> Junhui Liu (2):
>       tools: mkimage: add SpacemiT K3 AIHD image support
>       doc: board: spacemit: document the AIHD image format
> 
>  boot/image.c                 |   1 +
>  doc/board/spacemit/aihd.rst  | 145 +++++++++++++++++++++++++++++++
>  doc/board/spacemit/index.rst |   2 +-
>  include/image.h              |   1 +
>  tools/Makefile               |   3 +-
>  tools/aihdimage.c            | 202 
> +++++++++++++++++++++++++++++++++++++++++++
>  6 files changed, 352 insertions(+), 2 deletions(-)
> ---
> base-commit: 6073c36b2c8d39afe3ecc789b281667a3ddebc70
> change-id: 20260820-spacemit-aihd-05c46aae886e
> 
> Best regards,
> --  
> Junhui Liu <[email protected]>
> 

I confirm this output as described with Sipeed K3 Pico-ITX and Debian 13
Trixie host build OS

For the series,

Tested-by: E Shattow <[email protected]>

Reply via email to