blob: 451706510e317961284759ee163cd8a71f629fda [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
29 select BOOTBLOCK_CONSOLE
30 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
31 select BOOT_DEVICE_SUPPORTS_WRITES
32 select POSTCAR_CONSOLE
33 select SOC_INTEL_COMMON
34 select SOC_INTEL_COMMON_RESET
35 select PLATFORM_USES_FSP2_0
36 select HAVE_HARD_RESET
37 select POSTCAR_STAGE
38 select C_ENVIRONMENT_BOOTBLOCK
39 select IOAPIC
40 select HAVE_SMI_HANDLER
41 select SMM_TSEG
42 select CACHE_MRC_SETTINGS
Mariusz Szafranskia4041332017-08-02 17:28:17 +020043 select PARALLEL_MP
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020044 select PCR_COMMON_IOSF_1_0
Mariusz Szafranskia4041332017-08-02 17:28:17 +020045 select SMP
Stefan Tauneref8b9572018-09-06 00:34:28 +020046 select INTEL_DESCRIPTOR_MODE_CAPABLE
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
Mariusz Szafranskia4041332017-08-02 17:28:17 +020049# select SOC_INTEL_COMMON_BLOCK_SA
50 select SOC_INTEL_COMMON_BLOCK_FAST_SPI
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020051 select SOC_INTEL_COMMON_BLOCK_GPIO
52 select DEBUG_SOC_COMMON_BLOCK_GPIO
53 select SOC_INTEL_COMMON_BLOCK_PCR
Mariusz Szafranskia4041332017-08-02 17:28:17 +020054 select TSC_CONSTANT_RATE
55 select TSC_MONOTONIC_TIMER
56 select TSC_SYNC_MFENCE
57 select UDELAY_TSC
Subrata Banik74558812018-01-25 11:41:04 +053058 select UDK_2015_BINDING
Mariusz Szafranskia4041332017-08-02 17:28:17 +020059
60config FSP_T_ADDR
61 hex "Intel FSP-T (temp ram init) binary location"
62 depends on ADD_FSP_BINARIES && FSP_CAR
63 default 0xfff30000
64 help
65 The memory location of the Intel FSP-T binary for this platform.
66
67config FSP_M_ADDR
68 hex "Intel FSP-M (memory init) binary location"
69 depends on ADD_FSP_BINARIES
70 default 0xfff32000
71 help
72 The memory location of the Intel FSP-M binary for this platform.
73
74config FSP_S_ADDR
75 hex "Intel FSP-S (silicon init) binary location"
76 depends on ADD_FSP_BINARIES
77 default 0xfffc3000
78 help
79 The memory location of the Intel FSP-S binary for this platform.
80
81# CAR memory layout on DENVERTON_NS hardware:
82## CAR base address - 0xfef00000
83## CAR size 1MB - 0x100 (0xfff00)
84## coreboot usage:
85## DCACHE base - 0xfef00000
86## DCACHE size - 0xb0000
87## FSP usage:
88## FSP base - 0xfefb0000
89## FSP size - 0x50000 - 0x100 (0x4ff00)
90config MAX_CPUS
91 int
92 default 16
93
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020094config PCR_BASE_ADDRESS
95 hex
96 default 0xfd000000
97 help
98 This option allows you to select MMIO Base Address of sideband bus.
99
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200100config DCACHE_RAM_BASE
101 hex
102 default 0xfef00000
103
104config DCACHE_RAM_SIZE
105 hex
106 default 0xb0000 if FSP_CAR
107 default 0x100000 if !FSP_CAR
108
109config DCACHE_BSP_STACK_SIZE
110 hex
111 default 0x10000
112
113config CPU_MICROCODE_CBFS_LOC
114 hex
115 default 0xfff20040
116
117config CPU_MICROCODE_CBFS_LEN
118 hex
119 default 0x0ff80
120
Julien Viard de Galbert5a1f5402018-02-08 14:03:28 +0100121config CPU_BCLK_MHZ
122 int
123 default 100
124
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200125config SMM_TSEG_SIZE
126 hex
127 default 0x200000
128
129config SMM_RESERVED_SIZE
130 hex
131 default 0x000000
132
133config IQAT_ENABLE
134 bool "Enable IQAT"
135 default y
136
137config IQAT_MEMORY_REGION_SIZE
138 depends on IQAT_ENABLE
139 hex
140 default 0x100000
141 help
142 Do not change this value
143
144config HSUART_DEV
145 hex
146 default 0x1a
147
148config HSUART_FUNC
149 hex
150 default 0x0
151
152choice
153 prompt "UART mode selection"
154 default NON_LEGACY_UART_MODE
155
156config NON_LEGACY_UART_MODE
157 bool "Non Legacy Mode"
158 help
159 Disable legacy UART mode
160
161config LEGACY_UART_MODE
162 bool "Legacy Mode"
163 help
164 Enable legacy UART mode
165endchoice
166
167config ENABLE_HSUART
168 depends on (!DRIVERS_UART_8250IO && NON_LEGACY_UART_MODE)
169 bool "Enable High-speed UART debug port selected by UART_FOR_CONSOLE."
170 default n
171 select CONSOLE_SERIAL
172 select DRIVERS_UART
173 select DRIVERS_UART_8250MEM
174
175config CONSOLE_UART_BASE_ADDRESS
176 depends on ENABLE_HSUART
177 hex "MMIO base address for UART"
178 default 0xd4000000
179
180config C_ENV_BOOTBLOCK_SIZE
181 hex
182 default 0x8000
183
184config DENVERTON_NS_CAR_NEM_ENHANCED
185 bool "Enhanced Non-evict mode"
186 depends on !FSP_CAR
187 default y
188 select SOC_INTEL_COMMON_BLOCK_CAR
189 select INTEL_CAR_NEM_ENHANCED
190 help
191 A current limitation of NEM (Non-Evict mode) is that code and data sizes
192 are derived from the requirement to not write out any modified cache line.
193 With NEM, if there is no physical memory behind the cached area,
194 the modified data will be lost and NEM results will be inconsistent.
195 ENHANCED NEM guarantees that modified data is always
196 kept in cache while clean data is replaced.
197
198endif ## SOC_INTEL_DENVERTON_NS