2019-04-22 22:55:16 +02:00
|
|
|
##
|
|
|
|
## This file is part of the coreboot project.
|
|
|
|
##
|
|
|
|
## Copyright (C) 2017 Advanced Micro Devices, Inc.
|
|
|
|
##
|
|
|
|
## 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
|
|
|
|
select ACPI_AMD_HARDWARE_SLEEP_VALUES
|
|
|
|
select COLLECT_TIMESTAMPS_NO_TSC
|
|
|
|
select DRIVERS_I2C_DESIGNWARE
|
|
|
|
select GENERIC_GPIO_LIB
|
|
|
|
select GENERIC_UDELAY
|
|
|
|
select IOAPIC
|
|
|
|
select HAVE_USBDEBUG_OPTIONS
|
|
|
|
select SPI_FLASH if HAVE_ACPI_RESUME
|
|
|
|
select TSC_SYNC_LFENCE
|
|
|
|
select COLLECT_TIMESTAMPS
|
|
|
|
select SOC_AMD_PI
|
|
|
|
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
|
|
|
|
select SOC_AMD_COMMON_BLOCK_S3
|
|
|
|
select C_ENVIRONMENT_BOOTBLOCK
|
|
|
|
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 POSTCAR_STAGE
|
|
|
|
select POSTCAR_CONSOLE
|
|
|
|
select SSE2
|
|
|
|
select RTC
|
|
|
|
|
|
|
|
config VBOOT
|
|
|
|
select VBOOT_SEPARATE_VERSTAGE
|
|
|
|
select VBOOT_STARTS_IN_BOOTBLOCK
|
|
|
|
select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
|
|
|
|
select VBOOT_VBNV_CMOS
|
|
|
|
select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
|
|
|
|
|
|
|
|
config UDELAY_LAPIC_FIXED_FSB
|
|
|
|
int
|
|
|
|
default 200
|
|
|
|
|
2019-07-22 08:34:50 +02:00
|
|
|
config HAVE_BOOTBLOCK
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2019-04-22 22:55:16 +02:00
|
|
|
# TODO: Sync these with definitions in PI vendorcode.
|
|
|
|
# DCACHE_RAM_BASE must equal BSP_STACK_BASE_ADDR.
|
|
|
|
# DCACHE_RAM_SIZE must equal BSP_STACK_SIZE.
|
|
|
|
|
|
|
|
config DCACHE_RAM_BASE
|
|
|
|
hex
|
|
|
|
default 0x30000
|
|
|
|
|
|
|
|
config DCACHE_RAM_SIZE
|
|
|
|
hex
|
|
|
|
default 0x10000
|
|
|
|
|
|
|
|
config DCACHE_BSP_STACK_SIZE
|
|
|
|
depends on C_ENVIRONMENT_BOOTBLOCK
|
|
|
|
hex
|
|
|
|
default 0x4000
|
|
|
|
help
|
|
|
|
The amount of anticipated stack usage in CAR by bootblock and
|
|
|
|
other stages.
|
|
|
|
|
|
|
|
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
|
|
|
|
default "1002,98e4"
|
|
|
|
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-04-23 00:32:58 +02:00
|
|
|
default "3rdparty/blobs/soc/amd/picasso/VBIOS.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 AMD_PUBKEY_FILE
|
|
|
|
string "AMD public Key"
|
2019-06-11 20:18:20 +02:00
|
|
|
default "3rdparty/blobs/soc/amd/picasso/PSP/AmdPubKeyST.bin"
|
2019-04-22 22:55:16 +02:00
|
|
|
|
2019-06-11 20:18:20 +02:00
|
|
|
config PICASSO_SATA_MODE
|
2019-04-22 22:55:16 +02:00
|
|
|
int "SATA Mode"
|
|
|
|
default 0
|
|
|
|
range 0 6
|
|
|
|
help
|
|
|
|
Select the mode in which SATA should be driven.
|
|
|
|
The default is NATIVE.
|
|
|
|
0: NATIVE mode does not require a ROM.
|
|
|
|
2: AHCI may work with or without AHCI ROM. It depends on the payload support.
|
|
|
|
For example, seabios does not require the AHCI ROM.
|
|
|
|
3: LEGACY IDE
|
|
|
|
4: IDE to AHCI
|
|
|
|
5: AHCI7804: ROM Required, and AMD driver required in the OS.
|
|
|
|
6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
|
|
|
|
|
|
|
|
comment "NATIVE"
|
2019-06-11 20:18:20 +02:00
|
|
|
depends on PICASSO_SATA_MODE = 0
|
2019-04-22 22:55:16 +02:00
|
|
|
|
|
|
|
comment "AHCI"
|
2019-06-11 20:18:20 +02:00
|
|
|
depends on PICASSO_SATA_MODE = 2
|
2019-04-22 22:55:16 +02:00
|
|
|
|
|
|
|
comment "LEGACY IDE"
|
2019-06-11 20:18:20 +02:00
|
|
|
depends on PICASSO_SATA_MODE = 3
|
2019-04-22 22:55:16 +02:00
|
|
|
|
|
|
|
comment "IDE to AHCI"
|
2019-06-11 20:18:20 +02:00
|
|
|
depends on PICASSO_SATA_MODE = 4
|
2019-04-22 22:55:16 +02:00
|
|
|
|
|
|
|
comment "AHCI7804"
|
2019-06-11 20:18:20 +02:00
|
|
|
depends on PICASSO_SATA_MODE = 5
|
2019-04-22 22:55:16 +02:00
|
|
|
|
|
|
|
comment "IDE to AHCI7804"
|
2019-06-11 20:18:20 +02:00
|
|
|
depends on PICASSO_SATA_MODE = 6
|
2019-04-22 22:55:16 +02:00
|
|
|
|
2019-06-11 20:18:20 +02:00
|
|
|
if PICASSO_SATA_MODE = 2 || PICASSO_SATA_MODE = 5
|
2019-04-22 22:55:16 +02:00
|
|
|
|
|
|
|
config AHCI_ROM_ID
|
|
|
|
string "AHCI device PCI IDs"
|
2019-06-11 20:18:20 +02:00
|
|
|
default "1022,7801" if PICASSO_SATA_MODE = 2
|
|
|
|
default "1022,7804" if PICASSO_SATA_MODE = 5
|
2019-04-22 22:55:16 +02:00
|
|
|
|
2019-06-11 20:18:20 +02:00
|
|
|
endif # PICASSO_SATA_MODE = 2 || PICASSO_SATA_MODE = 5
|
2019-04-22 22:55:16 +02:00
|
|
|
|
2019-06-11 20:18:20 +02:00
|
|
|
config PICASSO_LEGACY_FREE
|
2019-04-22 22:55:16 +02:00
|
|
|
bool "System is legacy free"
|
|
|
|
help
|
|
|
|
Select y if there is no keyboard controller in the system.
|
2019-06-14 00:03:47 +02:00
|
|
|
This sets a variable in ACPI.
|
2019-04-22 22:55:16 +02:00
|
|
|
|
|
|
|
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-11 20:18:20 +02:00
|
|
|
There are two UART controllers in Picasso.
|
2019-04-22 22:55:16 +02:00
|
|
|
The UART registers are memory-mapped. UART
|
|
|
|
controller 0 registers range from FEDC_6000h
|
|
|
|
to FEDC_6FFFh. UART controller 1 registers
|
|
|
|
range from FEDC_8000h to FEDC_8FFFh.
|
|
|
|
|
|
|
|
config CONSOLE_UART_BASE_ADDRESS
|
|
|
|
depends on CONSOLE_SERIAL
|
|
|
|
hex
|
|
|
|
default 0xfedc6000
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
config USE_PSPSECUREOS
|
|
|
|
bool "Include PSP SecureOS blobs in AMD firmware"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Include the PspSecureOs, PspTrustlet and TrustletKey binaries
|
|
|
|
in the amdfw section.
|
|
|
|
|
|
|
|
If unsure, answer 'y'
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
config RO_REGION_ONLY
|
|
|
|
string
|
|
|
|
depends on CHROMEOS
|
|
|
|
default "apu/amdfw"
|
|
|
|
|
|
|
|
config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
|
|
|
|
int
|
|
|
|
default 133
|
|
|
|
|
|
|
|
config MAINBOARD_POWER_RESTORE
|
|
|
|
def_bool n
|
|
|
|
help
|
|
|
|
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-23 00:08:31 +02:00
|
|
|
endif # SOC_AMD_PICASSO
|