soc/amd/picasso/Makefile: Use apcb_tool to generate APCBs from SPDs
[coreboot.git] / src / soc / amd / picasso / Kconfig
blob48e1cc2e6bfb276a83838ab47532e49fcf6e6966
1 # SPDX-License-Identifier: GPL-2.0-only
3 config SOC_AMD_PICASSO
4         bool
5         help
6           AMD Picasso support
8 if SOC_AMD_PICASSO
10 config CPU_SPECIFIC_OPTIONS
11         def_bool y
12         select ARCH_BOOTBLOCK_X86_32
13         select ARCH_VERSTAGE_X86_32
14         select ARCH_ROMSTAGE_X86_32
15         select ARCH_RAMSTAGE_X86_32
16         select RESET_VECTOR_IN_RAM
17         select X86_AMD_FIXED_MTRRS
18         select X86_AMD_INIT_SIPI
19         select ACPI_AMD_HARDWARE_SLEEP_VALUES
20         select DRIVERS_I2C_DESIGNWARE
21         select GENERIC_GPIO_LIB
22         select IOAPIC
23         select HAVE_EM100_SUPPORT
24         select HAVE_USBDEBUG_OPTIONS
25         select TSC_MONOTONIC_TIMER
26         select SOC_AMD_COMMON_BLOCK_SPI
27         select TSC_SYNC_LFENCE
28         select UDELAY_TSC
29         select SOC_AMD_COMMON
30         select SOC_AMD_COMMON_BLOCK
31         select SOC_AMD_COMMON_BLOCK_HAS_ESPI
32         select SOC_AMD_COMMON_BLOCK_IOMMU
33         select SOC_AMD_COMMON_BLOCK_ACPIMMIO
34         select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
35         select SOC_AMD_COMMON_BLOCK_ACPI
36         select SOC_AMD_COMMON_BLOCK_GRAPHICS
37         select SOC_AMD_COMMON_BLOCK_LPC
38         select SOC_AMD_COMMON_BLOCK_PCI
39         select SOC_AMD_COMMON_BLOCK_HDA
40         select SOC_AMD_COMMON_BLOCK_SATA
41         select SOC_AMD_COMMON_BLOCK_SMBUS
42         select SOC_AMD_COMMON_BLOCK_PSP_GEN2
43         select PROVIDES_ROM_SHARING
44         select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
45         select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
46         select PARALLEL_MP
47         select PARALLEL_MP_AP_WORK
48         select HAVE_SMI_HANDLER
49         select SSE2
50         select RTC
51         select PLATFORM_USES_FSP2_0
52         select FSP_USES_CB_STACK
53         select UDK_2017_BINDING
54         select HAVE_CF9_RESET
56 config AMD_FP5
57         def_bool y if !AMD_FT5
58         help
59           The FP5 package supports higher-wattage parts and dual channel DDR4 memory.
61 config AMD_FT5
62         def_bool n
63         help
64           The FT5 package supports low-power parts and single-channel DDR4 memory.
66 config PRERAM_CBMEM_CONSOLE_SIZE
67         hex
68         default 0x1600
69         help
70           Increase this value if preram cbmem console is getting truncated
72 config CPU_ADDR_BITS
73         int
74         default 48
76 config MMCONF_BASE_ADDRESS
77         hex
78         default 0xF8000000
80 config MMCONF_BUS_NUMBER
81         int
82         default 64
84 config VERSTAGE_ADDR
85         hex
86         default 0x4000000
88 config VGA_BIOS_ID
89         string
90         default "1002,15d8"
91         help
92           The default VGA BIOS PCI vendor/device ID should be set to the
93           result of the map_oprom_vendev() function in northbridge.c.
95 config VGA_BIOS_FILE
96         string
97         default "3rdparty/amd_blobs/picasso/PicassoGenericVbios.bin"
99 config S3_VGA_ROM_RUN
100         bool
101         default n
103 config HEAP_SIZE
104         hex
105         default 0xc0000
107 config EHCI_BAR
108         hex
109         default 0xfef00000
111 config SERIRQ_CONTINUOUS_MODE
112         bool
113         default n
114         help
115           Set this option to y for serial IRQ in continuous mode.
116           Otherwise it is in quiet mode.
118 config PICASSO_ACPI_IO_BASE
119         hex
120         default 0x400
121         help
122           Base address for the ACPI registers.
124 config PICASSO_UART
125         bool "UART controller on Picasso"
126         default n
127         select DRIVERS_UART_8250MEM
128         select DRIVERS_UART_8250MEM_32
129         select NO_UART_ON_SUPERIO
130         select UART_OVERRIDE_REFCLK
131         help
132           There are four memory-mapped UARTs controllers in Picasso at:
133           0: 0xfedc9000
134           1: 0xfedca000
135           2: 0xfedc3000
136           3: 0xfedcf000
138 choice PICASSO_UART_CLOCK_SOURCE
139         prompt "UART Frequency"
140         depends on PICASSO_UART
141         default PICASSO_UART_48MZ
143 config PICASSO_UART_48MZ
144         bool "48 MHz clock"
145         help
146           Select this option for the most compatibility.
148 config PICASSO_UART_1_8MZ
149         bool "1.8432 MHz clock"
150         help
151           Select this option if an old payload or Linux ttyS0 arguments
152           require it.
154 endchoice
156 config PICASSO_UART_LEGACY
157         bool "Decode legacy I/O range"
158         depends on PICASSO_UART
159         help
160           Assign I/O 3F8, 2F8, etc. to a Picasso UART.  Only a single UART may
161           decode legacy addresses and this option enables the one used for the
162           console.  A UART accessed with I/O does not allow all the features
163           of MMIO.  The MMIO decode is still present when this option is used.
165 config CONSOLE_UART_BASE_ADDRESS
166         depends on CONSOLE_SERIAL && PICASSO_UART
167         hex
168         default 0xfedc9000 if UART_FOR_CONSOLE = 0
169         default 0xfedca000 if UART_FOR_CONSOLE = 1
170         default 0xfedc3000 if UART_FOR_CONSOLE = 2
171         default 0xfedcf000 if UART_FOR_CONSOLE = 3
173 config SMM_TSEG_SIZE
174         hex
175         default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
176         default 0x0
178 config SMM_RESERVED_SIZE
179         hex
180         default 0x150000
182 config SMM_MODULE_STACK_SIZE
183         hex
184         default 0x800
186 config ACPI_CPU_STRING
187         string
188         default "\\_PR.P%03d"
190 config ACPI_BERT
191         bool "Build ACPI BERT Table"
192         default y
193         depends on HAVE_ACPI_TABLES
194         help
195           Report Machine Check errors identified in POST to the OS in an
196           ACPI Boot Error Record Table.  This option reserves an 8MB region
197           for building the error structures.
199 config ACPI_BERT_SIZE
200         hex
201         default 0x4000
202         help
203           Specify the amount of DRAM reserved for gathering the data used to
204           generate the ACPI table.
206 config CHROMEOS
207         select CHROMEOS_RAMOOPS_DYNAMIC
209 config RO_REGION_ONLY
210         string
211         depends on CHROMEOS
212         default "apu/amdfw"
214 config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
215         int
216         default 150
218 config PICASSO_LPC_IOMUX
219         bool
220         help
221           Picasso's LPC bus signals are MUXed with some of the EMMC signals.
222           Select this option if LPC signals are required.
224 config DISABLE_SPI_FLASH_ROM_SHARING
225         def_bool n
226         help
227           Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
228           which indicates a board level ROM transaction request. This
229           removes arbitration with board and assumes the chipset controls
230           the SPI flash bus entirely.
232 config MAINBOARD_POWER_RESTORE
233         def_bool n
234         help
235           This option determines what state to go to once power is restored
236           after having been lost in S0.  Select this option to automatically
237           return to S0.  Otherwise the system will remain in S5 once power
238           is restored.
240 config X86_RESET_VECTOR
241         hex
242         default 0x807fff0
244 config EARLYRAM_BSP_STACK_SIZE
245         hex
246         default 0x800
248 config FSP_TEMP_RAM_SIZE
249         hex
250         depends on FSP_USES_CB_STACK
251         default 0x40000
252         help
253           The amount of coreboot-allocated heap and stack usage by the FSP.
255 menu "PSP Configuration Options"
257 config AMDFW_OUTSIDE_CBFS
258         bool
259         default n
260         help
261           The AMDFW (PSP) is typically locatable in cbfs.  Select this
262           option to manually attach the generated amdfw.rom outside of
263           cbfs.  The location is selected by the FWM position.
265 config AMD_FWM_POSITION_INDEX
266         int "Firmware Directory Table location (0 to 5)"
267         range 0 5
268         default 0 if BOARD_ROMSIZE_KB_512
269         default 1 if BOARD_ROMSIZE_KB_1024
270         default 2 if BOARD_ROMSIZE_KB_2048
271         default 3 if BOARD_ROMSIZE_KB_4096
272         default 4 if BOARD_ROMSIZE_KB_8192
273         default 5 if BOARD_ROMSIZE_KB_16384
274         help
275           Typically this is calculated by the ROM size, but there may
276           be situations where you want to put the firmware directory
277           table in a different location.
278             0: 512 KB - 0xFFFA0000
279             1: 1 MB   - 0xFFF20000
280             2: 2 MB   - 0xFFE20000
281             3: 4 MB   - 0xFFC20000
282             4: 8 MB   - 0xFF820000
283             5: 16 MB  - 0xFF020000
285 comment "AMD Firmware Directory Table set to location for 512KB ROM"
286         depends on AMD_FWM_POSITION_INDEX = 0
287 comment "AMD Firmware Directory Table set to location for 1MB ROM"
288         depends on AMD_FWM_POSITION_INDEX = 1
289 comment "AMD Firmware Directory Table set to location for 2MB ROM"
290         depends on AMD_FWM_POSITION_INDEX = 2
291 comment "AMD Firmware Directory Table set to location for 4MB ROM"
292         depends on AMD_FWM_POSITION_INDEX = 3
293 comment "AMD Firmware Directory Table set to location for 8MB ROM"
294         depends on AMD_FWM_POSITION_INDEX = 4
295 comment "AMD Firmware Directory Table set to location for 16MB ROM"
296         depends on AMD_FWM_POSITION_INDEX = 5
298 config AMD_PUBKEY_FILE
299         string
300         default "3rdparty/amd_blobs/picasso/PSP/AmdPubKeyRV.bin"
302 config PSP_APOB_DESTINATION
303         hex
304         default 0x9f00000
305         help
306           Location in DRAM where the PSP will copy the AGESA PSP Output
307           Block.
309 config PSP_APOB_NV_ADDRESS
310         hex "Base address of APOB NV"
311         help
312           Location in flash where the PSP can find the S3 restore information.
313           Place this on a boundary that the flash device can erase.
315 config PSP_APOB_NV_SIZE
316         hex "Size of APOB NV to be reserved"
317         help
318           Size of the S3 restore information.  Make this a multiple of the
319           size the flash device can erase.
321 config USE_PSPSCUREOS
322         bool
323         default y
324         help
325           Include the PspSecureOs and PspTrustlet binaries in the PSP build.
327           If unsure, answer 'y'
329 config PSP_LOAD_MP2_FW
330         bool
331         default n
332         help
333           Include the MP2 firmwares and configuration into the PSP build.
335           If unsure, answer 'n'
337 config PSP_LOAD_S0I3_FW
338         bool
339         default n
340         help
341           Select this item to include the S0i3 file into the PSP build.
343 config HAVE_PSP_WHITELIST_FILE
344         bool "Include a debug whitelist file in PSP build"
345         default n
346         help
347           Support secured unlock prior to reset using a whitelisted
348           number?  This feature requires a signed whitelist image and
349           bootloader from AMD.
351           If unsure, answer 'n'
353 config PSP_WHITELIST_FILE
354         string "Debug whitelist file name"
355         depends on HAVE_PSP_WHITELIST_FILE
356         default "3rdparty/amd_blobs/picasso/PSP/wtl-rvn.sbin"
358 config PSP_UNLOCK_SECURE_DEBUG
359         bool "Unlock secure debug"
360         default n
361         help
362           Select this item to enable secure debug options in PSP.
364 endmenu
366 endif # SOC_AMD_PICASSO