[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: