Kaynağa Gözat

Merge git://git.denx.de/u-boot-video

Tom Rini 6 yıl önce
ebeveyn
işleme
8dcb6f1f81

+ 2 - 0
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>

+ 5 - 0
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 */

+ 1 - 0
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);

+ 5 - 0
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;
+}

+ 3 - 0
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) {