blob: 6769af0d0addb03efa2b4e82831700fbb981fb76 [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
39 select PCIEXP_ASPM
40 select PCIEXP_COMMON_CLOCK
41 select PCIEXP_CLK_PM
42 select PCIEXP_L1_SUB_STATE
Aaron Durbin79587ed2016-09-16 16:30:09 -050043 select POSTCAR_CONSOLE
Aaron Durbineebe0e02016-03-18 11:19:38 -050044 select POSTCAR_STAGE
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070045 select REG_SCRIPT
46 select RELOCATABLE_RAMSTAGE # Build fails if this is not selected
Aaron Durbin16246ea2016-08-05 21:23:37 -050047 select RTC
Hannah Williamsd9c84ca2016-05-13 00:47:14 -070048 select SMM_TSEG
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070049 select SOC_INTEL_COMMON
Hannah Williams0f61da82016-04-18 13:47:08 -070050 select SOC_INTEL_COMMON_ACPI
Shaunak Saha60b46182016-08-02 17:25:13 -070051 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Duncan Laurieff8bce02016-06-27 10:57:13 -070052 select SOC_INTEL_COMMON_LPSS_I2C
53 select SOC_INTEL_COMMON_SMI
Furquan Shaikhd0c00052016-11-21 09:19:53 -080054 select SOC_INTEL_COMMON_SPI_FLASH_PROTECT
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070055 select UDELAY_TSC
Andrey Petrov87fb1a62016-02-10 17:47:03 -080056 select TSC_CONSTANT_RATE
Hannah Williamsb13d4542016-03-14 17:38:51 -070057 select TSC_MONOTONIC_TIMER
58 select HAVE_MONOTONIC_TIMER
Andrey Petrov0d187912016-02-25 18:39:38 -080059 select PLATFORM_USES_FSP2_0
Zhao, Lijiand8d42c22016-03-14 14:19:22 -070060 select HAVE_HARD_RESET
61 select SOC_INTEL_COMMON
Andrey Petrov868679f2016-05-12 19:11:48 -070062 select SOC_INTEL_COMMON_GFX_OPREGION
63 select ADD_VBT_DATA_FILE
Zhao, Lijiand8d42c22016-03-14 14:19:22 -070064
Furquan Shaikh87b1bcc2016-07-22 12:57:51 -070065config CHROMEOS
66 select CHROMEOS_RAMOOPS_DYNAMIC
Furquan Shaikh87b1bcc2016-07-22 12:57:51 -070067 select EC_SOFTWARE_SYNC if EC_GOOGLE_CHROMEEC
68 select SEPARATE_VERSTAGE
69 select VBOOT_OPROM_MATTERS
Furquan Shaikh7c7b2912016-07-22 09:02:35 -070070 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
Furquan Shaikh87b1bcc2016-07-22 12:57:51 -070071 select VBOOT_STARTS_IN_BOOTBLOCK
Furquan Shaikh2a12e2e2016-07-25 11:48:03 -070072 select VBOOT_VBNV_CMOS
73 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Furquan Shaikh87b1bcc2016-07-22 12:57:51 -070074 select VIRTUAL_DEV_SWITCH
75
Aaron Durbin80a3df22016-04-27 23:05:52 -050076config TPM_ON_FAST_SPI
77 bool
78 default n
79 select LPC_TPM
80 help
81 TPM part is conntected on Fast SPI interface, but the LPC MMIO
82 TPM transactions are decoded and serialized over the SPI interface.
83
Zhao, Lijiand8d42c22016-03-14 14:19:22 -070084config SOC_INTEL_COMMON_RESET
85 bool
Andrey Petrov9c0e1802016-06-23 08:26:00 -070086 default y
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070087
Alexandru Gagniucdfc2b312015-10-06 17:16:41 -070088config MMCONF_BASE_ADDRESS
89 hex "PCI MMIO Base Address"
90 default 0xe0000000
91
92config IOSF_BASE_ADDRESS
93 hex "MMIO Base Address of sideband bus"
94 default 0xd0000000
95
96config DCACHE_RAM_BASE
97 hex "Base address of cache-as-RAM"
98 default 0xfef00000
99
100config DCACHE_RAM_SIZE
101 hex "Length in bytes of cache-as-RAM"
Andrey Petrov0dde2912016-06-27 15:21:26 -0700102 default 0xc0000
Alexandru Gagniucdfc2b312015-10-06 17:16:41 -0700103 help
104 The size of the cache-as-ram region required during bootblock
105 and/or romstage.
106
107config DCACHE_BSP_STACK_SIZE
108 hex
109 default 0x4000
110 help
111 The amount of anticipated stack usage in CAR by bootblock and
112 other stages.
113
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -0700114config CPU_ADDR_BITS
115 int
116 default 36
117
Duncan Laurieff8bce02016-06-27 10:57:13 -0700118config SOC_INTEL_COMMON_LPSS_I2C_CLOCK_MHZ
119 depends on SOC_INTEL_COMMON_LPSS_I2C
120 int
121 default 133
122
Andrey Petrov87fb1a62016-02-10 17:47:03 -0800123config CONSOLE_UART_BASE_ADDRESS
124 depends on CONSOLE_SERIAL
125 hex "MMIO base address for UART"
126 default 0xde000000
127
Aaron Durbin61810302016-02-24 18:49:07 -0600128config SOC_UART_DEBUG
129 bool "Enable SoC UART debug port selected by UART_FOR_CONSOLE."
130 default n
131 select CONSOLE_SERIAL
Aaron Durbin61810302016-02-24 18:49:07 -0600132 select DRIVERS_UART
133 select DRIVERS_UART_8250MEM_32
134 select NO_UART_ON_SUPERIO
135
Aaron Durbinada13ed2016-02-11 14:47:33 -0600136# 32KiB bootblock is all that is mapped in by the CSE at top of 4GiB.
137config C_ENV_BOOTBLOCK_SIZE
138 hex
139 default 0x8000
140
Andrey Petrov5672dcd2016-02-12 15:12:43 -0800141# This SoC does not map SPI flash like many previous SoC. Therefore we provide
142# a custom media driver that facilitates mapping
143config X86_TOP4G_BOOTMEDIA_MAP
144 bool
145 default n
Andrey Petrovb4831462016-02-25 17:42:25 -0800146
147config ROMSTAGE_ADDR
148 hex
Andrey Petrov7f72c9b2016-06-24 18:15:09 -0700149 default 0xfef20000
Andrey Petrovb4831462016-02-25 17:42:25 -0800150 help
151 The base address (in CAR) where romstage should be linked
152
Aaron Durbinbef75e72016-05-26 11:00:44 -0500153config VERSTAGE_ADDR
154 hex
Andrey Petrov7f72c9b2016-06-24 18:15:09 -0700155 default 0xfef40000
Aaron Durbinbef75e72016-05-26 11:00:44 -0500156 help
157 The base address (in CAR) where verstage should be linked
158
Hannah Williamsb13d4542016-03-14 17:38:51 -0700159config CACHE_MRC_SETTINGS
160 bool
161 default y
162
Andrey Petrov96e9ff12016-11-04 16:18:30 -0700163config MRC_SETTINGS_VARIABLE_DATA
164 bool
165 default y
166
Andrey Petrov79091db72016-05-17 00:03:27 -0700167config FSP_M_ADDR
168 hex
Andrey Petrov7f72c9b2016-06-24 18:15:09 -0700169 default 0xfef40000
Andrey Petrov79091db72016-05-17 00:03:27 -0700170 help
171 The address FSP-M will be relocated to during build time
172
Aaron Durbin9f444c32016-05-20 10:48:44 -0500173config NEED_LBP2
174 bool "Write contents for logical boot partition 2."
175 default n
176 help
177 Write the contents from a file into the logical boot partition 2
178 region defined by LBP2_FMAP_NAME.
179
180config LBP2_FMAP_NAME
181 string "Name of FMAP region to put logical boot partition 2"
182 depends on NEED_LBP2
183 default "SIGN_CSE"
184 help
185 Name of FMAP region to write logical boot partition 2 data.
186
187config LBP2_FILE_NAME
188 string "Path of file to write to logical boot partition 2 region"
189 depends on NEED_LBP2
190 default "3rdparty/blobs/mainboard/$(CONFIG_MAINBOARD_DIR)/lbp2.bin"
191 help
192 Name of file to store in the logical boot partition 2 region.
193
Furquan Shaikh7043bf32016-05-28 12:57:05 -0700194config NEED_IFWI
195 bool "Write content into IFWI region"
196 default n
197 help
198 Write the content from a file into IFWI region defined by
199 IFWI_FMAP_NAME.
200
201config IFWI_FMAP_NAME
202 string "Name of FMAP region to pull IFWI into"
203 depends on NEED_IFWI
204 default "IFWI"
205 help
206 Name of FMAP region to write IFWI.
207
208config IFWI_FILE_NAME
209 string "Path of file to write to IFWI region"
210 depends on NEED_IFWI
211 default "3rdparty/blobs/mainboard/$(CONFIG_MAINBOARD_DIR)/ifwi.bin"
212 help
213 Name of file to store in the IFWI region.
214
Sathyanarayana Nujellac4467042016-10-26 17:38:49 -0700215config HEAP_SIZE
216 hex
217 default 0x8000
218
Sathyanarayana Nujella3e0a3fb2016-10-26 17:31:36 -0700219config NHLT_DMIC_1CH_16B
220 bool
221 depends on ACPI_NHLT
222 default n
223 help
224 Include DSP firmware settings for 1 channel 16B DMIC array.
225
Saurabh Satija734aa872016-06-21 14:22:16 -0700226config NHLT_DMIC_2CH_16B
227 bool
228 depends on ACPI_NHLT
229 default n
230 help
231 Include DSP firmware settings for 2 channel 16B DMIC array.
232
Sathyanarayana Nujella3e0a3fb2016-10-26 17:31:36 -0700233config NHLT_DMIC_4CH_16B
234 bool
235 depends on ACPI_NHLT
236 default n
237 help
238 Include DSP firmware settings for 4 channel 16B DMIC array.
239
Saurabh Satija734aa872016-06-21 14:22:16 -0700240config NHLT_MAX98357
241 bool
242 depends on ACPI_NHLT
243 default n
244 help
245 Include DSP firmware settings for headset codec.
246
247config NHLT_DA7219
248 bool
249 depends on ACPI_NHLT
250 default n
251 help
252 Include DSP firmware settings for headset codec.
Andrey Petrov3f4aece2016-06-27 13:39:34 -0700253choice
254 prompt "Cache-as-ram implementation"
255 default CAR_CQOS
256 help
257 This option allows you to select how cache-as-ram (CAR) is set up.
258
259config CAR_NEM
260 bool "Non-evict mode"
261 help
262 Traditionally, CAR is set up by using Non-Evict mode. This method
263 does not allow CAR and cache to co-exist, because cache fills are
264 block in NEM mode.
265
266config CAR_CQOS
267 bool "Cache Quality of Service"
268 help
269 Cache Quality of Service allows more fine-grained control of cache
270 usage. As result, it is possible to set up portion of L2 cache for
271 CAR and use remainder for actual caching.
272
273endchoice
Saurabh Satija734aa872016-06-21 14:22:16 -0700274
Aaron Durbinbdb6cc92016-08-11 09:48:52 -0500275config SPI_FLASH_INCLUDE_ALL_DRIVERS
276 bool
277 default n
278
Brandon Breitenstein135eae92016-09-30 13:57:12 -0700279config SMM_RESERVED_SIZE
280 hex
281 default 0x100000
282
Andrey Petrov4c5b31e2016-11-06 23:43:57 -0800283config IFD_CHIPSET
284 string
285 default "aplk"
286
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -0700287endif