coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
dramc_param.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef SOC_MEDIATEK_MT8183_DRAMC_PARAM_H
4 #define SOC_MEDIATEK_MT8183_DRAMC_PARAM_H
5 
7 #include <soc/emi.h>
8 #include <stdint.h>
9 #include <sys/types.h>
10 
11 enum {
14 };
15 
28 };
29 
30 /* Bit flags */
34 };
35 
38 };
39 
48 };
49 
50 struct dramc_param_header {
51  u32 status; /* DRAMC_PARAM_STATUS_CODES */
53  u32 version; /* DRAMC_PARAM_HEADER_VERSION */
54  u32 size; /* size of whole dramc_param */
55  u16 config; /* DRAMC_PARAM_CONFIG */
56  u16 flags; /* DRAMC_PARAM_FLAGS */
58 };
59 
60 struct dramc_param {
62  void (*do_putc)(unsigned char c);
64 };
65 
67  struct dramc_param *param;
68  bool (*read_from_flash)(struct dramc_param *dparam);
69  bool (*write_to_flash)(const struct dramc_param *dparam);
70 };
71 
72 struct dramc_param *get_dramc_param_from_blob(void *blob);
73 int validate_dramc_param(const void *blob);
74 int is_valid_dramc_param(const void *blob);
75 int initialize_dramc_param(void *blob, u16 config);
76 
77 #endif /* SOC_MEDIATEK_MT8183_DRAMC_PARAM_H */
@ DRAM_DFS_SHUFFLE_MAX
DRAMC_PARAM_STATUS_CODES
DRAMC_PARAM_CONFIG
enum board_config config
Definition: memory.c:448
int initialize_dramc_param(void *blob, u16 config)
Definition: dramc_param.c:33
int is_valid_dramc_param(const void *blob)
Definition: dramc_param.c:28
@ DRAMC_PARAM_HEADER_VERSION
Definition: dramc_param.h:13
@ DRAMC_PARAM_HEADER_MAGIC
Definition: dramc_param.h:12
@ DRAMC_ERR_INVALID_CHECKSUM
Definition: dramc_param.h:21
@ DRAMC_ERR_COMPLEX_RW_MEM_TEST
Definition: dramc_param.h:25
@ DRAMC_ERR_INVALID_MAGIC
Definition: dramc_param.h:18
@ DRAMC_ERR_RECALIBRATE
Definition: dramc_param.h:23
@ DRAMC_ERR_INVALID_SIZE
Definition: dramc_param.h:20
@ DRAMC_ERR_INVALID_VERSION
Definition: dramc_param.h:19
@ DRAMC_ERR_1ST_COMPLEX_RW_MEM_TEST
Definition: dramc_param.h:26
@ DRAMC_ERR_INVALID_FLAGS
Definition: dramc_param.h:22
@ DRAMC_ERR_2ND_COMPLEX_RW_MEM_TEST
Definition: dramc_param.h:27
@ DRAMC_ERR_INIT_DRAM
Definition: dramc_param.h:24
@ DRAMC_SUCCESS
Definition: dramc_param.h:17
int validate_dramc_param(const void *blob)
Definition: dramc_param.c:11
DRAMC_PARAM_GEOMETRY_TYPE
Definition: dramc_param.h:40
@ DDR_TYPE_2CH_2RK_8GB_4_4
Definition: dramc_param.h:44
@ DDR_TYPE_2CH_RK0_RK1_BYTE_8GB_4_4
Definition: dramc_param.h:45
@ DDR_TYPE_2CH_RK0_BYTE_RK1_NORMAL_8GB_4_4
Definition: dramc_param.h:47
@ DDR_TYPE_2CH_1RK_4GB_4
Definition: dramc_param.h:41
@ DDR_TYPE_2CH_2RK_4GB_2_2
Definition: dramc_param.h:42
@ DDR_TYPE_2CH_RK0_NORMAL_RK1_BYTE_8GB_4_4
Definition: dramc_param.h:46
@ DDR_TYPE_2CH_2RK_6GB_3_3
Definition: dramc_param.h:43
struct dramc_param * get_dramc_param_from_blob(void *blob)
Definition: dramc_param.c:9
@ DRAMC_CONFIG_EMCP
Definition: dramc_param.h:32
@ DRAMC_CONFIG_DVFS
Definition: dramc_param.h:33
DRAMC_PARAM_FLAGS
Definition: dramc_param.h:36
@ DRAMC_FLAG_HAS_SAVED_DATA
Definition: dramc_param.h:37
_Bool bool
Definition: stdbool.h:6
uint32_t u32
Definition: stdint.h:51
uint16_t u16
Definition: stdint.h:48
bool(* read_from_flash)(struct dramc_param *dparam)
Definition: dramc_param.h:68
bool(* write_to_flash)(const struct dramc_param *dparam)
Definition: dramc_param.h:69
struct dramc_param * param
Definition: dramc_param.h:67
struct dramc_param_header header
Definition: dramc_param.h:61
struct sdram_params freq_params[DRAM_DFS_SHUFFLE_MAX]
Definition: dramc_param.h:63
void(* do_putc)(unsigned char c)
Definition: dramc_param.h:62
Defines the SDRAM parameter structure.
Definition: emi.h:15
#define c(value, pmcreg, dst_bits)
typedef void(X86APIP X86EMU_intrFuncs)(int num)