mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-22 03:03:05 +00:00
6571d87315
Set up MSRs required for Apollo Lake. This enables Linux to use the timers correctly. Also write the fixed MSRs for this platform. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
34 lines
928 B
C
34 lines
928 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright 2019 Google LLC
|
|
*/
|
|
|
|
#ifndef _ASM_ARCH_CPU_H
|
|
#define _ASM_ARCH_CPU_H
|
|
|
|
/* Common Timer Copy (CTC) frequency - 19.2MHz */
|
|
#define CTC_FREQ 19200000
|
|
|
|
#define MAX_PCIE_PORTS 6
|
|
#define CLKREQ_DISABLED 0xf
|
|
|
|
#ifndef __ASSEMBLY__
|
|
/* Flush L1D to L2 */
|
|
void cpu_flush_l1d_to_l2(void);
|
|
|
|
/**
|
|
* Enable emulation of the PM timer
|
|
*
|
|
* Some legacy OSes cannot tolerate the ACPI timer stoping during idle states,
|
|
* and this results in higher power consumption. ACPI timer emulation allows
|
|
* disabling of the ACPI Timer (PM1_TMR) to have no impact on the system, with
|
|
* the exception that TMR_STS will not be set on an overflow condition. All
|
|
* aligned 32-bit reads from the ACPI Timer port are valid and will behave as if
|
|
* the ACPI timer remains enabled.
|
|
*
|
|
* @pmc: PMC device
|
|
*/
|
|
void enable_pm_timer_emulation(const struct udevice *pmc);
|
|
#endif
|
|
|
|
#endif /* _ASM_ARCH_CPU_H */
|