ARM: renesas: Factor out DRAM setup on R-Car Gen3
authorMarek Vasut <marek.vasut+renesas@gmail.com>
Sun, 19 May 2019 21:25:16 +0000 (23:25 +0200)
committerMarek Vasut <marex@denx.de>
Tue, 21 May 2019 20:15:32 +0000 (22:15 +0200)
Pull DRAM layout configuration code into rcar-common.c instead of
having it in multiple copies across board files. This poses no
change for Salvator-X/XS, ULCB and Ebisu boards, however it adds
a bit of extra code for Draak and Eagle boards, which now gain
the capability of being passed in the DRAM layout by the ATF.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Eugeniu Rosca <roscaeugeniu@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
board/renesas/draak/Makefile
board/renesas/draak/draak.c
board/renesas/eagle/Makefile
board/renesas/eagle/eagle.c
board/renesas/ebisu/Makefile
board/renesas/ebisu/ebisu.c
board/renesas/rcar-common/common.c
board/renesas/salvator-x/Makefile
board/renesas/salvator-x/salvator-x.c
board/renesas/ulcb/Makefile
board/renesas/ulcb/ulcb.c

index 0140b61bffb86370b15f53d6e78bfe753775eeab..1fc90d1dab4ff37b45486d8234411de6ed039d44 100644 (file)
@@ -9,5 +9,5 @@
 ifdef CONFIG_SPL_BUILD
 obj-y  := ../rcar-common/gen3-spl.o
 else
-obj-y  := draak.o
+obj-y  := draak.o ../rcar-common/common.o
 endif
index 8f3d3915f77c40f70fa965e693bb4c214d841bd2..46d9f74785c7ff4d3720c46e38ef0cf779843860 100644 (file)
@@ -70,21 +70,6 @@ int board_init(void)
        return 0;
 }
 
-int dram_init(void)
-{
-       if (fdtdec_setup_mem_size_base() != 0)
-               return -EINVAL;
-
-       return 0;
-}
-
-int dram_init_banksize(void)
-{
-       fdtdec_setup_memory_banksize();
-
-       return 0;
-}
-
 #define RST_BASE       0xE6160000
 #define RST_CA57RESCNT (RST_BASE + 0x40)
 #define RST_CA53RESCNT (RST_BASE + 0x44)
index 04402a2ced39f323ff712d8d6de2815933575e33..062c46ba24fa2bcf958359f6c7430f1ed575f144 100644 (file)
@@ -9,5 +9,5 @@
 ifdef CONFIG_SPL_BUILD
 obj-y  := ../rcar-common/gen3-spl.o
 else
-obj-y  := eagle.o
+obj-y  := eagle.o ../rcar-common/common.o
 endif
index 0e5efea19d0719c839ff925925110ee69305e309..d6240b19efb1185f6e1e3500649688b959e95cb4 100644 (file)
@@ -67,21 +67,6 @@ int board_init(void)
        return 0;
 }
 
-int dram_init(void)
-{
-       if (fdtdec_setup_mem_size_base() != 0)
-               return -EINVAL;
-
-       return 0;
-}
-
-int dram_init_banksize(void)
-{
-       fdtdec_setup_memory_banksize();
-
-       return 0;
-}
-
 #define RST_BASE       0xE6160000
 #define RST_CA57RESCNT (RST_BASE + 0x40)
 #define RST_CA53RESCNT (RST_BASE + 0x44)
index 39971f11b20496d661c7d2381a28e1910f5f6a66..1fd9a03ecc979d040ac8014a02031b2094d88bd7 100644 (file)
@@ -9,5 +9,5 @@
 ifdef CONFIG_SPL_BUILD
 obj-y  := ../rcar-common/gen3-spl.o
 else
-obj-y  := ebisu.o
+obj-y  := ebisu.o ../rcar-common/common.o
 endif
index 60429e45290267d0b7822b59c3b4b153e482ae46..cb7d432a15a155db70424b45cadaadcfdd232510 100644 (file)
@@ -43,41 +43,6 @@ int board_init(void)
        return 0;
 }
 
-/*
- * If the firmware passed a device tree use it for U-Boot DRAM setup.
- */
-extern u64 rcar_atf_boot_args[];
-
-int dram_init(void)
-{
-       const void *atf_fdt_blob = (const void *)(rcar_atf_boot_args[1]);
-       const void *blob;
-
-       /* Check if ATF passed us DTB. If not, fall back to builtin DTB. */
-       if (fdt_magic(atf_fdt_blob) == FDT_MAGIC)
-               blob = atf_fdt_blob;
-       else
-               blob = gd->fdt_blob;
-
-       return fdtdec_setup_mem_size_base_fdt(blob);
-}
-
-int dram_init_banksize(void)
-{
-       const void *atf_fdt_blob = (const void *)(rcar_atf_boot_args[1]);
-       const void *blob;
-
-       /* Check if ATF passed us DTB. If not, fall back to builtin DTB. */
-       if (fdt_magic(atf_fdt_blob) == FDT_MAGIC)
-               blob = atf_fdt_blob;
-       else
-               blob = gd->fdt_blob;
-
-       fdtdec_setup_memory_banksize_fdt(blob);
-
-       return 0;
-}
-
 #define RST_BASE       0xE6160000
 #define RST_CA57RESCNT (RST_BASE + 0x40)
 #define RST_CA53RESCNT (RST_BASE + 0x44)
