x86: apl: Add systemagent driver
[oweals/u-boot.git] / arch / x86 / include / asm / arch-apollolake / systemagent.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) 2017 Intel Corporation.
4  * Take from coreboot project file of the same name
5  */
6
7 #ifndef _ASM_ARCH_SYSTEMAGENT_H
8 #define _ASM_ARCH_SYSTEMAGENT_H
9
10 /* Device 0:0.0 PCI configuration space */
11 #define MCHBAR          0x48
12
13 /* RAPL Package Power Limit register under MCHBAR */
14 #define PUNIT_THERMAL_DEVICE_IRQ                0x700C
15 #define PUINT_THERMAL_DEVICE_IRQ_VEC_NUMBER     0x18
16 #define PUINT_THERMAL_DEVICE_IRQ_LOCK           0x80000000
17 #define BIOS_RESET_CPL          0x7078
18 #define   PCODE_INIT_DONE       BIT(8)
19 #define MCHBAR_RAPL_PPL         0x70A8
20 #define CORE_DISABLE_MASK       0x7168
21 #define CAPID0_A                0xE4
22 #define   VTD_DISABLE           BIT(23)
23 #define DEFVTBAR                0x6c80
24 #define GFXVTBAR                0x6c88
25 #define   VTBAR_ENABLED         0x01
26 #define VTBAR_MASK              GENMASK_ULL(39, 12)
27 #define VTBAR_SIZE              0x1000
28
29 /**
30  * enable_bios_reset_cpl() - Tell the system agent that memory/power are ready
31  *
32  * This should be called when U-Boot has set up the memory and power
33  * management.
34  */
35 void enable_bios_reset_cpl(void);
36
37 #endif