#!/bin/bash if [ $(grep -c "Raspberry Pi 5" /proc/device-tree/model) -eq 1 ] then echo "Programming from Raspberry Pi 5" sys_gpio_num=423 else echo "Programming NOT from Raspberry Pi 5 (assuming 2-4 + zero)" sys_gpio_num=23 fi echo ${sys_gpio_num} > /sys/class/gpio/export || true echo out > /sys/class/gpio/gpio${sys_gpio_num}/direction echo 1 >/sys/class/gpio/gpio${sys_gpio_num}/value sleep 1 echo 0 >/sys/class/gpio/gpio${sys_gpio_num}/value tr '\0' '\377' < /dev/zero | dd bs=1M count=4 of=image iflag=fullblock dd if=${1} conv=notrunc of=image flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=20000 -w image #workaround first time fails after initial programming flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=20000 -w image echo 1 >/sys/class/gpio/gpio${sys_gpio_num}/value