xref: /aosp_15_r20/external/coreboot/src/include/dimm_info_util.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef _DIMM_INFO_UTIL_H_
4 #define _DIMM_INFO_UTIL_H_
5 
6 #include <smbios.h>
7 #include <stdint.h>
8 
9 /**
10  * Convert the SMBIOS bit widths into an SPD encoded width.
11  *
12  * Use this when setting dimm_info.bus_width if the raw SPD values are not
13  * available.
14  */
15 uint8_t smbios_bus_width_to_spd_width(uint8_t ddr_type, uint16_t total_width,
16 				      uint16_t data_width);
17 
18 /**
19  * Convert the SMBIOS size values into the total number of MiB.
20  *
21  * Use this when setting dimm_info.dimm_size.
22  */
23 uint32_t smbios_memory_size_to_mib(uint16_t memory_size,
24 				   uint32_t extended_size);
25 
26 /**
27  * Convert the SMBIOS form factor to the SPD module type.
28  *
29  * Use this when setting dimm_info.mod_type.
30  */
31 uint8_t smbios_form_factor_to_spd_mod_type(smbios_memory_type memory_type,
32 		smbios_memory_form_factor form_factor);
33 
34 #endif
35