diff options
author | Ye Li <ye.li@nxp.com> | 2016-12-13 15:32:20 +0800 |
---|---|---|
committer | Ye Li <ye.li@nxp.com> | 2016-12-14 10:16:47 +0800 |
commit | ea7429b70c1eb2cf475028ee8df2ac9ed18b3c82 (patch) | |
tree | 613159a6e3184601e6bd21afb8eeaffd8edb2b13 /drivers/video | |
parent | d033825f034467fa9c9aeff6fcf95a146c802cf1 (diff) | |
download | u-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>
Diffstat (limited to 'drivers/video')
-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. |