Guess what, you can just fastboot FSBL.bin. The ROM has the logic to do some rudimentary fastboot protocol. From there, you can load the u-boot payload, handoff to u-boot, and u-boot can do a proper fastboot from there. The workflow looks like this:
Upon power-on, you’ll see ROM emits something like
ROM: usb download handler
rst
done H
setup= 0x1000680 0x400000,
rst
done H
setup= 0x60500 0x0,
setup= 0x1000680 0x120000,
setup= 0x2000680 0x90000,
setup= 0x2000680 0x200000,
setup= 0x3000680 0xff0000,
setup= 0x3020680 0xff0409,
setup= 0x3010680 0xff0409,
setup= 0x10900 0x0,
usb_rx_bytes : start len[4096]
setup= 0x3020680 0xff0409,
setup= 0x3040680 0xff0409,
and the host side finds a fastboot device:
kernel: usb 3-1.4: new high-speed USB device number 69 using xhci_hcd
kernel: usb 3-1.4: New USB device found, idVendor=361c, idProduct=1001, bcdDevice= 0.01
kernel: usb 3-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
kernel: usb 3-1.4: Product: USB download gadget
kernel: usb 3-1.4: Manufacturer: DFU
At this point, we can load the FSBL (u-boot SPL) payload via:
$ fastboot stage FSBL.bin
$ fastboot continue
The ROM code processes the payload and start running u-boot SPL:
setup= 0x80 0x20000,
fastboot_handle_command: max-download-size
usb_tx_bytes : start len[14]
usb_rx_bytes : start len[4096]
fastboot_handle_command: 00074000
Starting download of 475136 bytes
usb_tx_bytes : start len[12]
usb_rx_bytes : start len[475136]
usb_tx_bytes : start len[4]
usb_rx_bytes : start len[4096]
fastboot_handle_command: continue
usb_tx_bytes : start len[4]
j...
U-Boot SPL 2022.10 (Jul 24 2026 - 07:12:47 +0000)
DDR Part Number: MT62F1G32D2DS, Size: 4096MB, Data Rate: 6400MT/s
DDR training consume 2992ms
And the u-boot fastboot logic takes over:
kernel: usb 3-1.4: USB disconnect, device number 69
kernel: usb 3-1.4: new high-speed USB device number 70 using xhci_hcd
kernel: usb 3-1.4: New USB device found, idVendor=361c, idProduct=1001, bcdDevice= 2.23
kernel: usb 3-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: usb 3-1.4: Product: USB download gadget
kernel: usb 3-1.4: Manufacturer: U-Boot
kernel: usb 3-1.4: SerialNumber: COM3K3081280372
Now u-boot proper can be loaded:
$ fastboot stage u-boot.itb
$ fastboot continue
Device response:
.....[ 15.327]
U-Boot 2022.10 (Jul 24 2026 - 07:12:47 +0000)
[ 15.330] CPU: rv64imafdcvh
[ 15.332] Model: spacemit k3 com260 ifx board
[ 15.337] DRAM: 8 GiB
[ 15.348] reset driver probe finish
[ 15.436] eSPI not ready, skipping EC probe
[ 15.440] Core: 631 devices, 35 uclasses, devicetree: board
[ 15.444] WDT: Started watchdog@d4014000 with servicing (60s timeout)
[ 15.449] MMC: spacemit_sdhci sdh@d4280000: probe done.
[ 15.455] sdh@d4280000: 0
[ 15.457] Loading Environment from mtdENV... k1x_qspi spi@d420c000: qspi iobase:0x0x00000000d420c000, ahb_addr:0x0x00000000b8000000, max_hz:26000000Hz
...