coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
mem_chip_info.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause */
2 
3 #ifndef _COMMONLIB_BSD_MEM_CHIP_INFO_H_
4 #define _COMMONLIB_BSD_MEM_CHIP_INFO_H_
5 
6 #include <stddef.h>
7 
9  MEM_CHIP_DDR3 = 0x30,
11  MEM_CHIP_DDR4 = 0x40,
14 };
15 
16 struct mem_chip_info {
17  uint8_t type; /* enum mem_chip_type */
26  uint8_t serial_id[8]; /* LPDDR5 only */
27  } channel[0];
28 };
29 
30 static inline size_t mem_chip_info_size(struct mem_chip_info *info)
31 {
32  return sizeof(*info) + sizeof(info->channel[0]) * info->num_channels;
33 };
34 
35 #endif /* _COMMONLIB_BSD_MEM_CHIP_INFO_H_ */
static struct smmstore_params_info info
Definition: ramstage.c:12
mem_chip_type
Definition: mem_chip_info.h:8
@ MEM_CHIP_DDR3
Definition: mem_chip_info.h:9
@ MEM_CHIP_LPDDR4
Definition: mem_chip_info.h:12
@ MEM_CHIP_LPDDR4X
Definition: mem_chip_info.h:13
@ MEM_CHIP_DDR4
Definition: mem_chip_info.h:11
@ MEM_CHIP_LPDDR3
Definition: mem_chip_info.h:10
static size_t mem_chip_info_size(struct mem_chip_info *info)
Definition: mem_chip_info.h:30
unsigned long long uint64_t
Definition: stdint.h:17
unsigned char uint8_t
Definition: stdint.h:8
uint8_t num_channels
Definition: mem_chip_info.h:18
struct mem_chip_info::mem_chip_channel channel[0]
uint8_t reserved[6]
Definition: mem_chip_info.h:19