index 1ce6e2eac1bf5f47ea78b04ea76a966833fb21d3..292867e496c461870b6f299919b3c03727fca470 100644 (file)
@@ -9,3 +9,41 @@
 
 #include <common.h>
 #include <asm/arch/rmobile.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 dram_init(void)
+{
+       const void *atf_fdt_blob = (const void *)(rcar_atf_boot_args[1]);
+       const void *blob;
+
+       /* Check if ATF passed us DTB. If not, fall back to builtin DTB. */
+       if (fdt_magic(atf_fdt_blob) == FDT_MAGIC)
+               blob = atf_fdt_blob;
+       else
+               blob = gd->fdt_blob;
+
+       return fdtdec_setup_mem_size_base_fdt(blob);
+}
+
+int dram_init_banksize(void)
+{
+       const void *atf_fdt_blob = (const void *)(rcar_atf_boot_args[1]);
+       const void *blob;
+
+       /* Check if ATF passed us DTB. If not, fall back to builtin DTB. */
+       if (fdt_magic(atf_fdt_blob) == FDT_MAGIC)
+               blob = atf_fdt_blob;
+       else
+               blob = gd->fdt_blob;
+
+       fdtdec_setup_memory_banksize_fdt(blob);
+
+       return 0;
+}
+#endif
index fb506be4706c39d998b5deaa52f68713e0a6f7a3..95258079e403a96981741cb023d62d6c3e734d37 100644 (file)
@@ -9,5 +9,5 @@
 ifdef CONFIG_SPL_BUILD
 obj-y  := ../rcar-common/gen3-spl.o
 else
-obj-y  := salvator-x.o
+obj-y  := salvator-x.o ../rcar-common/common.o
 endif
index 1db08fce6a2aa03202d3e304a47630a25912a768..22fe9619cfb8da9d90f225e5c2ccc4620d427945 100644 (file)
@@ -69,41 +69,6 @@ int board_init(void)
        return 0;
 }
 
-/*
- * If the firmware passed a device tree use it for U-Boot DRAM setup.
- */
-extern u64 rcar_atf_boot_args[];
-
-int dram_init(void)
-{
-       const void *atf_fdt_blob = (const void *)(rcar_atf_boot_args[1]);
-       const void *blob;
-
-       /* Check if ATF passed us DTB. If not, fall back to builtin DTB. */
-       if (fdt_magic(atf_fdt_blob) == FDT_MAGIC)
-               blob = atf_fdt_blob;
-       else
-               blob = gd->fdt_blob;
-
-       return fdtdec_setup_mem_size_base_fdt(blob);
-}
-
-int dram_init_banksize(void)
-{
-       const void *atf_fdt_blob = (const void *)(rcar_atf_boot_args[1]);
-       const void *blob;
-
-       /* Check if ATF passed us DTB. If not, fall back to builtin DTB. */
-       if (fdt_magic(atf_fdt_blob) == FDT_MAGIC)
-               blob = atf_fdt_blob;
-       else
-               blob = gd->fdt_blob;
-
-       fdtdec_setup_memory_banksize_fdt(blob);
-
-       return 0;
-}
-
 #define RST_BASE       0xE6160000
 #define RST_CA57RESCNT (RST_BASE + 0x40)
 #define RST_CA53RESCNT (RST_BASE + 0x44)
index cd9a5834c1bae990a07190aca7669a3ef03774ea..f4d24c68a67238082d4c1c2d5075d1165558515d 100644 (file)
@@ -9,5 +9,5 @@
 ifdef CONFIG_SPL_BUILD
 obj-y  := ../rcar-common/gen3-spl.o
 else
-obj-y  := ulcb.o cpld.o
+obj-y  := ulcb.o cpld.o ../rcar-common/common.o
 endif
index faf19c3580303acb800e8db4a4211bcae1d3af5b..bcae6ff67ca41e674d37fae7da90ca9abf6110c0 100644 (file)
@@ -68,41 +68,6 @@ int board_init(void)
        return 0;
 }
 
-/*
- * If the firmware passed a device tree use it for U-Boot DRAM setup.
- */
-extern u64 rcar_atf_boot_args[];
-
-int dram_init(void)
-{
-       const void *atf_fdt_blob = (const void *)(rcar_atf_boot_args[1]);
-       const void *blob;
-
-       /* Check if ATF passed us DTB. If not, fall back to builtin DTB. */
-       if (fdt_magic(atf_fdt_blob) == FDT_MAGIC)
-               blob = atf_fdt_blob;
-       else
-               blob = gd->fdt_blob;
-
-       return fdtdec_setup_mem_size_base_fdt(blob);
-}
-
-int dram_init_banksize(void)
-{
-       const void *atf_fdt_blob = (const void *)(rcar_atf_boot_args[1]);
-       const void *blob;
-
-       /* Check if ATF passed us DTB. If not, fall back to builtin DTB. */
-       if (fdt_magic(atf_fdt_blob) == FDT_MAGIC)
-               blob = atf_fdt_blob;
-       else
-               blob = gd->fdt_blob;
-
-       fdtdec_setup_memory_banksize_fdt(blob);
-
-       return 0;
-}
-
 #ifdef CONFIG_MULTI_DTB_FIT
 int board_fit_config_name_match(const char *name)
 {