android_device_motorola_fogos/recovery/bin/load_touch.sh
Andrew Hexen b985836432
berlna: recovery: add touch script to recovery
Signed-off-by: Andrew Hexen <SyberHexen@gmail.com>
Change-Id: I3daf399871b997f18a6d2aa25fac4926c373def3
2023-02-01 02:00:23 -08:00

60 lines
1.2 KiB
Bash

#!/system/bin/sh
firmware_path=/vendor/firmware
touch_class_path=/sys/class/touchscreen
touch_path=
firmware_file=
wait_for_poweron()
{
local wait_nomore
local readiness
local count
echo "wait until driver reports <ready to flash>..."
wait_nomore=60
count=0
while true; do
readiness=$(cat $touch_path/poweron)
if [ "$readiness" == "1" ]; then
echo "ready to flash!!!"
break;
fi
count=$((count+1))
[ $count -eq $wait_nomore ] && break
sleep 1
echo "not ready; keep waiting..."
done
if [ $count -eq $wait_nomore ]; then
return 1
fi
return 0
}
load_touch()
{
panel_supplier=""
panel_supplier=$(cat /sys/class/touchscreen/*/panel_supplier)
echo "panel supplier vendor is: [$panel_supplier]"
cd $firmware_path
case $panel_supplier in
tianma)
firmware_file="novatek_ts-NT36675-21061805-603a-berlna.bin"
;;
esac
echo "Firmware file for upgrade $firmware_file"
touch_path=/sys/class/touchscreen/$(ls /sys/class/touchscreen/)
wait_for_poweron
wait
echo "forcing firmware upgrade"
echo 1 > $touch_path/forcereflash
wait
echo "sending reflash command"
echo $firmware_file > $touch_path/doreflash
sleep 1.5
echo "Resetting Touch"
echo 1 > $touch_path/reset
}
load_touch
exit 0