]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/image-fdt.c
video: ipu: initialize g_ipu_clk, g_ldb_clk statically
[karo-tx-uboot.git] / common / image-fdt.c
index e3f06cdd1a28406e8a1a2613d543b71c27d44942..5180a03a61bfdeed9014b651bf83a4cb9ee0b4dc 100644 (file)
@@ -14,6 +14,7 @@
 #include <errno.h>
 #include <image.h>
 #include <libfdt.h>
+#include <mapmem.h>
 #include <asm/io.h>
 
 #ifndef CONFIG_SYS_FDT_PAD
@@ -190,7 +191,7 @@ int boot_relocate_fdt(struct lmb *lmb, char **of_flat_tree, ulong *of_size)
        *of_flat_tree = of_start;
        *of_size = of_len;
 
-       set_working_fdt_addr(*of_flat_tree);
+       set_working_fdt_addr((ulong)*of_flat_tree);
        return 0;
 
 error:
@@ -470,6 +471,10 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
        int ret = -EPERM;
        int fdt_ret;
 
+       if (fdt_root(blob) < 0) {
+               printf("ERROR: root node setup failed\n");
+               goto err;
+       }
        if (fdt_chosen(blob) < 0) {
                printf("ERROR: /chosen node create failed\n");
                goto err;
@@ -487,7 +492,8 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
                }
        }
        if (IMAGE_OF_SYSTEM_SETUP) {
-               if (ft_system_setup(blob, gd->bd)) {
+               fdt_ret = ft_system_setup(blob, gd->bd);
+               if (fdt_ret) {
                        printf("ERROR: system-specific fdt fixup failed: %s\n",
                               fdt_strerror(fdt_ret));
                        goto err;