soc/mediatek: Extract dramc_param_header to a common header

To be shared with different SOCs, move the dramc_param_header struct
as well DRAMC_PARAM_FLAG and DRAMC_PARAM_CONFIG enums to a common
header file dramc_param_common.h.

TEST=fast calibration pass
BUG=b:204226005

Signed-off-by: Xi Chen <xixi.chen@mediatek.corp-partner.google.com>
Change-Id: I087971799803e47e34c30063b2b0bd0cfc5795ac
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61132
Reviewed-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Xi Chen 2021-12-28 17:46:19 +08:00 committed by Hung-Te Lin
parent 63b53561e1
commit 426ea9670f
4 changed files with 34 additions and 36 deletions

View File

@ -0,0 +1,29 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef __SOC_MEDIATEK_DRAMC_PARAM_COMMON_H__
#define __SOC_MEDIATEK_DRAMC_PARAM_COMMON_H__
/*
* NOTE: This file is shared between coreboot and dram blob. Any change in this
* file should be synced to the other repository.
*/
enum DRAMC_PARAM_FLAG {
DRAMC_FLAG_HAS_SAVED_DATA = 0x0001,
};
enum DRAMC_PARAM_CONFIG {
DRAMC_CONFIG_EMCP = 0x0001,
DRAMC_CONFIG_DVFS = 0x0002,
DRAMC_CONFIG_FAST_K = 0x0004,
};
struct dramc_param_header {
u16 version; /* DRAMC_PARAM_HEADER_VERSION, set in coreboot */
u16 size; /* size of whole dramc_param, set in coreboot */
u16 status; /* DRAMC_PARAM_STATUS_CODES, set in dram blob */
u16 flags; /* DRAMC_PARAM_FLAG, set in dram blob */
u16 config; /* DRAMC_PARAM_CONFIG, set in coreboot */
};
#endif

View File

