summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAngel Pons <th3fanbus@gmail.com>2021-05-09 15:07:18 +0200
committerDavid Hendricks <david.hendricks@gmail.com>2021-08-22 22:17:02 +0000
commit02d9c85e75aabfe46dbe8cce33190b98c17446ea (patch)
treeaffead033cd455c4067425f5fd2ed8a473e3814e /src
parent5fa51f81144cd671b922dadcdb81e0d7061c7d10 (diff)
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>
Diffstat (limited to 'src')
-rw-r--r--src/cpu/amd/agesa/family15tn/Kconfig1
-rw-r--r--src/vendorcode/amd/agesa/Kconfig56
-rw-r--r--src/vendorcode/amd/agesa/f15tn/OptionsIds.h31
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