summaryrefslogtreecommitdiff
path: root/drivers/video/imx/mxc_ipuv3_fb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/imx/mxc_ipuv3_fb.c')
-rw-r--r--drivers/video/imx/mxc_ipuv3_fb.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/video/imx/mxc_ipuv3_fb.c b/drivers/video/imx/mxc_ipuv3_fb.c
index ef5d4faf3b3..3a327b9e97d 100644
--- a/drivers/video/imx/mxc_ipuv3_fb.c
+++ b/drivers/video/imx/mxc_ipuv3_fb.c
@@ -35,6 +35,7 @@
#include <dm.h>
#include <dm/devres.h>
#include <video.h>
+#include <dt-bindings/clock/imx6qdl-clock.h>
static int mxcfb_map_video_memory(struct fb_info *fbi);
static int mxcfb_unmap_video_memory(struct fb_info *fbi);
@@ -599,6 +600,22 @@ static int ipuv3_video_probe(struct udevice *dev)
if (ret < 0)
return ret;
+#if !CONFIG_IS_ENABLED(IPU_CLK_LEGACY)
+ if (of_machine_is_compatible("fsl,imx6qp"))
+ ret = clk_get_by_id(gdisp ? IMX6QDL_CLK_LDB_DI1_PODF :
+ IMX6QDL_CLK_LDB_DI0_PODF,
+ &ctx->ldb_clk);
+ else
+ ret = clk_get_by_id(gdisp ? IMX6QDL_CLK_LDB_DI1 :
+ IMX6QDL_CLK_LDB_DI0,
+ &ctx->ldb_clk);
+
+ if (ret < 0)
+ return ret;
+
+ debug("ldb_clk = %lu\n", clk_get_rate(ctx->ldb_clk));
+#endif
+
ret = mxcfb_probe(dev, gpixfmt, gdisp, gmode);
if (ret < 0)
return ret;