[Feature][T8TSK-81]Merged and upload MR3.0 New Modify content,merged meta-sdk,modem
Change-Id: Idb6c80fcf349c0db72e7ca3fa5b1fd7944ec1290
diff --git a/src/kernel/modules/connectivity/2.0/conninfra_driver/Makefile b/src/kernel/modules/connectivity/2.0/conninfra_driver/Makefile
index 67ec6d9..1ca5c6b 100755
--- a/src/kernel/modules/connectivity/2.0/conninfra_driver/Makefile
+++ b/src/kernel/modules/connectivity/2.0/conninfra_driver/Makefile
@@ -74,9 +74,11 @@
ccflags-y += -D CONFIG_CONNINFRA_THERMAL_SUPPORT=1
endif
-ifeq ($(ENABLE_TCXO), yes)
- ccflags-y += -D ENABLE_TCXO=1
-endif
+#Typethree@2023.2.01 modify for TCXO hw version start
+#ifeq ($(ENABLE_TCXO), yes)
+# ccflags-y += -D ENABLE_TCXO=1
+#endif
+#Typethree@2023.2.01 modify for TCXO hw version end
$(patsubst CONFIG_%, -DCFG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \
$(patsubst CONFIG_%, -DCFG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) \
diff --git a/src/kernel/modules/connectivity/2.0/conninfra_driver/platform/consys_hw.c b/src/kernel/modules/connectivity/2.0/conninfra_driver/platform/consys_hw.c
index 1415faa..f3d038d 100755
--- a/src/kernel/modules/connectivity/2.0/conninfra_driver/platform/consys_hw.c
+++ b/src/kernel/modules/connectivity/2.0/conninfra_driver/platform/consys_hw.c
@@ -21,6 +21,10 @@
#include <linux/of_device.h>
#include <linux/of_reserved_mem.h>
#include <linux/pinctrl/consumer.h>
+/*Typethree@2023.2.01 modify for TCXO hw version start*/
+#include <linux/gpio.h>
+/*Typethree@2023.2.01 modify for TCXO hw version start*/
+
#include "osal.h"
@@ -510,6 +514,12 @@
int mtk_conninfra_probe(struct platform_device *pdev)
{
int ret = -1;
+
+/*Typethree add for tcxo power problem 2023/02/03 start*/
+ int gpio_81 = 0;
+ int gpio_82 = 0;
+/*Typethree add for tcxo power problem 2023/02/03 start*/
+
#if CFG_CONNINFRA_FW_LOG_SUPPORT
struct consys_emi_addr_info* emi_info = NULL;
#endif
@@ -552,12 +562,21 @@
pr_err("pmic_mng init fail, %d\n", ret);
return -5;
}
+
+ /*Typethree add for tcxo power problem 2023/02/03 start*/
+ gpio_81 = gpio_get_value(81+268);
+ gpio_82 = gpio_get_value(82+268);
-#ifdef ENABLE_TCXO
- conn_hw_env.tcxo_support = true;
-#else
- consys_hw_tcxo_parser(pdev);
-#endif
+ if (gpio_81 != 0 && gpio_82 == 0)
+ {
+ conn_hw_env.tcxo_support = true;
+ }
+ else
+ {
+ consys_hw_tcxo_parser(pdev);
+ }
+ /*Typethree add for tcxo power problem 2023/02/03 end*/
+
#if CFG_CONNINFRA_FW_LOG_SUPPORT
/* Setup connsys log emi base */
diff --git a/src/kernel/modules/connectivity/2.0/gps_driver/data_link/hal/gps_dl_power_ctrl.c b/src/kernel/modules/connectivity/2.0/gps_driver/data_link/hal/gps_dl_power_ctrl.c
index 1da21c4..878c01b 100644
--- a/src/kernel/modules/connectivity/2.0/gps_driver/data_link/hal/gps_dl_power_ctrl.c
+++ b/src/kernel/modules/connectivity/2.0/gps_driver/data_link/hal/gps_dl_power_ctrl.c
@@ -33,7 +33,9 @@
#if GPS_DL_ON_CTP
#include "gps_dl_ctp.h"
#endif
-
+/*Typethree add for tcxo power problem 2023/01/12 start*/
+#include <asm/io.h>
+/*Typethree add for tcxo power problem 2023/01/12 end*/
/* TODO: move them into a single structure */
bool g_gps_common_on;
bool g_gps_dsp_on_array[GPS_DATA_LINK_NUM];
@@ -337,6 +339,18 @@
gps_dl_hw_gps_dsp_ctrl(GPS_L5_DSP_CLEAR_PWR_STAT);
}
+/*Typethree add for tcxo power problem 2023/01/12 start*/
+void gps_dl_hal_conn_power_ctrl_temp(unsigned int op)
+{
+ /*Troubleshoot the first GNSS startup failure due to no power supply for TCXO conn_vcn1.8*/
+ unsigned int md2gps_status = 0;
+ char *addr = ioremap(0x1000662c, 0x4);
+ md2gps_status = *(unsigned int *)addr;
+ md2gps_status = (md2gps_status & 0xFFFFFFFE)| op;
+ *(unsigned int *)addr = md2gps_status;
+ iounmap(addr);
+}
+/*Typethree add for tcxo power problem 2023/01/12 end*/
int gps_dl_hal_conn_power_ctrl(enum gps_dl_link_id_enum link_id, int op)
{
bool dma_en_flag = gps_dl_hal_get_dma_irq_en_flag();
@@ -349,6 +363,9 @@
if (1 == op) {
if (g_conn_user == 0) {
+/*Typethree add for tcxo power problem 2023/01/12 start*/
+ gps_dl_hal_conn_power_ctrl_temp(op);
+/*Typethree add for tcxo power problem 2023/01/12 end*/
gps_dl_log_info_show();
if (!gps_dl_hal_conn_infra_driver_on())
return -1;
@@ -383,6 +400,9 @@
gps_dl_wake_lock_hold(false);
#endif
gps_dl_hal_conn_infra_driver_off();
+/*Typethree add for tcxo power problem 2023/01/12 start*/
+ gps_dl_hal_conn_power_ctrl_temp(op);
+/*Typethree add for tcxo power problem 2023/01/12 end*/
}
}