+void lcdif_power_down(void)
+{
+ struct mxs_lcdif_regs *regs = (struct mxs_lcdif_regs *)MXS_LCDIF_BASE;
+ int timeout = 1000000;
+
+ if (!panel.frameAdrs)
+ return;
+
+ writel(panel.frameAdrs, ®s->hw_lcdif_cur_buf_reg);
+ writel(panel.frameAdrs, ®s->hw_lcdif_next_buf_reg);
+ writel(LCDIF_CTRL1_VSYNC_EDGE_IRQ, ®s->hw_lcdif_ctrl1_clr);
+ while (--timeout) {
+ if (readl(®s->hw_lcdif_ctrl1_reg) &
+ LCDIF_CTRL1_VSYNC_EDGE_IRQ)
+ break;
+ udelay(1);
+ }
+ mxs_reset_block((struct mxs_register_32 *)®s->hw_lcdif_ctrl_reg);
+}
+