aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/intel/archercity_crb/util.c
blob: 0dac1e165140cb58b605b6ca5e97e41eeb03af2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* SPDX-License-Identifier: GPL-2.0-only */

#include <drivers/ocp/include/vpd.h>
#include <soc/chip_common.h>
#include <soc/util.h>

#if CONFIG(SOC_INTEL_HAS_CXL) && CONFIG(OCP_VPD)
enum xeonsp_cxl_mode get_cxl_mode(void)
{
	int ocp_cxl_mode = get_cxl_mode_from_vpd();
	switch (ocp_cxl_mode) {
	case CXL_SYSTEM_MEMORY:
		return XEONSP_CXL_SYS_MEM;
	case CXL_SPM:
		return XEONSP_CXL_SP_MEM;
	default:
		return XEONSP_CXL_DISABLED;
	}
}
#endif