#!/bin/sh

soc=$(fw_printenv -n soc) || (>&2 echo "SOC not defined in U-Boot ENV"; exit 1)
manufacturer=$(fw_printenv -n manufacturer) || (>&2 echo "Manufacturer not defined in U-Boot ENV"; exit 1)
# devid=$(fw_printenv -n devid) || (>&2 echo "Device ID not defined in U-Boot ENV"; exit 1)

case ${manufacturer} in
	Anjoy)
		case ${soc} in
			ssc335|ssc337|ssc337de)
				gpio="ircut1=78 ircut2=79 light=61"
				;;
		esac
		;;

	Camhi|Hichip|Xin)
		case ${soc} in
			hi3516ev200|gk7205v200)
				gpio="usb_ena=-9"
				;;
			hi3516ev300|gk7205v300)
				gpio="ircut1=10 ircut2=11 usb_ena=-7"
				;;
			hi3518ev200)
				gpio="ircut1=1 ircut2=2 light=48"
				;;
			t31)
				gpio="ircut1=N ircut2=n light=n"
				;;
		esac
		;;

	Herospeed|Longsee|Cantonk)
		case ${soc} in
			hi3516ev200|gk7205v200)
				gpio="ircut1=12 ircut2=13 irctl=4 alm_in=15 alm_out=14"
				;;
			hi3518ev200)
				gpio="ircut1=64 ircut2=65"
				;;
			hi3516av300)
				gpio="ircut1=5 ircut2=6"
				;;
		esac
		;;

	Jabsco)
		case ${soc} in
			hi3516ev200|gk7205v200)
				gpio="ircut1=52 ircut2=53 irstatus=9"
				;;
		esac
		;;

	Jvt)
		case ${soc} in
			hi3516cv200)
				gpio="ircut1=64 ircut2=65 light=62"
				;;
			hi3518ev200)
				gpio="ircut1=64 ircut2=65 light=47"
				;;
		esac
		;;

	Juan|Sannce)
		case ${soc} in
			hi3518ev200)
				gpio="ircut1=65 ircut2=64 irstatus=-62"
				;;
		esac
		;;

	Tiandy)
		case ${soc} in
			hi3518ev200)
				gpio="ircut1=78 ircut2=79 irctl=37"
				;;
		esac
		;;

	Uniview)
		case ${soc} in
			hi3516ev300|gk7205v300)
				gpio="ircut1=63 ircut2=67 reset="
				;;
		esac
		;;

	Xiongmai)
		case ${soc} in
			hi3516ev200|gk7205v200)
				gpio="ircut1=8 ircut=29 irstatus=15 irctl=16 alm_in=4,53 alm_out=55 eth_act=14 eth_sta=12 reset=0"
				;;
			hi3516ev300|gk7205v300)
				gpio="ircut1=10 ircut2=11 irstatus=66 irctl=52 alm_in=4,67 alm_out=65 eth_act=30 eth_sta=31 reset=0"
				;;
			hi3516dv100)
				gpio="ircut1=14 ircut2=15"
				;;
			hi3516cv300)
				gpio="ircut1=53 ircut2=54 irstatus=64 irctl=66 alm_in=55 alm_out=1 reset=2 usb_ena=63"
				;;
			hi3518ev200)
				gpio="ircut1=33 ircut2=34 alm_in=61 alm_out=35"
				;;
		esac
		;;

	Zenotech|Videopark)
		case ${soc} in
			hi3516ev300|gk7205v300)
				gpio="ircut1=40 ircut2=41 irctl=65"
				;;
		esac
		;;
esac

echo ${gpio}