xref: /aosp_15_r20/external/coreboot/src/soc/mediatek/common/dram_init.c (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <stdint.h>
4 #include <soc/dramc_common.h>
5 #include <soc/dramc_param.h>
6 #include <soc/emi.h>
7 
8 struct dramc_param *dramc_params;
9 
is_dvfs_enabled(void)10 bool is_dvfs_enabled(void)
11 {
12 	dramc_info("dram_init: config_dvfs: %d\n",
13 		   dramc_params->dramc_datas.ddr_info.config_dvfs);
14 	return !!(dramc_params->dramc_datas.ddr_info.config_dvfs);
15 }
16 
get_ddr_geometry(void)17 u32 get_ddr_geometry(void)
18 {
19 	dramc_info("dram_init: ddr_geometry: %d\n",
20 		   dramc_params->dramc_datas.ddr_info.sdram.ddr_geometry);
21 	return dramc_params->dramc_datas.ddr_info.sdram.ddr_geometry;
22 }
23 
get_ddr_type(void)24 u32 get_ddr_type(void)
25 {
26 	dramc_info("dram_init: ddr_type: %d\n",
27 		   dramc_params->dramc_datas.ddr_info.sdram.ddr_type);
28 	return dramc_params->dramc_datas.ddr_info.sdram.ddr_type;
29 }
30 
init_dram_by_params(struct dramc_param * dparam)31 void init_dram_by_params(struct dramc_param *dparam)
32 {
33 	dramc_params = dparam;
34 	mt_set_emi(dramc_params);
35 }
36