From 02d9c85e75aabfe46dbe8cce33190b98c17446ea Mon Sep 17 00:00:00 2001 From: Angel Pons Date: Sun, 9 May 2021 15:07:18 +0200 Subject: 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/53985 Tested-by: build bot (Jenkins) Reviewed-by: David Hendricks --- src/cpu/amd/agesa/family15tn/Kconfig | 1 + src/vendorcode/amd/agesa/Kconfig | 56 +++++++++++++++++++++++++++++ src/vendorcode/amd/agesa/f15tn/OptionsIds.h | 31 +++------------- 3 files changed, 62 insertions(+), 26 deletions(-) diff --git a/src/cpu/amd/agesa/family15tn/Kconfig b/src/cpu/amd/agesa/family15tn/Kconfig index 70f71ed946..8c52e9a9b6 100644 --- a/src/cpu/amd/agesa/family15tn/Kconfig +++ b/src/cpu/amd/agesa/family15tn/Kconfig @@ -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 diff --git a/src/vendorcode/amd/agesa/Kconfig b/src/vendorcode/amd/agesa/Kconfig index ce59fe1082..2b894181bf 100644 --- a/src/vendorcode/amd/agesa/Kconfig +++ b/src/vendorcode/amd/agesa/Kconfig @@ -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 diff --git a/src/vendorcode/amd/agesa/f15tn/OptionsIds.h b/src/vendorcode/amd/agesa/f15tn/OptionsIds.h index 77b239db50..cf16de3b02 100644 --- a/src/vendorcode/amd/agesa/f15tn/OptionsIds.h +++ b/src/vendorcode/amd/agesa/f15tn/OptionsIds.h @@ -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 -- cgit v1.2.3