summaryrefslogtreecommitdiff
path: root/arch/arm/mach-uniphier
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2017-01-27 21:53:44 (GMT)
committerMasahiro Yamada <yamada.masahiro@socionext.com>2017-01-29 11:59:08 (GMT)
commitc995f3a3c5263c2e424064fac81f169846b6d25e (patch)
tree4eb8cde4272fa09a7d0b1e29a572c57e50fefb1b /arch/arm/mach-uniphier
parent3e9952be23e1fdc8b576dfeed80e442d3045cd87 (diff)
downloadu-boot-c995f3a3c5263c2e424064fac81f169846b6d25e.tar.xz
ARM: uniphier: use gd->bd->bi_dram for memory reserve on LD20 SoC
For LD20 SoC, the last 64 byte of each DRAM bank is used for the dynamic training of DRAM PHY. The regions must be reserved in DT to prevent the kernel from using them. Now gd->bd->bi_dram reflects the actual memory banks. Just use it instead of getting access to the board parameters. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'arch/arm/mach-uniphier')
-rw-r--r--arch/arm/mach-uniphier/dram_init.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/arch/arm/mach-uniphier/dram_init.c b/arch/arm/mach-uniphier/dram_init.c
index b78ca72..881062d 100644
--- a/arch/arm/mach-uniphier/dram_init.c
+++ b/arch/arm/mach-uniphier/dram_init.c
@@ -248,22 +248,15 @@ void dram_init_banksize(void)
*/
int ft_board_setup(void *fdt, bd_t *bd)
{
- const struct uniphier_board_data *param;
unsigned long rsv_addr;
const unsigned long rsv_size = 64;
- int ch, ret;
+ int i, ret;
if (uniphier_get_soc_id() != UNIPHIER_LD20_ID)
return 0;
- param = uniphier_get_board_param();
- if (!param) {
- printf("failed to get board parameter\n");
- return -ENODEV;
- }
-
- for (ch = 0; ch < param->dram_nr_ch; ch++) {
- rsv_addr = param->dram_ch[ch].base + param->dram_ch[ch].size;
+ for (i = 0; i < ARRAY_SIZE(gd->bd->bi_dram); i++) {
+ rsv_addr = gd->bd->bi_dram[i].start + gd->bd->bi_dram[i].size;
rsv_addr -= rsv_size;
ret = fdt_add_mem_rsv(fdt, rsv_addr, rsv_size);