Aamir Bohra | 3ee54bb | 2018-10-17 11:55:01 +0530 | [diff] [blame] | 1 | config SOC_INTEL_ICELAKE |
| 2 | bool |
| 3 | help |
| 4 | Intel Icelake support |
| 5 | |
| 6 | if SOC_INTEL_ICELAKE |
| 7 | |
| 8 | config CPU_SPECIFIC_OPTIONS |
| 9 | def_bool y |
| 10 | select ACPI_INTEL_HARDWARE_SLEEP_VALUES |
| 11 | select ARCH_BOOTBLOCK_X86_32 |
| 12 | select ARCH_RAMSTAGE_X86_32 |
| 13 | select ARCH_ROMSTAGE_X86_32 |
| 14 | select ARCH_VERSTAGE_X86_32 |
| 15 | select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH |
| 16 | select BOOT_DEVICE_SUPPORTS_WRITES |
| 17 | select C_ENVIRONMENT_BOOTBLOCK |
| 18 | select CACHE_MRC_SETTINGS |
| 19 | select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM |
| 20 | select COMMON_FADT |
| 21 | select CPU_INTEL_FIRMWARE_INTERFACE_TABLE |
| 22 | select GENERIC_GPIO_LIB |
| 23 | select HAVE_FSP_GOP |
| 24 | select INTEL_DESCRIPTOR_MODE_CAPABLE |
| 25 | select HAVE_MONOTONIC_TIMER |
| 26 | select HAVE_SMI_HANDLER |
| 27 | select IDT_IN_EVERY_STAGE |
| 28 | select INTEL_GMA_ACPI |
| 29 | select INTEL_GMA_ADD_VBT if RUN_FSP_GOP |
| 30 | select IOAPIC |
| 31 | select MRC_SETTINGS_PROTECT |
| 32 | select PARALLEL_MP |
| 33 | select PARALLEL_MP_AP_WORK |
Nico Huber | f5ca922 | 2018-11-29 17:05:32 +0100 | [diff] [blame] | 34 | select MICROCODE_BLOB_UNDISCLOSED |
Subrata Banik | 55fb6b4 | 2018-12-19 16:50:57 +0530 | [diff] [blame] | 35 | select PLATFORM_USES_FSP2_1 |
Aamir Bohra | 3ee54bb | 2018-10-17 11:55:01 +0530 | [diff] [blame] | 36 | select POSTCAR_CONSOLE |
| 37 | select POSTCAR_STAGE |
| 38 | select REG_SCRIPT |
| 39 | select SMM_TSEG |
| 40 | select SMP |
| 41 | select SOC_AHCI_PORT_IMPLEMENTED_INVERT |
| 42 | select PMC_GLOBAL_RESET_ENABLE_LOCK |
| 43 | select SOC_INTEL_COMMON |
| 44 | select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE |
| 45 | select SOC_INTEL_COMMON_BLOCK |
| 46 | select SOC_INTEL_COMMON_BLOCK_ACPI |
| 47 | select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG |
| 48 | select SOC_INTEL_COMMON_BLOCK_CPU |
| 49 | select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT |
| 50 | select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2 |
| 51 | select SOC_INTEL_COMMON_BLOCK_HDA |
| 52 | select SOC_INTEL_COMMON_BLOCK_SA |
| 53 | select SOC_INTEL_COMMON_BLOCK_SMM |
| 54 | select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP |
| 55 | select SOC_INTEL_COMMON_PCH_BASE |
| 56 | select SOC_INTEL_COMMON_RESET |
| 57 | select SSE2 |
| 58 | select SUPPORT_CPU_UCODE_IN_CBFS |
| 59 | select TSC_CONSTANT_RATE |
| 60 | select TSC_MONOTONIC_TIMER |
| 61 | select UDELAY_TSC |
| 62 | select UDK_2017_BINDING |
| 63 | select DISPLAY_FSP_VERSION_INFO |
| 64 | |
Aamir Bohra | 3ee54bb | 2018-10-17 11:55:01 +0530 | [diff] [blame] | 65 | config DCACHE_RAM_BASE |
| 66 | default 0xfef00000 |
| 67 | |
| 68 | config DCACHE_RAM_SIZE |
| 69 | default 0x40000 |
| 70 | help |
| 71 | The size of the cache-as-ram region required during bootblock |
| 72 | and/or romstage. |
| 73 | |
| 74 | config DCACHE_BSP_STACK_SIZE |
| 75 | hex |
Aamir Bohra | 23012a0 | 2018-10-09 20:33:16 +0530 | [diff] [blame] | 76 | default 0x20000 if FSP_USES_CB_STACK |
Aamir Bohra | 3ee54bb | 2018-10-17 11:55:01 +0530 | [diff] [blame] | 77 | default 0x4000 |
| 78 | help |
| 79 | The amount of anticipated stack usage in CAR by bootblock and |
| 80 | other stages. |
| 81 | |
| 82 | config IFD_CHIPSET |
| 83 | string |
| 84 | default "icl" |
| 85 | |
| 86 | config IED_REGION_SIZE |
| 87 | hex |
| 88 | default 0x400000 |
| 89 | |
| 90 | config HEAP_SIZE |
| 91 | hex |
| 92 | default 0x8000 |
| 93 | |
| 94 | config MAX_ROOT_PORTS |
| 95 | int |
| 96 | default 16 |
| 97 | |
| 98 | config SMM_TSEG_SIZE |
| 99 | hex |
| 100 | default 0x800000 |
| 101 | |
| 102 | config SMM_RESERVED_SIZE |
| 103 | hex |
| 104 | default 0x200000 |
| 105 | |
| 106 | config PCR_BASE_ADDRESS |
| 107 | hex |
| 108 | default 0xfd000000 |
| 109 | help |
| 110 | This option allows you to select MMIO Base Address of sideband bus. |
| 111 | |
Subrata Banik | 26d706b | 2018-11-20 13:20:31 +0530 | [diff] [blame] | 112 | config MMCONF_BASE_ADDRESS |
| 113 | hex |
| 114 | default 0xc0000000 |
| 115 | |
Aamir Bohra | 3ee54bb | 2018-10-17 11:55:01 +0530 | [diff] [blame] | 116 | config CPU_BCLK_MHZ |
| 117 | int |
| 118 | default 100 |
| 119 | |
| 120 | config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ |
| 121 | int |
| 122 | default 120 |
| 123 | |
| 124 | config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ |
| 125 | int |
| 126 | default 133 |
| 127 | |
| 128 | config SOC_INTEL_COMMON_BLOCK_GSPI_MAX |
| 129 | int |
| 130 | default 3 |
| 131 | |
| 132 | config SOC_INTEL_I2C_DEV_MAX |
| 133 | int |
| 134 | default 6 |
| 135 | |
Subrata Banik | 26d706b | 2018-11-20 13:20:31 +0530 | [diff] [blame] | 136 | config SOC_INTEL_UART_DEV_MAX |
| 137 | int |
| 138 | default 3 |
| 139 | |
Aamir Bohra | 3ee54bb | 2018-10-17 11:55:01 +0530 | [diff] [blame] | 140 | # Clock divider parameters for 115200 baud rate |
| 141 | config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL |
| 142 | hex |
| 143 | default 0x30 |
| 144 | |
| 145 | config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL |
| 146 | hex |
| 147 | default 0xc35 |
| 148 | |
| 149 | config CHROMEOS |
| 150 | select CHROMEOS_RAMOOPS_DYNAMIC |
| 151 | |
| 152 | config VBOOT |
| 153 | select VBOOT_SEPARATE_VERSTAGE |
| 154 | select VBOOT_OPROM_MATTERS |
| 155 | select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT |
| 156 | select VBOOT_STARTS_IN_BOOTBLOCK |
| 157 | select VBOOT_VBNV_CMOS |
| 158 | select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH |
| 159 | |
| 160 | config C_ENV_BOOTBLOCK_SIZE |
| 161 | hex |
Subrata Banik | 458297c | 2019-01-07 14:24:27 +0530 | [diff] [blame] | 162 | default 0xC000 |
Aamir Bohra | 3ee54bb | 2018-10-17 11:55:01 +0530 | [diff] [blame] | 163 | |
| 164 | config CBFS_SIZE |
| 165 | hex |
| 166 | default 0x200000 |
| 167 | |
| 168 | choice |
| 169 | prompt "Cache-as-ram implementation" |
| 170 | default USE_ICELAKE_CAR_NEM_ENHANCED if MAINBOARD_HAS_CHROMEOS |
| 171 | default USE_ICELAKE_FSP_CAR |
| 172 | help |
| 173 | This option allows you to select how cache-as-ram (CAR) is set up. |
| 174 | |
| 175 | config USE_ICELAKE_CAR_NEM_ENHANCED |
| 176 | bool "Enhanced Non-evict mode" |
| 177 | select SOC_INTEL_COMMON_BLOCK_CAR |
| 178 | select INTEL_CAR_NEM_ENHANCED |
| 179 | help |
| 180 | A current limitation of NEM (Non-Evict mode) is that code and data |
| 181 | sizes are derived from the requirement to not write out any modified |
| 182 | cache line. With NEM, if there is no physical memory behind the |
| 183 | cached area, the modified data will be lost and NEM results will be |
| 184 | inconsistent. ENHANCED NEM guarantees that modified data is always |
| 185 | kept in cache while clean data is replaced. |
| 186 | |
| 187 | config USE_ICELAKE_FSP_CAR |
| 188 | bool "Use FSP CAR" |
| 189 | select FSP_CAR |
| 190 | help |
| 191 | Use FSP APIs to initialize and tear down the Cache-As-Ram. |
| 192 | |
| 193 | endchoice |
| 194 | |
| 195 | config FSP_HEADER_PATH |
Patrick Georgi | c6382cd | 2018-10-26 22:03:17 +0200 | [diff] [blame] | 196 | string "Location of FSP headers" |
Aamir Bohra | 3ee54bb | 2018-10-17 11:55:01 +0530 | [diff] [blame] | 197 | default "src/vendorcode/intel/fsp/fsp2_0/icelake/" |
| 198 | |
| 199 | config FSP_FD_PATH |
| 200 | string |
| 201 | depends on FSP_USE_REPO |
| 202 | default "3rdparty/fsp/IceLakeFspBinPkg/Fsp.fd" |
| 203 | |
| 204 | endif |