[Bugfix][API-497][call] aftre apply codec strategy, voice is abnormal
Change-Id: I005a6b00c43ef458c17e332a3301b9ed7bbf266a
diff --git a/framework/lynq-ril-service/src/cc.cpp b/framework/lynq-ril-service/src/cc.cpp
index d71ee34..d8dd3be 100755
--- a/framework/lynq-ril-service/src/cc.cpp
+++ b/framework/lynq-ril-service/src/cc.cpp
@@ -1263,11 +1263,128 @@
/*hqing add for Geely demand on 11/07/2022, after cs call, codec should sleep*/
void set_codec(int open)
{
- char cmd[64];
- RLOGD("set_codec %d",open);
- sprintf(cmd,\
- "echo out 181 %d >/sys/devices/platform/10005000.pinctrl/mt_gpio", (open==0 ? 0:1));
- system(cmd);
+ RLOGD("set_codec %d",open);
+
+ if(open==0)
+ {
+ system("echo out 201 0 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
+ system("echo out 181 0 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
+ }
+ else
+ {
+ system("echo out 181 1 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
+ usleep(10);//just open need usleep 10us
+ system("echo out 201 1 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
+ system("echo 0x00 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x01 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x02 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x03 0x80 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x04 0x04 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x05 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x06 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x07 0xa0 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x08 0x20 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x09 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x0a 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x0b 0x32 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x0c 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x0d 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x0f 0x10 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x10 0x20 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x11 0xf8 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x12 0xff > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x13 0x04 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x14 0x78 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x15 0x78 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x16 0x04 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x17 0x78 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x18 0x78 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x19 0x80 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x1a 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x1b 0xfe > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x1c 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x1d 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x1e 0xfe > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x1f 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x20 0x18 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x21 0x18 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x22 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x23 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x24 0xc0 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x25 0xc0 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x26 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x27 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x28 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x29 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x2a 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x2b 0x02 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x2c 0x02 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x2d 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x2e 0x02 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x2f 0x85 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x30 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x31 0x80 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x32 0x85 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x33 0x9f > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x34 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x35 0x80 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x36 0x82 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x37 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x38 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x39 0x82 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x3a 0x9f > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x3b 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x3c 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x3d 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x3e 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x3f 0x80 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x40 0xaf > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x41 0x0d > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x42 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x43 0x80 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x44 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x45 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x46 0x02 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x47 0xaf > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x48 0x0d > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x49 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x4a 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x4b 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x4c 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x4d 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x4e 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x4f 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x50 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x51 0x02 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x52 0xbf > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x53 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x54 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x55 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x56 0x9b > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x57 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x58 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x59 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x5a 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x5b 0x02 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x5c 0xbf > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x5d 0x08 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x5e 0xde > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x5f 0x0c > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x60 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x61 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x62 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x63 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x64 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x65 0x01 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x66 0xa2 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x67 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x68 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x69 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x6a 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x6b 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x6c 0x40 > /sys/kernel/debug/regmap/0-0018/registers");
+ system("echo 0x6d 0x00 > /sys/kernel/debug/regmap/0-0018/registers");
+ }
}
//void callStateChange(void)