Merge "[feature][SZZT-69][AT]At + LCSUS switching card commands support query [feature][SZZT-65][AT]Low power instruction for dual cards" into SZZT
diff --git a/meta/meta-mediatek-mt2731/recipes-lynq/lynq-atsvc/lynq-atsvc.bb b/meta/meta-mediatek-mt2731/recipes-lynq/lynq-atsvc/lynq-atsvc.bb
index 43832dc..c3406f8 100755
--- a/meta/meta-mediatek-mt2731/recipes-lynq/lynq-atsvc/lynq-atsvc.bb
+++ b/meta/meta-mediatek-mt2731/recipes-lynq/lynq-atsvc/lynq-atsvc.bb
@@ -3,7 +3,7 @@
DESCRIPTION = "lynq ril service"
LICENSE = "MediaTekProprietary"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e1696b147d49d491bcb4da1a57173fff"
-DEPENDS += "platform-libs audio-mixer-ctrl libvendor-ril libpal gstreamer1.0 glib-2.0 dtmf libapn dbus liblynq-protcl liblynq-logdata-handle liblynq-log liblynq-fota nandapi bootctrl"
+DEPENDS += "platform-libs audio-mixer-ctrl libvendor-ril libpal gstreamer1.0 glib-2.0 dtmf libapn dbus liblynq-protcl liblynq-logdata-handle liblynq-log liblynq-fota nandapi bootctrl liblynq-thermal"
inherit workonsrc
WORKONSRC = "${TOPDIR}/../src/lynq/framework/lynq-atsvc/src"
diff --git a/meta/meta-mediatek-mt2731/recipes-lynq/lynq-cv2x/lynq-cv2x.bb b/meta/meta-mediatek-mt2731/recipes-lynq/lynq-cv2x/lynq-cv2x.bb
index fa87ed0..4c084bf 100755
--- a/meta/meta-mediatek-mt2731/recipes-lynq/lynq-cv2x/lynq-cv2x.bb
+++ b/meta/meta-mediatek-mt2731/recipes-lynq/lynq-cv2x/lynq-cv2x.bb
@@ -24,7 +24,8 @@
FILES_${PN} = "${base_libdir}/*.so \
${bindir}\
- /etc/cv2x "
+ /etc/cv2x \
+ /usr/lib \"
FILES_${PN}-dev = "/test \
${includedir}"
@@ -58,6 +59,7 @@
do_install () {
if [ -d "${WORKONSRC}" ] ; then
install -d ${D}/etc/cv2x
+ install -d ${D}/usr/lib
install -d ${D}${bindir}/
install -m 0755 ${S}lynq-cv2x ${D}${bindir}/
install -m 0755 ${S}/release-es2/cv2x-example ${D}${bindir}/
@@ -80,7 +82,11 @@
install -m 0644 ${S}/release-es2/libcv2x.so ${D}/etc/cv2x/libcv2x.so
install -m 0644 ${S}/release-es2/libsmx.so ${D}/etc/cv2x/libsmx.so
install -m 0755 ${S}/release-es2/packet.sh ${D}/etc/cv2x/packet.sh
-
+ install -m 0644 ${S}/release-es2/libatlkremote_linux_u.so ${D}/usr/lib/libatlkremote_linux_u.so
+ install -m 0644 ${S}/release-es2/libcli.so ${D}/usr/lib/libcli.so
+ install -m 0644 ${S}/release-es2/libcv2x.so ${D}/usr/lib/libcv2x.so
+ install -m 0644 ${S}/release-es2/libsmx.so ${D}/usr/lib/libsmx.so
+ install -m 0755 ${S}/release-es2/packet.sh ${D}/usr/lib/packet.sh
fi
install -d ${D}${systemd_unitdir}/system/
diff --git a/meta/meta-mediatek-mt2731/recipes-lynq/packagegroups/packagegroup-lync-mt2731.bb b/meta/meta-mediatek-mt2731/recipes-lynq/packagegroups/packagegroup-lync-mt2731.bb
index 2d0cdbc..e8f387c 100755
--- a/meta/meta-mediatek-mt2731/recipes-lynq/packagegroups/packagegroup-lync-mt2731.bb
+++ b/meta/meta-mediatek-mt2731/recipes-lynq/packagegroups/packagegroup-lync-mt2731.bb
@@ -26,4 +26,5 @@
lynq-low-power \
liblynq-logdata-handle \
lynq-gnss-test \
+ liblynq-thermal \
"
diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_at_transfer_table.h b/src/lynq/framework/lynq-atsvc/src/lynq_at_transfer_table.h
index abf0aed..57607b4 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_at_transfer_table.h
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_at_transfer_table.h
@@ -21,6 +21,8 @@
{LYNQ_REQUEST_FACTORY,"LYNQFACTORY",7},
{LYNQ_REQUEST_LINFO,"LINFO",7},
{LYNQ_REQUEST_FOTA,"LYNQFOTA",7},
+{LYNQ_REQUEST_TEMP,"LYNQMTSM",1},
+
/*lei add*/
{LYNQ_REQUEST_CSCLK,"CSCLK",7},
{LYNQ_REQUEST_MPWRSM,"MPWRSM",7},
diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp b/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
index 91e38f9..318adfe 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
@@ -124,6 +124,8 @@
return LYNQ_GOTO_FACTORY;
case LYNQ_REQUEST_FOTA:
return LYNQ_GOTO_FOTA;
+ case LYNQ_REQUEST_TEMP:
+ return LYNQ_GOTO_TEMP;
default:
return -1;
}
diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_common.h b/src/lynq/framework/lynq-atsvc/src/lynq_common.h
index 7bc9be1..fd227a6 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_common.h
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_common.h
@@ -35,6 +35,8 @@
#define LYNQ_GOTO_FOTA 8
/*PMS*/
#define LYNQ_GOTO_PMS 9
+/*TEMP*/
+#define LYNQ_GOTO_TEMP 10
#define LYNQ_APN_LEN_MAX 100
#define LYNQ_APNTPYE_LEN_MAX 50
@@ -69,6 +71,7 @@
#define LYNQ_REQUEST_CFSN (LYNQ_VERSION +23)
#define LYNQ_REQUEST_RST (LYNQ_VERSION +25)
/*lei add*/
+#define LYNQ_REQUEST_TEMP (LYNQ_VERSION +26)
#define LYNQ_USER_REQUEST_GNSS (LYNQ_VERSION +100)
#define LYNQ_USER_REQUEST_OTHRE (LYNQ_VERSION +101)
diff --git a/src/lynq/framework/lynq-atsvc/src/makefile b/src/lynq/framework/lynq-atsvc/src/makefile
index 4f685e7..00fe5de 100755
--- a/src/lynq/framework/lynq-atsvc/src/makefile
+++ b/src/lynq/framework/lynq-atsvc/src/makefile
@@ -68,8 +68,10 @@
-I$(LOCAL_PATH)/rndis \
-I$(LOCAL_PATH)/factory \
-I$(LOCAL_PATH)/fota \
+ -I$(LOCAL_PATH)/temp \
-I$(ROOT)$(includedir)/ \
-I$(ROOT)$(includedir)/liblog \
+ -I$(ROOT)$(includedir)/liblynq-thermal \
-I$(ROOT)$(includedir)/include \
-I$(ROOT)$(includedir)/ftp \
-I$(ROOT)$(includedir)/logger \
@@ -110,6 +112,7 @@
-llynq-log \
-llynq-fota \
-lnandapi \
+ -llynq-thermal \
ifeq ($(strip $(TARGET_PLATFORM)), mt2735)
LOCAL_LIBS += -luciwrapper
@@ -118,7 +121,7 @@
endif
-SOURCES = $(wildcard util/*.cpp *.cpp ecall/*.cpp ecall/gost/*.cpp ecall/gost/utils/*.cpp ecall/gost/sslp/*.cpp ecall/gost/sslp/auth/*.cpp ecall/gost/sslp/firmware/*.cpp ecall/gost/sslp/commands/*.cpp ecall/gost/sslp/ecall/*.cpp ecall/gost/sslp/teledata/*.cpp data/*.cpp em/rfdesense/*.cpp em/networkinfo/*.cpp em/*.cpp sms/*.cpp sms/gsm/*.cpp sms/cdma/*.cpp atci/*.cpp stateManager/*.cpp log/*.cpp rndis/*.cpp factory/*.cpp )
+SOURCES = $(wildcard util/*.cpp *.cpp ecall/*.cpp ecall/gost/*.cpp ecall/gost/utils/*.cpp ecall/gost/sslp/*.cpp ecall/gost/sslp/auth/*.cpp ecall/gost/sslp/firmware/*.cpp ecall/gost/sslp/commands/*.cpp ecall/gost/sslp/ecall/*.cpp ecall/gost/sslp/teledata/*.cpp data/*.cpp em/rfdesense/*.cpp em/networkinfo/*.cpp em/*.cpp sms/*.cpp sms/gsm/*.cpp sms/cdma/*.cpp atci/*.cpp stateManager/*.cpp log/*.cpp rndis/*.cpp factory/*.cpp temp/*.cpp )
EXECUTABLE = lynq-atsvc
diff --git a/src/lynq/framework/lynq-atsvc/src/ril.cpp b/src/lynq/framework/lynq-atsvc/src/ril.cpp
index 496bfc7..ae34c5a 100755
--- a/src/lynq/framework/lynq-atsvc/src/ril.cpp
+++ b/src/lynq/framework/lynq-atsvc/src/ril.cpp
@@ -83,6 +83,7 @@
#include "lynq_send_log_data.h"
#include "lynq_rndis.h"
#include "lynq_factory.h"
+#include "lynq_at_temp.h"
/*Warren add for FAW platform 2021/9/28 end*/
@@ -6683,6 +6684,11 @@
break;
}
/*lei add*/
+ case LYNQ_GOTO_TEMP:
+ {
+ lynq_at_get_temp(argc, argv);
+ break;
+ }
default:
break;
}
diff --git a/src/lynq/framework/lynq-atsvc/src/temp/lynq_at_temp.cpp b/src/lynq/framework/lynq-atsvc/src/temp/lynq_at_temp.cpp
new file mode 100755
index 0000000..818dbdd
--- /dev/null
+++ b/src/lynq/framework/lynq-atsvc/src/temp/lynq_at_temp.cpp
@@ -0,0 +1,58 @@
+/*=============================================================================
+** FileName: lynq_at_temp
+** Desc: lynq at temp
+** Author: rita
+** Version: V1.0
+** LastChange: 2022-06-13
+** History:
+=============================================================================*/
+
+#include "common.h"
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+//#include <log/log.h>
+#include "liblynq-thermal/lynq_get_thermal.h"
+
+static void lynq_response_ttyGS3(char *log_buf)
+{
+// sprintf(log_buf,"LYNQ_GOTO_LOGS_REQ\n");
+ write(ttyGS3_fd,log_buf,strlen(log_buf));
+ return;
+}
+
+int lynq_at_get_temp(int argc, char *argv[])
+{
+ int temp = 0;
+ char buf[20] = "";
+
+
+ if(NULL == argv[3] || argc<4){
+ lynq_response_ttyGS3("+CME ERROR: no such device,please reinput!!\n");
+ return -1;
+ }
+
+ int ret = lynq_get_zone_tmp(ZONE_NUM(atoi(argv[3])), &temp);
+
+
+ if(ret!=0){
+ lynq_response_ttyGS3("+CME ERROR: no such device,please reinput!!\n");
+ }
+ else{
+ //lynq_response_ttyGS3("+temp:%d\n");
+ sprintf(buf,"+LYNQMTSM: %d\n", temp);
+ lynq_response_ttyGS3(buf);
+ }
+
+ return ret;
+}
+
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/src/lynq/framework/lynq-atsvc/src/temp/lynq_at_temp.h b/src/lynq/framework/lynq-atsvc/src/temp/lynq_at_temp.h
new file mode 100755
index 0000000..d17d134
--- /dev/null
+++ b/src/lynq/framework/lynq-atsvc/src/temp/lynq_at_temp.h
@@ -0,0 +1,26 @@
+#ifndef __LYNQ_AT_TEMP_H__
+#define __LYNQ_AT_TEMP_H__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+ mtktscpu=0,
+ mtktsaplt,
+ mtktsrf,
+ mtktsdram,
+ mtktspa4g,
+ mtktspmic,
+ tzts1,
+ tzts2,
+ tzts3,
+ tzts4=9,
+} ZONE_NUM;
+
+int lynq_at_get_temp(int argc, char *argv[]);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif //__LYNQ_AT_TEMP_H__
diff --git a/src/lynq/lib/liblynq-thermal/include/liblynq-thermal/lynq_get_thermal.h b/src/lynq/lib/liblynq-thermal/include/liblynq-thermal/lynq_get_thermal.h
new file mode 100755
index 0000000..b066e31
--- /dev/null
+++ b/src/lynq/lib/liblynq-thermal/include/liblynq-thermal/lynq_get_thermal.h
@@ -0,0 +1,35 @@
+#ifndef __LYNQ_GET_THERMAL_H__
+#define __LYNQ_GET_THERMAL_H__
+
+#define LYNQ_THM_PATH 256
+
+#define TYPE_PATH_PRE "/sys/class/thermal"
+
+#define LYNQ_THM_OK 0
+#define LYNQ_THM_OPEN_ERROR -1
+#define LYNQ_THM_READ_ERROR -2
+#define LYNQ_THM_ACCESS_ERROR -3
+#define LYNQ_THM_ZONE_ERROR -4
+#define LYNQ_THM_TEMP_ERROR -5
+
+#define LYNQ_THM_ZONE_KEY "thermal_zone"
+#define LYNQ_THM_COOLER_KEY "cooling_device"
+
+typedef enum {
+ mtktscpu=0,
+ mtktsaplt,
+ mtktsrf,
+ mtktsdram,
+ mtktspa4g,
+ mtktspmic,
+ tzts1,
+ tzts2,
+ tzts3,
+ tzts4=9,
+} ZONE_NUM;
+
+char* lynq_read_version();
+int read_sys_info(char *sys_path, char *out_buf, int out_buf_len);
+int lynq_get_zone_tmp(ZONE_NUM num, int *temp);
+
+#endif //__LYNQ_GET_THERMAL_H__
\ No newline at end of file
diff --git a/src/lynq/lib/liblynq-thermal/makefile b/src/lynq/lib/liblynq-thermal/makefile
new file mode 100755
index 0000000..6c9c610
--- /dev/null
+++ b/src/lynq/lib/liblynq-thermal/makefile
@@ -0,0 +1,86 @@
+SHELL = /bin/sh
+RM = rm -f
+
+LOCAL_CFLAGS := -Wall \
+ -std=gnu++14 \
+ -g -Os \
+ -flto \
+ -fPIC \
+ -fpermissive \
+
+$(warning ################# C2K support: $(RAT_CONFIG_C2K_SUPPORT))
+ifeq ($(strip $(RAT_CONFIG_C2K_SUPPORT)), yes)
+ LOCAL_CFLAGS += -DC2K_SUPPORT
+
+endif
+
+ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsds)
+ LOCAL_CFLAGS += -DANDROID_SIM_COUNT_2 \
+ -DANDROID_MULTI_SIM \
+ -DMODE_DSDS
+endif
+
+ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsss)
+ LOCAL_CFLAGS += -DMODE_DSSS
+endif
+
+$(warning ################# TARGET_PLATFORM: $(TARGET_PLATFORM))
+ifeq ($(strip $(TARGET_PLATFORM)), mt2731)
+$(warning ################# TARGET_PLATFORM_MT2731)
+ LOCAL_CFLAGS += -DTARGET_PLATFORM_MT2731 \
+ -DMD_93_SUPPORT
+else ifeq ($(strip $(TARGET_PLATFORM)), mt2635)
+$(warning ################# TARGET_PLATFORM_MT2635)
+ LOCAL_CFLAGS += -DTARGET_PLATFORM_MT2635 \
+ -DMD_90_SUPPORT
+endif
+
+$(warning ################# RITA ROOT: $(ROOT),includedir:$(includedir))
+LOCAL_PATH = .
+
+LOCAL_C_INCLUDES = \
+ -I. \
+ -I$(LOCAL_PATH)/include \
+
+
+LOCAL_LIBS := \
+ -L. \
+ -ldl \
+ -lpthread \
+
+
+SOURCES = $(wildcard *.c wildcard *.h src/*.c)
+
+EXECUTABLE = liblynq-thermal.so
+
+OBJECTS=$(SOURCES:.c=.o)
+
+
+.PHONY: build clean install pack_rootfs
+
+all: build
+$(EXECUTABLE): $(OBJECTS)
+ $(CXX) -shared -Wl,--no-undefined $(OBJECTS) $(LOCAL_LIBS) $(LOCAL_CFLAGS) $(LOCAL_C_INCLUDES) -o $@
+
+%.o : %.c
+ $(CC) $(LOCAL_C_INCLUDES) $(LOCAL_CFLAGS) $(LOCAL_LIBS) -o $@ -c $<
+
+build: $(EXECUTABLE)
+ $(warning ########## build $(EXECUTABLE) ##########)
+
+install:
+ mkdir -p $(ROOT)$(base_libdir)/
+ install $(EXECUTABLE) $(ROOT)$(base_libdir)/
+ mkdir -p $(ROOT)$(includedir)/$(NAME)/sdk
+
+pack_rootfs:
+ mkdir -p $(PACK_INITRAMFS_TO)$(base_libdir)/
+ cp -af $(EXECUTABLE) $(PACK_INITRAMFS_TO)$(base_libdir)/
+ $(CROSS)strip $(PACK_INITRAMFS_TO)$(base_libdir)/$(EXECUTABLE)
+ mkdir -p $(PACK_TO)$(base_libdir)/
+ cp -af $(EXECUTABLE) $(PACK_TO)$(base_libdir)/
+ $(CROSS)strip $(PACK_TO)$(base_libdir)/$(EXECUTABLE)
+
+.PHONY: clean
+clean:
+ $(RM) $(OBJECTS) $(EXECUTABLE)
diff --git a/src/lynq/lib/liblynq-thermal/src/lynq_get_thermal.c b/src/lynq/lib/liblynq-thermal/src/lynq_get_thermal.c
new file mode 100755
index 0000000..d1d38a1
--- /dev/null
+++ b/src/lynq/lib/liblynq-thermal/src/lynq_get_thermal.c
@@ -0,0 +1,76 @@
+#include <sys/types.h>
+#include <dirent.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include "liblynq-thermal/lynq_get_thermal.h"
+
+//merge from t800 start
+char* lynq_read_version()
+{
+ return "THERMAL-V1.0";
+}
+
+int read_sys_info(char *sys_path, char *out_buf, int out_buf_len)
+{
+ int fd, ret;
+ char buf[LYNQ_THM_PATH] = "";
+
+ if (NULL == out_buf)
+ return LYNQ_THM_ZONE_ERROR;
+
+ if ((access(sys_path, F_OK)) == -1)
+ return LYNQ_THM_ACCESS_ERROR;
+
+ fd = open(sys_path, O_RDONLY);
+
+ if (fd < 0)
+ {
+ //printf("[%s-%d] open error!!!\n", __FUNCTION__, __LINE__);
+ return LYNQ_THM_OPEN_ERROR;
+ }
+
+ ret = read(fd, buf, sizeof(buf));
+
+
+ if(ret<0)
+ {
+ close(fd);
+ //printf("[%s-%d] read error!!!\n", __FUNCTION__, __LINE__);
+ return LYNQ_THM_READ_ERROR;
+ }
+
+ memcpy(out_buf, buf, out_buf_len);
+ close(fd);
+
+ return LYNQ_THM_OK;
+}
+
+int lynq_get_zone_tmp(ZONE_NUM num, int *temp)
+{
+ char tz_path[LYNQ_THM_PATH] = "";
+ char buf[LYNQ_THM_PATH] = "";
+
+ if(num < 0 || num > 9)
+ {
+ return LYNQ_THM_ZONE_ERROR;
+ }
+
+ if(NULL == temp)
+ return LYNQ_THM_ZONE_ERROR;
+
+ sprintf(tz_path, "%s/%s%d/temp", TYPE_PATH_PRE, LYNQ_THM_ZONE_KEY, num);
+
+ int ret = read_sys_info(tz_path, buf, LYNQ_THM_PATH);
+ if(!ret)
+ {
+ if(strlen(buf))
+ *temp = atoi(buf);
+ }
+
+ return ret;
+}
+//merge from t800 end
\ No newline at end of file
diff --git a/src/lynq/packages/apps/lynq-cv2x/lynq_cv2x.service b/src/lynq/packages/apps/lynq-cv2x/lynq_cv2x.service
index e5ed56d..f475114 100755
--- a/src/lynq/packages/apps/lynq-cv2x/lynq_cv2x.service
+++ b/src/lynq/packages/apps/lynq-cv2x/lynq_cv2x.service
@@ -3,7 +3,7 @@
After=wmtd.service
[Service]
-StandardOutput =syslog+console
+StandardOutput=syslog+console
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/bin/lynq-cv2x
diff --git a/src/lynq/packages/apps/lynq-cv2x/src/cv2x-example.c b/src/lynq/packages/apps/lynq-cv2x/src/cv2x-example.c
index 9841a1c..7602db2 100755
--- a/src/lynq/packages/apps/lynq-cv2x/src/cv2x-example.c
+++ b/src/lynq/packages/apps/lynq-cv2x/src/cv2x-example.c
@@ -1,20 +1,24 @@
#include <stdio.h>
#include <stdlib.h>
+#include <unistd.h>
#include <log/log.h>
#define LOG_TAG "CV2X"
int main(int argc, const char *argv[])
{
- /*cv2x need gnss*/
+ system("echo out 19 0 > /sys/devices/platform/10005000.pinctrl/mt_gpio");//just for clt
system("echo mode 93 0 > /sys/devices/platform/10005000.pinctrl/mt_gpio");
system("echo mode 94 0 > /sys/devices/platform/10005000.pinctrl/mt_gpio");
system("echo mode 95 0 > /sys/devices/platform/10005000.pinctrl/mt_gpio");
system("echo mode 96 0 > /sys/devices/platform/10005000.pinctrl/mt_gpio");
system("stty -F /dev/ttyS6 115200");
+ char pwd[32] = {0};
+ chdir("/etc/cv2x");
+ getcwd(pwd, 32);
+ RLOGD("jenkins pwd %s\n", pwd);
system("/etc/cv2x/atk_flasher --baudrate 115200 -b serial /dev/ttyS6 /etc/cv2x/SECTON.packed_bin.rom.injected");
RLOGD("jenkins download already\n");
- system("export LD_LIBRARY_PATH=/etc/cv2x");
system("/etc/cv2x/cv2x-example /dev/spidev2.0 2");
return 0;
}
\ No newline at end of file