static void monarudo_set_backlight(struct msm_fb_data_type *mfd) { int rc; write_display_brightness[2] = monarudo_shrink_pwm((unsigned char)(mfd->bl_level)); if (resume_blk) { resume_blk = 0; if (system_rev == XB) { gpio_tlmm_config(GPIO_CFG(MBAT_IN_XA_XB, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA), GPIO_CFG_ENABLE); gpio_set_value(MBAT_IN_XA_XB, 1); } else if (system_rev >= XC) { gpio_tlmm_config(GPIO_CFG(BL_HW_EN_XC_XD, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA), GPIO_CFG_ENABLE); gpio_set_value(BL_HW_EN_XC_XD, 1); } rc = i2c_smbus_write_byte_data(blk_pwm_client, 0x10, 0xC5); if (rc) pr_err("i2c write fail\n"); rc = i2c_smbus_write_byte_data(blk_pwm_client, 0x19, 0x13); if (rc) pr_err("i2c write fail\n"); rc = i2c_smbus_write_byte_data(blk_pwm_client, 0x14, 0xC2); if (rc) pr_err("i2c write fail\n"); rc = i2c_smbus_write_byte_data(blk_pwm_client, 0x79, 0xFF); if (rc) pr_err("i2c write fail\n"); rc = i2c_smbus_write_byte_data(blk_pwm_client, 0x1D, 0xFA); if (rc) pr_err("i2c write fail\n"); } cmdreq.cmds = (struct dsi_cmd_desc*)&renesas_cmd_backlight_cmds; cmdreq.cmds_cnt = 1; cmdreq.flags = CMD_REQ_COMMIT; if (mfd && mfd->panel_info.type == MIPI_CMD_PANEL) cmdreq.flags |= CMD_CLK_CTRL; cmdreq.rlen = 0; cmdreq.cb = NULL; mipi_dsi_cmdlist_put(&cmdreq); if((mfd->bl_level) == 0) { if (system_rev == XB) { gpio_tlmm_config(GPIO_CFG(MBAT_IN_XA_XB, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA), GPIO_CFG_ENABLE); gpio_set_value(MBAT_IN_XA_XB, 0); } else if (system_rev >= XC) { gpio_tlmm_config(GPIO_CFG(BL_HW_EN_XC_XD, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA), GPIO_CFG_ENABLE); gpio_set_value(BL_HW_EN_XC_XD, 0); } resume_blk = 1; } return; }
static void monarudo_set_backlight(struct msm_fb_data_type *mfd) { int rc; if (mdp4_overlay_dsi_state_get() <= ST_DSI_SUSPEND) { return; } write_display_brightness[2] = monarudo_shrink_pwm((unsigned char)(mfd->bl_level)); if (resume_blk) { resume_blk = 0; if (system_rev == XB) { gpio_tlmm_config(GPIO_CFG(MBAT_IN_XA_XB, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA), GPIO_CFG_ENABLE); gpio_set_value(MBAT_IN_XA_XB, 1); } else if (system_rev >= XC) { gpio_tlmm_config(GPIO_CFG(BL_HW_EN_XC_XD, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA), GPIO_CFG_ENABLE); gpio_set_value(BL_HW_EN_XC_XD, 1); } rc = i2c_smbus_write_byte_data(blk_pwm_client, 0x10, 0xC5); if (rc) pr_err("i2c write fail\n"); rc = i2c_smbus_write_byte_data(blk_pwm_client, 0x19, 0x13); if (rc) pr_err("i2c write fail\n"); rc = i2c_smbus_write_byte_data(blk_pwm_client, 0x14, 0xC2); if (rc) pr_err("i2c write fail\n"); rc = i2c_smbus_write_byte_data(blk_pwm_client, 0x79, 0xFF); if (rc) pr_err("i2c write fail\n"); rc = i2c_smbus_write_byte_data(blk_pwm_client, 0x1D, 0xFA); if (rc) pr_err("i2c write fail\n"); } mipi_dsi_cmds_tx(&monarudo_panel_tx_buf, (struct dsi_cmd_desc*)&renesas_cmd_backlight_cmds, 1); if((mfd->bl_level) == 0) { if (system_rev == XB) { gpio_tlmm_config(GPIO_CFG(MBAT_IN_XA_XB, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA), GPIO_CFG_ENABLE); gpio_set_value(MBAT_IN_XA_XB, 0); } else if (system_rev >= XC) { gpio_tlmm_config(GPIO_CFG(BL_HW_EN_XC_XD, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA), GPIO_CFG_ENABLE); gpio_set_value(BL_HW_EN_XC_XD, 0); } resume_blk = 1; } return; }