msm7627a: Toggle reset pin of DSI client & power down DSI chip
- For splash screen to work on FFA , toggle RESET pin of DSI
client before sending panel init commands.
- Ensure DSI Bridge chip is powered down during apps BL
exit so that when kernel comes up DSI client will be powered
on in a clean state.
- Also corrected missing indentation in shutdown function.
Change-Id: If3cf4f90463379871ebf4f66b7fe0da8bf1a742f
diff --git a/platform/msm7x27a/platform.c b/platform/msm7x27a/platform.c
index 9182d50..998baec 100644
--- a/platform/msm7x27a/platform.c
+++ b/platform/msm7x27a/platform.c
@@ -38,6 +38,7 @@
#include <platform/iomap.h>
#include <mddi.h>
#include <dev/fbcon.h>
+#include <dev/gpio.h>
#include <smem.h>
static struct fbcon_config *fb_config;
@@ -87,18 +88,21 @@
fbcon_setup(fb_config);
#endif
#if DISPLAY_TYPE_MIPI
- dprintf(INFO, "display_init()\n");
- fb_config = mipi_init();
- ASSERT(fb_config);
- fbcon_setup(fb_config);
+ dprintf(SPEW, "display_init()\n");
+ panel_dsi_init();
+ fb_config = mipi_init();
+ ASSERT(fb_config);
+ fbcon_setup(fb_config);
#endif
}
void display_shutdown(void)
{
#if DISPLAY_TYPE_MIPI
- dprintf(INFO, "display_shutdown()\n");
- mipi_dsi_shutdown();
+ dprintf(SPEW, "display_shutdown()\n");
+ mipi_dsi_shutdown();
+ /* Power down DSI bridge chip */
+ gpio_set(128,0x1);
#endif
}
@@ -132,3 +136,15 @@
else
return 0;
}
+
+/* Toggle RESET pin of the DSI Client before sending
+ * panel init commands
+ */
+void panel_dsi_init(void)
+{
+ gpio_set(129,0x1);
+ gpio_config(129, GPIO_OUTPUT);
+ gpio_set(129,0x0);
+ gpio_set(129,0x1);
+ mdelay(10);
+}