177 lines
5.6 KiB
Plaintext
177 lines
5.6 KiB
Plaintext
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
board_info() {
|
|
if [[ "$2" == "rk3566" || "$2" == "rk3568" ]]; then
|
|
case $1 in
|
|
0000)
|
|
BOARD_NAME='LubanCat-1'
|
|
BOARD_DTB='rk3566-lubancat-1.dtb'
|
|
BOARD_uEnv='uEnvLubanCat1.txt'
|
|
;;
|
|
0001)
|
|
BOARD_NAME='LubanCat-1IOF'
|
|
BOARD_DTB='rk3566-lubancat-1io.dtb'
|
|
BOARD_uEnv='uEnvLubanCat1IO.txt'
|
|
;;
|
|
0002)
|
|
BOARD_NAME='LubanCat-1IOB'
|
|
BOARD_DTB='rk3566-lubancat-1io.dtb'
|
|
BOARD_uEnv='uEnvLubanCat1IO.txt'
|
|
;;
|
|
0100)
|
|
BOARD_NAME='LubanCat-1N'
|
|
BOARD_DTB='rk3566-lubancat-1n.dtb'
|
|
BOARD_uEnv='uEnvLubanCat1N.txt'
|
|
;;
|
|
0102)
|
|
BOARD_NAME='LubanCat-2IOBI'
|
|
BOARD_DTB='rk3568-lubancat-2io.dtb'
|
|
BOARD_uEnv='uEnvLubanCat2IO.txt'
|
|
;;
|
|
0200)
|
|
BOARD_NAME='LubanCat-0N'
|
|
BOARD_DTB='rk3566-lubancat-0.dtb'
|
|
BOARD_uEnv='uEnvLubanCatZN.txt'
|
|
;;
|
|
0201)
|
|
BOARD_NAME='LubanCat-1H'
|
|
BOARD_DTB='rk3566-lubancat-1h.dtb'
|
|
BOARD_uEnv='uEnvLubanCat1H.txt'
|
|
;;
|
|
0300)
|
|
BOARD_NAME='LubanCat-0W'
|
|
BOARD_DTB='rk3566-lubancat-0.dtb'
|
|
BOARD_uEnv='uEnvLubanCatZW.txt'
|
|
;;
|
|
0400)
|
|
BOARD_NAME='LubanCat-2'
|
|
BOARD_DTB='rk3568-lubancat-2.dtb'
|
|
BOARD_uEnv='uEnvLubanCat2.txt'
|
|
;;
|
|
0402)
|
|
BOARD_NAME='LubanCat-2 v1'
|
|
BOARD_DTB='rk3568-lubancat-2-v1.dtb'
|
|
BOARD_uEnv='uEnvLubanCat2-V1.txt'
|
|
;;
|
|
0403)
|
|
BOARD_NAME='LubanCat-2 v2'
|
|
BOARD_DTB='rk3568-lubancat-2-v2.dtb'
|
|
BOARD_uEnv='uEnvLubanCat2-V2.txt'
|
|
;;
|
|
0500 |\
|
|
0600)
|
|
BOARD_NAME='LubanCat-2N'
|
|
BOARD_DTB='rk3568-lubancat-2n.dtb'
|
|
BOARD_uEnv='uEnvLubanCat2N.txt'
|
|
;;
|
|
0501)
|
|
BOARD_NAME='LubanCat-2H'
|
|
BOARD_DTB='rk3568-lubancat-2h.dtb'
|
|
BOARD_uEnv='uEnvLubanCat2H.txt'
|
|
;;
|
|
0700)
|
|
BOARD_NAME='LubanCat-2IOF'
|
|
BOARD_DTB='rk3568-lubancat-2io.dtb'
|
|
BOARD_uEnv='uEnvLubanCat2IO.txt'
|
|
;;
|
|
0701)
|
|
BOARD_NAME='LubanCat-2IOB'
|
|
BOARD_DTB='rk3568-lubancat-2io.dtb'
|
|
BOARD_uEnv='uEnvLubanCat2IO.txt'
|
|
;;
|
|
*)
|
|
echo "Device ID Error !!!"
|
|
BOARD_NAME='LubanCat-series.dtb'
|
|
BOARD_DTB='rk356x-lubancat-rk_series.dtb'
|
|
BOARD_uEnv='uEnvLubanCat-series.txt'
|
|
;;
|
|
esac
|
|
elif [[ "$2" == "rk3588" || "$2" == "rk3588s" ]]; then
|
|
case $1 in
|
|
0101)
|
|
BOARD_NAME='LubanCat-4'
|
|
BOARD_DTB='rk3588s-lubancat-4.dtb'
|
|
BOARD_uEnv='uEnvLubanCat4.txt'
|
|
;;
|
|
0201)
|
|
BOARD_NAME='LubanCat-4IOF'
|
|
BOARD_DTB='rk3588s-lubancat-4io.dtb'
|
|
BOARD_uEnv='uEnvLubanCat4IO.txt'
|
|
;;
|
|
0301)
|
|
BOARD_NAME='LubanCat-4IOB'
|
|
BOARD_DTB='rk3588s-lubancat-4io.dtb'
|
|
BOARD_uEnv='uEnvLubanCat4IO.txt'
|
|
;;
|
|
0401)
|
|
BOARD_NAME='LubanCat-5'
|
|
BOARD_DTB='rk3588-lubancat-5.dtb'
|
|
BOARD_uEnv='uEnvLubanCat5.txt'
|
|
;;
|
|
0501)
|
|
BOARD_NAME='LubanCat-5IOF'
|
|
BOARD_DTB='rk3588-lubancat-5io.dtb'
|
|
BOARD_uEnv='uEnvLubanCat5IO.txt'
|
|
;;
|
|
0601)
|
|
BOARD_NAME='LubanCat-5IOB'
|
|
BOARD_DTB='rk3588-lubancat-5io.dtb'
|
|
BOARD_uEnv='uEnvLubanCat5IO.txt'
|
|
;;
|
|
*)
|
|
echo "Device ID Error !!!"
|
|
BOARD_NAME='LubanCat-series.dtb'
|
|
BOARD_DTB='rk3588-lubancat-rk_series.dtb'
|
|
BOARD_uEnv='uEnvLubanCat-series.txt'
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
echo "BOARD_NAME:"$BOARD_NAME
|
|
echo "BOARD_DTB:"$BOARD_DTB
|
|
echo "BOARD_uEnv:"$BOARD_uEnv
|
|
}
|
|
|
|
# voltage_scale
|
|
# 1.7578125 8bit
|
|
# 0.439453125 12bit
|
|
get_index(){
|
|
ADC_RAW=$1
|
|
INDEX=0xff
|
|
|
|
if [ $(echo "$ADC_voltage_scale > 1 "|bc) -eq 1 ] ; then
|
|
declare -a ADC_INDEX=(229 344 460 595 732 858 975 1024)
|
|
else
|
|
declare -a ADC_INDEX=(916 1376 1840 2380 2928 3432 3900 4096)
|
|
fi
|
|
|
|
for i in 00 01 02 03 04 05 06 07; do
|
|
if [ $ADC_RAW -lt ${ADC_INDEX[$i]} ]; then
|
|
INDEX=$i
|
|
break
|
|
fi
|
|
done
|
|
}
|
|
|
|
board_id() {
|
|
ADC_voltage_scale=$(cat /sys/bus/iio/devices/iio\:device0/in_voltage_scale)
|
|
SOC_type=$(cat /proc/device-tree/compatible | cut -d, -f 3)
|
|
ADC_CH2_RAW=$(cat /sys/bus/iio/devices/iio\:device0/in_voltage2_raw)
|
|
ADC_CH3_RAW=$(cat /sys/bus/iio/devices/iio\:device0/in_voltage3_raw)
|
|
|
|
get_index $ADC_CH2_RAW
|
|
ADC_CH2_INDEX=$INDEX
|
|
|
|
get_index $ADC_CH3_RAW
|
|
ADC_CH3_INDEX=$INDEX
|
|
|
|
BOARD_ID=$ADC_CH2_INDEX$ADC_CH3_INDEX
|
|
}
|
|
|
|
board_id
|
|
board_info ${BOARD_ID} ${SOC_type}
|
|
|
|
if [ ! -L "/boot/uEnv/uEnv.txt" ] ; then
|
|
echo "ln -sf $BOARD_uEnv /boot/uEnv/uEnv.txt"
|
|
ln -sf $BOARD_uEnv /boot/uEnv/uEnv.txt
|
|
fi
|
|
exit 0 |