summaryrefslogtreecommitdiff
path: root/src/soc/intel/alderlake/chip.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/alderlake/chip.h')
-rw-r--r--src/soc/intel/alderlake/chip.h34
1 files changed, 29 insertions, 5 deletions
diff --git a/src/soc/intel/alderlake/chip.h b/src/soc/intel/alderlake/chip.h
index eaaef07d56..ae85b91315 100644
--- a/src/soc/intel/alderlake/chip.h
+++ b/src/soc/intel/alderlake/chip.h
@@ -4,6 +4,7 @@
#define _SOC_CHIP_H_
#include <drivers/i2c/designware/dw_i2c.h>
+#include <device/pci_ids.h>
#include <intelblocks/cfg.h>
#include <intelblocks/gpio.h>
#include <intelblocks/gspi.h>
@@ -20,14 +21,37 @@
/* Types of different SKUs */
enum soc_intel_alderlake_power_limits {
- ADL_P_POWER_LIMITS_282_CORE,
- ADL_P_POWER_LIMITS_482_CORE,
- ADL_P_POWER_LIMITS_682_CORE,
- ADL_M_POWER_LIMITS_282_CORE,
- ADL_M_POWER_LIMITS_242_CORE,
+ ADL_P_282_CORE,
+ ADL_P_482_CORE,
+ ADL_P_682_28W_CORE,
+ ADL_P_682_45W_CORE,
+ ADL_M_282_CORE,
+ ADL_M_242_CORE,
ADL_POWER_LIMITS_COUNT
};
+/* TDP values for different SKUs */
+enum soc_intel_alderlake_cpu_tdps {
+ TDP_9W = 9,
+ TDP_15W = 15,
+ TDP_28W = 28,
+ TDP_45W = 45
+};
+
+/* Mapping of different SKUs based on CPU ID and TDP values */
+static const struct {
+ unsigned int cpu_id;
+ enum soc_intel_alderlake_power_limits limits;
+ enum soc_intel_alderlake_cpu_tdps cpu_tdp;
+} cpuid_to_adl[] = {
+ { PCI_DEVICE_ID_INTEL_ADL_P_ID_7, ADL_P_282_CORE, TDP_15W },
+ { PCI_DEVICE_ID_INTEL_ADL_P_ID_5, ADL_P_482_CORE, TDP_28W },
+ { PCI_DEVICE_ID_INTEL_ADL_P_ID_3, ADL_P_682_28W_CORE, TDP_28W },
+ { PCI_DEVICE_ID_INTEL_ADL_P_ID_3, ADL_P_682_45W_CORE, TDP_45W },
+ { PCI_DEVICE_ID_INTEL_ADL_M_ID_1, ADL_M_282_CORE, TDP_15W },
+ { PCI_DEVICE_ID_INTEL_ADL_M_ID_2, ADL_M_242_CORE, TDP_9W },
+};
+
/* Types of display ports */
enum ddi_ports {
DDI_PORT_A,