#!/bin/sh
#
# Copyright (C) 2010-2013 OpenWrt.org
#

IMX6_BOARD_NAME=
IMX6_MODEL=

imx6_board_detect() {
	local machine
	local name

	machine=$(cat /proc/device-tree/model)

	case "$machine" in
	"Gateworks Ventana i.MX6 DualLite/Solo GW51XX" |\
	"Gateworks Ventana i.MX6 Dual/Quad GW51XX")
		name="gw51xx"
		;;

	"Gateworks Ventana i.MX6 DualLite/Solo GW52XX" |\
	"Gateworks Ventana i.MX6 Dual/Quad GW52XX")
		name="gw52xx"
		;;

	"Gateworks Ventana i.MX6 DualLite/Solo GW53XX" |\
	"Gateworks Ventana i.MX6 Dual/Quad GW53XX")
		name="gw53xx"
		;;

	"Gateworks Ventana i.MX6 DualLite/Solo GW54XX" |\
	"Gateworks Ventana i.MX6 Dual/Quad GW54XX" |\
	"Gateworks Ventana GW5400-A")
		name="gw54xx"
		;;

	"Gateworks Ventana i.MX6 Dual/Quad GW551X" |\
	"Gateworks Ventana i.MX6 DualLite/Solo GW551X")
		name="gw551x"
		;;

	"Gateworks Ventana i.MX6 DualLite/Solo GW552X" |\
	"Gateworks Ventana i.MX6 Dual/Quad GW552X")
		name="gw552x"
		;;

	"Wandboard i.MX6 Dual Lite Board")
		name="wandboard"
		;;

    "huiwei i.MX6 UltraLite LITE Board")
        name="HuiWei"
        ;;
    
    "huiwei i.MX6 UltraLite LITE Board NAND")
        name="HuiWei-NAND"
        ;;

    "QIYANG i.MX6 UltraLite 14x14 EVK Board")
        name="QIYANG"
        ;;
    "QIYANG-imx6ul CAR Ver2.0")
        name="CarV2"
        ;;
	"QIYANG i.MX6 Board Ver 2.0")
		name="QIYANG_2"
		;;
	"QIYANG i.MX6 ULL 14x14 EVK Board")
		name="QIYANG_IMX6ULL"
		;;
	"QIYANG i.MX6ULL Board Ver 2.0")
		name="QIYANG_IMX6ULL_2"
		;;
	"QIYANG i.MX6 ULL BAU 3.0")
		name="QIYANG_BAU3"
		;;
	"OKMX6ULL-emmc-1280x800 Freescale i.MX6 ULL 14x14 EVK Board")
		name="FORLINX_IMX6ULL"
		;;
    "WooLink2F6280_W_4G")
        name="WooLink2F6280_W_4G"
        ;;

	*)
		name="generic"
		;;
	esac

	[ -z "$IMX6_BOARD_NAME" ] && IMX6_BOARD_NAME="$name"
	[ -z "$IMX6_MODEL" ] && IMX6_MODEL="$machine"

	[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"

	echo "$IMX6_BOARD_NAME" > /tmp/sysinfo/board_name
	echo "$IMX6_MODEL" > /tmp/sysinfo/model
}

imx6_board_name() {
	local name

	[ -f /tmp/sysinfo/board_name ] || imx6_board_detect
	[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
	[ -z "$name" ] && name="unknown"

	echo "$name"
}
