[Feature][T8TSK-153][GNSS]GPIO-81 and GPIO-82 were used to distinguish TMS or TCXO hw version

Change-Id: Ifa24cd33ed8e6547f4d9f8f2e3750dcc50ee3e63
diff --git a/src/kernel/linux/v4.19/arch/arm64/boot/dts/mediatek/auto2735evb.dts b/src/kernel/linux/v4.19/arch/arm64/boot/dts/mediatek/auto2735evb.dts
index 33798e2..0bf6e80 100755
--- a/src/kernel/linux/v4.19/arch/arm64/boot/dts/mediatek/auto2735evb.dts
+++ b/src/kernel/linux/v4.19/arch/arm64/boot/dts/mediatek/auto2735evb.dts
@@ -850,7 +850,9 @@
 		pins_bus {
 			pinmux = <PINMUX_GPIO81__FUNC_SDA5>,
 				 <PINMUX_GPIO82__FUNC_SCL5>;
-                        bias-pull-up;
+//Typethree@2023.2.01 modify for cancel internal pull-up start
+                        bias-disable;
+//Typethree@2023.2.01 modify for cancel internal pull-up end
 			mediatek,res-sel = <3>;
                 };
         };
diff --git a/src/kernel/linux/v4.19/drivers/soc/mediatek/Kconfig b/src/kernel/linux/v4.19/drivers/soc/mediatek/Kconfig
index 9db3153..7945f5c 100755
--- a/src/kernel/linux/v4.19/drivers/soc/mediatek/Kconfig
+++ b/src/kernel/linux/v4.19/drivers/soc/mediatek/Kconfig
@@ -83,16 +83,9 @@
 	  platform could enter deeper sleep mode when cpu preparing to
 	  power down if it have sufficient time between warmboot.
 
-config MTK_TCXO_SUPPORT
-	bool "MediaTek SCPSYS Support"
-	default n
-	help
-	  Say yes here to add support for the MediaTek TCXO in connsys
-	  power domain, and TCXO is for customer request and it is better
-	  than tsx, has better performance and quailty.
-	  Select Y if you use TCXO.
-	  If unsure select "N".
+#Typethree@2023.2.01 modify for TCXO hw version start
 
+#Typethree@2023.2.01 modify for TCXO hw version end
 
 config MTK_IPI
 	tristate "MediaTek IPI Support"
diff --git a/src/kernel/linux/v4.19/drivers/soc/mediatek/mtk-scpsys.c b/src/kernel/linux/v4.19/drivers/soc/mediatek/mtk-scpsys.c
index 6540816..2c822d1 100755
--- a/src/kernel/linux/v4.19/drivers/soc/mediatek/mtk-scpsys.c
+++ b/src/kernel/linux/v4.19/drivers/soc/mediatek/mtk-scpsys.c
@@ -25,6 +25,9 @@
 #include <dt-bindings/power/mt8173-power.h>
 #include <dt-bindings/power/mt6880-power.h>
 #include <dt-bindings/power/mt6890-power.h>
+/*Typethree add for tcxo power problem 2023/01/30 start*/
+#include <linux/gpio.h>
+/*Typethree add for tcxo power problem 2023/01/30 end*/
 #include "mtk-scpsys.h"
 
 #define MTCMOS_BRINGUP      0
@@ -652,26 +655,28 @@
 	struct scp_domain *scpd = container_of(genpd, struct scp_domain, genpd);
 	struct scp *scp = scpd->scp;
 	void __iomem *ctl_addr = scp->base + scpd->data->ctl_offs;
-/*Typethree add for tcxo power problem 2023/01/12 start*/
-#ifdef CONFIG_MTK_TCXO_SUPPORT
-    void __iomem *conn_status_addr = scp->base + CONN_STATUS;
-#endif
-/*Typethree add for tcxo power problem 2023/01/12 end*/
-	u32 val;
+    
+    u32 val;
 	int ret, tmp;
-/*Typethree add for tcxo power problem 2023/01/12 start*/
-#ifdef CONFIG_MTK_TCXO_SUPPORT
-	val = readl(conn_status_addr);
-	if (strcmp(genpd->name, "conn") == 0) {
-		if ((val & CONN_STATUS_BIT) == CONN_STATUS_BIT)
-			dev_err(scp->dev, "gps try to power on\n");
-		else {
-			dev_err(scp->dev, "Skip conn power on\n");
-			return 0;
-		}
-	}
-#endif
-/*Typethree add for tcxo power problem 2023/01/12 end*/
+	
+/*Typethree add for tcxo power problem 2023/01/30 start*/
+	int gpio_81 = gpio_get_value(81+268);
+	int gpio_82 = gpio_get_value(82+268);
+    void __iomem *conn_status_addr = scp->base + CONN_STATUS;
+
+    if (gpio_81 != 0 && gpio_82 == 0) //TCXO open
+    {
+        val = readl(conn_status_addr);
+        if (strcmp(genpd->name, "conn") == 0) {
+            if ((val & CONN_STATUS_BIT) == CONN_STATUS_BIT)
+                dev_err(scp->dev, "gps try to power on\n");
+            else {
+                dev_err(scp->dev, "Skip conn power on\n");
+                return 0;
+            }
+        }
+    }
+/*Typethree add for tcxo power problem 2023/01/30 end*/
 
 	ret = scpsys_regulator_enable(scpd);
 	if (ret < 0)
@@ -778,23 +783,27 @@
 	struct scp_domain *scpd = container_of(genpd, struct scp_domain, genpd);
 	struct scp *scp = scpd->scp;
 	void __iomem *ctl_addr = scp->base + scpd->data->ctl_offs;
-#ifdef CONFIG_MTK_TCXO_SUPPORT
-    void __iomem *conn_status_addr = scp->base + CONN_STATUS;
-#endif
+
 	u32 val;
 	int ret, tmp;
+/*Typethree add for tcxo power problem 2023/01/30 start*/
+	int gpio_81 = gpio_get_value(81+268);
+	int gpio_82 = gpio_get_value(82+268);
+    void __iomem *conn_status_addr = scp->base + CONN_STATUS;
 
-#ifdef CONFIG_MTK_TCXO_SUPPORT
-	val = readl(conn_status_addr);
-	if (strcmp(genpd->name, "conn") == 0) {
-		if ((val & CONN_STATUS_BIT) == CONN_STATUS_BIT)
-			dev_err(scp->dev, "gps try to power off\n");
-		else {
-			dev_err(scp->dev, "Skip conn power off\n");
-			return 0;
-		}
-	}
-#endif
+    if (gpio_81 != 0 && gpio_82 == 0)
+    {
+        val = readl(conn_status_addr);
+        if (strcmp(genpd->name, "conn") == 0) {
+            if ((val & CONN_STATUS_BIT) == CONN_STATUS_BIT)
+                dev_err(scp->dev, "gps try to power off\n");
+            else {
+                dev_err(scp->dev, "Skip conn power off\n");
+                return 0;
+            }
+        }
+    }
+/*Typethree add for tcxo power problem 2023/01/30 end*/
 
 	ret = scpsys_bus_protect_enable(scpd);
 	if (ret < 0)
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 */