diff options
author | Ye Li <ye.li@nxp.com> | 2016-12-13 15:32:20 +0800 |
---|---|---|
committer | Ye Li <ye.li@nxp.com> | 2017-04-05 14:06:25 +0800 |
commit | ff00dc24522677de858956ef5fea93f0f0abb5b8 (patch) | |
tree | 033eadaf11ee3b0e092880dbffb16606dd564190 | |
parent | 8ca436c1bda8476fbea9f05e4dc183881c3e82da (diff) | |
download | u-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.c | 20 |
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. |