| b.liu | d440f9f | 2025-04-18 10:44:31 +0800 | [diff] [blame^] | 1 | #!/bin/sh | 
 | 2 |  | 
 | 3 | #MBTK_ADB=`getprop persist.mbtk.adb 2> /dev/null` | 
 | 4 | project=`cat /etc/mbtk_project` | 
 | 5 |  | 
 | 6 | mbtk_start() { | 
 | 7 | 	echo "start : $1" > /dev/kmsg | 
 | 8 | 	 | 
 | 9 | 	if [ -e $1 ];then | 
 | 10 | 		# stdout and stderr > /dev/null | 
 | 11 | 		#$@ &> /dev/null & | 
 | 12 | 		(while ! $@ &> /dev/null;           do echo "Restarting $@ ...";               done) & | 
 | 13 | 	fi | 
 | 14 | } | 
 | 15 |  | 
 | 16 | start_service() { | 
 | 17 | 	echo "--mbtk eary boot start--" > /dev/kmsg | 
 | 18 | #	mbtk_start /bin/mbtk_test | 
 | 19 | #	mbtk_start /bin/mbtk_test "eary" 123 | 
 | 20 |     # ɾ³ýÉÏ´Îgnss ÐÇÀú | 
 | 21 |     if [ -f /etc/mbtk/rtm.bin ] | 
 | 22 |     then | 
 | 23 | 	    echo "--mbtk eary boot rtm.bin " > /dev/kmsg | 
 | 24 |         rm /etc/mbtk/rtm.bin | 
 | 25 |     fi | 
 | 26 |  | 
 | 27 | 	mbtk_start /bin/mbtk_rild | 
 | 28 | 	 | 
 | 29 | 	if [ -f /bin/mbtk_sdk_ready ] | 
 | 30 | 	then | 
 | 31 | 		mbtk_start /bin/mbtk_sdk_ready | 
 | 32 | 		echo "--mbtk platform mbtk_sdk_ready start--" > /dev/kmsg | 
 | 33 | 	fi | 
 | 34 | 	 | 
 | 35 | 	if [ "$project" == "T108_2" ];then | 
 | 36 | 		i2cset -y -f 2 0x31 0x15 0x00 | 
 | 37 | 		mbtk_start /bin/mbtk_gnssd 8122 /dev/ttyS3 0 | 
 | 38 | 	elif [ "$project" == "L508_X6" ];then | 
 | 39 | 		mbtk_start /bin/mbtk_gnssd 5311 /dev/ttyS3 255 | 
 | 40 | 	else | 
 | 41 | 		# Only auto open gnss but not open any port. | 
 | 42 | 		mbtk_start /bin/mbtk_gnssd 5311 /dev/ttyS2 255 | 
 | 43 | 	fi | 
 | 44 |  | 
 | 45 | 	if [ "$project" == "L508_X6" -o "$project" == "L509" ] | 
 | 46 | 	then | 
 | 47 | 		#echo "$project" | 
 | 48 | 		i2cset -y -f 2 0x32 0x0d 0x00 | 
 | 49 | 	fi | 
 | 50 |  | 
 | 51 | 	if [ "$project" == "T108_2" ] | 
 | 52 | 	then | 
 | 53 | 		i2cset -y -f 2 0x31 0x15 0x00 | 
 | 54 | 	fi | 
 | 55 | 	echo "--mbtk eary boot end--" > /dev/kmsg | 
 | 56 | } | 
 | 57 |  | 
 | 58 | sleep_init() | 
 | 59 | { | 
 | 60 | 	if [ -e /sys/devices/soc.0/d4000000.apb/mbtk-dev-op/gps_power ] | 
 | 61 | 	then | 
 | 62 | 		echo off  > /sys/devices/soc.0/d4000000.apb/mbtk-dev-op/gps_power | 
 | 63 | 	else | 
 | 64 | 		echo "/sys/devices/soc.0/d4000000.apb/mbtk-dev-op/gps_power can not write." > /dev/kmsg | 
 | 65 | 	fi | 
 | 66 | 	 | 
 | 67 | 	if [ -e /sys/kernel/debug/spk_shdn_gpio ] | 
 | 68 | 	then | 
 | 69 | 		echo 0 > /sys/kernel/debug/spk_shdn_gpio | 
 | 70 | 	else | 
 | 71 | 		echo "/sys/kernel/debug/spk_shdn_gpio can not write." > /dev/kmsg | 
 | 72 | 	fi | 
 | 73 | 	 | 
 | 74 | 	if [ -e /sys/devices/asr-rfkill.0/pwr_ctrl ] | 
 | 75 | 	then | 
 | 76 | 		echo 1 > /sys/devices/asr-rfkill.0/pwr_ctrl | 
 | 77 | 		sleep 1 | 
 | 78 | 		echo 0 > /sys/devices/asr-rfkill.0/pwr_ctrl | 
 | 79 | 	else | 
 | 80 | 		echo "/sys/devices/asr-rfkill.0/pwr_ctrl can not write." > /dev/kmsg | 
 | 81 | 	fi | 
 | 82 |  | 
 | 83 | 	case "$project" in | 
 | 84 | 		PN1803) | 
 | 85 | 			echo 4 > /sys/class/gpio/export | 
 | 86 | 			echo out > /sys/class/gpio/gpio4/direction | 
 | 87 | 			echo 0 > /sys/class/gpio/gpio4/value | 
 | 88 | 			;; | 
 | 89 | 		L509) | 
 | 90 | 			echo 5 > /sys/class/gpio/export | 
 | 91 | 			echo out > /sys/class/gpio/gpio5/direction | 
 | 92 | 			echo 0 > /sys/class/gpio/gpio5/value | 
 | 93 | 			 | 
 | 94 | 			echo 8 > /sys/class/gpio/export | 
 | 95 | 			echo out > /sys/class/gpio/gpio8/direction | 
 | 96 | 			echo 1 > /sys/class/gpio/gpio8/value | 
 | 97 | 			;; | 
 | 98 | 	esac | 
 | 99 | 	 | 
 | 100 | 	if [ "$project" == "PN1803" -o "$project" == "L508" -o "$project" == "L509"] | 
 | 101 | 	then | 
 | 102 | 		echo 118 > /sys/class/gpio/export | 
 | 103 | 		echo out > /sys/class/gpio/gpio118/direction | 
 | 104 | 		echo 0 > /sys/class/gpio/gpio118/value | 
 | 105 | 	fi | 
 | 106 | } | 
 | 107 |  | 
 | 108 | start_service | 
 | 109 | sleep_init |