summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYe Li <ye.li@nxp.com>2016-12-13 15:32:20 +0800
committerYe Li <ye.li@nxp.com>2016-12-14 10:16:47 +0800
commitea7429b70c1eb2cf475028ee8df2ac9ed18b3c82 (patch)
tree613159a6e3184601e6bd21afb8eeaffd8edb2b13
parentd033825f034467fa9c9aeff6fcf95a146c802cf1 (diff)
downloadu-boot-imx-ea7429b70c1eb2cf475028ee8df2ac9ed18b3c82.zip
u-boot-imx-ea7429b70c1eb2cf475028ee8df2ac9ed18b3c82.tar.gz
u-boot-imx-ea7429b70c1eb2cf475028ee8df2ac9ed18b3c82.tar.bz2
MLK-13602-2 epdc: Add disable fuse checking
Add fuse checking for EPDC module. Once the fused is programmed, the EPDC module is disabled, can't to access it. Signed-off-by: Ye Li <ye.li@nxp.com> Tested-by: Bai Ping <ping.bai@nxp.com>
-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.