blob: 5bffd3546c2770dbb0a93acc9fa9f3f0c98c0b2d [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
34
35 if [ "$project" == "T108_2" ];then
b.liu92507872025-04-18 14:29:29 +080036 i2cset -y -f 2 0x31 0x15 0x00
b.liub17525e2025-05-14 17:22:29 +080037 [ -e /bin/mbtk_gnssd ] && mbtk_start /bin/mbtk_gnssd 8122 /dev/ttyS3 0
b.liud440f9f2025-04-18 10:44:31 +080038 elif [ "$project" == "L508_X6" ];then
b.liub17525e2025-05-14 17:22:29 +080039 [ -e /bin/mbtk_gnssd ] && mbtk_start /bin/mbtk_gnssd 5311 /dev/ttyS3 255
b.liud440f9f2025-04-18 10:44:31 +080040 else
41 # Only auto open gnss but not open any port.
b.liub17525e2025-05-14 17:22:29 +080042 [ -e /bin/mbtk_gnssd ] && mbtk_start /bin/mbtk_gnssd 5311 /dev/ttyS2 255
b.liud440f9f2025-04-18 10:44:31 +080043 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
b.liud440f9f2025-04-18 10:44:31 +080050 echo "--mbtk eary boot end--" > /dev/kmsg
51}
52
53sleep_init()
54{
55 if [ -e /sys/devices/soc.0/d4000000.apb/mbtk-dev-op/gps_power ]
56 then
57 echo off > /sys/devices/soc.0/d4000000.apb/mbtk-dev-op/gps_power
58 else
59 echo "/sys/devices/soc.0/d4000000.apb/mbtk-dev-op/gps_power can not write." > /dev/kmsg
60 fi
61
62 if [ -e /sys/kernel/debug/spk_shdn_gpio ]
63 then
64 echo 0 > /sys/kernel/debug/spk_shdn_gpio
65 else
66 echo "/sys/kernel/debug/spk_shdn_gpio can not write." > /dev/kmsg
67 fi
68
69 if [ -e /sys/devices/asr-rfkill.0/pwr_ctrl ]
70 then
71 echo 1 > /sys/devices/asr-rfkill.0/pwr_ctrl
72 sleep 1
73 echo 0 > /sys/devices/asr-rfkill.0/pwr_ctrl
74 else
75 echo "/sys/devices/asr-rfkill.0/pwr_ctrl can not write." > /dev/kmsg
76 fi
77
78 case "$project" in
79 PN1803)
80 echo 4 > /sys/class/gpio/export
81 echo out > /sys/class/gpio/gpio4/direction
82 echo 0 > /sys/class/gpio/gpio4/value
83 ;;
84 L509)
85 echo 5 > /sys/class/gpio/export
86 echo out > /sys/class/gpio/gpio5/direction
87 echo 0 > /sys/class/gpio/gpio5/value
88
89 echo 8 > /sys/class/gpio/export
90 echo out > /sys/class/gpio/gpio8/direction
91 echo 1 > /sys/class/gpio/gpio8/value
92 ;;
93 esac
94
95 if [ "$project" == "PN1803" -o "$project" == "L508" -o "$project" == "L509"]
96 then
97 echo 118 > /sys/class/gpio/export
98 echo out > /sys/class/gpio/gpio118/direction
99 echo 0 > /sys/class/gpio/gpio118/value
100 fi
101}
102
103start_service
104sleep_init