2019-04-22 22:55:16 +02:00
|
|
|
##
|
|
|
|
## This file is part of the coreboot project.
|
|
|
|
##
|
|
|
|
##
|
|
|
|
## This program is free software; you can redistribute it and/or modify
|
|
|
|
## it under the terms of the GNU General Public License as published by
|
|
|
|
## the Free Software Foundation; version 2 of the License.
|
|
|
|
##
|
|
|
|
## This program is distributed in the hope that it will be useful,
|
|
|
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
## GNU General Public License for more details.
|
|
|
|
##
|
|
|
|
|
2019-04-23 00:08:31 +02:00
|
|
|
config SOC_AMD_PICASSO
|
2019-04-22 22:55:16 +02:00
|
|
|
bool
|
|
|
|
help
|
2019-04-23 00:08:31 +02:00
|
|
|
AMD Picasso support
|
2019-04-22 22:55:16 +02:00
|
|
|
|
2019-04-23 00:08:31 +02:00
|
|
|
if SOC_AMD_PICASSO
|
2019-04-22 22:55:16 +02:00
|
|
|
|
|
|
|
config CPU_SPECIFIC_OPTIONS
|
|
|
|
def_bool y
|
|
|
|
select ARCH_BOOTBLOCK_X86_32
|
|
|
|
select ARCH_VERSTAGE_X86_32
|
|
|
|
select ARCH_ROMSTAGE_X86_32
|
|
|
|
select ARCH_RAMSTAGE_X86_32
|
|
|
|
select X86_AMD_FIXED_MTRRS
|
2019-07-16 23:18:00 +02:00
|
|
|
select X86_AMD_INIT_SIPI
|
2019-04-22 22:55:16 +02:00
|
|
|
select ACPI_AMD_HARDWARE_SLEEP_VALUES
|
|
|
|
select DRIVERS_I2C_DESIGNWARE
|
|
|
|
select GENERIC_GPIO_LIB
|
|
|
|
select IOAPIC
|
|
|
|
select HAVE_USBDEBUG_OPTIONS
|
2019-06-19 20:29:23 +02:00
|
|
|
select TSC_MONOTONIC_TIMER
|
2019-08-21 19:27:05 +02:00
|
|
|
select SOC_AMD_COMMON_BLOCK_SPI
|
2019-04-22 22:55:16 +02:00
|
|
|
select TSC_SYNC_LFENCE
|
2019-06-19 20:29:23 +02:00
|
|
|
select UDELAY_TSC
|
2019-04-22 22:55:16 +02:00
|
|
|
select SOC_AMD_COMMON
|
|
|
|
select SOC_AMD_COMMON_BLOCK
|
|
|
|
select SOC_AMD_COMMON_BLOCK_IOMMU
|
|
|
|
select SOC_AMD_COMMON_BLOCK_ACPIMMIO
|
|
|
|
select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
|
|
|
|
select SOC_AMD_COMMON_BLOCK_ACPI
|
|
|
|
select SOC_AMD_COMMON_BLOCK_LPC
|
|
|
|
select SOC_AMD_COMMON_BLOCK_PCI
|
|
|
|
select SOC_AMD_COMMON_BLOCK_HDA
|
|
|
|
select SOC_AMD_COMMON_BLOCK_SATA
|
2020-01-28 19:20:05 +01:00
|
|
|
select SOC_AMD_COMMON_BLOCK_SMBUS
|
2020-01-24 17:42:57 +01:00
|
|
|
select SOC_AMD_COMMON_BLOCK_PSP_GEN2
|
2019-04-22 22:55:16 +02:00
|
|
|
select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
|
|
|
|
select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
|
|
|
|
select PARALLEL_MP
|
|
|
|
select PARALLEL_MP_AP_WORK
|
|
|
|
select HAVE_SMI_HANDLER
|
|
|
|
select SSE2
|
|
|
|
select RTC
|
|
|
|
|
2019-07-22 08:34:50 +02:00
|
|
|
config HAVE_BOOTBLOCK
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2020-03-27 20:04:32 +01:00
|
|
|
config AMD_FP5
|
|
|
|
def_bool y if !AMD_FT5
|
|
|
|
help
|
|
|
|
The FP5 package supports higher-wattage parts and dual channel DDR4 memory.
|
|
|
|
|
|
|
|
config AMD_FT5
|
|
|
|
def_bool n
|
|
|
|
help
|
|
|
|
The FT5 package supports low-power parts and single-channel DDR4 memory.
|
|
|
|
|
2019-04-22 22:55:16 +02:00
|
|
|
config PRERAM_CBMEM_CONSOLE_SIZE
|
|
|
|
hex
|
|
|
|
default 0x1600
|
|
|
|
help
|
|
|
|
Increase this value if preram cbmem console is getting truncated
|
|
|
|
|
|
|
|
config CPU_ADDR_BITS
|
|
|
|
int
|
|
|
|
default 48
|
|
|
|
|
|
|
|
config MMCONF_BASE_ADDRESS
|
|
|
|
hex
|
|
|
|
default 0xF8000000
|
|
|
|
|
|
|
|
config MMCONF_BUS_NUMBER
|
|
|
|
int
|
|
|
|
default 64
|
|
|
|
|
|
|
|
config VGA_BIOS_ID
|
|
|
|
string
|
2019-07-10 01:19:05 +02:00
|
|
|
default "1002,15d8"
|
2019-04-22 22:55:16 +02:00
|
|
|
help
|
|
|
|
The default VGA BIOS PCI vendor/device ID should be set to the
|
|
|
|
result of the map_oprom_vendev() function in northbridge.c.
|
|
|
|
|
|
|
|
config VGA_BIOS_FILE
|
|
|
|
string
|
2019-07-10 01:19:05 +02:00
|
|
|
default "3rdparty/blobs/soc/amd/picasso/PicassoGenericVbios.bin"
|
2019-04-22 22:55:16 +02:00
|
|
|
|
|
|
|
config S3_VGA_ROM_RUN
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config HEAP_SIZE
|
|
|
|
hex
|
|
|
|
default 0xc0000
|
|
|
|
|
|
|
|
config EHCI_BAR
|
|
|
|
hex
|
|
|
|
default 0xfef00000
|
|
|
|
|
|
|
|
config SERIRQ_CONTINUOUS_MODE
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Set this option to y for serial IRQ in continuous mode.
|
|
|
|
Otherwise it is in quiet mode.
|
|
|
|
|
2019-06-11 20:18:20 +02:00
|
|
|
config PICASSO_ACPI_IO_BASE
|
2019-04-22 22:55:16 +02:00
|
|
|
hex
|
|
|
|
default 0x400
|
|
|
|
help
|
|
|
|
Base address for the ACPI registers.
|
|
|
|
|
2019-06-11 20:18:20 +02:00
|
|
|
config PICASSO_UART
|
|
|
|
bool "UART controller on Picasso"
|
2019-04-22 22:55:16 +02:00
|
|
|
default n
|
|
|
|
select DRIVERS_UART_8250MEM
|
|
|
|
select DRIVERS_UART_8250MEM_32
|
|
|
|
select NO_UART_ON_SUPERIO
|
|
|
|
select UART_OVERRIDE_REFCLK
|
|
|
|
help
|
2019-06-20 18:29:29 +02:00
|
|
|
There are four memory-mapped UARTs controllers in Picasso at:
|
|
|
|
0: 0xfedc9000
|
|
|
|
1: 0xfedca000
|
|
|
|
2: 0xfedc3000
|
|
|
|
3: 0xfedcf000
|
|
|
|
|
|
|
|
choice PICASSO_UART_CLOCK_SOURCE
|
|
|
|
prompt "UART Frequency"
|
|
|
|
depends on PICASSO_UART
|
|
|
|
default PICASSO_UART_48MZ
|
|
|
|
|
|
|
|
config PICASSO_UART_48MZ
|
|
|
|
bool "48 MHz clock"
|
|
|
|
help
|
|
|
|
Select this option for the most compatibility.
|
|
|
|
|
|
|
|
config PICASSO_UART_1_8MZ
|
|
|
|
bool "1.8432 MHz clock"
|
|
|
|
help
|
|
|
|
Select this option if an old payload or Linux ttyS0 arguments
|
|
|
|
require it.
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
config PICASSO_UART_LEGACY
|
|
|
|
bool "Decode legacy I/O range"
|
|
|
|
depends on PICASSO_UART
|
|
|
|
help
|
|
|
|
Assign I/O 3F8, 2F8, etc. to a Picasso UART. Only a single UART may
|
|
|
|
decode legacy addresses and this option enables the one used for the
|
|
|
|
console. A UART accessed with I/O does not allow all the features
|
|
|
|
of MMIO. The MMIO decode is still present when this option is used.
|
2019-04-22 22:55:16 +02:00
|
|
|
|
|
|
|
config CONSOLE_UART_BASE_ADDRESS
|
2019-06-20 18:29:29 +02:00
|
|
|
depends on CONSOLE_SERIAL && PICASSO_UART
|
2019-04-22 22:55:16 +02:00
|
|
|
hex
|
2019-06-20 18:29:29 +02:00
|
|
|
default 0xfedc9000 if UART_FOR_CONSOLE = 0
|
|
|
|
default 0xfedca000 if UART_FOR_CONSOLE = 1
|
|
|
|
default 0xfedc3000 if UART_FOR_CONSOLE = 2
|
|
|
|
default 0xfedcf000 if UART_FOR_CONSOLE = 3
|
2019-04-22 22:55:16 +02:00
|
|
|
|
|
|
|
config SMM_TSEG_SIZE
|
|
|
|
hex
|
|
|
|
default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
|
|
|
|
default 0x0
|
|
|
|
|
|
|
|
config SMM_RESERVED_SIZE
|
|
|
|
hex
|
|
|
|
default 0x150000
|
|
|
|
|
|
|
|
config SMM_MODULE_STACK_SIZE
|
|
|
|
hex
|
|
|
|
default 0x800
|
|
|
|
|
|
|
|
config ACPI_CPU_STRING
|
|
|
|
string
|
|
|
|
default "\\_PR.P%03d"
|
|
|
|
|
|
|
|
config ACPI_BERT
|
|
|
|
bool "Build ACPI BERT Table"
|
|
|
|
default y
|
|
|
|
depends on HAVE_ACPI_TABLES
|
|
|
|
help
|
|
|
|
Report Machine Check errors identified in POST to the OS in an
|
|
|
|
ACPI Boot Error Record Table. This option reserves an 8MB region
|
|
|
|
for building the error structures.
|
|
|
|
|
2019-06-19 19:46:06 +02:00
|
|
|
config RO_REGION_ONLY
|
|
|
|
string
|
|
|
|
depends on CHROMEOS
|
|
|
|
default "apu/amdfw"
|
|
|
|
|
|
|
|
config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
|
|
|
|
int
|
2019-12-17 07:21:05 +01:00
|
|
|
default 150
|
2019-06-19 19:46:06 +02:00
|
|
|
|
2019-06-21 00:28:33 +02:00
|
|
|
config PICASSO_LPC_IOMUX
|
|
|
|
bool
|
|
|
|
help
|
|
|
|
Picasso's LPC bus signals are MUXed with some of the EMMC signals.
|
|
|
|
Select this option if LPC signals are required.
|
|
|
|
|
2019-06-19 19:46:06 +02:00
|
|
|
config MAINBOARD_POWER_RESTORE
|
|
|
|
def_bool n
|
2019-04-22 22:55:16 +02:00
|
|
|
help
|
2019-06-19 19:46:06 +02:00
|
|
|
This option determines what state to go to once power is restored
|
|
|
|
after having been lost in S0. Select this option to automatically
|
|
|
|
return to S0. Otherwise the system will remain in S5 once power
|
|
|
|
is restored.
|
2019-04-22 22:55:16 +02:00
|
|
|
|
2019-06-19 19:46:06 +02:00
|
|
|
menu "PSP Configuration Options"
|
2019-04-22 22:55:16 +02:00
|
|
|
|
|
|
|
config AMDFW_OUTSIDE_CBFS
|
|
|
|
bool "The AMD firmware is outside CBFS"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
The AMDFW (PSP) is typically locatable in cbfs. Select this
|
|
|
|
option to manually attach the generated amdfw.rom outside of
|
|
|
|
cbfs. The location is selected by the FWM position.
|
|
|
|
|
|
|
|
config AMD_FWM_POSITION_INDEX
|
|
|
|
int "Firmware Directory Table location (0 to 5)"
|
|
|
|
range 0 5
|
|
|
|
default 0 if BOARD_ROMSIZE_KB_512
|
|
|
|
default 1 if BOARD_ROMSIZE_KB_1024
|
|
|
|
default 2 if BOARD_ROMSIZE_KB_2048
|
|
|
|
default 3 if BOARD_ROMSIZE_KB_4096
|
|
|
|
default 4 if BOARD_ROMSIZE_KB_8192
|
|
|
|
default 5 if BOARD_ROMSIZE_KB_16384
|
|
|
|
help
|
|
|
|
Typically this is calculated by the ROM size, but there may
|
|
|
|
be situations where you want to put the firmware directory
|
|
|
|
table in a different location.
|
|
|
|
0: 512 KB - 0xFFFA0000
|
|
|
|
1: 1 MB - 0xFFF20000
|
|
|
|
2: 2 MB - 0xFFE20000
|
|
|
|
3: 4 MB - 0xFFC20000
|
|
|
|
4: 8 MB - 0xFF820000
|
|
|
|
5: 16 MB - 0xFF020000
|
|
|
|
|
|
|
|
comment "AMD Firmware Directory Table set to location for 512KB ROM"
|
|
|
|
depends on AMD_FWM_POSITION_INDEX = 0
|
|
|
|
comment "AMD Firmware Directory Table set to location for 1MB ROM"
|
|
|
|
depends on AMD_FWM_POSITION_INDEX = 1
|
|
|
|
comment "AMD Firmware Directory Table set to location for 2MB ROM"
|
|
|
|
depends on AMD_FWM_POSITION_INDEX = 2
|
|
|
|
comment "AMD Firmware Directory Table set to location for 4MB ROM"
|
|
|
|
depends on AMD_FWM_POSITION_INDEX = 3
|
|
|
|
comment "AMD Firmware Directory Table set to location for 8MB ROM"
|
|
|
|
depends on AMD_FWM_POSITION_INDEX = 4
|
|
|
|
comment "AMD Firmware Directory Table set to location for 16MB ROM"
|
|
|
|
depends on AMD_FWM_POSITION_INDEX = 5
|
|
|
|
|
2019-06-19 19:46:06 +02:00
|
|
|
config AMD_PUBKEY_FILE
|
|
|
|
string "AMD public Key"
|
|
|
|
default "3rdparty/blobs/soc/amd/picasso/PSP/AmdPubKeyRV.bin"
|
2019-04-22 22:55:16 +02:00
|
|
|
|
2019-06-19 19:46:06 +02:00
|
|
|
config PSP_APCB_FILE
|
|
|
|
string "APCB file"
|
|
|
|
help
|
2019-09-25 19:07:56 +02:00
|
|
|
The name of the AGESA Parameter Customization Block. This image is
|
|
|
|
instance ID 0 in the PSP's BIOS Directory Table.
|
|
|
|
|
|
|
|
config PSP_APCB1_FILE
|
|
|
|
string
|
|
|
|
help
|
|
|
|
If specified, this image is instance ID 1 in the PSP's BIOS
|
|
|
|
Directory Table.
|
|
|
|
|
|
|
|
config PSP_APCB2_FILE
|
|
|
|
string
|
|
|
|
help
|
|
|
|
If specified, this image is instance ID 2 in the PSP's BIOS
|
|
|
|
Directory Table.
|
|
|
|
|
|
|
|
config PSP_APCB3_FILE
|
|
|
|
string
|
|
|
|
help
|
|
|
|
If specified, this image is instance ID 3 in the PSP's BIOS
|
|
|
|
Directory Table.
|
|
|
|
|
|
|
|
config PSP_APCB4_FILE
|
|
|
|
string
|
|
|
|
help
|
|
|
|
If specified, this image is instance ID 4 in the PSP's BIOS
|
|
|
|
Directory Table.
|
2019-04-22 22:55:16 +02:00
|
|
|
|
2019-06-19 19:46:06 +02:00
|
|
|
config PSP_APOB_DESTINATION
|
|
|
|
hex
|
|
|
|
default 0x9f00000
|
2019-04-22 22:55:16 +02:00
|
|
|
help
|
2019-06-19 19:46:06 +02:00
|
|
|
Location in DRAM where the PSP will copy the AGESA PSP Output
|
|
|
|
Block.
|
|
|
|
|
|
|
|
config PSP_APOB_NV_ADDRESS
|
|
|
|
hex "Base address of APOB NV"
|
|
|
|
help
|
|
|
|
Location in flash where the PSP can find the S3 restore information.
|
|
|
|
Place this on a boundary that the flash device can erase.
|
|
|
|
|
|
|
|
config PSP_APOB_NV_SIZE
|
|
|
|
hex "Size of APOB NV to be reserved"
|
|
|
|
help
|
|
|
|
Size of the S3 restore information. Make this a multiple of the
|
|
|
|
size the flash device can erase.
|
|
|
|
|
|
|
|
config USE_PSPSCUREOS
|
|
|
|
bool "Include PSP SecureOS blobs in PSP build"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Include the PspSecureOs and PspTrustlet binaries in the PSP build.
|
|
|
|
|
|
|
|
If unsure, answer 'y'
|
|
|
|
|
|
|
|
config PSP_LOAD_MP2_FW
|
|
|
|
bool "Include MP2 blobs in PSP build"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Include the MP2 firmwares and configuration into the PSP build.
|
|
|
|
|
|
|
|
If unsure, answer 'y'
|
|
|
|
|
|
|
|
config PSP_LOAD_S0I3_FW
|
|
|
|
bool "Include S0I3 blob in PSP build"
|
|
|
|
help
|
|
|
|
Select this item to include the S0i3 file into the PSP build.
|
|
|
|
|
|
|
|
config HAVE_PSP_WHITELIST_FILE
|
|
|
|
bool "Include a debug whitelist file in PSP build"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Support secured unlock prior to reset using a whitelisted
|
|
|
|
number? This feature requires a signed whitelist image and
|
|
|
|
bootloader from AMD.
|
|
|
|
|
|
|
|
If unsure, answer 'n'
|
|
|
|
|
|
|
|
config PSP_WHITELIST_FILE
|
|
|
|
string "Debug whitelist file name"
|
|
|
|
depends on HAVE_PSP_WHITELIST_FILE
|
|
|
|
default "3rdparty/blobs/soc/amd/picasso/PSP/wtl-rvn.sbin"
|
|
|
|
|
|
|
|
endmenu
|
2019-04-22 22:55:16 +02:00
|
|
|
|
2019-04-23 00:08:31 +02:00
|
|
|
endif # SOC_AMD_PICASSO
|