blob: a11ef0100d20c5eeaaa5163401434d37c0286153 [file] [log] [blame]
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -07001config SOC_INTEL_APOLLOLAKE
2 bool
3 help
4 Intel Apollolake support
5
6if SOC_INTEL_APOLLOLAKE
7
8config CPU_SPECIFIC_OPTIONS
9 def_bool y
Aaron Durbined35b7c2016-07-13 23:17:38 -050010 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070011 select ARCH_BOOTBLOCK_X86_32
12 select ARCH_RAMSTAGE_X86_32
13 select ARCH_ROMSTAGE_X86_32
14 select ARCH_VERSTAGE_X86_32
Aaron Durbina9e03a32016-09-16 19:25:43 -050015 select BOOTBLOCK_CONSOLE
Aaron Durbin7b2c7812016-08-11 23:51:42 -050016 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
Aaron Durbine8e118d2016-08-12 15:00:10 -050017 select BOOT_DEVICE_SUPPORTS_WRITES
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070018 # CPU specific options
19 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
20 select IOAPIC
21 select SMP
22 select SSE2
23 select SUPPORT_CPU_UCODE_IN_CBFS
Saurabh Satija734aa872016-06-21 14:22:16 -070024 # Audio options
25 select ACPI_NHLT
26 select SOC_INTEL_COMMON_NHLT
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070027 # Misc options
Alexandru Gagniucdfc2b312015-10-06 17:16:41 -070028 select C_ENVIRONMENT_BOOTBLOCK
Brandon Breitenstein135eae92016-09-30 13:57:12 -070029 select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM if RELOCATABLE_RAMSTAGE
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070030 select COLLECT_TIMESTAMPS
Aaron Durbinc3ee3f62016-05-11 10:35:49 -050031 select COMMON_FADT
Duncan Lauried25dd992016-06-29 10:47:48 -070032 select GENERIC_GPIO_LIB
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070033 select HAVE_INTEL_FIRMWARE
Hannah Williamsd9c84ca2016-05-13 00:47:14 -070034 select HAVE_SMI_HANDLER
Furquan Shaikhffb3a2d2016-10-24 15:28:23 -070035 select MRC_SETTINGS_PROTECT
Aaron Durbinf5ff8542016-05-05 10:38:03 -050036 select NO_FIXED_XIP_ROM_SIZE
Furquan Shaikh94b18a12016-05-04 23:25:16 -070037 select NO_XIP_EARLY_STAGES
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070038 select PARALLEL_MP
Andrey Petrova697c192016-12-07 10:47:46 -080039 select PARALLEL_MP_AP_WORK
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070040 select PCIEXP_ASPM
41 select PCIEXP_COMMON_CLOCK
42 select PCIEXP_CLK_PM
43 select PCIEXP_L1_SUB_STATE
Aaron Durbin79587ed2016-09-16 16:30:09 -050044 select POSTCAR_CONSOLE
Aaron Durbineebe0e02016-03-18 11:19:38 -050045 select POSTCAR_STAGE
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070046 select REG_SCRIPT
47 select RELOCATABLE_RAMSTAGE # Build fails if this is not selected
Aaron Durbin16246ea2016-08-05 21:23:37 -050048 select RTC
Hannah Williamsd9c84ca2016-05-13 00:47:14 -070049 select SMM_TSEG
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070050 select SOC_INTEL_COMMON
Hannah Williams0f61da82016-04-18 13:47:08 -070051 select SOC_INTEL_COMMON_ACPI
Shaunak Saha60b46182016-08-02 17:25:13 -070052 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Duncan Laurieff8bce02016-06-27 10:57:13 -070053 select SOC_INTEL_COMMON_LPSS_I2C
54 select SOC_INTEL_COMMON_SMI
Furquan Shaikhd0c000522016-11-21 09:19:53 -080055 select SOC_INTEL_COMMON_SPI_FLASH_PROTECT
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070056 select UDELAY_TSC
Andrey Petrov87fb1a62016-02-10 17:47:03 -080057 select TSC_CONSTANT_RATE
Hannah Williamsb13d4542016-03-14 17:38:51 -070058 select TSC_MONOTONIC_TIMER
59 select HAVE_MONOTONIC_TIMER
Andrey Petrov0d187912016-02-25 18:39:38 -080060 select PLATFORM_USES_FSP2_0
Zhao, Lijiand8d42c22016-03-14 14:19:22 -070061 select HAVE_HARD_RESET
62 select SOC_INTEL_COMMON
Andrey Petrov868679f2016-05-12 19:11:48 -070063 select SOC_INTEL_COMMON_GFX_OPREGION
Andrey Petrovd8db26d2017-03-06 14:47:05 -080064 select SOC_INTEL_COMMON_BLOCK
65 select SOC_INTEL_COMMON_BLOCK_CSE
Andrey Petrov868679f2016-05-12 19:11:48 -070066 select ADD_VBT_DATA_FILE
Zhao, Lijiand8d42c22016-03-14 14:19:22 -070067
Furquan Shaikh87b1bcc2016-07-22 12:57:51 -070068config CHROMEOS
69 select CHROMEOS_RAMOOPS_DYNAMIC
Furquan Shaikh87b1bcc2016-07-22 12:57:51 -070070 select EC_SOFTWARE_SYNC if EC_GOOGLE_CHROMEEC
71 select SEPARATE_VERSTAGE
72 select VBOOT_OPROM_MATTERS
Furquan Shaikh7c7b2912016-07-22 09:02:35 -070073 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
Furquan Shaikh87b1bcc2016-07-22 12:57:51 -070074 select VBOOT_STARTS_IN_BOOTBLOCK
Furquan Shaikh2a12e2e2016-07-25 11:48:03 -070075 select VBOOT_VBNV_CMOS
76 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Furquan Shaikh87b1bcc2016-07-22 12:57:51 -070077 select VIRTUAL_DEV_SWITCH
78
Aaron Durbin80a3df22016-04-27 23:05:52 -050079config TPM_ON_FAST_SPI
80 bool
81 default n
82 select LPC_TPM
83 help
84 TPM part is conntected on Fast SPI interface, but the LPC MMIO
85 TPM transactions are decoded and serialized over the SPI interface.
86
Zhao, Lijiand8d42c22016-03-14 14:19:22 -070087config SOC_INTEL_COMMON_RESET
88 bool
Andrey Petrov9c0e1802016-06-23 08:26:00 -070089 default y
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070090
Alexandru Gagniucdfc2b312015-10-06 17:16:41 -070091config MMCONF_BASE_ADDRESS
92 hex "PCI MMIO Base Address"
93 default 0xe0000000
94
95config IOSF_BASE_ADDRESS
96 hex "MMIO Base Address of sideband bus"
97 default 0xd0000000
98
99config DCACHE_RAM_BASE
100 hex "Base address of cache-as-RAM"
101 default 0xfef00000
102
103config DCACHE_RAM_SIZE
104 hex "Length in bytes of cache-as-RAM"
Andrey Petrov0dde2912016-06-27 15:21:26 -0700105 default 0xc0000
Alexandru Gagniucdfc2b312015-10-06 17:16:41 -0700106 help
107 The size of the cache-as-ram region required during bootblock
108 and/or romstage.
109
110config DCACHE_BSP_STACK_SIZE
111 hex
112 default 0x4000
113 help
114 The amount of anticipated stack usage in CAR by bootblock and
115 other stages.
116
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -0700117config CPU_ADDR_BITS
118 int
119 default 36
120
Duncan Laurieff8bce02016-06-27 10:57:13 -0700121config SOC_INTEL_COMMON_LPSS_I2C_CLOCK_MHZ
122 depends on SOC_INTEL_COMMON_LPSS_I2C
123 int
124 default 133
125
Andrey Petrov87fb1a62016-02-10 17:47:03 -0800126config CONSOLE_UART_BASE_ADDRESS
127 depends on CONSOLE_SERIAL
128 hex "MMIO base address for UART"
129 default 0xde000000
130
Aaron Durbin61810302016-02-24 18:49:07 -0600131config SOC_UART_DEBUG
132 bool "Enable SoC UART debug port selected by UART_FOR_CONSOLE."
133 default n
134 select CONSOLE_SERIAL
Aaron Durbin61810302016-02-24 18:49:07 -0600135 select DRIVERS_UART
136 select DRIVERS_UART_8250MEM_32
137 select NO_UART_ON_SUPERIO
138
Aaron Durbinada13ed2016-02-11 14:47:33 -0600139# 32KiB bootblock is all that is mapped in by the CSE at top of 4GiB.
140config C_ENV_BOOTBLOCK_SIZE
141 hex
142 default 0x8000
143
Andrey Petrov5672dcd2016-02-12 15:12:43 -0800144# This SoC does not map SPI flash like many previous SoC. Therefore we provide
145# a custom media driver that facilitates mapping
146config X86_TOP4G_BOOTMEDIA_MAP
147 bool
148 default n
Andrey Petrovb4831462016-02-25 17:42:25 -0800149
150config ROMSTAGE_ADDR
151 hex
Andrey Petrov7f72c9b2016-06-24 18:15:09 -0700152 default 0xfef20000
Andrey Petrovb4831462016-02-25 17:42:25 -0800153 help
154 The base address (in CAR) where romstage should be linked
155
Aaron Durbinbef75e72016-05-26 11:00:44 -0500156config VERSTAGE_ADDR
157 hex
Andrey Petrov7f72c9b2016-06-24 18:15:09 -0700158 default 0xfef40000
Aaron Durbinbef75e72016-05-26 11:00:44 -0500159 help
160 The base address (in CAR) where verstage should be linked
161
Hannah Williamsb13d4542016-03-14 17:38:51 -0700162config CACHE_MRC_SETTINGS
163 bool
164 default y
165
Andrey Petrov96e9ff12016-11-04 16:18:30 -0700166config MRC_SETTINGS_VARIABLE_DATA
167 bool
168 default y
169
Andrey Petrov79091db72016-05-17 00:03:27 -0700170config FSP_M_ADDR
171 hex
Andrey Petrov7f72c9b2016-06-24 18:15:09 -0700172 default 0xfef40000
Andrey Petrov79091db72016-05-17 00:03:27 -0700173 help
174 The address FSP-M will be relocated to during build time
175
Aaron Durbin9f444c32016-05-20 10:48:44 -0500176config NEED_LBP2
177 bool "Write contents for logical boot partition 2."
178 default n
179 help
180 Write the contents from a file into the logical boot partition 2
181 region defined by LBP2_FMAP_NAME.
182
183config LBP2_FMAP_NAME
184 string "Name of FMAP region to put logical boot partition 2"
185 depends on NEED_LBP2
186 default "SIGN_CSE"
187 help
188 Name of FMAP region to write logical boot partition 2 data.
189
190config LBP2_FILE_NAME
191 string "Path of file to write to logical boot partition 2 region"
192 depends on NEED_LBP2
193 default "3rdparty/blobs/mainboard/$(CONFIG_MAINBOARD_DIR)/lbp2.bin"
194 help
195 Name of file to store in the logical boot partition 2 region.
196
Furquan Shaikh7043bf32016-05-28 12:57:05 -0700197config NEED_IFWI
198 bool "Write content into IFWI region"
199 default n
200 help
201 Write the content from a file into IFWI region defined by
202 IFWI_FMAP_NAME.
203
204config IFWI_FMAP_NAME
205 string "Name of FMAP region to pull IFWI into"
206 depends on NEED_IFWI
207 default "IFWI"
208 help
209 Name of FMAP region to write IFWI.
210
211config IFWI_FILE_NAME
212 string "Path of file to write to IFWI region"
213 depends on NEED_IFWI
214 default "3rdparty/blobs/mainboard/$(CONFIG_MAINBOARD_DIR)/ifwi.bin"
215 help
216 Name of file to store in the IFWI region.
217
Sathyanarayana Nujellac4467042016-10-26 17:38:49 -0700218config HEAP_SIZE
219 hex
220 default 0x8000
221
Sathyanarayana Nujella3e0a3fb2016-10-26 17:31:36 -0700222config NHLT_DMIC_1CH_16B
223 bool
224 depends on ACPI_NHLT
225 default n
226 help
227 Include DSP firmware settings for 1 channel 16B DMIC array.
228
Saurabh Satija734aa872016-06-21 14:22:16 -0700229config NHLT_DMIC_2CH_16B
230 bool
231 depends on ACPI_NHLT
232 default n
233 help
234 Include DSP firmware settings for 2 channel 16B DMIC array.
235
Sathyanarayana Nujella3e0a3fb2016-10-26 17:31:36 -0700236config NHLT_DMIC_4CH_16B
237 bool
238 depends on ACPI_NHLT
239 default n
240 help
241 Include DSP firmware settings for 4 channel 16B DMIC array.
242
Saurabh Satija734aa872016-06-21 14:22:16 -0700243config NHLT_MAX98357
244 bool
245 depends on ACPI_NHLT
246 default n
247 help
248 Include DSP firmware settings for headset codec.
249
250config NHLT_DA7219
251 bool
252 depends on ACPI_NHLT
253 default n
254 help
255 Include DSP firmware settings for headset codec.
Andrey Petrov3f4aece2016-06-27 13:39:34 -0700256choice
257 prompt "Cache-as-ram implementation"
258 default CAR_CQOS
259 help
260 This option allows you to select how cache-as-ram (CAR) is set up.
261
262config CAR_NEM
263 bool "Non-evict mode"
264 help
265 Traditionally, CAR is set up by using Non-Evict mode. This method
266 does not allow CAR and cache to co-exist, because cache fills are
267 block in NEM mode.
268
269config CAR_CQOS
270 bool "Cache Quality of Service"
271 help
272 Cache Quality of Service allows more fine-grained control of cache
273 usage. As result, it is possible to set up portion of L2 cache for
274 CAR and use remainder for actual caching.
275
276endchoice
Saurabh Satija734aa872016-06-21 14:22:16 -0700277
Aaron Durbinbdb6cc92016-08-11 09:48:52 -0500278config SPI_FLASH_INCLUDE_ALL_DRIVERS
279 bool
280 default n
281
Brandon Breitenstein135eae92016-09-30 13:57:12 -0700282config SMM_RESERVED_SIZE
283 hex
284 default 0x100000
285
Andrey Petrov4c5b31e2016-11-06 23:43:57 -0800286config IFD_CHIPSET
287 string
288 default "aplk"
289
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -0700290endif