4 #include <baseboard/variants.h>
8 #include <soc/pci_devs.h>
15 #define SET_PSYSPL2(e, w) ((e) * (w) / 100)
18 size_t *intel_idx,
size_t *brask_idx)
36 for (i = 0; i < num_entries; i++) {
43 if (i == num_entries) {
53 const struct device *policy_dev;
54 size_t intel_idx, brask_idx;
63 policy_dev =
DEV_PTR(dptf_policy);
71 settings = &
config->controls.power_limits;
73 soc_config = &conf->power_limits_config[intel_idx];
88 printk(
BIOS_INFO,
"Overriding power limits PL1(mW) (%u, %u) PL2(mW) (%u, %u) PL4 (%u)\n",
102 const struct device *policy_dev;
103 size_t intel_idx, brask_idx;
104 u16 volts_mv, current_ma;
115 policy_dev =
DEV_PTR(dptf_policy);
123 soc_config = &conf->power_limits_config[intel_idx];
131 watts = ((
u32)current_ma * volts_mv) / 1000000;
137 pl2 = (psyspl2 > pl2_default) ? pl2_default : psyspl2;
149 conf->platform_pmax = soc_config->
psys_pmax;
#define DIV_ROUND_UP(x, y)
#define printk(level,...)
int google_chromeec_get_usb_pd_power_info(enum usb_chg_type *type, uint16_t *current_max, uint16_t *voltage_max)
#define BIOS_INFO
BIOS_INFO - Expected events.
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
static bool get_sku_index(const struct cpu_power_limits *limits, size_t num_entries, size_t *intel_idx, size_t *brask_idx)
#define SET_PSYSPL2(e, w)
void variant_update_power_limits(const struct cpu_power_limits *limits, size_t num_entries)
void variant_update_psys_power_limits(const struct cpu_power_limits *limits, const struct system_power_limits *sys_limits, size_t num_entries, const struct psys_config *config_psys)
WEAK_DEV_PTR(dptf_policy)
const struct system_power_limits sys_limits[]
const struct cpu_power_limits limits[]
static __always_inline uint16_t pci_s_read_config16(pci_devfn_t dev, uint16_t reg)
#define PCI_DEV(SEGBUS, DEV, FN)
#define MILLIWATTS_TO_WATTS
static const struct @451 cpuid_to_adl[]
enum soc_intel_alderlake_cpu_tdps cpu_tdp
unsigned int pl1_min_power
unsigned int pl1_max_power
unsigned int pl2_max_power
unsigned int pl2_min_power
DEVTREE_CONST void * chip_info
struct dptf_power_limit_config pl2
struct dptf_power_limit_config pl1
unsigned int psys_imax_ma
uint16_t tdp_pl2_override
unsigned int psys_pl2_power