summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2017-09-05 08:54:55 -0400
committerTom Rini <trini@konsulko.com>2017-09-05 08:54:55 -0400
commit8dcb6f1f81e03846b9f6dbc4cb7a6bb8dbfcbb81 (patch)
tree0d7588fec2e4070ab6c08f8183f144c385a51dfb
parent08d0c53d6b1ba9fcca19883e20f4735eabe8bb3a (diff)
parentc967fb78e488c148700dc8747472d7e1d7eaec30 (diff)
downloadu-boot-8dcb6f1f81e03846b9f6dbc4cb7a6bb8dbfcbb81.tar.gz
Merge git://git.denx.de/u-boot-video
-rw-r--r--MAINTAINERS2
-rw-r--r--common/splash_source.c5
-rw-r--r--drivers/video/ipu.h1
-rw-r--r--drivers/video/ipu_common.c5
-rw-r--r--drivers/video/mxc_ipuv3_fb.c3
5 files changed, 16 insertions, 0 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index f7e6abd6fd..04acf2b89d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -449,6 +449,8 @@ M: Anatolij Gustschin <agust@denx.de>
S: Maintained
T: git git://git.denx.de/u-boot-video.git
F: drivers/video/
+F: common/lcd*.c
+F: include/lcd*.h
X86
M: Simon Glass <sjg@chromium.org>
diff --git a/common/splash_source.c b/common/splash_source.c
index a21ad62f82..e0defdebd6 100644
--- a/common/splash_source.c
+++ b/common/splash_source.c
@@ -317,6 +317,11 @@ static int splash_load_fit(struct splash_location *location, u32 bmp_load_addr)
return res;
img_header = (struct image_header *)bmp_load_addr;
+ if (image_get_magic(img_header) != FDT_MAGIC) {
+ printf("Could not find FDT magic\n");
+ return -EINVAL;
+ }
+
fit_size = fdt_totalsize(img_header);
/* Read in entire FIT */
diff --git a/drivers/video/ipu.h b/drivers/video/ipu.h
index 348be58bf6..ff91d18868 100644
--- a/drivers/video/ipu.h
+++ b/drivers/video/ipu.h
@@ -253,6 +253,7 @@ struct clk *clk_get_parent(struct clk *clk);
void ipu_dump_registers(void);
int ipu_probe(void);
+bool ipu_clk_enabled(void);
void ipu_dmfc_init(int dmfc_type, int first);
void ipu_init_dc_mappings(void);
diff --git a/drivers/video/ipu_common.c b/drivers/video/ipu_common.c
index f8d4488fce..f259fb9633 100644
--- a/drivers/video/ipu_common.c
+++ b/drivers/video/ipu_common.c
@@ -1243,3 +1243,8 @@ int ipu_set_ldb_clock(int rate)
return 0;
}
+
+bool ipu_clk_enabled(void)
+{
+ return g_ipu_clk_enabled;
+}
diff --git a/drivers/video/mxc_ipuv3_fb.c b/drivers/video/mxc_ipuv3_fb.c
index 0d0a0a97ff..1ab5cb7b1c 100644
--- a/drivers/video/mxc_ipuv3_fb.c
+++ b/drivers/video/mxc_ipuv3_fb.c
@@ -571,6 +571,9 @@ void ipuv3_fb_shutdown(void)
int i;
struct ipu_stat *stat = (struct ipu_stat *)IPU_STAT;
+ if (!ipu_clk_enabled())
+ return;
+
for (i = 0; i < ARRAY_SIZE(mxcfb_info); i++) {
struct fb_info *fbi = mxcfb_info[i];
if (fbi) {