blob: 0c425b412111d952d80efdea48799d8942369aeb [file] [log] [blame]
b.liud440f9f2025-04-18 10:44:31 +08001#!/bin/sh
2
3#MBTK_ADB=`getprop persist.mbtk.adb 2> /dev/null`
4project=`cat /etc/mbtk_project`
5
6mbtk_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
16start_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
hong.liu1ad74492025-06-04 15:14:23 +080034
35 if [ -f /oemapp/start_oemapp.sh ]
36 then
37 echo "GSW oemapp start"
38 /oemapp/start_oemapp.sh &
39 fi
40
b.liud440f9f2025-04-18 10:44:31 +080041 if [ "$project" == "T108_2" ];then
b.liu92507872025-04-18 14:29:29 +080042 i2cset -y -f 2 0x31 0x15 0x00
b.liub17525e2025-05-14 17:22:29 +080043 [ -e /bin/mbtk_gnssd ] && mbtk_start /bin/mbtk_gnssd 8122 /dev/ttyS3 0
b.liud440f9f2025-04-18 10:44:31 +080044 elif [ "$project" == "L508_X6" ];then
b.liub17525e2025-05-14 17:22:29 +080045 [ -e /bin/mbtk_gnssd ] && mbtk_start /bin/mbtk_gnssd 5311 /dev/ttyS3 255
b.liud440f9f2025-04-18 10:44:31 +080046 else
47 # Only auto open gnss but not open any port.
b.liub17525e2025-05-14 17:22:29 +080048 [ -e /bin/mbtk_gnssd ] && mbtk_start /bin/mbtk_gnssd 5311 /dev/ttyS2 255
b.liud440f9f2025-04-18 10:44:31 +080049 fi
50
51 if [ "$project" == "L508_X6" -o "$project" == "L509" ]
52 then
53 #echo "$project"
54 i2cset -y -f 2 0x32 0x0d 0x00
55 fi
b.liud440f9f2025-04-18 10:44:31 +080056 echo "--mbtk eary boot end--" > /dev/kmsg
57}
58
59sleep_init()
60{
61 if [ -e /sys/devices/soc.0/d4000000.apb/mbtk-dev-op/gps_power ]
62 then
63 echo off > /sys/devices/soc.0/d4000000.apb/mbtk-dev-op/gps_power
64 else
65 echo "/sys/devices/soc.0/d4000000.apb/mbtk-dev-op/gps_power can not write." > /dev/kmsg
66 fi
67
68 if [ -e /sys/kernel/debug/spk_shdn_gpio ]
69 then
70 echo 0 > /sys/kernel/debug/spk_shdn_gpio
71 else
72 echo "/sys/kernel/debug/spk_shdn_gpio can not write." > /dev/kmsg
73 fi
74
75 if [ -e /sys/devices/asr-rfkill.0/pwr_ctrl ]
76 then
77 echo 1 > /sys/devices/asr-rfkill.0/pwr_ctrl
78 sleep 1
79 echo 0 > /sys/devices/asr-rfkill.0/pwr_ctrl
80 else
81 echo "/sys/devices/asr-rfkill.0/pwr_ctrl can not write." > /dev/kmsg
82 fi
83
84 case "$project" in
85 PN1803)
86 echo 4 > /sys/class/gpio/export
87 echo out > /sys/class/gpio/gpio4/direction
88 echo 0 > /sys/class/gpio/gpio4/value
89 ;;
90 L509)
91 echo 5 > /sys/class/gpio/export
92 echo out > /sys/class/gpio/gpio5/direction
93 echo 0 > /sys/class/gpio/gpio5/value
94
95 echo 8 > /sys/class/gpio/export
96 echo out > /sys/class/gpio/gpio8/direction
97 echo 1 > /sys/class/gpio/gpio8/value
98 ;;
99 esac
100
101 if [ "$project" == "PN1803" -o "$project" == "L508" -o "$project" == "L509"]
102 then
103 echo 118 > /sys/class/gpio/export
104 echo out > /sys/class/gpio/gpio118/direction
105 echo 0 > /sys/class/gpio/gpio118/value
106 fi
107}
108
109start_service
110sleep_init