Newer
Older
barebox / arch / arm / boards / mioa701 / env / bin / init
@Robert Jarzmik Robert Jarzmik on 20 Jan 2014 1 KB ARM: mioa701 change MTD layout
#!/bin/sh

PATH=/env/bin
export PATH

. /env/config
addpart /dev/mtd0 $mtdparts

usbserial -s "Mio A701 usb gadget"

gpio_get_value 22
is_usb_connected=$?

gpio_get_value 93
is_vol_up=$?

fb0.enable=1
# Phase1: Handle Vol-Up key case : drop immediately to console
if [ $is_vol_up != 0 ]; then
	console_mode
	exit
fi

# Phase2: Handle Power-On case : debounce PowerUp key or Halt
if [ $global.system.reset = "POR" -o $global.system.reset = "WKE" ]; then
	powerup_released=0

	gpio_get_value 0
	is_power_up=$?
	if [ $is_power_up = 0 ]; then
		powerup_released=1
	fi
	msleep 500

	gpio_get_value 0
	is_power_up=$?
	if [ $is_power_up = 0 ]; then
		powerup_released=1
	fi

	if [ $powerup_released = 1 ]; then
		echo "Power button not held, halting"
		poweroff
	fi
fi

# Phase3: display logo
led keyboard 0
splash /dev/mtd0.barebox-logo

# Phase4: check for SD Card override
sdcard_override
if [ $? = 0 ]; then
    console_mode
    exit
fi

# Phase5: check for MTD override
mtd_env_override
if [ $? = 0 ]; then
    echo "Switching to custom environment"
    /env/init
    exit
fi

# Phase6: check for user interrupting auto-boot
echo "No custom environment found"
if [ $is_usb_connected != 0 ]; then
	echo -n "Hit any key to stop autoboot: "
	timeout -a $autoboot_timeout
	if [ $? != 0 ]; then
		console_mode
		exit
	fi
fi

# Phase7: auto-boot linux kernel
echo "Booting linux kernel on docg3 chip ..."
bootm /dev/mtd0.kernel