mb/system76/cml-u/dt: Make use of chipset devicetree
[coreboot.git] / src / soc / intel / apollolake / Kconfig
blob61aaa44a7e9f4b9bf6a71b92bc4c1d7d67e7554b
1 ## SPDX-License-Identifier: GPL-2.0-only
3 config SOC_INTEL_APOLLOLAKE
4         bool
5         select INTEL_CAR_CQOS
6         select ACPI_INTEL_HARDWARE_SLEEP_VALUES
7         select ACPI_NO_PCAT_8259
8         select ARCH_X86
9         select BOOT_DEVICE_SUPPORTS_WRITES
10         # CPU specific options
11         select CPU_INTEL_COMMON
12         select CPU_SUPPORTS_PM_TIMER_EMULATION
13         select PCR_COMMON_IOSF_1_0
14         select SSE2
15         select SUPPORT_CPU_UCODE_IN_CBFS
16         # Audio options
17         select ACPI_NHLT
18         select SOC_INTEL_COMMON_NHLT
19         # Misc options
20         select CACHE_MRC_SETTINGS
21         select EDK2_CPU_TIMER_LIB if PAYLOAD_EDK2
22         select FAST_SPI_GENERATE_SSDT
23         select FSP_PLATFORM_MEMORY_SETTINGS_VERSIONS
24         select FSP_STATUS_GLOBAL_RESET_REQUIRED_5
25         select GENERIC_GPIO_LIB
26         select HAVE_ASAN_IN_ROMSTAGE
27         select HAVE_CF9_RESET_PREPARE
28         select HAVE_DPTF_EISA_HID
29         select HAVE_FSP_GOP
30         select HAVE_FSP_LOGO_SUPPORT
31         select HAVE_INTEL_FSP_REPO if !SOC_INTEL_GEMINILAKE
32         select HAVE_SMI_HANDLER
33         select INTEL_DESCRIPTOR_MODE_CAPABLE
34         select INTEL_GMA_ACPI
35         select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
36         select INTEL_GMA_SWSMISCI
37         select MRC_SETTINGS_PROTECT
38         select MRC_SETTINGS_VARIABLE_DATA
39         select NO_PM_ACPI_TIMER
40         select NO_UART_ON_SUPERIO
41         select NO_XIP_EARLY_STAGES
42         select FSP_COMPRESS_FSP_M_LZ4
43         select PARALLEL_MP_AP_WORK
44         select PCIEXP_ASPM
45         select PCIEXP_COMMON_CLOCK
46         select PCIEXP_CLK_PM
47         select PCIEXP_L1_SUB_STATE
48         select PERIODIC_SMI_RATE_SELECTION_IN_GEN_PMCON_B
49         select PLATFORM_USES_FSP2_0
50         select PMC_INVALID_READ_AFTER_WRITE
51         select PMC_GLOBAL_RESET_ENABLE_LOCK
52         select REG_SCRIPT
53         select SA_ENABLE_IMR
54         select SOC_INTEL_COMMON
55         select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
56         select SOC_INTEL_COMMON_BLOCK
57         select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
58         select SOC_INTEL_COMMON_BLOCK_ACPI
59         select SOC_INTEL_COMMON_BLOCK_CAR
60         select SOC_INTEL_COMMON_BLOCK_CPU
61         select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
62         select SOC_INTEL_COMMON_BLOCK_GPIO_MULTI_ACPI_DEVICES
63         select SOC_INTEL_COMMON_BLOCK_GPIO_IOSTANDBY
64         select SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PCR
65         select SOC_INTEL_COMMON_PCH_CLIENT
66         select SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE
67         select SOC_INTEL_COMMON_BLOCK_SRAM
68         select SOC_INTEL_COMMON_BLOCK_SA
69         select SOC_INTEL_COMMON_BLOCK_SCS
70         select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
71         select SOC_INTEL_COMMON_BLOCK_SMM
72         select SOC_INTEL_COMMON_FSP_RESET
73         select SOC_INTEL_COMMON_RESET
74         select SOC_INTEL_INTEGRATED_SOUTHCLUSTER
75         select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION
76         select SOC_INTEL_NO_BOOTGUARD_MSR
77         select TSC_MONOTONIC_TIMER
78         select UDELAY_TSC
79         select UDK_2017_BINDING
80         select USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM
81         select USE_FSP_NOTIFY_PHASE_READY_TO_BOOT
82         select USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE
83         # This SoC does not map SPI flash like many previous SoC. Therefore we
84         # provide a custom media driver that facilitates mapping
85         select X86_CUSTOM_BOOTMEDIA
86         help
87           Intel Apollolake support
89 config SOC_INTEL_GEMINILAKE
90         bool
91         default n
92         select SOC_INTEL_APOLLOLAKE
93         select SOC_INTEL_COMMON_BLOCK_CNVI
94         select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
95         select SOC_INTEL_COMMON_BLOCK_SGX
96         select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
97         select IDT_IN_EVERY_STAGE
98         select PAGING_IN_CACHE_AS_RAM
99         select INTEL_CAR_NEM
100         help
101           Intel Geminilake support
103 if SOC_INTEL_APOLLOLAKE
105 config USE_LEGACY_8254_TIMER
106         default y
108 config SKIP_CSE_RBP
109         bool
110         default y if BOOT_DEVICE_MEMORY_MAPPED
111         help
112           Tell CSE we do not need to use Ring Buffer Protocol (RBP) to fetch
113           firmware for us if we are using memory-mapped SPI. This lets CSE
114           state machine transition to next boot state, so that it can function
115           as designed.
117 config DISABLE_HECI1_AT_PRE_BOOT
118         default y
120 config MAX_HECI_DEVICES
121         int
122         default 3
124 config MAX_CPUS
125         int
126         default 4
128 config VBOOT
129         select VBOOT_SEPARATE_VERSTAGE
130         select VBOOT_MUST_REQUEST_DISPLAY
131         select VBOOT_STARTS_IN_BOOTBLOCK
132         select VBOOT_VBNV_CMOS if !VBOOT_VBNV_FLASH
133         select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH if !VBOOT_VBNV_FLASH
135 config TPM_ON_FAST_SPI
136         bool
137         default n
138         depends on MEMORY_MAPPED_TPM
139         help
140           TPM part is conntected on Fast SPI interface and is mapped to the
141           linear address space.
143 config PCR_BASE_ADDRESS
144         hex
145         default 0xd0000000
146         help
147           This option allows you to select MMIO Base Address of sideband bus.
149 config DCACHE_RAM_BASE
150         hex
151         default 0xfef00000
153 config DCACHE_RAM_SIZE
154         hex
155         default 0x100000 if SOC_INTEL_GEMINILAKE
156         default 0xc0000
157         help
158           The size of the cache-as-ram region required during bootblock
159           and/or romstage.
161 config DCACHE_BSP_STACK_SIZE
162         hex
163         default 0x4000
164         help
165           The amount of anticipated stack usage in CAR by bootblock and
166           other stages.
168 config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
169         int
170         default 100
172 config CPU_XTAL_HZ
173         default 19200000
175 config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
176         int
177         default 133
179 # 32KiB bootblock is all that is mapped in by the CSE at top of 4GiB.
180 config C_ENV_BOOTBLOCK_SIZE
181         hex
182         default 0x8000
184 config ROMSTAGE_ADDR
185         hex
186         default 0xfef20000
187         help
188           The base address (in CAR) where romstage should be linked
190 config VERSTAGE_ADDR
191         hex
192         default 0xfef40000
193         help
194           The base address (in CAR) where verstage should be linked
196 config FSP_HEADER_PATH
197         default "src/vendorcode/intel/fsp/fsp2_0/geminilake/2.2.0.0" if VENDOR_GOOGLE && SOC_INTEL_GEMINILAKE
198         default "src/vendorcode/intel/fsp/fsp2_0/geminilake/2.2.3.1" if SOC_INTEL_GEMINILAKE
199         default "3rdparty/fsp/ApolloLakeFspBinPkg/Include/"
201 config FSP_FD_PATH
202         default "3rdparty/fsp/ApolloLakeFspBinPkg/FspBin/Fsp.fd"
204 config FSP_M_ADDR
205         hex
206         default 0xfef40000
207         help
208           The address FSP-M will be relocated to during build time
210 config NEED_LBP2
211         bool "Write contents for logical boot partition 2."
212         default n
213         help
214           Write the contents from a file into the logical boot partition 2
215           region defined by LBP2_FMAP_NAME.
217 config LBP2_FMAP_NAME
218         string "Name of FMAP region to put logical boot partition 2"
219         depends on NEED_LBP2
220         default "SIGN_CSE"
221         help
222           Name of FMAP region to write logical boot partition 2 data.
224 config LBP2_FROM_IFWI
225         bool "Extract the LBP2 from the IFWI binary"
226         depends on NEED_LBP2
227         default n
228         help
229          The Logical Boot Partition will be automatically extracted
230          from the supplied IFWI binary
232 config LBP2_FILE_NAME
233         string "Path of file to write to logical boot partition 2 region"
234         depends on NEED_LBP2 && !LBP2_FROM_IFWI
235         default "3rdparty/blobs/mainboard/\$(CONFIG_MAINBOARD_DIR)/lbp2.bin"
236         help
237           Name of file to store in the logical boot partition 2 region.
239 config NEED_IFWI
240         bool "Write content into IFWI region"
241         default n
242         help
243           Write the content from a file into IFWI region defined by
244           IFWI_FMAP_NAME.
246 config IFWI_FMAP_NAME
247         string "Name of FMAP region to pull IFWI into"
248         depends on NEED_IFWI
249         default "IFWI"
250         help
251           Name of FMAP region to write IFWI.
253 config IFWI_FILE_NAME
254         string "Path of file to write to IFWI region"
255         depends on NEED_IFWI
256         default "3rdparty/blobs/mainboard/\$(CONFIG_MAINBOARD_DIR)/ifwi.bin"
257         help
258           Name of file to store in the IFWI region.
260 config MAX_ROOT_PORTS
261         int
262         default 6
264 config NHLT_DMIC_1CH_16B
265         bool
266         depends on ACPI_NHLT
267         default n
268         help
269           Include DSP firmware settings for 1 channel 16B DMIC array.
271 config NHLT_DMIC_2CH_16B
272         bool
273         depends on ACPI_NHLT
274         default n
275         help
276           Include DSP firmware settings for 2 channel 16B DMIC array.
278 config NHLT_DMIC_4CH_16B
279         bool
280         depends on ACPI_NHLT
281         default n
282         help
283           Include DSP firmware settings for 4 channel 16B DMIC array.
285 config NHLT_MAX98357
286         bool
287         depends on ACPI_NHLT
288         default n
289         help
290           Include DSP firmware settings for headset codec.
292 config NHLT_DA7219
293         bool
294         depends on ACPI_NHLT
295         default n
296         help
297           Include DSP firmware settings for headset codec.
299 config NHLT_RT5682
300         bool
301         depends on ACPI_NHLT
302         default n
303         help
304           Include DSP firmware settings for headset codec.
306 # Each bit in QOS mask controls this many bytes. This is calculated as:
307 # (CACHE_WAYS / CACHE_BITS_PER_MASK) * CACHE_LINE_SIZE * CACHE_SETS
310 config CACHE_QOS_SIZE_PER_BIT
311         hex
312         default 0x20000 # 128 KB
314 config L2_CACHE_SIZE
315         hex
316         default 0x400000 if SOC_INTEL_GEMINILAKE
317         default 0x100000
319 config SMM_RESERVED_SIZE
320         hex
321         default 0x100000
323 config CHIPSET_DEVICETREE
324         string
325         default "soc/intel/apollolake/chipset_glk.cb" if SOC_INTEL_GEMINILAKE
326         default "soc/intel/apollolake/chipset_apl.cb"
328 config IFD_CHIPSET
329         string
330         default "glk" if SOC_INTEL_GEMINILAKE
331         default "aplk"
333 config CPU_BCLK_MHZ
334         int
335         default 100
337 config CONSOLE_UART_BASE_ADDRESS
338         hex
339         default 0xcdffc000
340         depends on INTEL_LPSS_UART_FOR_CONSOLE
342 # M and N divisor values for clock frequency configuration.
343 # These values get us a 1.836 MHz clock (ideally we want 1.843 MHz)
344 config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
345         hex
346         default 0x25a
348 config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
349         hex
350         default 0x7fff
352 config SOC_ESPI
353         bool
354         default n
355         help
356           Use eSPI bus instead of LPC
358 config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
359         int
360         default 3
362 config SOC_INTEL_I2C_DEV_MAX
363         int
364         default 8
366 # Don't include the early page tables in RW_A or RW_B cbfs regions
367 config RO_REGION_ONLY
368         string
369         default "pdpt pt"
371 config INTEL_GMA_PANEL_2
372         bool
373         default n
375 config INTEL_GMA_BCLV_OFFSET
376         default 0xc8358 if INTEL_GMA_PANEL_2
377         default 0xc8258
379 config INTEL_GMA_BCLV_WIDTH
380         default 32
382 config INTEL_GMA_BCLM_OFFSET
383         default 0xc8354 if INTEL_GMA_PANEL_2
384         default 0xc8254
386 config INTEL_GMA_BCLM_WIDTH
387         default 32
389 config BOOTBLOCK_IN_CBFS
390         bool
391         default n
393 config HAVE_PAM0_REGISTER
394         bool
395         default n
397 config DOMAIN_RESOURCE_32BIT_LIMIT
398         default PCR_BASE_ADDRESS
400 endif