return 0;
}
-
static const struct i2c_device_id tc35876x_bridge_id[] = {
{ "i2c_disp_brig", 0 },
{ }
if (gpio_direction_output(GPIO_MIPI_LCD_BL_EN, 0))
gpio_set_value_cansleep(GPIO_MIPI_LCD_BL_EN, 0);
mdelay(1);
-
- if (gpio_direction_output(GPIO_MIPI_LCD_VADD, 0))
- gpio_set_value_cansleep(GPIO_MIPI_LCD_VADD, 0);
}
/* ************************************************************************* *\
printk(KERN_INFO "[DISPLAY ] %s\n", __func__);
- if (gpio_direction_output(GPIO_MIPI_LCD_VADD, 1))
- gpio_set_value_cansleep(GPIO_MIPI_LCD_VADD, 1);
- msleep(260);
-
if (cmi_lcd_i2c_client) {
int ret;
PSB_DEBUG_ENTRY("setting TCON\n");
dev_priv->brightness_adjusted);
}
+/*
+ * Turn off/on power of LVDS panel only if no device is active
+ */
+int tc35876x_lvds_panel_suspend_noirq(struct device *dev)
+{
+ if (gpio_direction_output(GPIO_MIPI_LCD_VADD, 0))
+ gpio_set_value_cansleep(GPIO_MIPI_LCD_VADD, 0);
+ mdelay(1);
+
+ return 0;
+}
+
+int tc35876x_lvds_panel_resume_noirq(struct device *dev)
+{
+ if (gpio_direction_output(GPIO_MIPI_LCD_VADD, 1))
+ gpio_set_value_cansleep(GPIO_MIPI_LCD_VADD, 1);
+ msleep(260);
+
+ return 0;
+}
+
/* ************************************************************************* *\
* FUNCTION: dsi_lvds_init_lvds_bridge
*
void dsi_lvds_bridge_get_display_params(struct drm_display_mode *mode);
void dsi_lvds_resume_lvds_bridge(struct drm_device *dev);
void dsi_lvds_suspend_lvds_bridge(struct drm_device *dev);
+int tc35876x_lvds_panel_resume_noirq(struct device *dev);
+int tc35876x_lvds_panel_suspend_noirq(struct device *dev);
#endif /*__MDFLD_DSI_LVDS_BRIDGE_H__*/
#include <linux/cpu.h>
#include <linux/notifier.h>
#include <linux/spinlock.h>
+#include "mdfld_dsi_lvds_bridge.h"
#ifdef CONFIG_GFX_RTPM
#include <linux/pm_runtime.h>
#endif
.runtime_idle = psb_runtime_idle,
.suspend = psb_runtime_suspend,
.resume = psb_runtime_resume,
+#ifdef CONFIG_SUPPORT_TOSHIBA_MIPI_LVDS_BRIDGE
+ .suspend_noirq = tc35876x_lvds_panel_suspend_noirq,
+ .resume_noirq = tc35876x_lvds_panel_resume_noirq,
+#endif
};
static struct drm_driver driver = {