blob: 4fe491fce3504d379e9fd7d8561741bfb2077777 [file] [log] [blame]
Elyes HAOUASf7b2fe62020-05-07 12:38:15 +02001# SPDX-License-Identifier: GPL-2.0-only
Mariusz Szafranskia4041332017-08-02 17:28:17 +02002
3config SOC_INTEL_DENVERTON_NS
4 bool
5 help
6 Intel Denverton-NS SoC support
7
8if SOC_INTEL_DENVERTON_NS
9
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +010010config CPU_INTEL_NUM_FIT_ENTRIES
11 int
12 default 1
13
Mariusz Szafranskia4041332017-08-02 17:28:17 +020014config CPU_SPECIFIC_OPTIONS
15 def_bool y
Angel Ponsa32df262020-09-25 10:20:11 +020016 select ARCH_ALL_STAGES_X86_32
Mariusz Szafranskia4041332017-08-02 17:28:17 +020017 select BOOT_DEVICE_SUPPORTS_WRITES
Nico Huber371a6672018-11-13 22:06:40 +010018 select DEBUG_GPIO
Mariusz Szafranskia4041332017-08-02 17:28:17 +020019 select SOC_INTEL_COMMON
20 select SOC_INTEL_COMMON_RESET
21 select PLATFORM_USES_FSP2_0
Mariusz Szafranskia4041332017-08-02 17:28:17 +020022 select IOAPIC
Johanna Schander8a6e0362019-12-08 15:54:09 +010023 select HAVE_INTEL_FSP_REPO
Mariusz Szafranskia4041332017-08-02 17:28:17 +020024 select HAVE_SMI_HANDLER
Mariusz Szafranskia4041332017-08-02 17:28:17 +020025 select CACHE_MRC_SETTINGS
Mariusz Szafranskia4041332017-08-02 17:28:17 +020026 select PARALLEL_MP
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020027 select PCR_COMMON_IOSF_1_0
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +010028 select SUPPORT_CPU_UCODE_IN_CBFS
Stefan Tauneref8b9572018-09-06 00:34:28 +020029 select INTEL_DESCRIPTOR_MODE_CAPABLE
Mariusz Szafranskia4041332017-08-02 17:28:17 +020030 select SOC_INTEL_COMMON_BLOCK
Julien Viard de Galbert5a1f5402018-02-08 14:03:28 +010031 select SOC_INTEL_COMMON_BLOCK_CPU
Julien Viard de Galbertcf2b72f2018-04-05 11:24:45 +020032 select SOC_INTEL_COMMON_BLOCK_ACPI
Julien Viard de Galbert2912e8e2018-08-14 16:15:26 +020033 select SOC_INTEL_COMMON_BLOCK_PMC
34 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Mariusz Szafranskia4041332017-08-02 17:28:17 +020035 select SOC_INTEL_COMMON_BLOCK_FAST_SPI
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020036 select SOC_INTEL_COMMON_BLOCK_GPIO
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020037 select SOC_INTEL_COMMON_BLOCK_PCR
Mariusz Szafranskia4041332017-08-02 17:28:17 +020038 select TSC_MONOTONIC_TIMER
39 select TSC_SYNC_MFENCE
40 select UDELAY_TSC
Subrata Banik74558812018-01-25 11:41:04 +053041 select UDK_2015_BINDING
Michael Niewöhner63032432020-10-11 17:34:54 +020042 select CPU_INTEL_COMMON
Vanessa Eusebiocd979822018-06-06 13:12:53 -070043 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Felix Singere0b74a12020-03-03 22:39:02 +010044 select SUPPORT_CPU_UCODE_IN_CBFS
Mariusz Szafranskia4041332017-08-02 17:28:17 +020045
Andrey Petrovdafd5142019-12-30 09:58:47 -080046config MMCONF_BASE_ADDRESS
47 hex
48 default 0xe0000000
49
Mariusz Szafranskia4041332017-08-02 17:28:17 +020050config FSP_T_ADDR
Elyes HAOUASef906092020-02-20 19:41:17 +010051 hex "Intel FSP-T (temp RAM init) binary location"
Mariusz Szafranskia4041332017-08-02 17:28:17 +020052 depends on ADD_FSP_BINARIES && FSP_CAR
53 default 0xfff30000
54 help
55 The memory location of the Intel FSP-T binary for this platform.
56
57config FSP_M_ADDR
58 hex "Intel FSP-M (memory init) binary location"
59 depends on ADD_FSP_BINARIES
60 default 0xfff32000
61 help
62 The memory location of the Intel FSP-M binary for this platform.
63
64config FSP_S_ADDR
65 hex "Intel FSP-S (silicon init) binary location"
66 depends on ADD_FSP_BINARIES
67 default 0xfffc3000
68 help
69 The memory location of the Intel FSP-S binary for this platform.
70
Felix Singerfdccfc62019-01-15 07:29:57 +010071config FSP_HEADER_PATH
Felix Singerfdccfc62019-01-15 07:29:57 +010072 default "3rdparty/fsp/DenvertonNSFspBinPkg/Include/"
73
74config FSP_FD_PATH
Felix Singerfdccfc62019-01-15 07:29:57 +010075 default "3rdparty/fsp/DenvertonNSFspBinPkg/FspBin/DenvertonNSFsp.fd"
76
Mariusz Szafranskia4041332017-08-02 17:28:17 +020077# CAR memory layout on DENVERTON_NS hardware:
78## CAR base address - 0xfef00000
79## CAR size 1MB - 0x100 (0xfff00)
80## coreboot usage:
81## DCACHE base - 0xfef00000
82## DCACHE size - 0xb0000
83## FSP usage:
84## FSP base - 0xfefb0000
85## FSP size - 0x50000 - 0x100 (0x4ff00)
86config MAX_CPUS
87 int
88 default 16
89
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020090config PCR_BASE_ADDRESS
91 hex
92 default 0xfd000000
93 help
94 This option allows you to select MMIO Base Address of sideband bus.
95
Mariusz Szafranskia4041332017-08-02 17:28:17 +020096config DCACHE_RAM_BASE
97 hex
98 default 0xfef00000
99
100config DCACHE_RAM_SIZE
101 hex
102 default 0xb0000 if FSP_CAR
103 default 0x100000 if !FSP_CAR
104
105config DCACHE_BSP_STACK_SIZE
106 hex
107 default 0x10000
108
Julien Viard de Galbert5a1f5402018-02-08 14:03:28 +0100109config CPU_BCLK_MHZ
110 int
111 default 100
112
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200113config SMM_TSEG_SIZE
114 hex
115 default 0x200000
116
117config SMM_RESERVED_SIZE
118 hex
119 default 0x000000
120
121config IQAT_ENABLE
122 bool "Enable IQAT"
123 default y
124
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200125config HSUART_DEV
126 hex
127 default 0x1a
128
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200129choice
130 prompt "UART mode selection"
131 default NON_LEGACY_UART_MODE
132
133config NON_LEGACY_UART_MODE
134 bool "Non Legacy Mode"
135 help
136 Disable legacy UART mode
137
138config LEGACY_UART_MODE
139 bool "Legacy Mode"
140 help
141 Enable legacy UART mode
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +0100142 select CONSOLE_SERIAL
143 select DRIVERS_UART
144 select DRIVERS_UART_8250IO
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200145endchoice
146
147config ENABLE_HSUART
Nico Huber3eb720c2018-11-11 00:27:41 +0100148 depends on NON_LEGACY_UART_MODE
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200149 bool "Enable High-speed UART debug port selected by UART_FOR_CONSOLE."
150 default n
151 select CONSOLE_SERIAL
152 select DRIVERS_UART
153 select DRIVERS_UART_8250MEM
154
155config CONSOLE_UART_BASE_ADDRESS
156 depends on ENABLE_HSUART
157 hex "MMIO base address for UART"
158 default 0xd4000000
159
160config C_ENV_BOOTBLOCK_SIZE
161 hex
162 default 0x8000
163
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +0100164choice
165 prompt "Cache-as-ram implementation"
166 default USE_DENVERTON_NS_CAR_NEM_ENHANCED
167 help
168 This option allows you to select how cache-as-ram (CAR) is set up.
169
170config USE_DENVERTON_NS_CAR_NEM_ENHANCED
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200171 bool "Enhanced Non-evict mode"
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200172 select SOC_INTEL_COMMON_BLOCK_CAR
Shreesh Chhabbi87c7ec72020-12-03 14:07:15 -0800173 select INTEL_CAR_NEM_ENHANCED
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200174 help
175 A current limitation of NEM (Non-Evict mode) is that code and data sizes
176 are derived from the requirement to not write out any modified cache line.
177 With NEM, if there is no physical memory behind the cached area,
178 the modified data will be lost and NEM results will be inconsistent.
179 ENHANCED NEM guarantees that modified data is always
180 kept in cache while clean data is replaced.
181
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +0100182config USE_DENVERTON_NS_FSP_CAR
183 bool "Use FSP CAR"
184 select FSP_CAR
185 help
186 Use FSP APIs to initialize and tear down the Cache-As-Ram.
187
188endchoice
189
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200190endif ## SOC_INTEL_DENVERTON_NS