From b45e871a67cd1272e3da9ba5bd383f832b0f1824 Mon Sep 17 00:00:00 2001
From: huangcm <1263938474@qq.com>
Date: Fri, 28 Feb 2025 02:12:19 +0000
Subject: [PATCH] fix(mipi): fix mipi resume err

---
 longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-10-800-1280.dtsi         |    5 +++--
 longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-5-720-1280.dtsi          |    4 ++--
 longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_10_800x1280.c |    6 ++++--
 longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_8_800x1280.c  |    8 +++++---
 longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_5_720x1280.c  |    6 ++++--
 longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-8-800-1280.dtsi          |    7 +++++--
 6 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-10-800-1280.dtsi b/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-10-800-1280.dtsi
index 6e4408a..e0fdaba 100644
--- a/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-10-800-1280.dtsi
+++ b/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-10-800-1280.dtsi
@@ -202,12 +202,13 @@
                         //lcd_pin_power2 = "dldo2";
 
                         lcd_power = "dc1sw";
-			lcd_bl_en = <&pio PD 21 1 0 3 1>;
+			// lcd_bl_en = <&pio PD 21 1 0 3 1>;
 			
 			// reset
                         lcd_gpio_0 = <&pio PE 5 1 0 3 1>;
+                        
 			// power
-                        //lcd_gpio_1 = <&pio PD 21 1 0 3 1>;
+                        lcd_gpio_1 = <&pio PD 21 1 0 3 1>;
 
                         pinctrl-0 = <&dsi4lane_pins_a>;
                         pinctrl-1 = <&dsi4lane_pins_b>;
diff --git a/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-5-720-1280.dtsi b/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-5-720-1280.dtsi
index 0fcc8b1..df6abec 100755
--- a/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-5-720-1280.dtsi
+++ b/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-5-720-1280.dtsi
@@ -202,12 +202,12 @@
                         //lcd_pin_power2 = "dldo2";
 
                         lcd_power = "dc1sw";
-			lcd_bl_en = <&pio PD 21 1 0 3 1>;
+			// lcd_bl_en = <&pio PD 21 1 0 3 1>;
 			
 			// reset
                         lcd_gpio_0 = <&pio PE 5 1 0 3 1>;
 			// power
-                        //lcd_gpio_1 = <&pio PD 21 1 0 3 1>;
+                        lcd_gpio_1 = <&pio PD 21 1 0 3 1>;
 
                         pinctrl-0 = <&dsi4lane_pins_a>;
                         pinctrl-1 = <&dsi4lane_pins_b>;
diff --git a/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-8-800-1280.dtsi b/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-8-800-1280.dtsi
index a630b7a..5ba178d 100644
--- a/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-8-800-1280.dtsi
+++ b/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-8-800-1280.dtsi
@@ -202,12 +202,13 @@
                         //lcd_pin_power2 = "dldo2";
 
                         lcd_power = "dc1sw";
-			lcd_bl_en = <&pio PD 21 1 0 3 1>;
+			// lcd_bl_en = <&pio PD 21 1 0 3 1>;
 			
 			// reset
                         lcd_gpio_0 = <&pio PE 5 1 0 3 1>;
+                        
 			// power
-                        //lcd_gpio_1 = <&pio PD 21 1 0 3 1>;
+                        lcd_gpio_1 = <&pio PD 21 1 0 3 1>;
 
                         pinctrl-0 = <&dsi4lane_pins_a>;
                         pinctrl-1 = <&dsi4lane_pins_b>;
@@ -215,3 +216,5 @@
                         //pinctrl-1 = <&lvds0_pins_b>;
                 };
 	};
+
+
diff --git a/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_10_800x1280.c b/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_10_800x1280.c
index abaa3e1..87fdec6 100755
--- a/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_10_800x1280.c
+++ b/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_10_800x1280.c
@@ -107,8 +107,10 @@
 	panel_reset(sel, 0);
 	sunxi_lcd_power_enable(sel, 0);
 	sunxi_lcd_pin_cfg(sel, 1);
-	//sunxi_lcd_power_enable(sel, 1);
-	sunxi_lcd_delay_ms(50);
+	sunxi_lcd_power_enable(sel, 1);
+
+    sunxi_lcd_gpio_set_value(sel, 1, 1);
+    sunxi_lcd_delay_ms(200);
 	panel_reset(sel, 1);
 	sunxi_lcd_delay_ms(10);
 	panel_reset(sel, 0);
diff --git a/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_5_720x1280.c b/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_5_720x1280.c
index c93f70e..91e002a 100755
--- a/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_5_720x1280.c
+++ b/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_5_720x1280.c
@@ -109,8 +109,10 @@
 	panel_reset(sel, 0);
 	sunxi_lcd_power_enable(sel, 0);
 	sunxi_lcd_pin_cfg(sel, 1);
-	//sunxi_lcd_power_enable(sel, 1);
-	sunxi_lcd_delay_ms(50);
+	sunxi_lcd_power_enable(sel, 1);
+
+    sunxi_lcd_gpio_set_value(sel, 1, 1);
+    sunxi_lcd_delay_ms(200);
 	panel_reset(sel, 1);
 	sunxi_lcd_delay_ms(10);
 	panel_reset(sel, 0);
diff --git a/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_8_800x1280.c b/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_8_800x1280.c
index f504ab1..0239d83 100755
--- a/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_8_800x1280.c
+++ b/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_8_800x1280.c
@@ -105,12 +105,13 @@
 static void lcd_power_on(u32 sel)
 {
 	
-
 	panel_reset(sel, 0);
 	sunxi_lcd_power_enable(sel, 0);
 	sunxi_lcd_pin_cfg(sel, 1);
-	//sunxi_lcd_power_enable(sel, 1);
-	sunxi_lcd_delay_ms(50);
+	sunxi_lcd_power_enable(sel, 1);
+	
+    sunxi_lcd_gpio_set_value(sel, 1, 1);
+    sunxi_lcd_delay_ms(200);
 	panel_reset(sel, 1);
 	sunxi_lcd_delay_ms(10);
 	panel_reset(sel, 0);
@@ -123,6 +124,7 @@
 {
 	panel_reset(sel, 0);
 	sunxi_lcd_delay_ms(1);
+    // sunxi_lcd_gpio_set_value(sel, 1, 0);
 	sunxi_lcd_power_disable(sel, 1);
 	sunxi_lcd_delay_ms(1);
 	sunxi_lcd_power_disable(sel, 0);

--
Gitblit v1.6.2