blob: 273ce30d66a8ef1c05881f06511e87486a024aec [file] [log] [blame]
Mariusz Szafranskia4041332017-08-02 17:28:17 +02001##
2## This file is part of the coreboot project.
3##
Subrata Banik74558812018-01-25 11:41:04 +05304## Copyright (C) 2014 - 2018 Intel Corporation.
Mariusz Szafranskia4041332017-08-02 17:28:17 +02005##
6## This program is free software; you can redistribute it and/or modify
7## it under the terms of the GNU General Public License as published by
8## the Free Software Foundation; version 2 of the License.
9##
10## This program is distributed in the hope that it will be useful,
11## but WITHOUT ANY WARRANTY; without even the implied warranty of
12## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13## GNU General Public License for more details.
14##
15
16config SOC_INTEL_DENVERTON_NS
17 bool
18 help
19 Intel Denverton-NS SoC support
20
21if SOC_INTEL_DENVERTON_NS
22
23config CPU_SPECIFIC_OPTIONS
24 def_bool y
25 select ARCH_BOOTBLOCK_X86_32
26 select ARCH_RAMSTAGE_X86_32
27 select ARCH_ROMSTAGE_X86_32
28 select ARCH_VERSTAGE_X86_32
Mariusz Szafranskia4041332017-08-02 17:28:17 +020029 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
30 select BOOT_DEVICE_SUPPORTS_WRITES
Nico Huber371a6672018-11-13 22:06:40 +010031 select DEBUG_GPIO
Mariusz Szafranskia4041332017-08-02 17:28:17 +020032 select POSTCAR_CONSOLE
33 select SOC_INTEL_COMMON
34 select SOC_INTEL_COMMON_RESET
35 select PLATFORM_USES_FSP2_0
Mariusz Szafranskia4041332017-08-02 17:28:17 +020036 select POSTCAR_STAGE
37 select C_ENVIRONMENT_BOOTBLOCK
38 select IOAPIC
39 select HAVE_SMI_HANDLER
40 select SMM_TSEG
41 select CACHE_MRC_SETTINGS
Mariusz Szafranskia4041332017-08-02 17:28:17 +020042 select PARALLEL_MP
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020043 select PCR_COMMON_IOSF_1_0
Mariusz Szafranskia4041332017-08-02 17:28:17 +020044 select SMP
Stefan Tauneref8b9572018-09-06 00:34:28 +020045 select INTEL_DESCRIPTOR_MODE_CAPABLE
Julien Viard de Galbertcf2b72f2018-04-05 11:24:45 +020046 select COMMON_FADT
Mariusz Szafranskia4041332017-08-02 17:28:17 +020047 select SOC_INTEL_COMMON_BLOCK
Julien Viard de Galbert5a1f5402018-02-08 14:03:28 +010048 select SOC_INTEL_COMMON_BLOCK_CPU
Julien Viard de Galbertcf2b72f2018-04-05 11:24:45 +020049 select SOC_INTEL_COMMON_BLOCK_ACPI
Julien Viard de Galbert2912e8e2018-08-14 16:15:26 +020050 select SOC_INTEL_COMMON_BLOCK_PMC
51 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Mariusz Szafranskia4041332017-08-02 17:28:17 +020052# select SOC_INTEL_COMMON_BLOCK_SA
53 select SOC_INTEL_COMMON_BLOCK_FAST_SPI
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020054 select SOC_INTEL_COMMON_BLOCK_GPIO
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020055 select SOC_INTEL_COMMON_BLOCK_PCR
Mariusz Szafranskia4041332017-08-02 17:28:17 +020056 select TSC_CONSTANT_RATE
57 select TSC_MONOTONIC_TIMER
58 select TSC_SYNC_MFENCE
59 select UDELAY_TSC
Subrata Banik74558812018-01-25 11:41:04 +053060 select UDK_2015_BINDING
Vanessa Eusebiocd979822018-06-06 13:12:53 -070061 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Mariusz Szafranskia4041332017-08-02 17:28:17 +020062
63config FSP_T_ADDR
64 hex "Intel FSP-T (temp ram init) binary location"
65 depends on ADD_FSP_BINARIES && FSP_CAR
66 default 0xfff30000
67 help
68 The memory location of the Intel FSP-T binary for this platform.
69
70config FSP_M_ADDR
71 hex "Intel FSP-M (memory init) binary location"
72 depends on ADD_FSP_BINARIES
73 default 0xfff32000
74 help
75 The memory location of the Intel FSP-M binary for this platform.
76
77config FSP_S_ADDR
78 hex "Intel FSP-S (silicon init) binary location"
79 depends on ADD_FSP_BINARIES
80 default 0xfffc3000
81 help
82 The memory location of the Intel FSP-S binary for this platform.
83
84# CAR memory layout on DENVERTON_NS hardware:
85## CAR base address - 0xfef00000
86## CAR size 1MB - 0x100 (0xfff00)
87## coreboot usage:
88## DCACHE base - 0xfef00000
89## DCACHE size - 0xb0000
90## FSP usage:
91## FSP base - 0xfefb0000
92## FSP size - 0x50000 - 0x100 (0x4ff00)
93config MAX_CPUS
94 int
95 default 16
96
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020097config PCR_BASE_ADDRESS
98 hex
99 default 0xfd000000
100 help
101 This option allows you to select MMIO Base Address of sideband bus.
102
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200103config DCACHE_RAM_BASE
104 hex
105 default 0xfef00000
106
107config DCACHE_RAM_SIZE
108 hex
109 default 0xb0000 if FSP_CAR
110 default 0x100000 if !FSP_CAR
111
112config DCACHE_BSP_STACK_SIZE
113 hex
114 default 0x10000
115
116config CPU_MICROCODE_CBFS_LOC
117 hex
118 default 0xfff20040
119
120config CPU_MICROCODE_CBFS_LEN
121 hex
122 default 0x0ff80
123
Julien Viard de Galbert5a1f5402018-02-08 14:03:28 +0100124config CPU_BCLK_MHZ
125 int
126 default 100
127
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200128config SMM_TSEG_SIZE
129 hex
130 default 0x200000
131
132config SMM_RESERVED_SIZE
133 hex
134 default 0x000000
135
136config IQAT_ENABLE
137 bool "Enable IQAT"
138 default y
139
140config IQAT_MEMORY_REGION_SIZE
141 depends on IQAT_ENABLE
142 hex
143 default 0x100000
144 help
145 Do not change this value
146
147config HSUART_DEV
148 hex
149 default 0x1a
150
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200151choice
152 prompt "UART mode selection"
153 default NON_LEGACY_UART_MODE
154
155config NON_LEGACY_UART_MODE
156 bool "Non Legacy Mode"
157 help
158 Disable legacy UART mode
159
160config LEGACY_UART_MODE
161 bool "Legacy Mode"
162 help
163 Enable legacy UART mode
164endchoice
165
166config ENABLE_HSUART
Nico Huber3eb720c2018-11-11 00:27:41 +0100167 depends on NON_LEGACY_UART_MODE
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200168 bool "Enable High-speed UART debug port selected by UART_FOR_CONSOLE."
169 default n
170 select CONSOLE_SERIAL
171 select DRIVERS_UART
172 select DRIVERS_UART_8250MEM
173
174config CONSOLE_UART_BASE_ADDRESS
175 depends on ENABLE_HSUART
176 hex "MMIO base address for UART"
177 default 0xd4000000
178
179config C_ENV_BOOTBLOCK_SIZE
180 hex
181 default 0x8000
182
183config DENVERTON_NS_CAR_NEM_ENHANCED
184 bool "Enhanced Non-evict mode"
185 depends on !FSP_CAR
186 default y
187 select SOC_INTEL_COMMON_BLOCK_CAR
188 select INTEL_CAR_NEM_ENHANCED
189 help
190 A current limitation of NEM (Non-Evict mode) is that code and data sizes
191 are derived from the requirement to not write out any modified cache line.
192 With NEM, if there is no physical memory behind the cached area,
193 the modified data will be lost and NEM results will be inconsistent.
194 ENHANCED NEM guarantees that modified data is always
195 kept in cache while clean data is replaced.
196
197endif ## SOC_INTEL_DENVERTON_NS