summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/haba-knx/defaultenv-haba-knx/bin/init_board
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boards/haba-knx/defaultenv-haba-knx/bin/init_board')
-rw-r--r--arch/arm/boards/haba-knx/defaultenv-haba-knx/bin/init_board49
1 files changed, 49 insertions, 0 deletions
diff --git a/arch/arm/boards/haba-knx/defaultenv-haba-knx/bin/init_board b/arch/arm/boards/haba-knx/defaultenv-haba-knx/bin/init_board
new file mode 100644
index 0000000000..0a6baf722b
--- /dev/null
+++ b/arch/arm/boards/haba-knx/defaultenv-haba-knx/bin/init_board
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+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 ""
+
+dfu ${dfu_config} -P ${product_id} -V ${vendor_id}