summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/video/mxc_epdc_fb.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/video/mxc_epdc_fb.c b/drivers/video/mxc_epdc_fb.c
index 421c90e..d569c0e 100644
--- a/drivers/video/mxc_epdc_fb.c
+++ b/drivers/video/mxc_epdc_fb.c
@@ -16,6 +16,7 @@
#include <malloc.h>
#include <mxc_epdc_fb.h>
+#include <asm/arch/sys_proto.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -350,6 +351,12 @@ static void draw_splash_screen(void)
void lcd_enable(void)
{
+#ifdef CONFIG_MX6
+ if (check_module_fused(MX6_MODULE_EPDC)) {
+ return;
+ }
+#endif
+
if (board_setup_logo_file(lcd_base)) {
debug("Load logo failed!\n");
return;
@@ -367,6 +374,12 @@ void lcd_enable(void)
void lcd_disable(void)
{
+#ifdef CONFIG_MX6
+ if (check_module_fused(MX6_MODULE_EPDC)) {
+ return;
+ }
+#endif
+
debug("lcd_disable\n");
/* Disable clocks to EPDC */
@@ -382,6 +395,13 @@ void lcd_ctrl_init(void *lcdbase)
{
unsigned int val;
+#ifdef CONFIG_MX6
+ if (check_module_fused(MX6_MODULE_EPDC)) {
+ printf("EPDC@0x%x is fused, disable it\n", EPDC_BASE_ADDR);
+ return;
+ }
+#endif
+
/*
* We rely on lcdbase being a physical address, i.e., either MMU off,
* or 1-to-1 mapping. Might want to add some virt2phys here.