coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
cpu.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef _SOC_CANNONLAKE_CPU_H_
4 #define _SOC_CANNONLAKE_CPU_H_
5 
6 #include <device/device.h>
7 #include <intelblocks/msr.h>
8 
9 /* Latency times in units of 1024ns. */
10 #define C_STATE_LATENCY_CONTROL_0_LIMIT 0x4e
11 #define C_STATE_LATENCY_CONTROL_1_LIMIT 0x76
12 #define C_STATE_LATENCY_CONTROL_2_LIMIT 0x94
13 #define C_STATE_LATENCY_CONTROL_3_LIMIT 0xfa
14 #define C_STATE_LATENCY_CONTROL_4_LIMIT 0x14c
15 #define C_STATE_LATENCY_CONTROL_5_LIMIT 0x3f2
16 
17 /* Power in units of mW */
18 #define C1_POWER 0x3e8
19 #define C6_POWER 0x15e
20 #define C7_POWER 0xc8
21 #define C8_POWER 0xc8
22 #define C9_POWER 0xc8
23 #define C10_POWER 0xc8
24 
25 #define C_STATE_LATENCY_MICRO_SECONDS(limit, base) \
26  (((1 << ((base)*5)) * (limit)) / 1000)
27 #define C_STATE_LATENCY_FROM_LAT_REG(reg) \
28  C_STATE_LATENCY_MICRO_SECONDS(C_STATE_LATENCY_CONTROL_ ##reg## _LIMIT, \
29  (IRTL_1024_NS >> 10))
30 
31 #endif