blob: 481e06fcd76f58fdd91c1bb61f278e2d91ad51c6 [file] [log] [blame]
Zvikomborero VIncent Zvikaramba080e3b82016-08-18 17:11:23 -04001#!/system/bin/sh
2# Copyright (c) 2009-2011, The Linux Foundation. All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are met:
6# * Redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer.
8# * Redistributions in binary form must reproduce the above copyright
9# notice, this list of conditions and the following disclaimer in the
10# documentation and/or other materials provided with the distribution.
11# * Neither the name of The Linux Foundation nor
12# the names of its contributors may be used to endorse or promote
13# products derived from this software without specific prior written
14# permission.
15#
16# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
20# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
23# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27#
28
29setprop hw.fm.init 0
30
31mode=`getprop hw.fm.mode`
32version=`getprop hw.fm.version`
33isAnalog=`getprop hw.fm.isAnalog`
34
35#find the transport type
36TRANSPORT=`getprop ro.qualcomm.bt.hci_transport`
37
38LOG_TAG="qcom-fm"
39LOG_NAME="${0}:"
40
41loge ()
42{
43 /system/bin/log -t $LOG_TAG -p e "$LOG_NAME $@"
44}
45
46logi ()
47{
48 /system/bin/log -t $LOG_TAG -p i "$LOG_NAME $@"
49}
50
51failed ()
52{
53 loge "$1: exit code $2"
54 exit $2
55}
56
57logi "In FM shell Script"
58logi "mode: $mode"
59logi "isAnalog: $isAnalog"
60logi "Transport : $TRANSPORT"
61logi "Version : $version"
62
63#$fm_qsoc_patches <fm_chipVersion> <enable/disable WCM>
64#
65case $mode in
66 "normal")
67 case $TRANSPORT in
68 "smd")
69 logi "inserting the radio transport module"
70 insmod /system/lib/modules/radio-iris-transport.ko
71 ;;
72 *)
73 logi "default transport case "
74 ;;
75 esac
76 /system/bin/fm_qsoc_patches $version 0
77 ;;
78 "wa_enable")
79 /system/bin/fm_qsoc_patches $version 1
80 ;;
81 "wa_disable")
82 /system/bin/fm_qsoc_patches $version 2
83 ;;
84 "config_dac")
85 /system/bin/fm_qsoc_patches $version 3 $isAnalog
86 ;;
87 *)
88 logi "Shell: Default case"
89 /system/bin/fm_qsoc_patches $version 0
90 ;;
91esac
92
93exit_code_fm_qsoc_patches=$?
94
95case $exit_code_fm_qsoc_patches in
96 0)
97 logi "FM QSoC calibration and firmware download succeeded"
98 ;;
99 *)
100 failed "FM QSoC firmware download and/or calibration failed" $exit_code_fm_qsoc_patches
101 ;;
102esac
103
104setprop hw.fm.init 1
105
106exit 0