aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2017-09-01 12:57:03 -0400
committerTom Rini <trini@konsulko.com>2017-09-01 12:57:03 -0400
commit1d20170467b079642be96996dcd71db64c3c365c (patch)
tree70ecec59b97ef608976fd48c68ef769f7ccc877d /drivers
parent6aee2ab68c362ace5a59f89a63abed82e0bf19e5 (diff)
parent0d1ae97c0299089e85a2980ac76e924e6d4447c6 (diff)
downloadu-boot-1d20170467b079642be96996dcd71db64c3c365c.zip
u-boot-1d20170467b079642be96996dcd71db64c3c365c.tar.gz
u-boot-1d20170467b079642be96996dcd71db64c3c365c.tar.bz2
Merge git://git.denx.de/u-boot-video
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/mxc_ipuv3_fb.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/video/mxc_ipuv3_fb.c b/drivers/video/mxc_ipuv3_fb.c
index 0d0a0a9..8836229 100644
--- a/drivers/video/mxc_ipuv3_fb.c
+++ b/drivers/video/mxc_ipuv3_fb.c
@@ -13,6 +13,7 @@
#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>
@@ -568,8 +569,18 @@ err0:
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];