#!/bin/bash

set -e

ROOTDIR=$(dirname $0)/..
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

# If there's a boot.img in the same folder as flash.sh,
# find artifacts in the directory containing the script.
if [ -e ${SCRIPT_DIR}/boot.img ]; then
    PRODUCT_OUT=${SCRIPT_DIR}
else
    PRODUCT_OUT=${PRODUCT_OUT:=${ROOTDIR}/out/target/product/imx8m_phanbell}
fi

function partition_table_image {
    case $1 in
    7818182656)
        echo "partition-table-8gb.img" ;;
    15634268160)
        echo "partition-table-16gb.img" ;;
    62537072640)
        echo "partition-table-64gb.img" ;;
    esac
}

# Flash bootloader
fastboot flash bootloader0 ${PRODUCT_OUT}/u-boot.imx
fastboot reboot-bootloader

# Figure out which partition map we need based upon fastboot vars
MMC_SIZE=$(fastboot getvar mmc_size 2>&1 | awk '/mmc_size:/ { print $2 }')
PART_IMAGE=$(partition_table_image ${MMC_SIZE})

if [[ -z ${PART_IMAGE} ]]; then
    echo "No partition map available for an emmc of size ${MMC_SIZE}" >/dev/stderr
    exit 1
fi

# Flash partition table
fastboot flash gpt ${PRODUCT_OUT}/${PART_IMAGE}
fastboot reboot-bootloader

# Flash filesystems
fastboot erase misc
fastboot flash boot ${PRODUCT_OUT}/boot.img
fastboot flash rootfs ${PRODUCT_OUT}/rootfs.img
fastboot reboot
