Files
kernel/scripts/package/postinst_patch
2023-07-17 10:52:03 +08:00

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