blob: 91b45dc258d25b00c74444538c28076cd2d564b5 [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
10config CPU_SPECIFIC_OPTIONS
11 def_bool y
12 select ARCH_BOOTBLOCK_X86_32
13 select ARCH_RAMSTAGE_X86_32
14 select ARCH_ROMSTAGE_X86_32
15 select ARCH_VERSTAGE_X86_32
Mariusz Szafranskia4041332017-08-02 17:28:17 +020016 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
17 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
Stefan Tauneref8b9572018-09-06 00:34:28 +020028 select INTEL_DESCRIPTOR_MODE_CAPABLE
Mariusz Szafranskia4041332017-08-02 17:28:17 +020029 select SOC_INTEL_COMMON_BLOCK
Julien Viard de Galbert5a1f5402018-02-08 14:03:28 +010030 select SOC_INTEL_COMMON_BLOCK_CPU
Julien Viard de Galbertcf2b72f2018-04-05 11:24:45 +020031 select SOC_INTEL_COMMON_BLOCK_ACPI
Julien Viard de Galbert2912e8e2018-08-14 16:15:26 +020032 select SOC_INTEL_COMMON_BLOCK_PMC
33 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Mariusz Szafranskia4041332017-08-02 17:28:17 +020034 select SOC_INTEL_COMMON_BLOCK_FAST_SPI
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020035 select SOC_INTEL_COMMON_BLOCK_GPIO
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020036 select SOC_INTEL_COMMON_BLOCK_PCR
Mariusz Szafranskia4041332017-08-02 17:28:17 +020037 select TSC_MONOTONIC_TIMER
38 select TSC_SYNC_MFENCE
39 select UDELAY_TSC
Subrata Banik74558812018-01-25 11:41:04 +053040 select UDK_2015_BINDING
Vanessa Eusebiocd979822018-06-06 13:12:53 -070041 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Felix Singere0b74a12020-03-03 22:39:02 +010042 select SUPPORT_CPU_UCODE_IN_CBFS
Mariusz Szafranskia4041332017-08-02 17:28:17 +020043
Andrey Petrovdafd5142019-12-30 09:58:47 -080044config MMCONF_BASE_ADDRESS
45 hex
46 default 0xe0000000
47
Mariusz Szafranskia4041332017-08-02 17:28:17 +020048config FSP_T_ADDR
Elyes HAOUASef906092020-02-20 19:41:17 +010049 hex "Intel FSP-T (temp RAM init) binary location"
Mariusz Szafranskia4041332017-08-02 17:28:17 +020050 depends on ADD_FSP_BINARIES && FSP_CAR
51 default 0xfff30000
52 help
53 The memory location of the Intel FSP-T binary for this platform.
54
55config FSP_M_ADDR
56 hex "Intel FSP-M (memory init) binary location"
57 depends on ADD_FSP_BINARIES
58 default 0xfff32000
59 help
60 The memory location of the Intel FSP-M binary for this platform.
61
62config FSP_S_ADDR
63 hex "Intel FSP-S (silicon init) binary location"
64 depends on ADD_FSP_BINARIES
65 default 0xfffc3000
66 help
67 The memory location of the Intel FSP-S binary for this platform.
68
Felix Singerfdccfc62019-01-15 07:29:57 +010069config FSP_HEADER_PATH
Felix Singerfdccfc62019-01-15 07:29:57 +010070 default "3rdparty/fsp/DenvertonNSFspBinPkg/Include/"
71
72config FSP_FD_PATH
Felix Singerfdccfc62019-01-15 07:29:57 +010073 default "3rdparty/fsp/DenvertonNSFspBinPkg/FspBin/DenvertonNSFsp.fd"
74
Mariusz Szafranskia4041332017-08-02 17:28:17 +020075# CAR memory layout on DENVERTON_NS hardware:
76## CAR base address - 0xfef00000
77## CAR size 1MB - 0x100 (0xfff00)
78## coreboot usage:
79## DCACHE base - 0xfef00000
80## DCACHE size - 0xb0000
81## FSP usage:
82## FSP base - 0xfefb0000
83## FSP size - 0x50000 - 0x100 (0x4ff00)
84config MAX_CPUS
85 int
86 default 16
87
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020088config PCR_BASE_ADDRESS
89 hex
90 default 0xfd000000
91 help
92 This option allows you to select MMIO Base Address of sideband bus.
93
Mariusz Szafranskia4041332017-08-02 17:28:17 +020094config DCACHE_RAM_BASE
95 hex
96 default 0xfef00000
97
98config DCACHE_RAM_SIZE
99 hex
100 default 0xb0000 if FSP_CAR
101 default 0x100000 if !FSP_CAR
102
103config DCACHE_BSP_STACK_SIZE
104 hex
105 default 0x10000
106
Julien Viard de Galbert5a1f5402018-02-08 14:03:28 +0100107config CPU_BCLK_MHZ
108 int
109 default 100
110
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200111config SMM_TSEG_SIZE
112 hex
113 default 0x200000
114
115config SMM_RESERVED_SIZE
116 hex
117 default 0x000000
118
119config IQAT_ENABLE
120 bool "Enable IQAT"
121 default y
122
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200123config HSUART_DEV
124 hex
125 default 0x1a
126
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200127choice
128 prompt "UART mode selection"
129 default NON_LEGACY_UART_MODE
130
131config NON_LEGACY_UART_MODE
132 bool "Non Legacy Mode"
133 help
134 Disable legacy UART mode
135
136config LEGACY_UART_MODE
137 bool "Legacy Mode"
138 help
139 Enable legacy UART mode
140endchoice
141
142config ENABLE_HSUART
Nico Huber3eb720c2018-11-11 00:27:41 +0100143 depends on NON_LEGACY_UART_MODE
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200144 bool "Enable High-speed UART debug port selected by UART_FOR_CONSOLE."
145 default n
146 select CONSOLE_SERIAL
147 select DRIVERS_UART
148 select DRIVERS_UART_8250MEM
149
150config CONSOLE_UART_BASE_ADDRESS
151 depends on ENABLE_HSUART
152 hex "MMIO base address for UART"
153 default 0xd4000000
154
155config C_ENV_BOOTBLOCK_SIZE
156 hex
157 default 0x8000
158
159config DENVERTON_NS_CAR_NEM_ENHANCED
160 bool "Enhanced Non-evict mode"
161 depends on !FSP_CAR
162 default y
163 select SOC_INTEL_COMMON_BLOCK_CAR
Aamir Bohrac1d227d2020-07-16 09:03:06 +0530164 select USE_CAR_NEM_ENHANCED_V1
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200165 help
166 A current limitation of NEM (Non-Evict mode) is that code and data sizes
167 are derived from the requirement to not write out any modified cache line.
168 With NEM, if there is no physical memory behind the cached area,
169 the modified data will be lost and NEM results will be inconsistent.
170 ENHANCED NEM guarantees that modified data is always
171 kept in cache while clean data is replaced.
172
173endif ## SOC_INTEL_DENVERTON_NS