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
8
enum
mem_chip_type
{
9
MEM_CHIP_DDR3
= 0x30,
10
MEM_CHIP_LPDDR3
= 0x38,
11
MEM_CHIP_DDR4
= 0x40,
12
MEM_CHIP_LPDDR4
= 0x48,
13
MEM_CHIP_LPDDR4X
= 0x49,
14
};
15
16
struct
mem_chip_info
{
17
uint8_t
type
;
/* enum mem_chip_type */
18
uint8_t
num_channels
;
19
uint8_t
reserved
[6];
20
struct
mem_chip_channel
{
21
uint64_t
density
;
22
uint8_t
io_width
;
23
uint8_t
manufacturer_id
;
24
uint8_t
revision_id
[2];
25
uint8_t
reserved
[4];
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_ */
info
static struct smmstore_params_info info
Definition:
ramstage.c:12
mem_chip_type
mem_chip_type
Definition:
mem_chip_info.h:8
MEM_CHIP_DDR3
@ MEM_CHIP_DDR3
Definition:
mem_chip_info.h:9
MEM_CHIP_LPDDR4
@ MEM_CHIP_LPDDR4
Definition:
mem_chip_info.h:12
MEM_CHIP_LPDDR4X
@ MEM_CHIP_LPDDR4X
Definition:
mem_chip_info.h:13
MEM_CHIP_DDR4
@ MEM_CHIP_DDR4
Definition:
mem_chip_info.h:11
MEM_CHIP_LPDDR3
@ MEM_CHIP_LPDDR3
Definition:
mem_chip_info.h:10
mem_chip_info_size
static size_t mem_chip_info_size(struct mem_chip_info *info)
Definition:
mem_chip_info.h:30
stddef.h
uint64_t
unsigned long long uint64_t
Definition:
stdint.h:17
uint8_t
unsigned char uint8_t
Definition:
stdint.h:8
mem_chip_info::mem_chip_channel
Definition:
mem_chip_info.h:20
mem_chip_info::mem_chip_channel::reserved
uint8_t reserved[4]
Definition:
mem_chip_info.h:25
mem_chip_info::mem_chip_channel::io_width
uint8_t io_width
Definition:
mem_chip_info.h:22
mem_chip_info::mem_chip_channel::serial_id
uint8_t serial_id[8]
Definition:
mem_chip_info.h:26
mem_chip_info::mem_chip_channel::density
uint64_t density
Definition:
mem_chip_info.h:21
mem_chip_info::mem_chip_channel::manufacturer_id
uint8_t manufacturer_id
Definition:
mem_chip_info.h:23
mem_chip_info::mem_chip_channel::revision_id
uint8_t revision_id[2]
Definition:
mem_chip_info.h:24
mem_chip_info
Definition:
mem_chip_info.h:16
mem_chip_info::type
uint8_t type
Definition:
mem_chip_info.h:17
mem_chip_info::num_channels
uint8_t num_channels
Definition:
mem_chip_info.h:18
mem_chip_info::channel
struct mem_chip_info::mem_chip_channel channel[0]
mem_chip_info::reserved
uint8_t reserved[6]
Definition:
mem_chip_info.h:19
src
commonlib
bsd
include
commonlib
bsd
mem_chip_info.h
Generated by
1.9.1