AGESA f15tn: Hook up IDS options to Kconfig

IDS (Integrated Debug Services) options are meant to be enabled when one
wants to debug AGESA. Since they are compile-time options, using Kconfig
is the logical choice. Currently, none of the options builds.

Tested with BUILD_TIMELESS=1 without adding the configuration options
into the binary, and Asus A88XM-E does not change.

Change-Id: I465627c19c9856e58ca94aa0efedbddb6baaf3f6
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/53985
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
This commit is contained in:
Angel Pons 2021-05-09 15:07:18 +02:00 committed by David Hendricks
parent 5fa51f8114
commit 02d9c85e75
3 changed files with 62 additions and 26 deletions

View File

@ -2,6 +2,7 @@
config CPU_AMD_AGESA_FAMILY15_TN
bool
select IDS_OPTIONS_HOOKED_UP
select X86_AMD_FIXED_MTRRS
if CPU_AMD_AGESA_FAMILY15_TN

View File

@ -1,5 +1,61 @@
# SPDX-License-Identifier: GPL-2.0-only
config IDS_OPTIONS_HOOKED_UP
bool
help
to Kconfig options.
Historically, IDS configuration was defined in a mainboard-specific
`OptionsIds.h` header. Select this on platforms where IDS config is
hooked up to Kconfig options instead.
if IDS_OPTIONS_HOOKED_UP
config IDS_ENABLED
bool "Enable AGESA IDS (Integrated Debug Services) support"
default y
help
This is the master switch for the IDS sub-system. Use this option to
enable or remove the entire IDS feature set. This switch must be TRUE
for any of the other options to function.
comment "Warning: IDS options may not work. Enable at your own risk!"
depends on IDS_ENABLED
config IDS_CONTROL_ENABLED
bool "Enable IDS User Interface controls"
depends on IDS_ENABLED
help
This is the main switch for the IDS configuration controls. This
switch must be TRUE for any of the configuration controls to function.
This seems to allow AGESA to retrieve settings from CMOS.
config IDS_PERF_ANALYSIS
bool "Enable IDS performance analysis"
depends on IDS_ENABLED
help
This is the main switch for the IDS performance analysis controls,
macros and support code needed to enable time data gathering. This
switch must be TRUE for any of the performance analysis features to
function.
config IDS_TRACING_ENABLED
bool "Enable IDS console"
depends on IDS_ENABLED
help
This is the main switch for the IDS console controls, macros and
support code needed to enable tracing of algorithms. This switch
must be TRUE for any of the tracing features to function.
config IDS_TRACING_CONSOLE_SERIAL
bool "Use serial port as IDS console"
depends on IDS_TRACING_ENABLED
default DRIVERS_UART_8250IO && CONSOLE_SERIAL
help
Use an I/O-mapped serial port to output IDS messages.
endif # IDS_OPTIONS_HOOKED_UP
choice
prompt "DDR3 memory profile"
default CPU_AMD_AGESA_OPENSOURCE_MEM_JEDEC

View File

@ -1,33 +1,12 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/**
* @file
*
* IDS Option File
*
* This file is used to switch on/off IDS features.
*/
#ifndef _OPTION_IDS_H_
#define _OPTION_IDS_H_
/**
* This file generates the defaults tables for the Integrated Debug Support
* Module. The documented build options are imported from a user controlled
* file for processing. The build options for the Integrated Debug Support
* Module are listed below:
*
* IDSOPT_IDS_ENABLED
* IDSOPT_ERROR_TRAP_ENABLED
* IDSOPT_CONTROL_ENABLED
* IDSOPT_TRACING_ENABLED
* IDSOPT_PERF_ANALYSIS
* IDSOPT_CAR_CORRUPTION_CHECK_ENABLED
**/
#define IDSOPT_IDS_ENABLED TRUE
//#define IDSOPT_CONTROL_ENABLED TRUE
//#define IDSOPT_TRACING_ENABLED TRUE
#define IDSOPT_TRACING_CONSOLE_SERIALPORT TRUE
//#define IDSOPT_PERF_ANALYSIS TRUE
#define IDSOPT_IDS_ENABLED CONFIG(IDS_ENABLED)
#define IDSOPT_CONTROL_ENABLED CONFIG(IDS_CONTROL_ENABLED)
#define IDSOPT_PERF_ANALYSIS CONFIG(IDS_PERF_ANALYSIS)
#define IDSOPT_TRACING_ENABLED CONFIG(IDS_TRACING_ENABLED)
#define IDSOPT_TRACING_CONSOLE_SERIALPORT CONFIG(IDS_TRACING_CONSOLE_SERIAL)
#endif