Tom Rini | 10e4779 | 2018-05-06 17:58:06 -0400 | [diff] [blame] | 1 | // SPDX-License-Identifier: GPL-2.0 |
Nobuhiro Iwamatsu | a541344 | 2014-12-02 16:52:20 +0900 | [diff] [blame] | 2 | /* |
Nobuhiro Iwamatsu | 8040395 | 2016-04-01 03:51:33 +0900 | [diff] [blame] | 3 | * board/renesas/rcar-common/common.c |
Nobuhiro Iwamatsu | a541344 | 2014-12-02 16:52:20 +0900 | [diff] [blame] | 4 | * |
5 | * Copyright (C) 2013 Renesas Electronics Corporation | ||||
6 | * Copyright (C) 2013 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> | ||||
Nobuhiro Iwamatsu | 4dc515a | 2016-04-01 03:51:34 +0900 | [diff] [blame] | 7 | * Copyright (C) 2015 Nobuhiro Iwamatsu <iwamatsu@nigauri.org> |
Nobuhiro Iwamatsu | a541344 | 2014-12-02 16:52:20 +0900 | [diff] [blame] | 8 | */ |
9 | |||||
10 | #include <common.h> | ||||
Marek Vasut | 45eaf05 | 2019-07-09 01:46:35 +0200 | [diff] [blame] | 11 | #include <dm.h> |
Simon Glass | 9758973 | 2020-05-10 11:40:02 -0600 | [diff] [blame] | 12 | #include <init.h> |
Marek Vasut | 45eaf05 | 2019-07-09 01:46:35 +0200 | [diff] [blame] | 13 | #include <dm/uclass-internal.h> |
Nobuhiro Iwamatsu | a541344 | 2014-12-02 16:52:20 +0900 | [diff] [blame] | 14 | #include <asm/arch/rmobile.h> |
Simon Glass | 2dc9c34 | 2020-05-10 11:40:01 -0600 | [diff] [blame] | 15 | #include <linux/libfdt.h> |
Marek Vasut | 276a1d8 | 2019-05-19 23:25:16 +0200 | [diff] [blame] | 16 | |
17 | #ifdef CONFIG_RCAR_GEN3 | ||||
18 | |||||
19 | DECLARE_GLOBAL_DATA_PTR; | ||||
20 | |||||
21 | /* If the firmware passed a device tree use it for U-Boot DRAM setup. */ | ||||
22 | extern u64 rcar_atf_boot_args[]; | ||||
23 | |||||
Marek Vasut | da8646a | 2020-04-11 20:50:24 +0200 | [diff] [blame] | 24 | int fdtdec_board_setup(const void *fdt_blob) |
Marek Vasut | 276a1d8 | 2019-05-19 23:25:16 +0200 | [diff] [blame] | 25 | { |
Marek Vasut | da8646a | 2020-04-11 20:50:24 +0200 | [diff] [blame] | 26 | void *atf_fdt_blob = (void *)(rcar_atf_boot_args[1]); |
Marek Vasut | 276a1d8 | 2019-05-19 23:25:16 +0200 | [diff] [blame] | 27 | |
Marek Vasut | 276a1d8 | 2019-05-19 23:25:16 +0200 | [diff] [blame] | 28 | if (fdt_magic(atf_fdt_blob) == FDT_MAGIC) |
Marek Vasut | da8646a | 2020-04-11 20:50:24 +0200 | [diff] [blame] | 29 | fdt_overlay_apply_node((void *)fdt_blob, 0, atf_fdt_blob, 0); |
Marek Vasut | 276a1d8 | 2019-05-19 23:25:16 +0200 | [diff] [blame] | 30 | |
Marek Vasut | da8646a | 2020-04-11 20:50:24 +0200 | [diff] [blame] | 31 | return 0; |
Marek Vasut | 276a1d8 | 2019-05-19 23:25:16 +0200 | [diff] [blame] | 32 | } |
33 | |||||
Marek Vasut | da8646a | 2020-04-11 20:50:24 +0200 | [diff] [blame] | 34 | int dram_init(void) |
Marek Vasut | 276a1d8 | 2019-05-19 23:25:16 +0200 | [diff] [blame] | 35 | { |
Michal Simek | c7ac6ac | 2020-07-10 13:16:48 +0200 | [diff] [blame] | 36 | return fdtdec_setup_mem_size_base(); |
Marek Vasut | da8646a | 2020-04-11 20:50:24 +0200 | [diff] [blame] | 37 | } |
Marek Vasut | 276a1d8 | 2019-05-19 23:25:16 +0200 | [diff] [blame] | 38 | |
Marek Vasut | da8646a | 2020-04-11 20:50:24 +0200 | [diff] [blame] | 39 | int dram_init_banksize(void) |
40 | { | ||||
Michal Simek | c7ac6ac | 2020-07-10 13:16:48 +0200 | [diff] [blame] | 41 | fdtdec_setup_memory_banksize(); |
Marek Vasut | 276a1d8 | 2019-05-19 23:25:16 +0200 | [diff] [blame] | 42 | |
43 | return 0; | ||||
44 | } | ||||
45 | #endif |