blob: 6c366f19980378177e263ad13fd14daccfffe8e4 [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
46 select SOC_INTEL_COMMON_BLOCK
Julien Viard de Galbert5a1f5402018-02-08 14:03:28 +010047 select SOC_INTEL_COMMON_BLOCK_CPU
Mariusz Szafranskia4041332017-08-02 17:28:17 +020048# select SOC_INTEL_COMMON_BLOCK_SA
49 select SOC_INTEL_COMMON_BLOCK_FAST_SPI
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020050 select SOC_INTEL_COMMON_BLOCK_GPIO
51 select DEBUG_SOC_COMMON_BLOCK_GPIO
52 select SOC_INTEL_COMMON_BLOCK_PCR
Mariusz Szafranskia4041332017-08-02 17:28:17 +020053 select TSC_CONSTANT_RATE
54 select TSC_MONOTONIC_TIMER
55 select TSC_SYNC_MFENCE
56 select UDELAY_TSC
Subrata Banik74558812018-01-25 11:41:04 +053057 select UDK_2015_BINDING
Mariusz Szafranskia4041332017-08-02 17:28:17 +020058
59config FSP_T_ADDR
60 hex "Intel FSP-T (temp ram init) binary location"
61 depends on ADD_FSP_BINARIES && FSP_CAR
62 default 0xfff30000
63 help
64 The memory location of the Intel FSP-T binary for this platform.
65
66config FSP_M_ADDR
67 hex "Intel FSP-M (memory init) binary location"
68 depends on ADD_FSP_BINARIES
69 default 0xfff32000
70 help
71 The memory location of the Intel FSP-M binary for this platform.
72
73config FSP_S_ADDR
74 hex "Intel FSP-S (silicon init) binary location"
75 depends on ADD_FSP_BINARIES
76 default 0xfffc3000
77 help
78 The memory location of the Intel FSP-S binary for this platform.
79
80# CAR memory layout on DENVERTON_NS hardware:
81## CAR base address - 0xfef00000
82## CAR size 1MB - 0x100 (0xfff00)
83## coreboot usage:
84## DCACHE base - 0xfef00000
85## DCACHE size - 0xb0000
86## FSP usage:
87## FSP base - 0xfefb0000
88## FSP size - 0x50000 - 0x100 (0x4ff00)
89config MAX_CPUS
90 int
91 default 16
92
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020093config PCR_BASE_ADDRESS
94 hex
95 default 0xfd000000
96 help
97 This option allows you to select MMIO Base Address of sideband bus.
98
Mariusz Szafranskia4041332017-08-02 17:28:17 +020099config DCACHE_RAM_BASE
100 hex
101 default 0xfef00000
102
103config DCACHE_RAM_SIZE
104 hex
105 default 0xb0000 if FSP_CAR
106 default 0x100000 if !FSP_CAR
107
108config DCACHE_BSP_STACK_SIZE
109 hex
110 default 0x10000
111
112config CPU_MICROCODE_CBFS_LOC
113 hex
114 default 0xfff20040
115
116config CPU_MICROCODE_CBFS_LEN
117 hex
118 default 0x0ff80
119
Julien Viard de Galbert5a1f5402018-02-08 14:03:28 +0100120config CPU_BCLK_MHZ
121 int
122 default 100
123
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200124config SMM_TSEG_SIZE
125 hex
126 default 0x200000
127
128config SMM_RESERVED_SIZE
129 hex
130 default 0x000000
131
132config IQAT_ENABLE
133 bool "Enable IQAT"
134 default y
135
136config IQAT_MEMORY_REGION_SIZE
137 depends on IQAT_ENABLE
138 hex
139 default 0x100000
140 help
141 Do not change this value
142
143config HSUART_DEV
144 hex
145 default 0x1a
146
147config HSUART_FUNC
148 hex
149 default 0x0
150
151choice
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
167 depends on (!DRIVERS_UART_8250IO && NON_LEGACY_UART_MODE)
168 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