huangcm
2025-02-28 b45e871a67cd1272e3da9ba5bd383f832b0f1824
fix(mipi): fix mipi resume err
6 files modified
36 ■■■■■ changed files
longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-10-800-1280.dtsi 5 ●●●●● patch | view | raw | blame | history
longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-5-720-1280.dtsi 4 ●●●● patch | view | raw | blame | history
longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-8-800-1280.dtsi 7 ●●●● patch | view | raw | blame | history
longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_10_800x1280.c 6 ●●●●● patch | view | raw | blame | history
longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_5_720x1280.c 6 ●●●●● patch | view | raw | blame | history
longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_8_800x1280.c 8 ●●●●● patch | view | raw | blame | history
longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-10-800-1280.dtsi
....@@ -202,12 +202,13 @@
202202 //lcd_pin_power2 = "dldo2";
203203
204204 lcd_power = "dc1sw";
205
- lcd_bl_en = <&pio PD 21 1 0 3 1>;
205
+ // lcd_bl_en = <&pio PD 21 1 0 3 1>;
206206
207207 // reset
208208 lcd_gpio_0 = <&pio PE 5 1 0 3 1>;
209
+
209210 // power
210
- //lcd_gpio_1 = <&pio PD 21 1 0 3 1>;
211
+ lcd_gpio_1 = <&pio PD 21 1 0 3 1>;
211212
212213 pinctrl-0 = <&dsi4lane_pins_a>;
213214 pinctrl-1 = <&dsi4lane_pins_b>;
longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-5-720-1280.dtsi
....@@ -202,12 +202,12 @@
202202 //lcd_pin_power2 = "dldo2";
203203
204204 lcd_power = "dc1sw";
205
- lcd_bl_en = <&pio PD 21 1 0 3 1>;
205
+ // lcd_bl_en = <&pio PD 21 1 0 3 1>;
206206
207207 // reset
208208 lcd_gpio_0 = <&pio PE 5 1 0 3 1>;
209209 // power
210
- //lcd_gpio_1 = <&pio PD 21 1 0 3 1>;
210
+ lcd_gpio_1 = <&pio PD 21 1 0 3 1>;
211211
212212 pinctrl-0 = <&dsi4lane_pins_a>;
213213 pinctrl-1 = <&dsi4lane_pins_b>;
longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/lcd-mipi-8-800-1280.dtsi
....@@ -202,12 +202,13 @@
202202 //lcd_pin_power2 = "dldo2";
203203
204204 lcd_power = "dc1sw";
205
- lcd_bl_en = <&pio PD 21 1 0 3 1>;
205
+ // lcd_bl_en = <&pio PD 21 1 0 3 1>;
206206
207207 // reset
208208 lcd_gpio_0 = <&pio PE 5 1 0 3 1>;
209
+
209210 // power
210
- //lcd_gpio_1 = <&pio PD 21 1 0 3 1>;
211
+ lcd_gpio_1 = <&pio PD 21 1 0 3 1>;
211212
212213 pinctrl-0 = <&dsi4lane_pins_a>;
213214 pinctrl-1 = <&dsi4lane_pins_b>;
....@@ -215,3 +216,5 @@
215216 //pinctrl-1 = <&lvds0_pins_b>;
216217 };
217218 };
219
+
220
+
longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_10_800x1280.c
....@@ -107,8 +107,10 @@
107107 panel_reset(sel, 0);
108108 sunxi_lcd_power_enable(sel, 0);
109109 sunxi_lcd_pin_cfg(sel, 1);
110
- //sunxi_lcd_power_enable(sel, 1);
111
- sunxi_lcd_delay_ms(50);
110
+ sunxi_lcd_power_enable(sel, 1);
111
+
112
+ sunxi_lcd_gpio_set_value(sel, 1, 1);
113
+ sunxi_lcd_delay_ms(200);
112114 panel_reset(sel, 1);
113115 sunxi_lcd_delay_ms(10);
114116 panel_reset(sel, 0);
longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_5_720x1280.c
....@@ -109,8 +109,10 @@
109109 panel_reset(sel, 0);
110110 sunxi_lcd_power_enable(sel, 0);
111111 sunxi_lcd_pin_cfg(sel, 1);
112
- //sunxi_lcd_power_enable(sel, 1);
113
- sunxi_lcd_delay_ms(50);
112
+ sunxi_lcd_power_enable(sel, 1);
113
+
114
+ sunxi_lcd_gpio_set_value(sel, 1, 1);
115
+ sunxi_lcd_delay_ms(200);
114116 panel_reset(sel, 1);
115117 sunxi_lcd_delay_ms(10);
116118 panel_reset(sel, 0);
longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/mipi_8_800x1280.c
....@@ -105,12 +105,13 @@
105105 static void lcd_power_on(u32 sel)
106106 {
107107
108
-
109108 panel_reset(sel, 0);
110109 sunxi_lcd_power_enable(sel, 0);
111110 sunxi_lcd_pin_cfg(sel, 1);
112
- //sunxi_lcd_power_enable(sel, 1);
113
- sunxi_lcd_delay_ms(50);
111
+ sunxi_lcd_power_enable(sel, 1);
112
+
113
+ sunxi_lcd_gpio_set_value(sel, 1, 1);
114
+ sunxi_lcd_delay_ms(200);
114115 panel_reset(sel, 1);
115116 sunxi_lcd_delay_ms(10);
116117 panel_reset(sel, 0);
....@@ -123,6 +124,7 @@
123124 {
124125 panel_reset(sel, 0);
125126 sunxi_lcd_delay_ms(1);
127
+ // sunxi_lcd_gpio_set_value(sel, 1, 0);
126128 sunxi_lcd_power_disable(sel, 1);
127129 sunxi_lcd_delay_ms(1);
128130 sunxi_lcd_power_disable(sel, 0);