Flashing QSPI boot firmware
Get the binaries
QSPI boot images can be found here: https://gitlab.conclusive.pl/devices/whle-ls1/firmware/-/releases. Make sure to pick the right file:
qspi-whle-ls1046a.bin
for WHLE-LS1026A and WHLE-LS1046Aqspi-whle-ls1088a.bin
for WHLE-LS1048A and WHLE-LS1088A
Flashing from the U-Boot
In order to flash QSPI boot image from the U-Boot, we will need a TFTP server to transfer the image from. In this guide we’ll use the tftpd64 server for Windows, but any other TFTP server software will work as well.
Configure the TFTP server
Get to the U-Boot prompt and configure network
In order to enter U-Boot prompt, press any key on the serial terminal shortly after powering the board or shortly after resetting it using the reset button. Then connect Ethernet cable to the first RJ45 port labelled ETH1 and then either run dhcp
command to acquire the IP address from the local network as shown below.
=> dhcp
fm1-mac3 Waiting for PHY auto negotiation to complete........ done
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
DHCP client bound to address 10.0.3.200 (4765 ms)
*** ERROR: `serverip' not set
Cannot autoload with TFTPGET
=>
Download and flash the image
Use the tftpboot
and sf
commands to download the image to the RAM and then flash it to the QSPI flash as shown below. Replace 10.0.3.26
with the IP address of the computer running TFTP server.
=> setenv serverip 10.0.3.26
=> sf probe
SF: Detected gd25lq128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
=> tftpboot $loadaddr qspi-whle-ls1046a.bin
Using fm1-mac3 device
TFTP from server 10.0.3.26; our IP address is 10.0.3.200
Filename 'qspi-whle-ls1046a.bin'.
Load address: 0x90000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
######################################
6.8 MiB/s
done
Bytes transferred = 16777216 (1000000 hex)
=> sf update $loadaddr 0 0x1000000
device 0 whole chip
0 bytes written, 16777216 bytes skipped in 2.151s, speed 8388608 B/s
=>
Â