fdt: call ft_board_setup_ex() at the end of image_setup_libfdt()
authorVitaly Andrianov <vitalya@ti.com>
Fri, 4 Apr 2014 17:16:47 +0000 (13:16 -0400)
committerTom Rini <trini@ti.com>
Thu, 17 Apr 2014 21:24:38 +0000 (17:24 -0400)
The keystone2 SOC requires to fix all 32 bit aliased addresses
to their 36 physical format. This has to happen after all fdt
nodes are added or modified.

Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Tom Rini <trini@ti.com>
common/image-fdt.c
include/fdt_support.h

index a54a919a5b30827abc3fda437837463851500a21..5d64009df7d5bf49f70d990b7e3390313aac0acb 100644 (file)
@@ -487,5 +487,10 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
        if (!ft_verify_fdt(blob))
                return -1;
 
+#ifdef CONFIG_SOC_K2HK
+       if (IMAGE_OF_BOARD_SETUP)
+               ft_board_setup_ex(blob, gd->bd);
+#endif
+
        return 0;
 }
index 9871e2f81a09f95d7051c86a739b09bb5ee35817..15eba01662bd5d311c681a04200abfc50fb5aad5 100644 (file)
@@ -63,6 +63,13 @@ int fdt_pci_dma_ranges(void *blob, int phb_off, struct pci_controller *hose);
 #endif
 
 void ft_board_setup(void *blob, bd_t *bd);
+/*
+ * The keystone2 SOC requires all 32 bit aliased addresses to be converted
+ * to their 36 physical format. This has to happen after all fdt nodes
+ * are added or modified by the image_setup_libfdt(). The ft_board_setup_ex()
+ * called at the end of the image_setup_libfdt() is to do that convertion.
+ */
+void ft_board_setup_ex(void *blob, bd_t *bd);
 void ft_cpu_setup(void *blob, bd_t *bd);
 void ft_pci_setup(void *blob, bd_t *bd);