coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
vr_config.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
3
/* VR Settings for each domain */
4
5
#ifndef _SOC_VR_CONFIG_H_
6
#define _SOC_VR_CONFIG_H_
7
8
#include <fsp/api.h>
9
10
struct
vr_config
{
11
12
/* The below settings will take effect when this is set to 1 for that domain. */
13
bool
vr_config_enable
;
14
15
/* AC and DC Loadline.
16
They are in 1/100 mOhms (ie. 1250 = 12.50 mOhms) and range is 0-6249. */
17
uint16_t
ac_loadline
;
18
uint16_t
dc_loadline
;
19
20
/* VR Icc Max limit.
21
Range is from 0-255A in 1/4 A units (400 = 100A). */
22
uint16_t
icc_max
;
23
24
/* Thermal Design Current time window.
25
Defined in milli seconds and range 1ms to 448s. */
26
uint32_t
tdc_timewindow
;
27
28
/* Thermal Design Current current limit.
29
Defined in 1/8A units and range is 0-4095. 1000 = 125A. */
30
uint16_t
tdc_currentlimit
;
31
};
32
33
#define VR_CFG_AMP(i) (uint16_t)((i) * 4)
34
#define VR_CFG_MOHMS(i) (uint16_t)((i) * 100)
35
#define VR_CFG_TDC_AMP(i) (uint16_t)((i) * 8)
36
37
/* VrConfig Settings for 4 domains
38
* 0 = IA core, 1 = GT
39
*/
40
enum
vr_domain
{
41
VR_DOMAIN_IA
,
42
VR_DOMAIN_GT
,
43
NUM_VR_DOMAINS
44
};
45
46
#define VR_CFG_ALL_DOMAINS_LOADLINE(ia, gt) \
47
{ \
48
[VR_DOMAIN_IA] = VR_CFG_MOHMS(ia), \
49
[VR_DOMAIN_GT] = VR_CFG_MOHMS(gt), \
50
}
51
52
#define VR_CFG_ALL_DOMAINS_ICC(ia, gt) \
53
{ \
54
[VR_DOMAIN_IA] = VR_CFG_AMP(ia), \
55
[VR_DOMAIN_GT] = VR_CFG_AMP(gt), \
56
}
57
58
#define VR_CFG_ALL_DOMAINS_TDC(ia, gt) \
59
{ \
60
[VR_DOMAIN_IA] = ia, \
61
[VR_DOMAIN_GT] = gt, \
62
}
63
64
#define VR_CFG_ALL_DOMAINS_TDC_CURRENT(ia, gt) \
65
{ \
66
[VR_DOMAIN_IA] = VR_CFG_TDC_AMP(ia), \
67
[VR_DOMAIN_GT] = VR_CFG_TDC_AMP(gt), \
68
}
69
70
void
fill_vr_domain_config
(
FSP_S_CONFIG
*s_cfg,
int
domain,
const
struct
vr_config
*cfg);
71
#endif
fill_vr_domain_config
void fill_vr_domain_config(FSP_S_CONFIG *s_cfg, int domain, const struct vr_config *cfg)
Definition:
vr_config.c:113
vr_domain
vr_domain
Definition:
vr_config.h:40
VR_DOMAIN_GT
@ VR_DOMAIN_GT
Definition:
vr_config.h:42
NUM_VR_DOMAINS
@ NUM_VR_DOMAINS
Definition:
vr_config.h:43
VR_DOMAIN_IA
@ VR_DOMAIN_IA
Definition:
vr_config.h:41
FSP_S_CONFIG
#define FSP_S_CONFIG
Definition:
fsp_upd.h:9
uint16_t
unsigned short uint16_t
Definition:
stdint.h:11
uint32_t
unsigned int uint32_t
Definition:
stdint.h:14
vr_config
Definition:
vr_config.h:10
vr_config::tdc_timewindow
uint32_t tdc_timewindow
Definition:
vr_config.h:26
vr_config::icc_max
uint16_t icc_max
Definition:
vr_config.h:22
vr_config::tdc_currentlimit
uint16_t tdc_currentlimit
Definition:
vr_config.h:30
vr_config::vr_config_enable
bool vr_config_enable
Definition:
vr_config.h:13
vr_config::ac_loadline
uint16_t ac_loadline
Definition:
vr_config.h:17
vr_config::dc_loadline
uint16_t dc_loadline
Definition:
vr_config.h:18
src
soc
intel
alderlake
include
soc
vr_config.h
Generated by
1.9.1