blob: a578a71fd0b3bee3a5f6bfdfb6ec2ba5f2563409 [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
Michael Niewöhner9c19bf02021-09-26 14:23:12 +020018 select CPU_SUPPORTS_PM_TIMER_EMULATION
Nico Huber371a6672018-11-13 22:06:40 +010019 select DEBUG_GPIO
Mariusz Szafranskia4041332017-08-02 17:28:17 +020020 select SOC_INTEL_COMMON
21 select SOC_INTEL_COMMON_RESET
22 select PLATFORM_USES_FSP2_0
Mariusz Szafranskia4041332017-08-02 17:28:17 +020023 select IOAPIC
Johanna Schander8a6e0362019-12-08 15:54:09 +010024 select HAVE_INTEL_FSP_REPO
Mariusz Szafranskia4041332017-08-02 17:28:17 +020025 select HAVE_SMI_HANDLER
Mariusz Szafranskia4041332017-08-02 17:28:17 +020026 select CACHE_MRC_SETTINGS
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020027 select PCR_COMMON_IOSF_1_0
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +010028 select SUPPORT_CPU_UCODE_IN_CBFS
Stefan Tauneref8b9572018-09-06 00:34:28 +020029 select INTEL_DESCRIPTOR_MODE_CAPABLE
Mariusz Szafranskia4041332017-08-02 17:28:17 +020030 select SOC_INTEL_COMMON_BLOCK
Julien Viard de Galbert5a1f5402018-02-08 14:03:28 +010031 select SOC_INTEL_COMMON_BLOCK_CPU
Julien Viard de Galbertcf2b72f2018-04-05 11:24:45 +020032 select SOC_INTEL_COMMON_BLOCK_ACPI
Julien Viard de Galbert2912e8e2018-08-14 16:15:26 +020033 select SOC_INTEL_COMMON_BLOCK_PMC
34 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Mariusz Szafranskia4041332017-08-02 17:28:17 +020035 select SOC_INTEL_COMMON_BLOCK_FAST_SPI
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020036 select SOC_INTEL_COMMON_BLOCK_GPIO
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020037 select SOC_INTEL_COMMON_BLOCK_PCR
Mariusz Szafranskia4041332017-08-02 17:28:17 +020038 select TSC_MONOTONIC_TIMER
39 select TSC_SYNC_MFENCE
40 select UDELAY_TSC
Subrata Banik74558812018-01-25 11:41:04 +053041 select UDK_2015_BINDING
Michael Niewöhner63032432020-10-11 17:34:54 +020042 select CPU_INTEL_COMMON
Vanessa Eusebiocd979822018-06-06 13:12:53 -070043 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Felix Singere0b74a12020-03-03 22:39:02 +010044 select SUPPORT_CPU_UCODE_IN_CBFS
Arthur Heymans06eecfe2021-06-10 15:33:56 +020045 select FSP_T_XIP if FSP_CAR
46 select FSP_M_XIP
Mariusz Szafranskia4041332017-08-02 17:28:17 +020047
Andrey Petrovdafd5142019-12-30 09:58:47 -080048config MMCONF_BASE_ADDRESS
Andrey Petrovdafd5142019-12-30 09:58:47 -080049 default 0xe0000000
50
Kyösti Mälkki6fcee752021-02-14 15:06:50 +020051config MMCONF_BUS_NUMBER
52 int
53 default 256
54
Felix Singerfdccfc62019-01-15 07:29:57 +010055config FSP_HEADER_PATH
Felix Singerfdccfc62019-01-15 07:29:57 +010056 default "3rdparty/fsp/DenvertonNSFspBinPkg/Include/"
57
58config FSP_FD_PATH
Felix Singerfdccfc62019-01-15 07:29:57 +010059 default "3rdparty/fsp/DenvertonNSFspBinPkg/FspBin/DenvertonNSFsp.fd"
60
Mariusz Szafranskia4041332017-08-02 17:28:17 +020061# CAR memory layout on DENVERTON_NS hardware:
62## CAR base address - 0xfef00000
63## CAR size 1MB - 0x100 (0xfff00)
64## coreboot usage:
65## DCACHE base - 0xfef00000
66## DCACHE size - 0xb0000
67## FSP usage:
68## FSP base - 0xfefb0000
69## FSP size - 0x50000 - 0x100 (0x4ff00)
70config MAX_CPUS
71 int
72 default 16
73
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020074config PCR_BASE_ADDRESS
75 hex
76 default 0xfd000000
77 help
78 This option allows you to select MMIO Base Address of sideband bus.
79
Mariusz Szafranskia4041332017-08-02 17:28:17 +020080config DCACHE_RAM_BASE
81 hex
82 default 0xfef00000
83
84config DCACHE_RAM_SIZE
85 hex
86 default 0xb0000 if FSP_CAR
87 default 0x100000 if !FSP_CAR
88
89config DCACHE_BSP_STACK_SIZE
90 hex
91 default 0x10000
92
Julien Viard de Galbert5a1f5402018-02-08 14:03:28 +010093config CPU_BCLK_MHZ
94 int
95 default 100
96
Michael Niewöhneref353e02021-09-26 15:28:06 +020097config CPU_XTAL_HZ
98 default 24000000
99
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200100config SMM_TSEG_SIZE
101 hex
102 default 0x200000
103
104config SMM_RESERVED_SIZE
105 hex
106 default 0x000000
107
108config IQAT_ENABLE
109 bool "Enable IQAT"
110 default y
111
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200112config HSUART_DEV
113 hex
114 default 0x1a
115
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200116choice
117 prompt "UART mode selection"
118 default NON_LEGACY_UART_MODE
119
120config NON_LEGACY_UART_MODE
121 bool "Non Legacy Mode"
122 help
123 Disable legacy UART mode
124
125config LEGACY_UART_MODE
126 bool "Legacy Mode"
127 help
128 Enable legacy UART mode
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +0100129 select CONSOLE_SERIAL
130 select DRIVERS_UART
131 select DRIVERS_UART_8250IO
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200132endchoice
133
134config ENABLE_HSUART
Nico Huber3eb720c2018-11-11 00:27:41 +0100135 depends on NON_LEGACY_UART_MODE
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200136 bool "Enable High-speed UART debug port selected by UART_FOR_CONSOLE."
137 default n
138 select CONSOLE_SERIAL
139 select DRIVERS_UART
140 select DRIVERS_UART_8250MEM
141
142config CONSOLE_UART_BASE_ADDRESS
143 depends on ENABLE_HSUART
144 hex "MMIO base address for UART"
145 default 0xd4000000
146
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +0100147choice
148 prompt "Cache-as-ram implementation"
149 default USE_DENVERTON_NS_CAR_NEM_ENHANCED
150 help
151 This option allows you to select how cache-as-ram (CAR) is set up.
152
153config USE_DENVERTON_NS_CAR_NEM_ENHANCED
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200154 bool "Enhanced Non-evict mode"
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200155 select SOC_INTEL_COMMON_BLOCK_CAR
Shreesh Chhabbi87c7ec72020-12-03 14:07:15 -0800156 select INTEL_CAR_NEM_ENHANCED
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200157 help
158 A current limitation of NEM (Non-Evict mode) is that code and data sizes
159 are derived from the requirement to not write out any modified cache line.
160 With NEM, if there is no physical memory behind the cached area,
161 the modified data will be lost and NEM results will be inconsistent.
162 ENHANCED NEM guarantees that modified data is always
163 kept in cache while clean data is replaced.
164
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +0100165config USE_DENVERTON_NS_FSP_CAR
166 bool "Use FSP CAR"
167 select FSP_CAR
168 help
169 Use FSP APIs to initialize and tear down the Cache-As-Ram.
170
171endchoice
172
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200173endif ## SOC_INTEL_DENVERTON_NS