blob: 33afeca8d3c06e29d9102be016e6020e623d7d76 [file] [log] [blame]
Shuo Liua0aff6e2024-04-26 17:35:05 +08001/* SPDX-License-Identifier: GPL-2.0-only */
2
3#include <drivers/ocp/include/vpd.h>
Shuo Liuc2ed5ea2024-05-11 03:23:23 +08004#include <soc/config.h>
Shuo Liua0aff6e2024-04-26 17:35:05 +08005
Patrick Rudolphf2ac23f2024-04-19 09:05:04 +02006#if CONFIG(SOC_INTEL_HAS_CXL) && CONFIG(OCP_VPD)
Shuo Liua0aff6e2024-04-26 17:35:05 +08007enum xeonsp_cxl_mode get_cxl_mode(void)
8{
9 int ocp_cxl_mode = get_cxl_mode_from_vpd();
10 switch (ocp_cxl_mode) {
11 case CXL_SYSTEM_MEMORY:
12 return XEONSP_CXL_SYS_MEM;
13 case CXL_SPM:
14 return XEONSP_CXL_SP_MEM;
15 default:
16 return XEONSP_CXL_DISABLED;
17 }
18}
19#endif