blob: d5470d2fd3726230d10cd84b4475d4e213e0077e [file] [log] [blame]
Rex-BC Chen73e6b8e2021-11-02 10:31:53 +08001/* SPDX-License-Identifier: GPL-2.0-only */
2
Xi Chenad63eab2022-02-17 16:48:52 +08003#include <assert.h>
4#include <cbmem.h>
5#include <commonlib/bsd/mem_chip_info.h>
Rex-BC Chen73e6b8e2021-11-02 10:31:53 +08006#include <soc/emi.h>
7
8size_t sdram_size(void)
9{
Xi Chenad63eab2022-02-17 16:48:52 +080010 const struct mem_chip_info *mc;
11 size_t size = 0;
12
Kyösti Mälkki11cac782022-04-07 07:16:48 +030013 if (ENV_RAMINIT) {
Xi Chenad63eab2022-02-17 16:48:52 +080014 size = mtk_dram_size();
15 printk(BIOS_INFO, "dram size (romstage): %#lx\n", size);
16 return size;
17 }
18
19 mc = cbmem_find(CBMEM_ID_MEM_CHIP_INFO);
20 assert(mc);
21
22 for (unsigned int i = 0; i < mc->num_channels; ++i)
23 size += mc->channel[i].density;
24
25 printk(BIOS_INFO, "dram size: %#lx\n", size);
26 return size;
Rex-BC Chen73e6b8e2021-11-02 10:31:53 +080027}
Ryan Chuang773c0072021-12-27 11:38:21 +080028
29void mt_set_emi(struct dramc_param *dparam)
30{
31 /* Do nothing */
32}