From ea7429b70c1eb2cf475028ee8df2ac9ed18b3c82 Mon Sep 17 00:00:00 2001 From: Ye Li Date: Tue, 13 Dec 2016 15:32:20 +0800 Subject: 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 Tested-by: Bai Ping --- drivers/video/mxc_epdc_fb.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) 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 #include +#include 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. -- cgit v1.1