1234567891011121314151617181920212223242526272829303132 |
- #!/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
|