blob: dcf9a5f0d410b625e655a7c5e9bdba3b8a7b779e [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 Pons8e035e32021-06-22 12:58:20 +020016 select ARCH_X86
Mariusz Szafranskia4041332017-08-02 17:28:17 +020017 select BOOT_DEVICE_SUPPORTS_WRITES
Subrata Banik34f26b22022-02-10 12:38:02 +053018 select CACHE_MRC_SETTINGS
19 select CPU_INTEL_COMMON
20 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Michael Niewöhner9c19bf02021-09-26 14:23:12 +020021 select CPU_SUPPORTS_PM_TIMER_EMULATION
Nico Huber371a6672018-11-13 22:06:40 +010022 select DEBUG_GPIO
Sean Rhodes7bbc9a52022-07-18 11:31:00 +010023 select EDK2_CPU_TIMER_LIB if PAYLOAD_EDK2
Subrata Banik34f26b22022-02-10 12:38:02 +053024 select FSP_M_XIP
25 select FSP_T_XIP if FSP_CAR
Johanna Schander8a6e0362019-12-08 15:54:09 +010026 select HAVE_INTEL_FSP_REPO
Mariusz Szafranskia4041332017-08-02 17:28:17 +020027 select HAVE_SMI_HANDLER
Stefan Tauneref8b9572018-09-06 00:34:28 +020028 select INTEL_DESCRIPTOR_MODE_CAPABLE
Subrata Banik34f26b22022-02-10 12:38:02 +053029 select PCR_COMMON_IOSF_1_0
30 select PLATFORM_USES_FSP2_0
31 select SOC_INTEL_COMMON
32 select SOC_INTEL_COMMON_RESET
Mariusz Szafranskia4041332017-08-02 17:28:17 +020033 select SOC_INTEL_COMMON_BLOCK
Julien Viard de Galbert5a1f5402018-02-08 14:03:28 +010034 select SOC_INTEL_COMMON_BLOCK_CPU
Julien Viard de Galbertcf2b72f2018-04-05 11:24:45 +020035 select SOC_INTEL_COMMON_BLOCK_ACPI
Julien Viard de Galbert2912e8e2018-08-14 16:15:26 +020036 select SOC_INTEL_COMMON_BLOCK_PMC
37 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Jeff Dalye5ac3002022-01-10 23:47:35 -050038 select SOC_INTEL_COMMON_BLOCK_SPI
Mariusz Szafranskia4041332017-08-02 17:28:17 +020039 select SOC_INTEL_COMMON_BLOCK_FAST_SPI
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020040 select SOC_INTEL_COMMON_BLOCK_GPIO
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020041 select SOC_INTEL_COMMON_BLOCK_PCR
Subrata Banikfac11d02022-02-17 20:40:55 +053042 select SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE
Kyösti Mälkkifd13fb52021-11-18 14:09:36 +020043 select SOC_INTEL_COMMON_BLOCK_SMBUS
Subrata Banik34f26b22022-02-10 12:38:02 +053044 select SUPPORT_CPU_UCODE_IN_CBFS
Kyösti Mälkkifd13fb52021-11-18 14:09:36 +020045 select SOUTHBRIDGE_INTEL_COMMON_SMBUS
Mariusz Szafranskia4041332017-08-02 17:28:17 +020046 select TSC_MONOTONIC_TIMER
47 select TSC_SYNC_MFENCE
48 select UDELAY_TSC
Patrick Rudolph05ca0542022-03-22 08:33:40 +010049 select UDK_2017_BINDING
Subrata Banik34f26b22022-02-10 12:38:02 +053050 select USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM
51 select USE_FSP_NOTIFY_PHASE_READY_TO_BOOT
52 select USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE
Mariusz Szafranskia4041332017-08-02 17:28:17 +020053
Shelley Chen4e9bb332021-10-20 15:43:45 -070054config ECAM_MMCONF_BASE_ADDRESS
Andrey Petrovdafd5142019-12-30 09:58:47 -080055 default 0xe0000000
56
Shelley Chen4e9bb332021-10-20 15:43:45 -070057config ECAM_MMCONF_BUS_NUMBER
Kyösti Mälkki6fcee752021-02-14 15:06:50 +020058 int
59 default 256
60
Felix Singerfdccfc62019-01-15 07:29:57 +010061config FSP_HEADER_PATH
Felix Singerfdccfc62019-01-15 07:29:57 +010062 default "3rdparty/fsp/DenvertonNSFspBinPkg/Include/"
63
64config FSP_FD_PATH
Felix Singerfdccfc62019-01-15 07:29:57 +010065 default "3rdparty/fsp/DenvertonNSFspBinPkg/FspBin/DenvertonNSFsp.fd"
66
Mariusz Szafranskia4041332017-08-02 17:28:17 +020067# CAR memory layout on DENVERTON_NS hardware:
68## CAR base address - 0xfef00000
69## CAR size 1MB - 0x100 (0xfff00)
70## coreboot usage:
71## DCACHE base - 0xfef00000
72## DCACHE size - 0xb0000
73## FSP usage:
74## FSP base - 0xfefb0000
75## FSP size - 0x50000 - 0x100 (0x4ff00)
76config MAX_CPUS
77 int
78 default 16
79
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020080config PCR_BASE_ADDRESS
81 hex
82 default 0xfd000000
83 help
84 This option allows you to select MMIO Base Address of sideband bus.
85
Mariusz Szafranskia4041332017-08-02 17:28:17 +020086config DCACHE_RAM_BASE
87 hex
88 default 0xfef00000
89
90config DCACHE_RAM_SIZE
91 hex
92 default 0xb0000 if FSP_CAR
93 default 0x100000 if !FSP_CAR
94
95config DCACHE_BSP_STACK_SIZE
96 hex
97 default 0x10000
98
Julien Viard de Galbert5a1f5402018-02-08 14:03:28 +010099config CPU_BCLK_MHZ
100 int
101 default 100
102
Michael Niewöhneref353e02021-09-26 15:28:06 +0200103config CPU_XTAL_HZ
104 default 24000000
105
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200106config SMM_TSEG_SIZE
107 hex
108 default 0x200000
109
110config SMM_RESERVED_SIZE
111 hex
112 default 0x000000
113
114config IQAT_ENABLE
115 bool "Enable IQAT"
116 default y
117
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200118config HSUART_DEV
119 hex
120 default 0x1a
121
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200122choice
123 prompt "UART mode selection"
124 default NON_LEGACY_UART_MODE
125
126config NON_LEGACY_UART_MODE
127 bool "Non Legacy Mode"
128 help
129 Disable legacy UART mode
130
131config LEGACY_UART_MODE
132 bool "Legacy Mode"
133 help
134 Enable legacy UART mode
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +0100135 select CONSOLE_SERIAL
136 select DRIVERS_UART
137 select DRIVERS_UART_8250IO
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200138endchoice
139
140config ENABLE_HSUART
Nico Huber3eb720c2018-11-11 00:27:41 +0100141 depends on NON_LEGACY_UART_MODE
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200142 bool "Enable High-speed UART debug port selected by UART_FOR_CONSOLE."
143 default n
144 select CONSOLE_SERIAL
145 select DRIVERS_UART
146 select DRIVERS_UART_8250MEM
147
148config CONSOLE_UART_BASE_ADDRESS
149 depends on ENABLE_HSUART
150 hex "MMIO base address for UART"
151 default 0xd4000000
152
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +0100153choice
154 prompt "Cache-as-ram implementation"
155 default USE_DENVERTON_NS_CAR_NEM_ENHANCED
156 help
157 This option allows you to select how cache-as-ram (CAR) is set up.
158
159config USE_DENVERTON_NS_CAR_NEM_ENHANCED
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200160 bool "Enhanced Non-evict mode"
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200161 select SOC_INTEL_COMMON_BLOCK_CAR
Shreesh Chhabbi87c7ec72020-12-03 14:07:15 -0800162 select INTEL_CAR_NEM_ENHANCED
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200163 help
164 A current limitation of NEM (Non-Evict mode) is that code and data sizes
165 are derived from the requirement to not write out any modified cache line.
166 With NEM, if there is no physical memory behind the cached area,
167 the modified data will be lost and NEM results will be inconsistent.
168 ENHANCED NEM guarantees that modified data is always
169 kept in cache while clean data is replaced.
170
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +0100171config USE_DENVERTON_NS_FSP_CAR
172 bool "Use FSP CAR"
173 select FSP_CAR
174 help
175 Use FSP APIs to initialize and tear down the Cache-As-Ram.
176
177endchoice
178
Jeff Dalyabd4b962022-01-06 00:52:30 -0500179config IFD_CHIPSET
180 string
181 default "dnv"
182
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200183endif ## SOC_INTEL_DENVERTON_NS