Merge tag 'u-boot-imx-20200825' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
[platform/kernel/u-boot.git] / board / renesas / rcar-common / common.c
index 1ce6e2e..9762fb2 100644 (file)
@@ -8,4 +8,38 @@
  */
 
 #include <common.h>
+#include <dm.h>
+#include <init.h>
+#include <dm/uclass-internal.h>
 #include <asm/arch/rmobile.h>
+#include <linux/libfdt.h>
+
+#ifdef CONFIG_RCAR_GEN3
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/* If the firmware passed a device tree use it for U-Boot DRAM setup. */
+extern u64 rcar_atf_boot_args[];
+
+int fdtdec_board_setup(const void *fdt_blob)
+{
+       void *atf_fdt_blob = (void *)(rcar_atf_boot_args[1]);
+
+       if (fdt_magic(atf_fdt_blob) == FDT_MAGIC)
+               fdt_overlay_apply_node((void *)fdt_blob, 0, atf_fdt_blob, 0);
+
+       return 0;
+}
+
+int dram_init(void)
+{
+       return fdtdec_setup_mem_size_base();
+}
+
+int dram_init_banksize(void)
+{
+       fdtdec_setup_memory_banksize();
+
+       return 0;
+}
+#endif