#
# Copyright (C) 2021 OpenWrt.org
#

[ -e /etc/config/ubootenv ] && exit 0

touch /etc/config/ubootenv

. /lib/uboot-envtools.sh
. /lib/functions.sh

board=$(board_name)

case "$board" in
bananapi,bpi-r3)
	rootdev="$(cmdline_get_var root)"
	rootdev="${rootdev##*/}"
	rootdev="${rootdev%%p[0-9]*}"
	case "$rootdev" in
	mmc*)
		local envdev=$(find_mmc_part "ubootenv" $rootdev)
		ubootenv_add_uci_config "$envdev" "0x0" "0x40000" "0x40000" "1"
		ubootenv_add_uci_config "$envdev" "0x40000" "0x40000" "0x40000" "1"
		;;
	mtd*)
		local envdev=/dev/mtd$(find_mtd_index "u-boot-env")
		ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1"
		ubootenv_add_uci_config "$envdev" "0x20000" "0x20000" "0x20000" "1"
		;;
	ubi*)
		. /lib/upgrade/nand.sh
		local envubi=$(nand_find_ubi ubi)
		local envdev=/dev/$(nand_find_volume $envubi ubootenv)
		local envdev2=/dev/$(nand_find_volume $envubi ubootenv2)
		ubootenv_add_uci_config "$envdev" "0x0" "0x1f000" "0x1f000" "1"
		ubootenv_add_uci_config "$envdev2" "0x0" "0x1f000" "0x1f000" "1"
		;;
	esac
	;;
xiaomi,redmi-router-ax6000-stock)
	ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x20000"
	ubootenv_add_uci_sys_config "/dev/mtd2" "0x0" "0x10000" "0x20000"
	;;
xiaomi,redmi-router-ax6000-ubootmod)
	. /lib/upgrade/nand.sh
	local envubi=$(nand_find_ubi ubi)
	local envdev=/dev/$(nand_find_volume $envubi ubootenv)
	local envdev2=/dev/$(nand_find_volume $envubi ubootenv2)
	ubootenv_add_uci_config "$envdev" "0x0" "0x1f000" "0x20000" "1"
	ubootenv_add_uci_config "$envdev2" "0x0" "0x1f000" "0x20000" "1"
	;;
esac

config_load ubootenv
config_foreach ubootenv_add_app_config

exit 0