1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #include <amdblocks/cpu.h>
7 /* Value defined in Serial VID Interface 2.0 spec (#48022, NDA only) */
8 #define SERIAL_VID_2_DECODE_MICROVOLTS 6250
9 #define SERIAL_VID_2_MAX_MICROVOLTS 1550000L
11 uint32_t get_uvolts_from_vid(uint16_t core_vid
)
13 if (core_vid
>= 0xF8) {
14 /* Voltage off for VID codes >= 0xF8 */
17 return SERIAL_VID_2_MAX_MICROVOLTS
-
18 (SERIAL_VID_2_DECODE_MICROVOLTS
* core_vid
);
22 uint32_t get_pstate_core_uvolts(union pstate_msr pstate_reg
)
24 return get_uvolts_from_vid(pstate_reg
.cpu_vid_0_7
);