blob: f455037b6053a6fceff9a358211bd83ddaa80171 [file] [log] [blame]
#!/bin/sh
if [ ! -e "$1"/mpfs_bitstream.spi ]; then
echo "No gateware file found."
exit 1
fi
if [ ! -d /lib/firmware ]
then
mkdir /lib/firmware
fi
cp "$1"/mpfs_dtbo.spi /lib/firmware/mpfs_dtbo.spi
cp "$1"/mpfs_bitstream.spi /lib/firmware/mpfs_bitstream.spi
mount -t debugfs none /sys/kernel/debug
# Trash existing device tree overlay in case the rest of the process fails:
flash_erase /dev/mtd0 0 1024
# # Write device tree overlay
dd if=/lib/firmware/mpfs_dtbo.spi of=/dev/mtd0 seek=1024
# Fake the presence of a golden image for now.
dd if=/dev/zero of=/dev/mtd0 count=4 bs=1
# Initiate FPGA update.
echo 1 > /sys/kernel/debug/fpga/microchip_exec_update
# Reboot Linux for the gateware update to take effect.
# FPGA reprogramming takes places between Linux shut-down and HSS restarting the board.
reboot