{1, 1, {0x10}, 120}, /* sleep in */
};
+/* display off sequence for common lcd */
+const lcd_cmd_sequ g_common_466x466_cmd_display_off[] = {
+ {1, 2, {0xfe, 0x00}, 0}, /* select default cmd page */
+ {1, 1, {0x28}, 0}, /* display off */
+ {1, 1, {0x10}, 120}, /* sleep in */
+ {1, 2, {0x4f, 0x01}, 0}, /* 进deepstandby 状态 */
+};
+
/* sleep in sequence for common lcd */
const lcd_cmd_sequ g_common_cmd_sleep_in[] = {
{1, 2, {0xfe, 0x00}, 0}, /* select default cmd page */
.cmd_cnt = array_size(g_common_cmd_display_off),
};
+const lcd_cmds_sequ g_466x466_display_off_cmds = {
+ .cmd = g_common_466x466_cmd_display_off,
+ .cmd_cnt = array_size(g_common_466x466_cmd_display_off),
+};
+
const lcd_cmds_sequ g_idle_in_cmds = {
.cmd = g_common_cmd_idle_in,
.cmd_cnt = array_size(g_common_cmd_idle_in),
.fps = 60,
.lcd_id = LCD_EDO_466X466_SCREEN_ID,
.display_on_cmds = &g_edo_466x466_screen_init_on_cmds,
- .display_off_cmds = &g_display_off_cmds,
+ .display_off_cmds = &g_466x466_display_off_cmds,
.enter_idle_cmds = &g_idle_in_cmds,
.exit_idle_cmds = &g_idle_out_cmds,
.te_on_cmds = &g_te_on_cmds,
#include "gpio.h"
#include "pinctrl_porting.h"
#include "product.h"
-
+#include "pinctrl.h"
static void lcd_drv_power_on(void)
{
#ifndef QSPI_DISPLAY
uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_HIGH);
uapi_tcxo_delay_ms(10); /* delay 10 ms */
}
-
+#define USE_OUTPUT_CTL 1
static void lcd_drv_power_off(void)
{
+#if USE_OUTPUT_CTL
+ uapi_gpio_set_dir(RESET_LCD_GPIO, GPIO_DIRECTION_OUTPUT);
+ uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_LOW);
+ #ifndef QSPI_DISPLAY
+ uapi_gpio_set_dir(VCI_LCD_GPIO, GPIO_DIRECTION_OUTPUT);
+ uapi_gpio_set_val(VCI_LCD_GPIO, GPIO_LEVEL_LOW);
+ #endif
+ uapi_tcxo_delay_ms(10); /* delay 10 ms */
+ int resetvalue = uapi_gpio_get_output_val(RESET_LCD_GPIO);
+ int lcd_envalue = uapi_gpio_get_output_val(VCI_LCD_GPIO);
+ printf("Output RESET_LCD_GPIO %d , VCI_LCD_GPIO %d\r\n",resetvalue,lcd_envalue);
+#else
uapi_gpio_set_val(RESET_LCD_GPIO, GPIO_LEVEL_LOW);
uapi_gpio_set_dir(RESET_LCD_GPIO, GPIO_DIRECTION_INPUT); //设置成Input,是为了解决漏电 ??
-#ifndef QSPI_DISPLAY
+ uapi_pin_set_pull(RESET_LCD_GPIO, PIN_PULL_DOWN);
+ #ifndef QSPI_DISPLAY
uapi_gpio_set_val(VCI_LCD_GPIO, GPIO_LEVEL_LOW);
uapi_gpio_set_dir(VCI_LCD_GPIO, GPIO_DIRECTION_INPUT);
-#endif
+ uapi_pin_set_pull(VCI_LCD_GPIO, PIN_PULL_DOWN);
+ #endif
uapi_tcxo_delay_ms(10); /* delay 10 ms */
+ int resetvalue = uapi_gpio_get_val(RESET_LCD_GPIO);
+ int lcd_envalue = uapi_gpio_get_val(VCI_LCD_GPIO);
+ printf("Input RESET_LCD_GPIO %d , VCI_LCD_GPIO %d\r\n",resetvalue,lcd_envalue);
+#endif
+
}
static lcd_drv_private g_lcd_private_api = {