X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=drivers%2Fvideo%2Fexynos_dp_lowlevel.c;h=748d9b8b3731dc78f1bd7a7d5ddbdd81d068ddd7;hb=fed029f3c31b7d5df674b5090a13356b631918c7;hp=0be91a53ea34efaa790b5a69c8b3e4706cfa9fdc;hpb=beded3d13a8d87dfdf16fb4ca5a128c14fb75af9;p=u-boot diff --git a/drivers/video/exynos_dp_lowlevel.c b/drivers/video/exynos_dp_lowlevel.c index 0be91a53ea..748d9b8b37 100644 --- a/drivers/video/exynos_dp_lowlevel.c +++ b/drivers/video/exynos_dp_lowlevel.c @@ -25,12 +25,29 @@ #include #include #include +#include +#include + +/* Declare global data pointer */ +DECLARE_GLOBAL_DATA_PTR; struct exynos_dp *dp_regs; void exynos_dp_set_base_addr(void) { +#ifdef CONFIG_OF_CONTROL + unsigned int node = fdtdec_next_compatible(gd->fdt_blob, + 0, COMPAT_SAMSUNG_EXYNOS5_DP); + if (node <= 0) + debug("exynos_dp: Can't get device node for dp\n"); + + dp_regs = (struct exynos_dp *)fdtdec_get_addr(gd->fdt_blob, + node, "reg"); + if (dp_regs == NULL) + debug("Can't get the DP base address\n"); +#else dp_regs = (struct exynos_dp *)samsung_get_base_dp(); +#endif } static void exynos_dp_enable_video_input(unsigned int enable)