[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/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)