coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
systemagent.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef SOC_SKYLAKE_SYSTEMAGENT_H
4 #define SOC_SKYLAKE_SYSTEMAGENT_H
5 
7 
8 #define SA_IGD_OPROM_VENDEV 0x80860406
9 
10 /* Device 0:0.0 PCI configuration space */
11 
12 #define EPBAR 0x40
13 #define DMIBAR 0x68
14 #define SMRAM 0x88 /* System Management RAM Control */
15 #define D_OPEN (1 << 6)
16 #define D_CLS (1 << 5)
17 #define D_LCK (1 << 4)
18 #define G_SMRAME (1 << 3)
19 #define C_BASE_SEG ((0 << 2) | (1 << 1) | (0 << 0))
20 #define CAPID0_A 0xe4
21 #define VTD_DISABLE (1 << 23)
22 
23 #define BIOS_RESET_CPL 0x5da8
24 #define GFXVTBAR 0x5400
25 #define EDRAMBAR 0x5408
26 #define VTVC0BAR 0x5410
27 #define GDXCBAR 0x5420
28 
29 #define MCH_PKG_POWER_LIMIT_LO 0x59a0
30 #define MCH_PKG_POWER_LIMIT_HI 0x59a4
31 #define MCH_DDR_POWER_LIMIT_LO 0x58e0
32 #define MCH_DDR_POWER_LIMIT_HI 0x58e4
33 
34 bool soc_vtd_enabled(void);
35 
36 static const struct sa_mmio_descriptor soc_gfxvt_mmio_descriptor = {
37  GFXVTBAR,
40  "GFXVTBAR"
41 };
42 
43 static const struct sa_mmio_descriptor soc_vtvc0_mmio_descriptor = {
44  VTVC0BAR,
47  "VTVC0BAR"
48 };
49 
50 /* Hardcoded default values for PCI Bus:Dev.Fun for IOAPIC and HPET */
51 #define V_P2SB_IBDF_BUS 250
52 #define V_P2SB_IBDF_DEV 31
53 #define V_P2SB_IBDF_FUN 0
54 #define V_DEFAULT_IBDF ((V_P2SB_IBDF_BUS << 8) | PCI_DEVFN(V_P2SB_IBDF_DEV, V_P2SB_IBDF_FUN))
55 
56 #define V_P2SB_HBDF_BUS 250
57 #define V_P2SB_HBDF_DEV 15
58 #define V_P2SB_HBDF_FUN 0
59 #define V_DEFAULT_HBDF ((V_P2SB_HBDF_BUS << 8) | PCI_DEVFN(V_P2SB_HBDF_DEV, V_P2SB_HBDF_FUN))
60 
61 #endif
#define GFXVT_BASE_ADDRESS
Definition: memmap.h:18
#define GFXVT_BASE_SIZE
Definition: memmap.h:19
#define VTVC0_BASE_ADDRESS
Definition: memmap.h:21
#define VTVC0_BASE_SIZE
Definition: memmap.h:22
#define VTVC0BAR
Definition: systemagent.h:26
#define GFXVTBAR
Definition: systemagent.h:24
bool soc_vtd_enabled(void)
Definition: systemagent.c:18
static const struct sa_mmio_descriptor soc_gfxvt_mmio_descriptor
Definition: systemagent.h:36
static const struct sa_mmio_descriptor soc_vtvc0_mmio_descriptor
Definition: systemagent.h:43