Lines Matching +full:ch0 +full:- +full:2
2 * Copyright (C) 2012-2015 Panasonic Corporation
3 * Copyright (C) 2015-2017 Socionext Inc.
6 * SPDX-License-Identifier: GPL-2.0+
15 #include "sg-regs.h"
16 #include "soc-info.h"
84 return -EINVAL; in uniphier_memconf_decode()
89 /* set up ch0 */ in uniphier_memconf_decode()
109 pr_err("error: invalid value is set to MEMCONF ch0 size\n"); in uniphier_memconf_decode()
110 return -EINVAL; in uniphier_memconf_decode()
114 size *= 2; in uniphier_memconf_decode()
122 if (dram_map[1].base > data->sparse_ch1_base) { in uniphier_memconf_decode()
123 pr_warn("Sparse mem is enabled, but ch0 and ch1 overlap\n"); in uniphier_memconf_decode()
124 pr_warn("Only ch0 is available\n"); in uniphier_memconf_decode()
129 dram_map[1].base = data->sparse_ch1_base; in uniphier_memconf_decode()
150 return -EINVAL; in uniphier_memconf_decode()
154 size *= 2; in uniphier_memconf_decode()
158 if (!data->have_ch2 || val & SG_MEMCONF_CH2_DISABLE) in uniphier_memconf_decode()
162 dram_map[2].base = dram_map[1].base + size; in uniphier_memconf_decode()
182 return -EINVAL; in uniphier_memconf_decode()
186 size *= 2; in uniphier_memconf_decode()
188 dram_map[2].size = size; in uniphier_memconf_decode()
198 gd->ram_size = 0; in dram_init()
210 * U-Boot relocates itself to the tail of the memory region, in dram_init()
214 if (i > 0 && dram_map[i - 1].base + dram_map[i - 1].size < in dram_init()
218 gd->ram_size += dram_map[i].size; in dram_init()
232 if (i >= ARRAY_SIZE(gd->bd->bi_dram)) in dram_init_banksize()
235 gd->bd->bi_dram[i].start = dram_map[i].base; in dram_init_banksize()
236 gd->bd->bi_dram[i].size = dram_map[i].size; in dram_init_banksize()
256 for (i = 0; i < ARRAY_SIZE(gd->bd->bi_dram); i++) { in ft_board_setup()
257 if (!gd->bd->bi_dram[i].size) in ft_board_setup()
260 rsv_addr = gd->bd->bi_dram[i].start + gd->bd->bi_dram[i].size; in ft_board_setup()
261 rsv_addr -= rsv_size; in ft_board_setup()
265 return -ENOSPC; in ft_board_setup()