ARM: renesas: Factor out DRAM setup on R-Car Gen3
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>
This commit is contained in:
parent
5602330df0
commit
6ef540d50f
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user