[Feature][T106_eSDK]update from T106-V2.01.01.02P56U09.AP.17.02_CAP.17.02.02 to T106-V2.01.01.02P56U09.AP.17.09_CAP.17.09.01 -- patch
Only Configure: No
Affected branch: master
Affected module: unknow
Is it affected on both ZXIC and MTK: only ZXIC
Self-test: Yes
Doc Update: No
Change-Id: I1292080cceeede74c0d5767e73eb20ae25d244e7
diff --git a/patch/17.02_17.09/code/17.02_17.09.diff b/patch/17.02_17.09/code/17.02_17.09.diff
new file mode 100755
index 0000000..48f0d7e
--- /dev/null
+++ b/patch/17.02_17.09/code/17.02_17.09.diff
@@ -0,0 +1,249 @@
+From fedbd6ef919755f1b12df8d3a094b8aada3c0ec6 Mon Sep 17 00:00:00 2001
+From: xf.li <xf.li@mobiletek.cn>
+Date: Mon, 02 Dec 2024 01:43:27 -0800
+Subject: [PATCH] [Feature][T106_eSDK]update from T106-V2.01.01.02P56U09.AP.17.02_CAP.17.02.02 to T106-V2.01.01.02P56U09.AP.17.09_CAP.17.09.01 -- code
+
+Only Configure: No
+Affected branch: master
+Affected module: unknow
+Is it affected on both ZXIC and MTK: only ZXIC
+Self-test: Yes
+Doc Update: No
+
+Change-Id: I68b16bb5bc66b9961235b3451b288c56bbde5cb6
+---
+
+diff --git a/esdk/layers/meta-zxic-custom/conf/distro/vehicle_dc_ref.conf b/esdk/layers/meta-zxic-custom/conf/distro/vehicle_dc_ref.conf
+index e90d0da..50c2f6e 100755
+--- a/esdk/layers/meta-zxic-custom/conf/distro/vehicle_dc_ref.conf
++++ b/esdk/layers/meta-zxic-custom/conf/distro/vehicle_dc_ref.conf
+@@ -468,5 +468,5 @@
+ MOBILETEK_LOG_ENCRYPT = "disable"
+
+ LYNQ_CONFIG_COMMITID = "e2a3410390ff0ad762462ccb6af8faa5e16dcd61"
+-LYNQ_CONFIG_VERSION = "T106-V2.01.01.02P56U09.AP.17.02_CAP.17.02.02"
+-LYNQ_CONFIG_SW_VERSION = "T106-V2.01.01.02P56U09.AP.17.02_CAP.17.02"
++LYNQ_CONFIG_VERSION = "T106-V2.01.01.02P56U09.AP.17.09_CAP.17.09.01"
++LYNQ_CONFIG_SW_VERSION = "T106-V2.01.01.02P56U09.AP.17.09_CAP.17.09.01"
+diff --git a/esdk/layers/meta-zxic-custom/conf/lynq_base.conf b/esdk/layers/meta-zxic-custom/conf/lynq_base.conf
+index e391546..8126a9e 100755
+--- a/esdk/layers/meta-zxic-custom/conf/lynq_base.conf
++++ b/esdk/layers/meta-zxic-custom/conf/lynq_base.conf
+@@ -67,6 +67,6 @@
+ #OEMAPP_CFG value:"PLATFORM","GSW"
+ MOBILETEK_OEMAPP_CFG = "PLATFORM"
+
+-LYNQ_CONFIG_COMMITID = "9aea88bb79cfb2fae9ddab87f8307126d618aec2"
+-LYNQ_CONFIG_VERSION = "T106-V2.01.01.02P56U09.AP.17.02_CAP.17.02.02"
+-LYNQ_CONFIG_SW_VERSION = "T106-V2.01.01.02P56U09.AP.17.02_CAP.17.02"
++LYNQ_CONFIG_COMMITID = "db2a7e1b3aa519b00153f78dcb223c2eb539f891"
++LYNQ_CONFIG_VERSION = "T106-V2.01.01.02P56U09.AP.17.09_CAP.17.09.01"
++LYNQ_CONFIG_SW_VERSION = "T106-V2.01.01.02P56U09.AP.17.09_CAP.17.09.01"
+diff --git a/esdk/layers/meta-zxic-custom/recipes-lynq/liblynq-qser-gnss/liblynq-qser-gnss.bb b/esdk/layers/meta-zxic-custom/recipes-lynq/liblynq-qser-gnss/liblynq-qser-gnss.bb
+index dd600c2..287b0ba 100755
+--- a/esdk/layers/meta-zxic-custom/recipes-lynq/liblynq-qser-gnss/liblynq-qser-gnss.bb
++++ b/esdk/layers/meta-zxic-custom/recipes-lynq/liblynq-qser-gnss/liblynq-qser-gnss.bb
+@@ -46,7 +46,7 @@
+
+ if [ -d "${WORKONSRC}" ] ; then
+ install -d ${D}${includedir}/
+- cp -raf ${SRC-DIR}/include/ ${D}${includedir}/
++ cp -raf ${SRC-DIR}/include/lynq_qser_gnss.h ${D}${includedir}/
+ fi
+ if [ "${MOBILETEK_GNSS_UPDATE_ENABLE}" = "yes" ]; then
+ install -d ${D}/data/gnss_update
+diff --git a/esdk/layers/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq-qser-network-demo.cpp b/esdk/layers/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq-qser-network-demo.cpp
+index ad38820..2d45d7d 100755
+--- a/esdk/layers/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq-qser-network-demo.cpp
++++ b/esdk/layers/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq-qser-network-demo.cpp
+@@ -17,6 +17,7 @@
+ int (*qser_nw_client_init_p)(nw_client_handle_type * ph_nw);
+ int (*qser_nw_client_deinit_p)(nw_client_handle_type h_nw);
+ int (*qser_nw_set_config_p)(nw_client_handle_type h_nw, QSER_NW_CONFIG_INFO_T *pt_info);
++int (*qser_nw_get_config_p)(nw_client_handle_type h_nw, QSER_NW_CONFIG_INFO_T *pt_info);
+ int (*qser_nw_get_operator_name_p)(nw_client_handle_type h_nw, QSER_NW_OPERATOR_NAME_INFO_T *pt_info );
+ int (*qser_nw_get_reg_status_p)(nw_client_handle_type h_nw, QSER_NW_REG_STATUS_INFO_T *pt_info);
+ int (*qser_nw_add_rx_msg_handler_p)(nw_client_handle_type h_nw, QSER_NW_RxMsgHandlerFunc_t handlerPtr,void* contextPtr);
+@@ -44,6 +45,7 @@
+ qser_nw_client_init_p = (int (*)(nw_client_handle_type * ph_nw))dlsym(handle_network,"qser_nw_client_init");
+ qser_nw_client_deinit_p = (int (*)(nw_client_handle_type h_nw))dlsym(handle_network,"qser_nw_client_deinit");
+ qser_nw_set_config_p = (int (*)(nw_client_handle_type h_nw, QSER_NW_CONFIG_INFO_T *pt_info))dlsym(handle_network,"qser_nw_set_config");
++ qser_nw_get_config_p = (int (*)(nw_client_handle_type h_nw, QSER_NW_CONFIG_INFO_T *pt_info))dlsym(handle_network,"qser_nw_get_config");
+ qser_nw_get_operator_name_p = (int (*)(nw_client_handle_type h_nw, QSER_NW_OPERATOR_NAME_INFO_T *pt_info ))dlsym(handle_network,"qser_nw_get_operator_name");
+ qser_nw_get_reg_status_p = (int (*)(nw_client_handle_type h_nw, QSER_NW_REG_STATUS_INFO_T *pt_info))dlsym(handle_network,"qser_nw_get_reg_status");
+ qser_nw_get_signal_strength_p = (int (*)(nw_client_handle_type h_nw, QSER_NW_SIGNAL_STRENGTH_INFO_T *pt_info))dlsym(handle_network,"qser_nw_get_signal_strength");
+@@ -55,7 +57,7 @@
+ qser_nw_set_ims_enable_p = (int (*)(nw_client_handle_type h_nw, E_QSER_NW_IMS_MODE_TYPE_T ims_mode))dlsym(handle_network,"qser_nw_set_ims_enable");
+ qser_nw_get_ims_reg_status_p = (int (*)(nw_client_handle_type h_nw, QSER_NW_IMS_REG_STATUS_INFO_T *pt_info))dlsym(handle_network,"qser_nw_get_ims_reg_status");
+
+- if(qser_nw_client_deinit_p==NULL || qser_nw_client_init_p==NULL || qser_nw_set_config_p ==NULL ||
++ if(qser_nw_client_deinit_p==NULL || qser_nw_client_init_p==NULL || qser_nw_set_config_p ==NULL || qser_nw_get_config_p ==NULL ||
+ qser_nw_get_operator_name_p == NULL || qser_nw_get_reg_status_p ==NULL || qser_nw_add_rx_msg_handler_p==NULL ||
+ qser_nw_set_rf_mode_p == NULL || qser_nw_get_rf_mode_p == NULL || qser_nw_get_oos_config_p == NULL || qser_nw_set_oos_config_p == NULL ||
+ qser_nw_set_ims_enable_p == NULL || qser_nw_get_ims_reg_status_p == NULL)
+@@ -100,7 +102,8 @@
+ {9, "qser_nw_get_rf_mode"},
+ {10, "qser_nw_set_ims_enable"},
+ {11, "qser_nw_get_ims_reg_status"},
+- {12, "qser_nw_client_deinit"},
++ {12, "qser_nw_get_config"},
++ {13, "qser_nw_client_deinit"},
+ {-1, "quit"}
+ };
+
+@@ -452,7 +455,7 @@
+
+ break;
+ }
+- case 12://"qser_nw_client_deinit"
++ case 13://"qser_nw_client_deinit"
+ {
+ ret = qser_nw_client_deinit_p(h_nw);
+ printf("qser_nw_client_deinit ret = %d\n", ret);
+@@ -610,7 +613,14 @@
+ t_info.registration_state);
+ }
+ break;
+- }
++ }
++ case 12://"qser_nw_get_config"
++ {
++ QSER_NW_CONFIG_INFO_T t_info = {0};
++ ret = qser_nw_get_config_p(h_nw, &t_info);
++ printf("qser_nw_get_config ret = %d\n, nw_mode is %llu", ret,t_info.preferred_nw_mode);
++ break;
++ }
+ default:
+ {
+ show_group_help(&t_nw_test);
+diff --git a/esdk/layers/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq_qser_network.h b/esdk/layers/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq_qser_network.h
+index 56e2ce0..aee4285 100755
+--- a/esdk/layers/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq_qser_network.h
++++ b/esdk/layers/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq_qser_network.h
+@@ -401,6 +401,12 @@
+ QSER_NW_CONFIG_INFO_T *pt_info
+ );
+
++int qser_nw_get_config
++(
++ nw_client_handle_type h_nw,
++ QSER_NW_CONFIG_INFO_T *pt_info
++);
++
+ int qser_nw_set_ims_enable
+ (
+ nw_client_handle_type h_nw,
+diff --git a/esdk/layers/meta-zxic-selinux/recipes-security/refpolicy/files/policy-mls/policy/modules/system/logging.te b/esdk/layers/meta-zxic-selinux/recipes-security/refpolicy/files/policy-mls/policy/modules/system/logging.te
+index fe01295..3eabb0a 100755
+--- a/esdk/layers/meta-zxic-selinux/recipes-security/refpolicy/files/policy-mls/policy/modules/system/logging.te
++++ b/esdk/layers/meta-zxic-selinux/recipes-security/refpolicy/files/policy-mls/policy/modules/system/logging.te
+@@ -5,6 +5,7 @@
+ # Declarations
+ #
+
++
+ attribute logfile;
+
+ type auditctl_t;
+@@ -323,6 +324,8 @@
+ allow klogd_t self:capability sys_admin;
+ dontaudit klogd_t self:capability { sys_resource sys_tty_config };
+ allow klogd_t self:process signal_perms;
++allow klogd_t kernel_t:fd { use };
++allow klogd_t root_t:chr_file { read write };
+
+ manage_dirs_pattern(klogd_t, klogd_tmp_t, klogd_tmp_t)
+ manage_files_pattern(klogd_t, klogd_tmp_t, klogd_tmp_t)
+@@ -620,7 +623,8 @@
+ xserver_rw_console(syslogd_t)
+ ')
+ gen_require(`
+- type default_t;
++ type root_t;
++ type default_t;
+ type nvserver_t;
+ type mnt_t;
+ type tmpfs_t;
+@@ -670,7 +674,8 @@
+ allow syslogd_t default_t:lnk_file { read };
+ allow syslogd_t mnt_t:dir { search };
+ allow syslogd_t tmpfs_t:dir { write add_name remove_name search };
+-
++allow syslogd_t root_t:chr_file { read write };
++allow syslogd_t mnt_t:file { getattr open append };
+ allow syslogd_t self:capability { sys_rawio };
+
+
+diff --git a/esdk/layers/meta-zxic/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-lynq-spidev.h.patch b/esdk/layers/meta-zxic/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-lynq-spidev.h.patch
+new file mode 100755
+index 0000000..289bf13
+--- /dev/null
++++ b/esdk/layers/meta-zxic/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-lynq-spidev.h.patch
+@@ -0,0 +1,30 @@
++diff --git a/include/uapi/linux/spi/spidev.h b/include/uapi/linux/spi/spidev.h
++old mode 100644
++new mode 100755
++index d56427c..d69bab6
++--- a/include/uapi/linux/spi/spidev.h
+++++ b/include/uapi/linux/spi/spidev.h
++@@ -146,6 +146,22 @@ struct spi_ioc_transfer {
++ #define SPI_IOC_RD_MODE32 _IOR(SPI_IOC_MAGIC, 5, __u32)
++ #define SPI_IOC_WR_MODE32 _IOW(SPI_IOC_MAGIC, 5, __u32)
++
++-
+++/* Read data from buffer or device */
+++#define SPI_IOC_RD_RD_DATA_FROM _IOR(SPI_IOC_MAGIC, 6, __u8)
+++#define SPI_IOC_WR_RD_DATA_FROM _IOW(SPI_IOC_MAGIC, 6, __u8)
+++
+++/* Set signal pid */
+++#define SPI_IOC_RD_SIG_PID _IOR(SPI_IOC_MAGIC, 7, __u32)
+++#define SPI_IOC_WR_SIG_PID _IOW(SPI_IOC_MAGIC, 7, __u32)
+++
+++/* get int status */
+++#define SPI_IOC_RD_INT_ST _IOR(SPI_IOC_MAGIC, 8, __u32)
+++#define SPI_IOC_WR_INT_ST _IOW(SPI_IOC_MAGIC, 8, __u32)
+++
+++/* yu.dong@20240617 [T106BUG-641] SPI packet loss problem, add kernel buffer scheme start*/
+++/* release from rd/wr block */
+++#define SPI_IOC_RD_BLOCK_RELEASE _IOR(SPI_IOC_MAGIC, 9, __u32)
+++//#define SPI_IOC_WR_INT_ST _IOW(SPI_IOC_MAGIC, 9, __u32)
+++/* yu.dong@20240617 [T106BUG-641] SPI packet loss problem, add kernel buffer scheme end*/
++
++ #endif /* SPIDEV_H */
+diff --git a/esdk/layers/meta-zxic/recipes-kernel/linux-libc-headers/linux-libc-headers_5.10.bb b/esdk/layers/meta-zxic/recipes-kernel/linux-libc-headers/linux-libc-headers_5.10.bb
+index 98ea747..d528304 100755
+--- a/esdk/layers/meta-zxic/recipes-kernel/linux-libc-headers/linux-libc-headers_5.10.bb
++++ b/esdk/layers/meta-zxic/recipes-kernel/linux-libc-headers/linux-libc-headers_5.10.bb
+@@ -6,7 +6,7 @@
+ file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \
+ file://0001-include-linux-stddef.h-in-swab.h-uapi-header.patch \
+ "
+-
++#xf.li@20241023 modify for libc-headers start
+ SRC_URI_append = "\
+ file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \
+ file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \
+@@ -14,8 +14,9 @@
+ file://0002-add-zxic-rpmsg_zx29.h.patch \
+ file://0003-add-zxic-bsp_api_h.patch \
+ file://0001-mtd-abi.h.patch \
++ file://0001-lynq-spidev.h.patch \
+ "
+-
++#xf.li@20241023 modify for libc-headers end
+ LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+
+ SRC_URI[md5sum] = "753adc474bf799d569dec4f165ed92c3"
+diff --git a/upstream/linux-5.10/drivers/soc/sc/pcu/pcu-zx297520v3.c b/upstream/linux-5.10/drivers/soc/sc/pcu/pcu-zx297520v3.c
+index f9b23d7..e8d8e88 100755
+--- a/upstream/linux-5.10/drivers/soc/sc/pcu/pcu-zx297520v3.c
++++ b/upstream/linux-5.10/drivers/soc/sc/pcu/pcu-zx297520v3.c
+@@ -729,7 +729,7 @@
+ switch (action) {
+
+ case PM_POST_SUSPEND:
+- __pm_wakeup_event(zx_main_ws, 1000);
++ __pm_wakeup_event(zx_main_ws, 500);//LYNQ_AUTOSUSPEND add for bug-view-372 by jb.qi on 20241114
+ break;
+
+ default: