#!/bin/sh

splash=/env/splash.png

if [ -f ${splash} -a -e /dev/fb0 ]; then
	splash -o ${splash}
	fb0.enable=1
fi

button_name="dfu_bp"
button_wait=5

product_id=0x1234
vendor_id=0x4321

dfu_config="/dev/nand0.barebox.bb(barebox)sr,/dev/nand0.kernel.bb(kernel)r,/dev/nand0.rootfs.bb(rootfs)r"

if [ $at91_udc0.vbus != 1 ]
then
	echo "No USB Device cable plugged, normal boot"
	exit
fi

gpio_get_value ${dfu_button}
if [ $? != 0 ]
then
	autoboot_timeout=16
	echo "enable tty over USB Device, increase the boot delay to ${autoboot_timeout}s"
	usbserial
	exit
fi

echo "${button_name} pressed detected wait ${button_wait}s"
timeout -s -a ${button_wait}

if [ $at91_udc0.vbus != 1 ]
then
	echo "No USB Device cable plugged, normal boot"
	exit
fi

gpio_get_value ${dfu_button}
if [ $? != 0 ]
then
	echo "${button_name} released, normal boot"
	autoboot_timeout=16
	echo "enable tty over USB Device, increase the boot delay to ${autoboot_timeout}s"
	usbserial
	exit
fi

echo ""
echo "Start DFU Mode"
echo ""

led ds5 1
dfu ${dfu_config} -P ${product_id} -V ${vendor_id}
