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