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 */
#include <common.h>
#include <linux/errno.h>
+#include <asm/arch/crm_regs.h>
#include <asm/global_data.h>
#include <linux/string.h>
#include <linux/list.h>
void ipuv3_fb_shutdown(void)
{
- int i;
+ struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
struct ipu_stat *stat = (struct ipu_stat *)IPU_STAT;
+ u32 reg;
+ int i;
+
+ /*
+ * Check if IPU clock was enabled before. Won't access
+ * IPU registers if clock is not enabled.
+ */
+ reg = readl(&mxc_ccm->CCGR3);
+ if ((reg & MXC_CCM_CCGR3_IPU1_IPU_MASK) == 0)
+ return;
for (i = 0; i < ARRAY_SIZE(mxcfb_info); i++) {
struct fb_info *fbi = mxcfb_info[i];