Subrata Banik | 91e89c5 | 2019-11-01 18:30:01 +0530 | [diff] [blame^] | 1 | config SOC_INTEL_TIGERLAKE |
| 2 | bool |
| 3 | help |
| 4 | Intel Tigerlake support |
| 5 | |
| 6 | if SOC_INTEL_TIGERLAKE |
| 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 COMMON_FADT |
| 20 | select CPU_INTEL_FIRMWARE_INTERFACE_TABLE |
| 21 | select FSP_M_XIP |
| 22 | select GENERIC_GPIO_LIB |
| 23 | select HAVE_FSP_GOP |
| 24 | select INTEL_DESCRIPTOR_MODE_CAPABLE |
| 25 | select HAVE_SMI_HANDLER |
| 26 | select IDT_IN_EVERY_STAGE |
| 27 | select INTEL_GMA_ACPI |
| 28 | select INTEL_GMA_ADD_VBT if RUN_FSP_GOP |
| 29 | select IOAPIC |
| 30 | select MRC_SETTINGS_PROTECT |
| 31 | select PARALLEL_MP |
| 32 | select PARALLEL_MP_AP_WORK |
| 33 | select MICROCODE_BLOB_UNDISCLOSED |
| 34 | select PLATFORM_USES_FSP2_1 |
| 35 | select REG_SCRIPT |
| 36 | select SMP |
| 37 | select SOC_AHCI_PORT_IMPLEMENTED_INVERT |
| 38 | select PMC_GLOBAL_RESET_ENABLE_LOCK |
| 39 | select SOC_INTEL_COMMON |
| 40 | select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE |
| 41 | select SOC_INTEL_COMMON_BLOCK |
| 42 | select SOC_INTEL_COMMON_BLOCK_ACPI |
| 43 | select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG |
| 44 | select SOC_INTEL_COMMON_BLOCK_CPU |
| 45 | select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT |
| 46 | select SOC_INTEL_COMMON_BLOCK_EBDA |
| 47 | select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2 |
| 48 | select SOC_INTEL_COMMON_BLOCK_HDA |
| 49 | select SOC_INTEL_COMMON_BLOCK_SA |
| 50 | select SOC_INTEL_COMMON_BLOCK_SMM |
| 51 | select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP |
| 52 | select SOC_INTEL_COMMON_PCH_BASE |
| 53 | select SOC_INTEL_COMMON_RESET |
| 54 | select SSE2 |
| 55 | select SUPPORT_CPU_UCODE_IN_CBFS |
| 56 | select TSC_MONOTONIC_TIMER |
| 57 | select UDELAY_TSC |
| 58 | select UDK_2017_BINDING |
| 59 | select DISPLAY_FSP_VERSION_INFO |
| 60 | select HECI_DISABLE_USING_SMM |
| 61 | |
| 62 | config DCACHE_RAM_BASE |
| 63 | default 0xfef00000 |
| 64 | |
| 65 | config DCACHE_RAM_SIZE |
| 66 | default 0x40000 |
| 67 | help |
| 68 | The size of the cache-as-ram region required during bootblock |
| 69 | and/or romstage. |
| 70 | |
| 71 | config DCACHE_BSP_STACK_SIZE |
| 72 | hex |
| 73 | default 0x20400 |
| 74 | help |
| 75 | The amount of anticipated stack usage in CAR by bootblock and |
| 76 | other stages. In the case of FSP_USES_CB_STACK default value will be |
| 77 | sum of FSP-M stack requirement (128KiB) and CB romstage stack requirement (~1KiB). |
| 78 | |
| 79 | config FSP_TEMP_RAM_SIZE |
| 80 | hex |
| 81 | default 0x10000 |
| 82 | help |
| 83 | The amount of anticipated heap usage in CAR by FSP. |
| 84 | Refer to Platform FSP integration guide document to know |
| 85 | the exact FSP requirement for Heap setup. |
| 86 | |
| 87 | config IFD_CHIPSET |
| 88 | string |
| 89 | default "tgl" |
| 90 | |
| 91 | config IED_REGION_SIZE |
| 92 | hex |
| 93 | default 0x400000 |
| 94 | |
| 95 | config HEAP_SIZE |
| 96 | hex |
| 97 | default 0x8000 |
| 98 | |
| 99 | config MAX_ROOT_PORTS |
| 100 | int |
| 101 | default 16 |
| 102 | |
| 103 | config SMM_TSEG_SIZE |
| 104 | hex |
| 105 | default 0x800000 |
| 106 | |
| 107 | config SMM_RESERVED_SIZE |
| 108 | hex |
| 109 | default 0x200000 |
| 110 | |
| 111 | config PCR_BASE_ADDRESS |
| 112 | hex |
| 113 | default 0xfd000000 |
| 114 | help |
| 115 | This option allows you to select MMIO Base Address of sideband bus. |
| 116 | |
| 117 | config MMCONF_BASE_ADDRESS |
| 118 | hex |
| 119 | default 0xc0000000 |
| 120 | |
| 121 | config CPU_BCLK_MHZ |
| 122 | int |
| 123 | default 100 |
| 124 | |
| 125 | config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ |
| 126 | int |
| 127 | default 120 |
| 128 | |
| 129 | config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ |
| 130 | int |
| 131 | default 133 |
| 132 | |
| 133 | config SOC_INTEL_COMMON_BLOCK_GSPI_MAX |
| 134 | int |
| 135 | default 3 |
| 136 | |
| 137 | config SOC_INTEL_I2C_DEV_MAX |
| 138 | int |
| 139 | default 6 |
| 140 | |
| 141 | config SOC_INTEL_UART_DEV_MAX |
| 142 | int |
| 143 | default 3 |
| 144 | |
| 145 | config CONSOLE_UART_BASE_ADDRESS |
| 146 | hex |
| 147 | default 0xfe032000 |
| 148 | depends on INTEL_LPSS_UART_FOR_CONSOLE |
| 149 | |
| 150 | # Clock divider parameters for 115200 baud rate |
| 151 | config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL |
| 152 | hex |
| 153 | default 0x30 |
| 154 | |
| 155 | config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL |
| 156 | hex |
| 157 | default 0xc35 |
| 158 | |
| 159 | config CHROMEOS |
| 160 | select CHROMEOS_RAMOOPS_DYNAMIC |
| 161 | |
| 162 | config VBOOT |
| 163 | select VBOOT_SEPARATE_VERSTAGE |
| 164 | select VBOOT_MUST_REQUEST_DISPLAY |
| 165 | select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT |
| 166 | select VBOOT_STARTS_IN_BOOTBLOCK |
| 167 | select VBOOT_VBNV_CMOS |
| 168 | select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH |
| 169 | |
| 170 | config C_ENV_BOOTBLOCK_SIZE |
| 171 | hex |
| 172 | default 0xC000 |
| 173 | |
| 174 | config CBFS_SIZE |
| 175 | hex |
| 176 | default 0x200000 |
| 177 | |
| 178 | choice |
| 179 | prompt "Cache-as-ram implementation" |
| 180 | default USE_TIGERLAKE_CAR_NEM_ENHANCED |
| 181 | help |
| 182 | This option allows you to select how cache-as-ram (CAR) is set up. |
| 183 | |
| 184 | config USE_TIGERLAKE_CAR_NEM_ENHANCED |
| 185 | bool "Enhanced Non-evict mode" |
| 186 | select SOC_INTEL_COMMON_BLOCK_CAR |
| 187 | select INTEL_CAR_NEM_ENHANCED |
| 188 | help |
| 189 | A current limitation of NEM (Non-Evict mode) is that code and data |
| 190 | sizes are derived from the requirement to not write out any modified |
| 191 | cache line. With NEM, if there is no physical memory behind the |
| 192 | cached area, the modified data will be lost and NEM results will be |
| 193 | inconsistent. ENHANCED NEM guarantees that modified data is always |
| 194 | kept in cache while clean data is replaced. |
| 195 | |
| 196 | config USE_TIGERLAKE_FSP_CAR |
| 197 | bool "Use FSP CAR" |
| 198 | select FSP_CAR |
| 199 | help |
| 200 | Use FSP APIs to initialize and tear down the Cache-As-Ram. |
| 201 | |
| 202 | endchoice |
| 203 | |
| 204 | config FSP_HEADER_PATH |
| 205 | string "Location of FSP headers" |
| 206 | default "src/vendorcode/intel/fsp/fsp2_0/tigerlake/" |
| 207 | |
| 208 | config FSP_FD_PATH |
| 209 | string |
| 210 | depends on FSP_USE_REPO |
| 211 | default "3rdparty/fsp/TigerLakeFspBinPkg/Fsp.fd" |
| 212 | |
| 213 | endif |