# !/bin/sh

UPGRADE_PATH=/media/mmcblk0p1/upgrade
REBOOT_FLAG=0
UPGRADE_SOURCE="SD"


# dtb
#
PACK_NAME=$UPGRADE_PATH/dh180_a6g2c-wifi-bt-128m.dtb
if [ -f $PACK_NAME ]; then
	echo "#####################  Upgrade dtb from $UPGRADE_SOURCE card ######################"
	flash_erase /dev/mtd1 0 0
	nandwrite /dev/mtd1 -p  $PACK_NAME
	rm $PACK_NAME
	REBOOT_FLAG=1
fi


# uboot
#
PACK_NAME=$UPGRADE_PATH/u-boot.imx
if [ -f $PACK_NAME ]; then
	cd $UPGRADE_PATH
	echo "#####################  Upgrade u-boot from $UPGRADE_SOURCE card ######################"
	mount -t debugfs debug /sys/kernel/debug
	flash_erase /dev/mtd0 0 0
	kobs-ng init -x -v --chip_0_device_path=/dev/mtd0 $PACK_NAME
	rm $PACK_NAME
	REBOOT_FLAG=1
fi


# zimage
#
PACK_NAME=$UPGRADE_PATH/zImage
if [ -f $PACK_NAME ]; then
	echo "#####################  Upgrade kernel from $UPGRADE_SOURCE card ######################"
	flash_erase /dev/mtd2 0 0
	nandwrite -p /dev/mtd2 -p $PACK_NAME
	rm $PACK_NAME
	REBOOT_FLAG=1
fi

# logo
#
PACK_NAME=$UPGRADE_PATH/logo.bmp
if [ -f $PACK_NAME ]; then
	echo "#####################  Upgrade logo from $UPGRADE_SOURCE card ######################"
	flash_erase /dev/mtd3 0 0
	nandwrite -p /dev/mtd3 -p $PACK_NAME
	rm $PACK_NAME
	REBOOT_FLAG=1
fi

# squashFS
#
PACK_NAME=$UPGRADE_PATH/rootfs.sqfs
if [ -f $PACK_NAME ]; then
	echo "#####################  Upgrade squashFS from $UPGRADE_SOURCE card ######################"
	flash_erase /dev/mtd4 0 0
	nandwrite  /dev/mtd4 -p $PACK_NAME
	rm $PACK_NAME
	REBOOT_FLAG=1
fi

# ubi
#
PACK_NAME=$UPGRADE_PATH/ubi.tar.gz
if [ -f $PACK_NAME ]; then
	echo "#####################  Upgrade ubi from $UPGRADE_SOURCE card ######################"
	gzip -d $PACK_NAME -c | tar -x -C /ubi/
	rm $PACK_NAME
	touch /ubi/conf/update_success
	REBOOT_FLAG=1
fi

# ubi dir
#
PACK_NAME=$UPGRADE_PATH/ubi_root
if [ -d $PACK_NAME ] && [ ! -f /ubi/COPY_SUCCESS ]; then
	echo "#####################  Upgrade ubi from $UPGRADE_SOURCE card ######################"
	cp -pdr $PACK_NAME/* /ubi/
	touch /ubi/COPY_SUCCESS
#	rm -rf $PACK_NAME
	REBOOT_FLAG=1
fi

UPGRADE_PATH=/ubi/upgrade
UPGRADE_SOURCE="ubi"


# dtb
#
PACK_NAME=$UPGRADE_PATH/dh180_a6g2c-wifi-bt-128m.dtb
if [ -f $PACK_NAME ]; then
	echo "#####################  Upgrade dtb from $UPGRADE_SOURCE card ######################"
	flash_erase /dev/mtd1 0 0
	nandwrite /dev/mtd1 -p  $PACK_NAME
	rm $PACK_NAME
	REBOOT_FLAG=1
fi

# zimage
#
PACK_NAME=$UPGRADE_PATH/zImage
if [ -f $PACK_NAME ]; then
	echo "#####################  Upgrade kernel from $UPGRADE_SOURCE card ######################"
	flash_erase /dev/mtd2 0 0
	nandwrite -p /dev/mtd2 -p $PACK_NAME
	rm $PACK_NAME
	REBOOT_FLAG=1
fi

# logo
#
PACK_NAME=$UPGRADE_PATH/logo.bmp
if [ -f $PACK_NAME ]; then
	echo "#####################  Upgrade logo from $UPGRADE_SOURCE card ######################"
	flash_erase /dev/mtd3 0 0
	nandwrite -p /dev/mtd3 -p $PACK_NAME
	rm $PACK_NAME
	REBOOT_FLAG=1
fi

# squashFS
#
PACK_NAME=$UPGRADE_PATH/rootfs.sqfs
if [ -f $PACK_NAME ]; then
	echo "#####################  Upgrade squashFS from $UPGRADE_SOURCE card ######################"
	flash_erase /dev/mtd4 0 0
	nandwrite  /dev/mtd4 -p $PACK_NAME
	rm $PACK_NAME
	REBOOT_FLAG=1
fi

# ubi
#
PACK_NAME=$UPGRADE_PATH/ubi.tar.gz
if [ -f $PACK_NAME ]; then
	echo "#####################  Upgrade ubi from $UPGRADE_SOURCE card ######################"
	gzip -d $PACK_NAME -c | tar -x -C /ubi/
	rm $PACK_NAME
	touch /ubi/conf/update_success
	REBOOT_FLAG=1
fi



if [ $REBOOT_FLAG == 1 ]; then
	sync
	echo "########################## burning finished #################################"
	echo 50 > /sys/class/leds/beeper-pwm/brightness
	sleep 1
	echo 0 > /sys/class/leds/beeper-pwm/brightness	
	sleep 1
	echo 50 > /sys/class/leds/beeper-pwm/brightness
	sleep 1
	echo 0 > /sys/class/leds/beeper-pwm/brightness	
	reboot
fi

