From 557c24d082b6ecb9bfe5407b77ae43fa7650a5dc Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 17 Feb 2023 11:02:20 +0000
Subject: [PATCH] add eDP LVDS PCIE WIFI6

---
 kernel/drivers/misc/nkio/nk_io_core.c |  102 +++++++++++++++++++++++++++------------------------
 1 files changed, 54 insertions(+), 48 deletions(-)

diff --git a/kernel/drivers/misc/nkio/nk_io_core.c b/kernel/drivers/misc/nkio/nk_io_core.c
index e084fb3..b9db2bd 100755
--- a/kernel/drivers/misc/nkio/nk_io_core.c
+++ b/kernel/drivers/misc/nkio/nk_io_core.c
@@ -61,11 +61,8 @@
 {
 	struct device_node *node = pdev->dev.of_node;
 	struct nk_io_pdata *pdata;	
-	int gpio0, gpio1, gpio2, gpio3, reset_pin, ch342_reset;
 	int ret;
-        int lvds_index;
-        int i=0;
-        static int lvds_gpio[4] ;
+
 
 	enum of_gpio_flags flags;
 	
@@ -97,7 +94,7 @@
 			goto err;
 		}
 	}
-	
+#if 0	
 	//vcc3_io_en_gpio
 	ret = of_get_named_gpio_flags(node, "vcc3_io_en_gpio", 0, &flags);
 	if (ret < 0) {
@@ -117,7 +114,7 @@
 			goto err;
 		}
 	}
-
+#endif
         //vcc_12v_io
         ret = of_get_named_gpio_flags(node, "vcc_12v_io", 0, &flags);
         if (ret < 0) {
@@ -287,7 +284,24 @@
 	                   printk("%s() gpio_direction_output hp_en_gpio set ERROR\n", __FUNCTION__);
 	           }
 	   }
-	   
+#if 0		
+			      //pcie_power_en_gpio
+	   ret = of_get_named_gpio_flags(node, "pcie_power_en_gpio", 0, &flags);
+	   if (ret < 0) {
+	           printk("%s() Can not read property pcie_power_en_gpio\n", __FUNCTION__);
+	   } else {
+	           pdata->pcie_power_en_gpio = ret;
+
+	           ret = devm_gpio_request(&pdev->dev, pdata->pcie_power_en_gpio, "pcie_power_en_gpio");
+	           if(ret < 0){
+	                   printk("%s() devm_gpio_request pcie_power_en_gpio request ERROR\n", __FUNCTION__);
+	           }
+	           ret = gpio_direction_output(pdata->pcie_power_en_gpio,1);
+	           if(ret < 0){
+	                   printk("%s() gpio_direction_output pcie_power_en_gpio set ERROR\n", __FUNCTION__);
+	           }
+	   }
+#endif	   
 	      //wifi_power_en_gpio
 	   ret = of_get_named_gpio_flags(node, "wifi_power_en_gpio", 0, &flags);
 	   if (ret < 0) {
@@ -377,24 +391,42 @@
 		}
 	} 
   
-   //ch342_enable-gpio;
-	ret = of_get_named_gpio_flags(node, "ch342_power", 0, &flags);
+   //lcd_bk_en_gpio;
+	ret = of_get_named_gpio_flags(node, "lcd_bk_en_gpio", 0, &flags);
 	if (ret < 0) {
-		printk("%s() Can not read property ch342_gpio\n", __FUNCTION__);
+		printk("%s() Can not read property lcd_bk_en_gpio\n", __FUNCTION__);
 	} else {
-		pdata->ch342_power = ret;
+		pdata->lcd_bk_en_gpio = ret;
 
-		ret = devm_gpio_request(&pdev->dev, pdata->ch342_power, "ch342_power");
+		ret = devm_gpio_request(&pdev->dev, pdata->lcd_bk_en_gpio, "lcd_bk_en_gpio");
 		if(ret < 0){
-			printk("%s() devm_gpio_request ch342_power request ERROR\n", __FUNCTION__);
+			printk("%s() devm_gpio_request lcd_bk_en_gpio request ERROR\n", __FUNCTION__);
 		}
 		
-		ret = gpio_direction_output(pdata->ch342_power,1);
+		ret = gpio_direction_output(pdata->lcd_bk_en_gpio,1);
 		if(ret < 0){
-			printk("%s() gpio_direction_input ch342_power set ERROR\n", __FUNCTION__);
+			printk("%s() gpio_direction_output lcd_bk_en_gpio set ERROR\n", __FUNCTION__);
 		}
 	}   
-*/
+	
+	   //lcd_pwblk_gpio;
+	ret = of_get_named_gpio_flags(node, "lcd_pwblk_gpio", 0, &flags);
+	if (ret < 0) {
+		printk("%s() Can not read property lcd_pwblk_gpio\n", __FUNCTION__);
+	} else {
+		pdata->lcd_pwblk_gpio = ret;
+
+		ret = devm_gpio_request(&pdev->dev, pdata->lcd_pwblk_gpio, "lcd_pwblk_gpio");
+		if(ret < 0){
+			printk("%s() devm_gpio_request lcd_pwblk_gpio request ERROR\n", __FUNCTION__);
+		}
+		
+		ret = gpio_direction_output(pdata->lcd_pwblk_gpio,1);
+		if(ret < 0){
+			printk("%s() gpio_direction_output lcd_pwblk_gpio set ERROR\n", __FUNCTION__);
+		}
+	} 
+
 
         //edp_set_pixel-s
          ret = of_get_named_gpio_flags(node, "edp_reset", 0, &flags);
@@ -498,6 +530,12 @@
 	gpio_direction_output(gpio2, lvds_gpio[2]);
 	gpio_direction_output(gpio3, lvds_gpio[3]);
 	
+
+	gpio_direction_output(reset_pin, 0);
+    usleep_range(80000, 100000);
+    gpio_direction_output(reset_pin, 1);
+    usleep_range(80000, 100000);
+*/
 	printk(" #######nk_io_control_probe end####### \n");
 	return 0;
 	
@@ -542,38 +580,6 @@
 
 static int nk_io_control_resume(struct platform_device *pdev)
 {
-       int ret,reset_pin;
-        printk("nk_io resume !!!!\n");
-        ret = gpio_get_value(120);
-
-#if 0
-        gpio_set_value(8,1);
-	ret = gpio_get_value(8);
-	printk("vcc12v gpio value : %d\n",ret);
-#endif
-#if 0
-        gpio_set_value(15,1);
-	ret = gpio_get_value(15);
-	printk("edp_en gpio value : %d\n",ret);
-        gpio_set_value(21,1);
-	ret = gpio_get_value(21);
-	printk("hub_host3_5v_gpio value : %d\n",ret);
-#endif
-#if 0
-        usleep_range(80000, 100000);
-        gpio_set_value(120,0);
-//      gpio_direction_output(120, 0);
-        usleep_range(80000, 100000);
-        ret = gpio_get_value(120);
-        printk("edp_reset gpio value : %d\n",ret);
-//      gpio_direction_output(120, 1);
-        gpio_set_value(120,1);
-        usleep_range(80000, 100000);
-        ret = gpio_get_value(120);
-        printk("edp_reset gpio value : %d\n",ret);
-#endif
-        //enable = 1;
-        //LED_SET(11);
         return 0;
 }
 

--
Gitblit v1.6.2