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