diff options
author | Subrata Banik <subrata.banik@intel.com> | 2019-08-29 13:43:30 +0530 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2019-09-02 20:08:20 +0000 |
commit | 809b7513a21e04f087eaab4bc06be9978826b4a3 (patch) | |
tree | 3bfcb9b68696eecec17b4580bb5e615c87681a20 /src/arch | |
parent | c54dcf499b62ae48c5b8322f3ea9714ebd4d1108 (diff) |
soc/intel/common/timer: Make TSC frequency calculation dynamically
tsc_freq_mhz() had a static table of Intel CPU families and crystal
clock, but it is possible to calculate the crystal clock speed dynamically,
and this is preferred over hardcoded table.
On SKL/KBL/CML CPUID.15h.ecx = nominal core crystal clock = 0 Hz
hence we had to use static table to calculate crystal clock.
Recommendation is to make use of CPUID.16h where crystal clock frequency
was not reported by CPUID.15h to calculate the crystal clock.
BUG=b:139798422, b:129839774
TEST=Able to build and boot KBL/CML/ICL.
Change-Id: If660a4b8d12e54b39252bce62bcc0ffcc967f5da
Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/35148
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-by: V Sowmya <v.sowmya@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/x86/include/arch/intel-family.h | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/src/arch/x86/include/arch/intel-family.h b/src/arch/x86/include/arch/intel-family.h deleted file mode 100644 index 43eb0e6b34..0000000000 --- a/src/arch/x86/include/arch/intel-family.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * This file is part of the coreboot project. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#ifndef ARCH_INTEL_FAMILY_H -#define ARCH_INTEL_FAMILY_H - -#define CPU_MODEL_INTEL_CORE_YONAH 0x0E - -#define CPU_MODEL_INTEL_CORE2_MEROM 0x0F -#define CPU_MODEL_INTEL_CORE2_MEROM_L 0x16 -#define CPU_MODEL_INTEL_CORE2_PENRYN 0x17 -#define CPU_MODEL_INTEL_CORE2_DUNNINGTON 0x1D - -#define CPU_MODEL_INTEL_NEHALEM 0x1E -/* Auburndale / Havendale */ -#define CPU_MODEL_INTEL_NEHALEM_G 0x1F -#define CPU_MODEL_INTEL_NEHALEM_EP 0x1A -#define CPU_MODEL_INTEL_NEHALEM_EX 0x2E - -#define CPU_MODEL_INTEL_WESTMERE 0x25 -#define CPU_MODEL_INTEL_WESTMERE_EP 0x2C -#define CPU_MODEL_INTEL_WESTMERE_EX 0x2F - -#define CPU_MODEL_INTEL_SANDYBRIDGE 0x2A -#define CPU_MODEL_INTEL_SANDYBRIDGE_X 0x2D -#define CPU_MODEL_INTEL_IVYBRIDGE 0x3A -#define CPU_MODEL_INTEL_IVYBRIDGE_X 0x3E - -#define CPU_MODEL_INTEL_HASWELL_CORE 0x3C -#define CPU_MODEL_INTEL_HASWELL_X 0x3F -#define CPU_MODEL_INTEL_HASWELL_ULT 0x45 -#define CPU_MODEL_INTEL_HASWELL_GT3E 0x46 - -#define CPU_MODEL_INTEL_BROADWELL_CORE 0x3D -#define CPU_MODEL_INTEL_BROADWELL_GT3E 0x47 -#define CPU_MODEL_INTEL_BROADWELL_X 0x4F -#define CPU_MODEL_INTEL_BROADWELL_XEON_D 0x56 - -#define CPU_MODEL_INTEL_SKYLAKE_MOBILE 0x4E -#define CPU_MODEL_INTEL_SKYLAKE_DESKTOP 0x5E -#define CPU_MODEL_INTEL_SKYLAKE_X 0x55 -#define CPU_MODEL_INTEL_KABYLAKE_MOBILE 0x8E -#define CPU_MODEL_INTEL_KABYLAKE_DESKTOP 0x9E -#define CPU_MODEL_INTEL_CANNONLAKE_MOBILE 0x66 -#define CPU_MODEL_INTEL_ICELAKE_MOBILE 0x7E - -/* "Small Core" Processors (Atom) */ - -#define CPU_MODEL_INTEL_ATOM_PINEVIEW 0x1C -#define CPU_MODEL_INTEL_ATOM_LINCROFT 0x26 -#define CPU_MODEL_INTEL_ATOM_PENWELL 0x27 -#define CPU_MODEL_INTEL_ATOM_CLOVERVIEW 0x35 -#define CPU_MODEL_INTEL_ATOM_CEDARVIEW 0x36 -/* BayTrail/BYT / Valleyview */ -#define CPU_MODEL_INTEL_ATOM_SILVERMONT1 0x37 -/* Avaton/Rangely */ -#define CPU_MODEL_INTEL_ATOM_SILVERMONT2 0x4D -/* CherryTrail / Braswell */ -#define CPU_MODEL_INTEL_ATOM_AIRMONT 0x4C -/* Tangier */ -#define CPU_MODEL_INTEL_ATOM_MERRIFIELD 0x4A -/* Anniedale */ -#define CPU_MODEL_INTEL_ATOM_MOOREFIELD 0x5A -#define CPU_MODEL_INTEL_ATOM_GOLDMONT 0x5C -/* Goldmont Microserver */ -#define CPU_MODEL_INTEL_ATOM_DENVERTON 0x5F -#define CPU_MODEL_INTEL_ATOM_GEMINI_LAKE 0x7A - -/* Xeon Phi */ - -/* Knights Landing */ -#define CPU_MODEL_INTEL_XEON_PHI_KNL 0x57 -/* Knights Mill */ -#define CPU_MODEL_INTEL_XEON_PHI_KNM 0x85 - -#endif /* ARCH_INTEL_FAMILY_H */ |