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 /*
4  * This file is created based on Intel Tiger Lake Processor SA Datasheet
5  * Document number: 571131
6  * Chapter number: 3
7  */
8 
9 #ifndef SOC_TIGERLAKE_SYSTEMAGENT_H
10 #define SOC_TIGERLAKE_SYSTEMAGENT_H
11 
13 
14 /* Device 0:0.0 PCI configuration space */
15 
16 #define EPBAR 0x40
17 #define DMIBAR 0x68
18 #define CAPID0_A 0xe4
19 #define VTD_DISABLE (1 << 23)
20 
21 /* MCHBAR offsets */
22 #define GFXVTBAR 0x5400
23 #define EDRAMBAR 0x5408
24 #define VTVC0BAR 0x5410
25 #define REGBAR 0x5420
26 #define MCH_DDR_POWER_LIMIT_LO 0x58e0
27 #define MCH_DDR_POWER_LIMIT_HI 0x58e4
28 #define MCH_PKG_POWER_LIMIT_LO 0x59a0
29 #define MCH_PKG_POWER_LIMIT_HI 0x59a4
30 #define BIOS_RESET_CPL 0x5da8
31 #define IMRBASE 0x6A40
32 #define IMRLIMIT 0x6A48
33 #define IPUVTBAR 0x7880
34 #define TBT0BAR 0x7888
35 #define TBT1BAR 0x7890
36 #define TBT2BAR 0x7898
37 #define TBT3BAR 0x78A0
38 
39 #define MAX_TBT_PCIE_PORT 4
40 
41 #define VTBAR_ENABLED 0x01
42 #define VTBAR_MASK 0x7ffffff000ull
43 
44 static const struct sa_mmio_descriptor soc_vtd_resources[] = {
47  { TBT0BAR, TBT0_BASE_ADDRESS, TBT0_BASE_SIZE, "TBT0BAR" },
48  { TBT1BAR, TBT1_BASE_ADDRESS, TBT1_BASE_SIZE, "TBT1BAR" },
49  { TBT2BAR, TBT2_BASE_ADDRESS, TBT2_BASE_SIZE, "TBT2BAR" },
50  { TBT3BAR, TBT3_BASE_ADDRESS, TBT3_BASE_SIZE, "TBT3BAR" },
52 };
53 
54 #define V_P2SB_CFG_IBDF_BUS 0
55 #define V_P2SB_CFG_IBDF_DEV 30
56 #define V_P2SB_CFG_IBDF_FUNC 7
57 #define V_P2SB_CFG_HBDF_BUS 0
58 #define V_P2SB_CFG_HBDF_DEV 30
59 #define V_P2SB_CFG_HBDF_FUNC 6
60 
61 #endif
#define IPUVT_BASE_ADDRESS
Definition: iomap.h:61
#define TBT2_BASE_ADDRESS
Definition: iomap.h:52
#define TBT3_BASE_ADDRESS
Definition: iomap.h:55
#define IPUVT_BASE_SIZE
Definition: iomap.h:62
#define TBT0_BASE_SIZE
Definition: iomap.h:47
#define TBT2_BASE_SIZE
Definition: iomap.h:53
#define TBT1_BASE_ADDRESS
Definition: iomap.h:49
#define TBT0_BASE_ADDRESS
Definition: iomap.h:46
#define TBT3_BASE_SIZE
Definition: iomap.h:56
#define TBT1_BASE_SIZE
Definition: iomap.h:50
#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 TBT3BAR
Definition: systemagent.h:37
#define VTVC0BAR
Definition: systemagent.h:24
#define GFXVTBAR
Definition: systemagent.h:22
#define TBT2BAR
Definition: systemagent.h:36
#define TBT1BAR
Definition: systemagent.h:35
#define IPUVTBAR
Definition: systemagent.h:33
#define TBT0BAR
Definition: systemagent.h:34
static const struct sa_mmio_descriptor soc_vtd_resources[]
Definition: systemagent.h:44