coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
iomap.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 Firmware Architecture Specification
5  * Document number: 608531
6  * Chapter number: 4
7  */
8 
9 #ifndef _SOC_TIGERLAKE_IOMAP_H_
10 #define _SOC_TIGERLAKE_IOMAP_H_
11 
12 /*
13  * Memory-mapped I/O registers.
14  */
15 #define PCH_PRESERVED_BASE_ADDRESS 0xfc800000
16 #define PCH_PRESERVED_BASE_SIZE 0x02000000
17 
18 #define PCH_TRACE_HUB_BASE_ADDRESS 0xfc800000
19 #define PCH_TRACE_HUB_BASE_SIZE 0x00800000
20 
21 #define UART_BASE_SIZE 0x1000
22 
23 #define UART_BASE_0_ADDRESS 0xfe03e000
24 /* Both UART BAR 0 and 1 are 4KB in size */
25 #define UART_BASE_0_ADDR(x) (UART_BASE_0_ADDRESS + (2 * \
26  UART_BASE_SIZE * (x)))
27 #define UART_BASE(x) UART_BASE_0_ADDR(x)
28 
29 #define DMI_BASE_ADDRESS 0xfeda0000
30 #define DMI_BASE_SIZE 0x1000
31 
32 #define EP_BASE_ADDRESS 0xfeda1000
33 #define EP_BASE_SIZE 0x1000
34 
35 #define EDRAM_BASE_ADDRESS 0xfed80000
36 #define EDRAM_BASE_SIZE 0x4000
37 
38 #define TBT0_BASE_ADDRESS 0xfed84000
39 #define TBT0_BASE_SIZE 0x1000
40 
41 #define TBT1_BASE_ADDRESS 0xfed85000
42 #define TBT1_BASE_SIZE 0x1000
43 
44 #define TBT2_BASE_ADDRESS 0xfed86000
45 #define TBT2_BASE_SIZE 0x1000
46 
47 #define TBT3_BASE_ADDRESS 0xfed87000
48 #define TBT3_BASE_SIZE 0x1000
49 
50 #define GFXVT_BASE_ADDRESS 0xfed90000
51 #define GFXVT_BASE_SIZE 0x1000
52 
53 #define IPUVT_BASE_ADDRESS 0xfed92000
54 #define IPUVT_BASE_SIZE 0x1000
55 
56 #define VTVC0_BASE_ADDRESS 0xfed91000
57 #define VTVC0_BASE_SIZE 0x1000
58 
59 #define REG_BASE_ADDRESS 0xfb000000
60 #define REG_BASE_SIZE 0x4000
61 
62 #define PCH_PWRM_BASE_ADDRESS 0xfe000000
63 #define PCH_PWRM_BASE_SIZE 0x10000
64 
65 #define SPI_BASE_ADDRESS 0xfe010000
66 
67 #define GPIO_BASE_SIZE 0x10000
68 
69 #define HECI1_BASE_ADDRESS 0xfeda2000
70 
71 #define VTD_BASE_ADDRESS 0xfed90000
72 #define VTD_BASE_SIZE 0x00004000
73 
74 #define MCH_BASE_ADDRESS 0xfedc0000
75 #define MCH_BASE_SIZE 0x20000
76 
77 #define EARLY_GSPI_BASE_ADDRESS 0xfe030000
78 
79 #define EARLY_I2C_BASE_ADDRESS 0xfe020000
80 #define EARLY_I2C_BASE(x) (EARLY_I2C_BASE_ADDRESS + (0x2000 * (x)))
81 
82 #define IOM_BASE_ADDRESS 0xfbc10000
83 #define IOM_BASE_SIZE 0x1600
84 
85 /*
86  * I/O port address space
87  */
88 #define SMBUS_BASE_ADDRESS 0x0efa0
89 #define SMBUS_BASE_SIZE 0x20
90 
91 #define ACPI_BASE_ADDRESS 0x1800
92 #define ACPI_BASE_SIZE 0x100
93 
94 #define TCO_BASE_ADDRESS 0x400
95 #define TCO_BASE_SIZE 0x20
96 
97 #define P2SB_BAR CONFIG_PCR_BASE_ADDRESS
98 #define P2SB_SIZE (16 * MiB)
99 
100 #endif