static void lcm_suspend(void) { //SET_RESET_PIN(0); //CH7035B reset control //lcm_util.set_gpio_mode(GPIO60, GPIO_MODE_00); //lcm_util.set_gpio_dir(GPIO60, GPIO_DIR_OUT); //lcm_util.set_gpio_out(GPIO60, GPIO_OUT_ZERO); // HDMI_POWER_EN //lcm_util.set_gpio_mode(GPIO47, GPIO_MODE_00); //lcm_util.set_gpio_dir(GPIO47, GPIO_DIR_OUT); //lcm_util.set_gpio_out(GPIO47, GPIO_OUT_ZERO); // LCM_BL_ENABLE //MDELAY(10); lcm_util.set_gpio_mode(GPIO51, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO51, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO51, GPIO_OUT_ZERO); // LVDS_SHUTDOWN_N MDELAY(10); lcm_util.set_gpio_mode(GPIO48, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO48, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO48, GPIO_OUT_ZERO); // LCM_STBY MDELAY(10); lcm_util.set_gpio_mode(GPIO49, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO49, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO49, GPIO_OUT_ZERO); // LCM_RST MDELAY(10); lcm_util.set_gpio_mode(GPIO52, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO52, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO52, GPIO_OUT_ZERO); // LCM_VLED_EN MDELAY(60); // avoid LCD resume transint }
static void config_gpio(void) { lcm_util.set_gpio_mode(LSSHUT_GPIO_PIN, GPIO_MODE_00); lcm_util.set_gpio_mode(LSCE_GPIO_PIN, GPIO_DISP_LSCE_PIN_M_GPIO); lcm_util.set_gpio_mode(LSCK_GPIO_PIN, GPIO_DISP_LSCK_PIN_M_GPIO); lcm_util.set_gpio_mode(LSDA_GPIO_PIN, GPIO_DISP_LSDA_PIN_M_GPIO); lcm_util.set_gpio_mode(LSDIN_GPIO_PIN, GPIO_MODE_00); lcm_util.set_gpio_dir(LSSHUT_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_dir(LSCE_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_dir(LSCK_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_dir(LSDA_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_dir(LSDIN_GPIO_PIN, GPIO_DIR_IN); //lcm_util.set_gpio_pull_enable(LSSHUT_GPIO_PIN, GPIO_PULL_DISABLE); lcm_util.set_gpio_pull_enable(LSCE_GPIO_PIN, GPIO_PULL_DISABLE); lcm_util.set_gpio_pull_enable(LSCK_GPIO_PIN, GPIO_PULL_DISABLE); lcm_util.set_gpio_pull_enable(LSDA_GPIO_PIN, GPIO_PULL_DISABLE); lcm_util.set_gpio_pull_enable(LSDIN_GPIO_PIN, GPIO_PULL_ENABLE); mt_set_gpio_pull_select(LSDIN_GPIO_PIN, GPIO_PULL_UP); }
static void config_gpio(void) { dbg_print("===> [ILI9481_DPI] <%s %s> %s:%d %s(): : \n", __DATE__, __TIME__, __FILE__, __LINE__, __func__); const unsigned int USED_GPIOS[] = { LSCE_GPIO_PIN, LSCK_GPIO_PIN, LSDA_GPIO_PIN }; unsigned int i; lcm_util.set_gpio_mode(LSA0_GPIO_PIN, GPIO_DISP_LSA0_PIN_M_GPIO); lcm_util.set_gpio_mode(LSCE_GPIO_PIN, GPIO_DISP_LSCE_PIN_M_GPIO); lcm_util.set_gpio_mode(LSCK_GPIO_PIN, GPIO_DISP_LSCK_PIN_M_GPIO); lcm_util.set_gpio_mode(LSDA_GPIO_PIN, GPIO_DISP_LSDA_PIN_M_GPIO); for (i = 0; i < ARY_SIZE(USED_GPIOS); ++ i) { lcm_util.set_gpio_dir(USED_GPIOS[i], 1); // GPIO out lcm_util.set_gpio_pull_enable(USED_GPIOS[i], 0); } // Swithc LSA0 pin to GPIO mode to avoid data contention, // since A0 is connected to LCM's SPI SDO pin // lcm_util.set_gpio_dir(LSA0_GPIO_PIN, 0); // GPIO in }
static void lcm_resume(void) { //SET_RESET_PIN(1); //CH7035B reset control //lcm_util.set_gpio_mode(GPIO60, GPIO_MODE_00); //lcm_util.set_gpio_dir(GPIO60, GPIO_DIR_OUT); //lcm_util.set_gpio_out(GPIO60, GPIO_OUT_ONE); // HDMI_POWER_EN lcm_util.set_gpio_mode(GPIO48, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO48, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO48, GPIO_OUT_ONE); // LCM_STBY MDELAY(5); lcm_util.set_gpio_mode(GPIO52, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO52, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO52, GPIO_OUT_ONE); // LCM_VLED_EN MDELAY(50); lcm_util.set_gpio_mode(GPIO49, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO49, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO49, GPIO_OUT_ONE); // LCM_RST MDELAY(5); lcm_util.set_gpio_mode(GPIO51, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO51, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO51, GPIO_OUT_ONE); // LVDS_SHUTDOWN_N MDELAY(120); //lcm_util.set_gpio_mode(GPIO47, GPIO_MODE_00); //lcm_util.set_gpio_dir(GPIO47, GPIO_DIR_OUT); //lcm_util.set_gpio_out(GPIO47, GPIO_OUT_ONE); // LCM_BL_ENABLE }
static void config_gpio(void) { LCM_DEBUG("[LCM_gionee: config_gpio. \n"); const unsigned int USED_GPIOS[] = { LSDI_GPIO_PIN, LSCE_GPIO_PIN, LSCK_GPIO_PIN, LSDA_GPIO_PIN, }; unsigned int i; for (i = 0; i < ARY_SIZE(USED_GPIOS); ++i) { #ifdef GN_MTK_BSP_LCD_SW_SPI lcm_util.set_gpio_mode(USED_GPIOS[i],GPIO_MODE_00); #else lcm_util.set_gpio_mode(USED_GPIOS[i],GPIO_MODE_01); #endif lcm_util.set_gpio_dir(USED_GPIOS[i], 1); lcm_util.set_gpio_pull_enable(USED_GPIOS[i], 0); } #ifdef GN_MTK_BSP_LCD_SW_SPI lcm_util.set_gpio_dir(LSDI_GPIO_PIN, 0); #endif }
static void config_gpio(void) { const unsigned int USED_GPIOS[] = { LSCE_GPIO_PIN, LSCK_GPIO_PIN, LSDA_GPIO_PIN }; unsigned int i; lcm_util.set_gpio_mode(LSA0_GPIO_PIN, GPIO_DISP_LSA0_PIN_M_GPIO); lcm_util.set_gpio_mode(LSCE_GPIO_PIN, GPIO_DISP_LSCE_PIN_M_GPIO); lcm_util.set_gpio_mode(LSCK_GPIO_PIN, GPIO_DISP_LSCK_PIN_M_GPIO); lcm_util.set_gpio_mode(LSDA_GPIO_PIN, GPIO_DISP_LSDA_PIN_M_GPIO); for (i = 0; i < ARY_SIZE(USED_GPIOS); ++ i) { lcm_util.set_gpio_dir(USED_GPIOS[i], 1); // GPIO out lcm_util.set_gpio_pull_enable(USED_GPIOS[i], 0); } // Swithc LSA0 pin to GPIO mode to avoid data contention, // since A0 is connected to LCM's SPI SDO pin // lcm_util.set_gpio_dir(LSA0_GPIO_PIN, 0); // GPIO in }
static void lcm_resume(void) { SET_RESET_PIN(1); lcm_util.set_gpio_mode(GPIO47, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO47, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO47, GPIO_OUT_ONE); // LCM_BL_ENABLE lcm_util.set_gpio_mode(GPIO52, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO52, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO52, GPIO_OUT_ONE); // LCM_VLED_EN MDELAY(120); // avoid LCD resume transint }
static void lcm_init(void) { SET_RESET_PIN(0); MDELAY(10); SET_RESET_PIN(1); lcm_util.set_gpio_mode(GPIO47, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO47, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO47, GPIO_OUT_ONE); // LCM_BL_ENABLE lcm_util.set_gpio_mode(GPIO52, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO52, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO52, GPIO_OUT_ONE); // LCM_VLED_EN }
static void lcm_suspend(void) { SET_RESET_PIN(0); lcm_util.set_gpio_mode(GPIO47, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO47, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO47, GPIO_OUT_ZERO); // LCM_BL_ENABLE lcm_util.set_gpio_mode(GPIO52, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO52, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO52, GPIO_OUT_ZERO); // LCM_VLED_EN MDELAY(60); // avoid LCD resume transint }
static void lcm_init(void) { #ifdef BUILD_LK printf("shaokai:lcm_init"); #endif lcm_util.set_gpio_mode(GPIO_LCM_AVDD_EN_PIN, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO_LCM_AVDD_EN_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO_LCM_AVDD_EN_PIN, GPIO_OUT_ONE); // LCM_AVDD MDELAY(50); lcm_util.set_gpio_mode(GPIO_LVDS_LCD_SHUTDOWN_EN, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO_LVDS_LCD_SHUTDOWN_EN, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO_LVDS_LCD_SHUTDOWN_EN, GPIO_OUT_ONE); // LVDS_SHUTDOWN_N MDELAY(120); }
static void lcm_resume(void) { lcm_util.set_gpio_mode(GPIO18, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO18, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO18, GPIO_OUT_ONE); // RST MDELAY(30); lcm_util.set_gpio_mode(GPIO52, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO52, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO52, GPIO_OUT_ONE); // LCM_VLED_EN MDELAY(30); lcm_util.set_gpio_mode(GPIO47, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO47, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO47, GPIO_OUT_ONE); // LCM_BL_ENABLE MDELAY(60); }
static void lcm_suspend(void) { unsigned int data_array[16]; data_array[0]=0x00280500; dsi_set_cmdq(data_array, 1, 1); MDELAY(10); data_array[0] = 0x00100500; dsi_set_cmdq(data_array, 1, 1); MDELAY(120);//delay more for 3 frames time 17*3=54ms data_array[0] = 0x04B02900; dsi_set_cmdq(data_array, 1, 1); data_array[0] = 0x00000500; dsi_set_cmdq(data_array, 1, 1); data_array[0] = 0x00000500; dsi_set_cmdq(data_array, 1, 1); data_array[0] = 0x01B12900;//Deep standby dsi_set_cmdq(data_array, 1, 1); lcm_util.set_gpio_mode(GPIO112, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO112, GPIO_DIR_OUT); lcm_util.set_gpio_pull_enable(GPIO112, GPIO_PULL_DISABLE); lcm_util.set_gpio_out(GPIO112 , 0); MDELAY(2); SET_GPIO_OUT(LCD_LDO_ENN_GPIO_PIN , 0); MDELAY(10); SET_GPIO_OUT(LCD_LDO_ENP_GPIO_PIN , 0); }
static void lcm_suspend(void) { lcm_util.set_gpio_mode(GPIO12, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO12, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO12, GPIO_OUT_ZERO); // LCM_DISP MDELAY(50); }
static void lcm_resume(void) { lcm_util.set_gpio_mode(GPIO12, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO12, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO12, GPIO_OUT_ONE); // LCM_DISP MDELAY(50); }
static void lcm_resume(void) { lcm_util.set_gpio_mode(GPIO12, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO12, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO12, GPIO_OUT_ONE); // LCM_STBY MDELAY(50); lcm_util.set_gpio_mode(GPIO14, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO14, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO14, GPIO_OUT_ONE); // LCM_RST //SET_RESET_PIN(1); // LCM_RST MDELAY(50); lcm_util.set_gpio_mode(GPIO52, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO52, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO52, GPIO_OUT_ONE); // LVDS_SHUTDOWN_N MDELAY(120); }
static void lcm_suspend(void) { lcm_util.set_gpio_mode(GPIO52, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO52, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO52, GPIO_OUT_ZERO); // LVDS_SHUTDOWN_N MDELAY(10); lcm_util.set_gpio_mode(GPIO12, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO12, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO12, GPIO_OUT_ZERO); // LCM_STBY MDELAY(50); lcm_util.set_gpio_mode(GPIO14, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO14, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO14, GPIO_OUT_ZERO); // LCM_RST //SET_RESET_PIN(0); // LCM_RST MDELAY(60); // avoid LCD resume transint }
// --------------------------------------------------------------------------- // Local Functions // --------------------------------------------------------------------------- static void config_gpio(void) { lcm_util.set_gpio_mode(LSA0_GPIO_PIN, GPIO_MODE_01); lcm_util.set_gpio_mode(LSCE_GPIO_PIN, GPIO_MODE_01); lcm_util.set_gpio_mode(LSCK_GPIO_PIN, GPIO_MODE_01); lcm_util.set_gpio_mode(LSDA_GPIO_PIN, GPIO_MODE_01); lcm_util.set_gpio_dir(LSA0_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_dir(LSCE_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_dir(LSCK_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_dir(LSDA_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_pull_enable(LSA0_GPIO_PIN, GPIO_PULL_DISABLE); lcm_util.set_gpio_pull_enable(LSCE_GPIO_PIN, GPIO_PULL_DISABLE); lcm_util.set_gpio_pull_enable(LSCK_GPIO_PIN, GPIO_PULL_DISABLE); lcm_util.set_gpio_pull_enable(LSDA_GPIO_PIN, GPIO_PULL_DISABLE); }
static void lcm_init(void) { #if 0 //cause reset pin bug, we change to uart pin lcm_util.set_gpio_mode(GPIO24,GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO24,GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO24,1); MDELAY(50); //recommand 10ms (+50ms) 300ms //cause reset pin bug, we change to uart pin lcm_util.set_gpio_mode(GPIO77,GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO77,GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO77,1); MDELAY(10); lcm_util.set_gpio_out(GPIO77,0); MDELAY(30); //recommand 10ms lcm_util.set_gpio_out(GPIO77,1); MDELAY(200); //recommand 10ms (+50ms) 300ms #else SET_RESET_PIN(1); MDELAY(5); SET_RESET_PIN(0); MDELAY(10); SET_RESET_PIN(1); MDELAY(50); init_lcm_registers(); #endif #if 0 SET_RESET_PIN(1); SET_RESET_PIN(0); MDELAY(1); SET_RESET_PIN(1); MDELAY(20); init_lcm_registers(); #endif }
static void lcm_init(void) { lcm_util.set_gpio_dir(GPIO138, GPIO_DIR_OUT); lcm_util.set_gpio_mode(GPIO138, GPIO_MODE_01); //program reset pin SET_RESET_PIN(0); MDELAY(25); SET_RESET_PIN(1); MDELAY(50); }
static void lcm_init(void) { lcm_util.set_gpio_dir(GPIO138, GPIO_DIR_OUT); lcm_util.set_gpio_mode(GPIO138, GPIO_MODE_01); SET_RESET_PIN(0); MDELAY(25); SET_RESET_PIN(1); MDELAY(50); // init_lcm_registers(); }
static void lcm_suspend(void) { lcm_util.set_gpio_mode(GPIO14, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO14, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO14, GPIO_OUT_ZERO); // LCD_RST MDELAY(10); //lcm_util.set_gpio_mode(GPIO96, GPIO_MODE_00); //lcm_util.set_gpio_dir(GPIO96, GPIO_DIR_OUT); //lcm_util.set_gpio_out(GPIO96, GPIO_OUT_ZERO); // LCD_PWREN //MDELAY(10); }
static void lcm_init(void) { #ifdef BUILD_UBOOT // do nothing in uboot #else lcm_util.set_gpio_mode(GPIO12, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO12, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO12, GPIO_OUT_ONE); // LCM_STBY MDELAY(50); lcm_util.set_gpio_mode(GPIO14, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO14, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO14, GPIO_OUT_ONE); // LCM_RST //SET_RESET_PIN(1); // LCM_RST MDELAY(50); lcm_util.set_gpio_mode(GPIO52, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO52, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO52, GPIO_OUT_ONE); // LVDS_SHUTDOWN_N MDELAY(120); #endif }
static void lcm_init(void) { //lcm_util.set_gpio_mode(GPIO96, GPIO_MODE_00); //lcm_util.set_gpio_dir(GPIO96, GPIO_DIR_OUT); //lcm_util.set_gpio_out(GPIO96, GPIO_OUT_ONE); // LCD_PWREN //MDELAY(10); lcm_util.set_gpio_mode(GPIO14, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO14, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO14, GPIO_OUT_ONE); // LCD_RST MDELAY(10); }
static void config_gpio(void) { lcm_util.set_gpio_mode(LSCE_GPIO_PIN, GPIO_MODE_00); lcm_util.set_gpio_mode(LSCK_GPIO_PIN, GPIO_MODE_00); lcm_util.set_gpio_mode(LSDA_GPIO_PIN, GPIO_MODE_00); lcm_util.set_gpio_dir(LSCE_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_dir(LSCK_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_dir(LSDA_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_pull_enable(LSCE_GPIO_PIN, GPIO_PULL_DISABLE); lcm_util.set_gpio_pull_enable(LSCK_GPIO_PIN, GPIO_PULL_DISABLE); lcm_util.set_gpio_pull_enable(LSDA_GPIO_PIN, GPIO_PULL_DISABLE); SET_LSCE_HIGH; SET_LSCK_HIGH; SET_LSDA_HIGH; MDELAY(100); }
static void lcm_resume(void) { #if ( !defined(BUILD_LK)) && (!defined(BUILD_UBOOT)) if (down_interruptible(&sem_lcm_resume)) { //printk("[fb driver] can't get semaphore:%d\n", __LINE__); return; } #endif lcm_util.set_gpio_mode(GPIO_LCM_AVDD_EN_PIN, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO_LCM_AVDD_EN_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO_LCM_AVDD_EN_PIN, GPIO_OUT_ONE); // LCM_AVDD MDELAY(50); lcm_util.set_gpio_mode(GPIO_LVDS_LCD_SHUTDOWN_EN, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO_LVDS_LCD_SHUTDOWN_EN, GPIO_DIR_OUT); lcm_util.set_gpio_out(GPIO_LVDS_LCD_SHUTDOWN_EN, GPIO_OUT_ONE); // LVDS_SHUTDOWN_N MDELAY(120); #if ( !defined(BUILD_LK)) && (!defined(BUILD_UBOOT)) up(&sem_lcm_resume); #endif }
static void lcm_gpio_set(int num, int enable) { #ifdef BUILD_LK printf("\n\n\n===================== %s %d: num:%d => %d =======================\n\n\n", __func__, __LINE__, num, enable); #endif lcm_util.set_gpio_mode(num, GPIO_MODE_00); lcm_util.set_gpio_dir(num, GPIO_DIR_OUT); if (enable) lcm_util.set_gpio_out(num, GPIO_OUT_ONE); else lcm_util.set_gpio_out(num, GPIO_OUT_ZERO); }
// --------------------------------------------------------------------------- // LCM Driver Implementations // --------------------------------------------------------------------------- static void config_gpio(void) { lcm_util.set_gpio_mode(LSCE_GPIO_PIN, GPIO_DISP_LSCE_PIN_M_GPIO); lcm_util.set_gpio_mode(LSCK_GPIO_PIN, GPIO_DISP_LSCK_PIN_M_GPIO); lcm_util.set_gpio_mode(LSDA_GPIO_PIN, GPIO_DISP_LSDA_PIN_M_GPIO); lcm_util.set_gpio_mode(LSDI_GPIO_PIN, GPIO_MODE_00); lcm_util.set_gpio_dir(LSCE_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_dir(LSCK_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_dir(LSDA_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_dir(LSDI_GPIO_PIN, GPIO_DIR_IN); lcm_util.set_gpio_pull_enable(LSCE_GPIO_PIN, GPIO_PULL_DISABLE); lcm_util.set_gpio_pull_enable(LSCK_GPIO_PIN, GPIO_PULL_DISABLE); lcm_util.set_gpio_pull_enable(LSDA_GPIO_PIN, GPIO_PULL_DISABLE); lcm_util.set_gpio_pull_enable(LSDI_GPIO_PIN, GPIO_PULL_ENABLE); mt_set_gpio_pull_select(LSDI_GPIO_PIN, GPIO_PULL_UP); //set pwm output clk lcm_util.set_gpio_mode(SSD2825_MIPI_CLK_GPIO_PIN, GPIO_MODE_02); lcm_util.set_gpio_dir(SSD2825_MIPI_CLK_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_pull_enable(SSD2825_MIPI_CLK_GPIO_PIN, GPIO_PULL_DISABLE); lcd_set_pwm(PWM0); MDELAY(10); //set ssd2825 shut ping high lcm_util.set_gpio_mode(SSD2825_SHUT_GPIO_PIN, GPIO_MODE_00); lcm_util.set_gpio_dir(SSD2825_SHUT_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_pull_enable(SSD2825_SHUT_GPIO_PIN, GPIO_PULL_DISABLE); SET_GPIO_OUT(SSD2825_SHUT_GPIO_PIN , 1); MDELAY(1); //set ssd2825 poweron lcm_util.set_gpio_mode(SSD2825_POWER_GPIO_PIN, GPIO_MODE_00); lcm_util.set_gpio_dir(SSD2825_POWER_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_pull_enable(SSD2825_POWER_GPIO_PIN, GPIO_PULL_DISABLE); SET_GPIO_OUT(SSD2825_POWER_GPIO_PIN , 1); MDELAY(1); //set s6e8aa poweron lcm_util.set_gpio_mode(LCD_POWER_GPIO_PIN, GPIO_MODE_00); lcm_util.set_gpio_dir(LCD_POWER_GPIO_PIN, GPIO_DIR_OUT); lcm_util.set_gpio_pull_enable(LCD_POWER_GPIO_PIN, GPIO_PULL_DISABLE); SET_GPIO_OUT(LCD_POWER_GPIO_PIN , 1); MDELAY(50); }
static void lcm_init(void) { lcm_util.set_gpio_mode(GPIO_DISP_LRSTB_PIN, GPIO_MODE_00); //huawei use GPIO 49: LSA0 to be reset pin lcm_util.set_gpio_dir(GPIO_DISP_LRSTB_PIN, GPIO_DIR_OUT); /*Optimization LCD initialization time*/ lcm_util.set_gpio_out(GPIO_DISP_LRSTB_PIN, GPIO_OUT_ONE); mdelay(30); //lcm power on , reset output high , delay 30ms ,then output low lcm_util.set_gpio_out(GPIO_DISP_LRSTB_PIN, GPIO_OUT_ZERO); msleep(30); lcm_util.set_gpio_out(GPIO_DISP_LRSTB_PIN, GPIO_OUT_ONE); msleep(50); push_table(tianma_ips_init, sizeof(tianma_ips_init) / sizeof(struct LCM_setting_table), 1); #ifdef BUILD_LK printf("LCD otm9608a_tianma lcm_init\n"); #else printk("LCD otm9608a_tianma lcm_init\n"); #endif }
static void lcm_init(void) { lcm_util.set_gpio_mode(GPIO112, GPIO_MODE_00); lcm_util.set_gpio_dir(GPIO112, GPIO_DIR_OUT); lcm_util.set_gpio_pull_enable(GPIO112, GPIO_PULL_DISABLE); lcm_util.set_gpio_out(GPIO112 , 0); MDELAY(50); SET_GPIO_OUT(LCD_LDO_ENP_GPIO_PIN , 1); MDELAY(10); SET_GPIO_OUT(LCD_LDO_ENN_GPIO_PIN , 1); MDELAY(100); lcm_util.set_gpio_out(GPIO112 , 1); MDELAY(20); init_lcm_registers(); }
static void config_gpio_for_read(void) { LCM_DEBUG("[LCM_gionee: config_gpio_for read. \n"); const unsigned int USED_GPIOS[] = { LSDI_GPIO_PIN, LSCE_GPIO_PIN, LSCK_GPIO_PIN, LSDA_GPIO_PIN, }; unsigned int i; for (i = 0; i < ARY_SIZE(USED_GPIOS); ++i) { lcm_util.set_gpio_mode(USED_GPIOS[i],GPIO_MODE_00); lcm_util.set_gpio_dir(USED_GPIOS[i], 1); } lcm_util.set_gpio_dir(LSDI_GPIO_PIN, 0); lcm_util.set_gpio_pull_enable(USED_GPIOS[i], 0); }