diff options
Diffstat (limited to 'example/ice4pi_prog')
-rwxr-xr-x | example/ice4pi_prog | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/example/ice4pi_prog b/example/ice4pi_prog index 81f4aaa..5e1f23c 100755 --- a/example/ice4pi_prog +++ b/example/ice4pi_prog @@ -1,14 +1,25 @@ #!/bin/bash -echo 24 > /sys/class/gpio/export || true -echo out > /sys/class/gpio/gpio24/direction -echo 1 >/sys/class/gpio/gpio24/value + + +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/gpio24/value +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/gpio24/value +echo 1 >/sys/class/gpio/gpio${sys_gpio_num}/value |