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>2017-04-05 14:06:25 +0800
commitff00dc24522677de858956ef5fea93f0f0abb5b8 (patch)
tree033eadaf11ee3b0e092880dbffb16606dd564190
parent8ca436c1bda8476fbea9f05e4dc183881c3e82da (diff)
downloadu-boot-imx-ff00dc24522677de858956ef5fea93f0f0abb5b8.zip
u-boot-imx-ff00dc24522677de858956ef5fea93f0f0abb5b8.tar.gz
u-boot-imx-ff00dc24522677de858956ef5fea93f0f0abb5b8.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> (cherry picked from commit ea7429b70c1eb2cf475028ee8df2ac9ed18b3c82)
-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.