#define MRST_SPI_TIMEOUT 0x200000
#define MRST_REGBASE_SPI0 0xff128000
#define MRST_REGBASE_SPI1 0xff128400
+#define CLV_REGBASE_SPI1 0xff135000
#define MRST_CLK_SPI0_REG 0xff11d86c
/* Bit fields in CTRLR0 */
if (mrst_identify_cpu() == MRST_CPU_CHIP_PENWELL)
mrst_spi_paddr = MRST_REGBASE_SPI1;
+ else if (mrst_identify_cpu() == MRST_CPU_CHIP_CLOVERVIEW)
+ mrst_spi_paddr = CLV_REGBASE_SPI1;
pspi = (void *)set_fixmap_offset_nocache(FIX_EARLYCON_MEM_BASE,
mrst_spi_paddr);
static unsigned long __init mrst_calibrate_tsc(void)
{
unsigned long flags, fast_calibrate;
- if (__mrst_cpu_chip == MRST_CPU_CHIP_PENWELL) {
+ if ((__mrst_cpu_chip == MRST_CPU_CHIP_PENWELL) ||
+ (__mrst_cpu_chip == MRST_CPU_CHIP_CLOVERVIEW)) {
u32 lo, hi, ratio, fsb;
rdmsr(MSR_IA32_PERF_STATUS, lo, hi);
__mrst_cpu_chip = MRST_CPU_CHIP_PENWELL;
else if (boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model == 0x26)
__mrst_cpu_chip = MRST_CPU_CHIP_LINCROFT;
+ else if (boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model == 0x35)
+ __mrst_cpu_chip = MRST_CPU_CHIP_CLOVERVIEW;
else {
pr_err("Unknown Moorestown CPU (%d:%d), default to Lincroft\n",
boot_cpu_data.x86, boot_cpu_data.x86_model);
__mrst_cpu_chip = MRST_CPU_CHIP_LINCROFT;
}
- pr_debug("Moorestown CPU %s identified\n",
- (__mrst_cpu_chip == MRST_CPU_CHIP_LINCROFT) ?
- "Lincroft" : "Penwell");
}
/* MID systems don't have i8042 controller */