blob: 0643384e911c7bc0bbc34ff9005e0fdb074596b2 [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
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
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020026 select PCR_COMMON_IOSF_1_0
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +010027 select SUPPORT_CPU_UCODE_IN_CBFS
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
Michael Niewöhner63032432020-10-11 17:34:54 +020041 select CPU_INTEL_COMMON
Vanessa Eusebiocd979822018-06-06 13:12:53 -070042 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Felix Singere0b74a12020-03-03 22:39:02 +010043 select SUPPORT_CPU_UCODE_IN_CBFS
Arthur Heymans06eecfe2021-06-10 15:33:56 +020044 select FSP_T_XIP if FSP_CAR
45 select FSP_M_XIP
Mariusz Szafranskia4041332017-08-02 17:28:17 +020046
Shelley Chen4e9bb332021-10-20 15:43:45 -070047config ECAM_MMCONF_BASE_ADDRESS
Andrey Petrovdafd5142019-12-30 09:58:47 -080048 default 0xe0000000
49
Shelley Chen4e9bb332021-10-20 15:43:45 -070050config ECAM_MMCONF_BUS_NUMBER
Kyösti Mälkki6fcee752021-02-14 15:06:50 +020051 int
52 default 256
53
Felix Singerfdccfc62019-01-15 07:29:57 +010054config FSP_HEADER_PATH
Felix Singerfdccfc62019-01-15 07:29:57 +010055 default "3rdparty/fsp/DenvertonNSFspBinPkg/Include/"
56
57config FSP_FD_PATH
Felix Singerfdccfc62019-01-15 07:29:57 +010058 default "3rdparty/fsp/DenvertonNSFspBinPkg/FspBin/DenvertonNSFsp.fd"
59
Mariusz Szafranskia4041332017-08-02 17:28:17 +020060# CAR memory layout on DENVERTON_NS hardware:
61## CAR base address - 0xfef00000
62## CAR size 1MB - 0x100 (0xfff00)
63## coreboot usage:
64## DCACHE base - 0xfef00000
65## DCACHE size - 0xb0000
66## FSP usage:
67## FSP base - 0xfefb0000
68## FSP size - 0x50000 - 0x100 (0x4ff00)
69config MAX_CPUS
70 int
71 default 16
72
Julien Viard de Galbert3ac3a682018-03-29 11:36:21 +020073config PCR_BASE_ADDRESS
74 hex
75 default 0xfd000000
76 help
77 This option allows you to select MMIO Base Address of sideband bus.
78
Mariusz Szafranskia4041332017-08-02 17:28:17 +020079config DCACHE_RAM_BASE
80 hex
81 default 0xfef00000
82
83config DCACHE_RAM_SIZE
84 hex
85 default 0xb0000 if FSP_CAR
86 default 0x100000 if !FSP_CAR
87
88config DCACHE_BSP_STACK_SIZE
89 hex
90 default 0x10000
91
Julien Viard de Galbert5a1f5402018-02-08 14:03:28 +010092config CPU_BCLK_MHZ
93 int
94 default 100
95
Michael Niewöhneref353e02021-09-26 15:28:06 +020096config CPU_XTAL_HZ
97 default 24000000
98
Mariusz Szafranskia4041332017-08-02 17:28:17 +020099config SMM_TSEG_SIZE
100 hex
101 default 0x200000
102
103config SMM_RESERVED_SIZE
104 hex
105 default 0x000000
106
107config IQAT_ENABLE
108 bool "Enable IQAT"
109 default y
110
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200111config HSUART_DEV
112 hex
113 default 0x1a
114
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200115choice
116 prompt "UART mode selection"
117 default NON_LEGACY_UART_MODE
118
119config NON_LEGACY_UART_MODE
120 bool "Non Legacy Mode"
121 help
122 Disable legacy UART mode
123
124config LEGACY_UART_MODE
125 bool "Legacy Mode"
126 help
127 Enable legacy UART mode
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +0100128 select CONSOLE_SERIAL
129 select DRIVERS_UART
130 select DRIVERS_UART_8250IO
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200131endchoice
132
133config ENABLE_HSUART
Nico Huber3eb720c2018-11-11 00:27:41 +0100134 depends on NON_LEGACY_UART_MODE
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200135 bool "Enable High-speed UART debug port selected by UART_FOR_CONSOLE."
136 default n
137 select CONSOLE_SERIAL
138 select DRIVERS_UART
139 select DRIVERS_UART_8250MEM
140
141config CONSOLE_UART_BASE_ADDRESS
142 depends on ENABLE_HSUART
143 hex "MMIO base address for UART"
144 default 0xd4000000
145
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +0100146choice
147 prompt "Cache-as-ram implementation"
148 default USE_DENVERTON_NS_CAR_NEM_ENHANCED
149 help
150 This option allows you to select how cache-as-ram (CAR) is set up.
151
152config USE_DENVERTON_NS_CAR_NEM_ENHANCED
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200153 bool "Enhanced Non-evict mode"
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200154 select SOC_INTEL_COMMON_BLOCK_CAR
Shreesh Chhabbi87c7ec72020-12-03 14:07:15 -0800155 select INTEL_CAR_NEM_ENHANCED
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200156 help
157 A current limitation of NEM (Non-Evict mode) is that code and data sizes
158 are derived from the requirement to not write out any modified cache line.
159 With NEM, if there is no physical memory behind the cached area,
160 the modified data will be lost and NEM results will be inconsistent.
161 ENHANCED NEM guarantees that modified data is always
162 kept in cache while clean data is replaced.
163
Julien Viard de Galbert1c33f742020-11-07 23:40:43 +0100164config USE_DENVERTON_NS_FSP_CAR
165 bool "Use FSP CAR"
166 select FSP_CAR
167 help
168 Use FSP APIs to initialize and tear down the Cache-As-Ram.
169
170endchoice
171
Mariusz Szafranskia4041332017-08-02 17:28:17 +0200172endif ## SOC_INTEL_DENVERTON_NS