cpu.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (c) 2016 Google, Inc
  4. */
  5. #ifndef __asm_arch_cpu_h
  6. #define __asm_arch_cpu_h
  7. /* CPU types */
  8. #define HASWELL_FAMILY_ULT 0x40650
  9. #define BROADWELL_FAMILY_ULT 0x306d0
  10. /* Supported CPUIDs */
  11. #define CPUID_HASWELL_A0 0x306c1
  12. #define CPUID_HASWELL_B0 0x306c2
  13. #define CPUID_HASWELL_C0 0x306c3
  14. #define CPUID_HASWELL_ULT_B0 0x40650
  15. #define CPUID_HASWELL_ULT 0x40651
  16. #define CPUID_HASWELL_HALO 0x40661
  17. #define CPUID_BROADWELL_C0 0x306d2
  18. #define CPUID_BROADWELL_D0 0x306d3
  19. #define CPUID_BROADWELL_E0 0x306d4
  20. /* Broadwell bus clock is fixed at 100MHz */
  21. #define BROADWELL_BCLK 100
  22. #define BROADWELL_FAMILY_ULT 0x306d0
  23. #define CORE_THREAD_COUNT_MSR 0x35
  24. #define MSR_VR_CURRENT_CONFIG 0x601
  25. #define MSR_VR_MISC_CONFIG 0x603
  26. #define MSR_PKG_POWER_SKU 0x614
  27. #define MSR_DDR_RAPL_LIMIT 0x618
  28. #define MSR_VR_MISC_CONFIG2 0x636
  29. /* Latency times in units of 1024ns. */
  30. #define C_STATE_LATENCY_CONTROL_0_LIMIT 0x42
  31. #define C_STATE_LATENCY_CONTROL_1_LIMIT 0x73
  32. #define C_STATE_LATENCY_CONTROL_2_LIMIT 0x91
  33. #define C_STATE_LATENCY_CONTROL_3_LIMIT 0xe4
  34. #define C_STATE_LATENCY_CONTROL_4_LIMIT 0x145
  35. #define C_STATE_LATENCY_CONTROL_5_LIMIT 0x1ef
  36. void cpu_set_power_limits(int power_limit_1_time);
  37. #endif