@ -10,6 +10,7 @@
#include <stdint.h> #include <stdint.h>
#include <sys/types.h> #include <sys/types.h>
#include <soc/dramc_param_common.h>
#include <soc/dramc_soc.h> #include <soc/dramc_soc.h>
#define DRAMC_PARAM_HEADER_VERSION 1 #define DRAMC_PARAM_HEADER_VERSION 1
@ -27,10 +28,6 @@ enum DRAMC_PARAM_STATUS_CODES {
DRAMC_ERR_FAST_CALIBRATION, DRAMC_ERR_FAST_CALIBRATION,
}; };
enum DRAMC_PARAM_FLAGS {
DRAMC_FLAG_HAS_SAVED_DATA = 0x0001,
};
enum SDRAM_DVFS_FLAG { enum SDRAM_DVFS_FLAG {
DRAMC_DISABLE_DVFS, DRAMC_DISABLE_DVFS,
DRAMC_ENABLE_DVFS, DRAMC_ENABLE_DVFS,
@ -56,14 +53,6 @@ enum SDRAM_VOLTAGE_TYPE {
SDRAM_VOLTAGE_LVCORE_LVDRAM, SDRAM_VOLTAGE_LVCORE_LVDRAM,
}; };
struct dramc_param_header {
u16 version; /* DRAMC_PARAM_HEADER_VERSION, update in the coreboot */
u16 size; /* size of whole dramc_param, update in the coreboot */
u16 status; /* DRAMC_PARAM_STATUS_CODES, update in the dram blob */
u16 flags; /* DRAMC_PARAM_FLAGS, update in the dram blob */
u16 config; /* DRAMC_PARAM_CONFIG, set in coreboot */
};
struct sdram_info { struct sdram_info {
u32 ddr_type; /* SDRAM_DDR_TYPE */ u32 ddr_type; /* SDRAM_DDR_TYPE */
u32 ddr_geometry; /* SDRAM_DDR_GEOMETRY_TYPE */ u32 ddr_geometry; /* SDRAM_DDR_GEOMETRY_TYPE */

View File

@ -10,9 +10,10 @@
#include <stdint.h> #include <stdint.h>
#include <sys/types.h> #include <sys/types.h>
#include <soc/dramc_param_common.h>
#include <soc/dramc_soc.h> #include <soc/dramc_soc.h>
#define DRAMC_PARAM_HEADER_VERSION 6 #define DRAMC_PARAM_HEADER_VERSION 7
enum DRAMC_PARAM_STATUS_CODES { enum DRAMC_PARAM_STATUS_CODES {
DRAMC_SUCCESS = 0, DRAMC_SUCCESS = 0,
@ -27,10 +28,6 @@ enum DRAMC_PARAM_STATUS_CODES {
DRAMC_ERR_FAST_CALIBRATION, DRAMC_ERR_FAST_CALIBRATION,
}; };
enum DRAMC_PARAM_FLAGS {
DRAMC_FLAG_HAS_SAVED_DATA = 0x0001,
};
enum SDRAM_DVFS_FLAG { enum SDRAM_DVFS_FLAG {
DRAMC_DISABLE_DVFS, DRAMC_DISABLE_DVFS,
DRAMC_ENABLE_DVFS, DRAMC_ENABLE_DVFS,
@ -56,13 +53,6 @@ enum SDRAM_VOLTAGE_TYPE {
SDRAM_VOLTAGE_LVCORE_LVDRAM, SDRAM_VOLTAGE_LVCORE_LVDRAM,
}; };
struct dramc_param_header {
u16 version; /* DRAMC_PARAM_HEADER_VERSION, update in the coreboot */
u16 size; /* size of whole dramc_param, update in the coreboot */
u16 status; /* DRAMC_PARAM_STATUS_CODES, update in the dram blob */
u16 flags; /* DRAMC_PARAM_FLAGS, update in the dram blob */
};
struct sdram_info { struct sdram_info {
u32 ddr_type; /* SDRAM_DDR_TYPE */ u32 ddr_type; /* SDRAM_DDR_TYPE */
u32 ddr_geometry; /* SDRAM_DDR_GEOMETRY_TYPE */ u32 ddr_geometry; /* SDRAM_DDR_GEOMETRY_TYPE */

View File

@ -10,9 +10,10 @@
#include <stdint.h> #include <stdint.h>
#include <sys/types.h> #include <sys/types.h>
#include <soc/dramc_param_common.h>
#include <soc/dramc_soc.h> #include <soc/dramc_soc.h>
#define DRAMC_PARAM_HEADER_VERSION 7 #define DRAMC_PARAM_HEADER_VERSION 8
enum DRAMC_PARAM_STATUS_CODES { enum DRAMC_PARAM_STATUS_CODES {
DRAMC_SUCCESS = 0, DRAMC_SUCCESS = 0,
@ -27,10 +28,6 @@ enum DRAMC_PARAM_STATUS_CODES {
DRAMC_ERR_FAST_CALIBRATION, DRAMC_ERR_FAST_CALIBRATION,
}; };
enum DRAMC_PARAM_FLAGS {
DRAMC_FLAG_HAS_SAVED_DATA = 0x0001,
};
enum SDRAM_DVFS_FLAG { enum SDRAM_DVFS_FLAG {
DRAMC_DISABLE_DVFS, DRAMC_DISABLE_DVFS,
DRAMC_ENABLE_DVFS, DRAMC_ENABLE_DVFS,
@ -56,13 +53,6 @@ enum SDRAM_VOLTAGE_TYPE {
SDRAM_VOLTAGE_LVCORE_LVDRAM, SDRAM_VOLTAGE_LVCORE_LVDRAM,
}; };
struct dramc_param_header {
u16 version; /* DRAMC_PARAM_HEADER_VERSION, update in the coreboot */
u16 size; /* size of whole dramc_param, update in the coreboot */
u16 status; /* DRAMC_PARAM_STATUS_CODES, update in the dram blob */
u16 flags; /* DRAMC_PARAM_FLAGS, update in the dram blob */
};
struct sdram_info { struct sdram_info {
u32 ddr_type; /* SDRAM_DDR_TYPE */ u32 ddr_type; /* SDRAM_DDR_TYPE */
u32 ddr_geometry; /* SDRAM_DDR_GEOMETRY_TYPE */ u32 ddr_geometry; /* SDRAM_DDR_GEOMETRY_TYPE */