soc/intel/xeon_sp: Move function debug macros

Move the macros for printing debug information to debug.h in the
common console include directory and device include file.
These are available if the platform selects DEFAULT_CONSOLE_LOGLEVEL_8.

The macros could be used by any platform.

Change-Id: Ie237bdf8cdc42c76f38a0c820fdc92e81095f47c
Signed-off-by: Marc Jones <marcjones@sysproconsulting.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/46093
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jay Talbott <JayTalbott@sysproconsulting.com>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
diff --git a/src/Kconfig b/src/Kconfig
index eda11c3..dc98ca2 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -1123,6 +1123,16 @@
 	  of calling function. Please note some printk related functions
 	  are omitted from trace to have good looking console dumps.
 
+config DEBUG_FUNC
+	bool "Enable function entry and exit reporting macros" if DEFAULT_CONSOLE_LOGLEVEL_8
+	default n
+	help
+	  This option enables additional function entry and exit debug messages
+	  for select functions. If supported, this is less output than
+	  the TRACE option.
+	  Note: This option will increase the size of the coreboot image.
+	  If unsure, say N.
+
 config DEBUG_COVERAGE
 	bool "Debug code coverage"
 	default n
diff --git a/src/include/console/debug.h b/src/include/console/debug.h
new file mode 100644
index 0000000..174c287
--- /dev/null
+++ b/src/include/console/debug.h
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#ifndef _CONSOLE_DEBUG_H_
+#define _CONSOLE_DEBUG_H_
+
+#if CONFIG(DEBUG_FUNC)
+#include <console/console.h>
+
+#define FUNC_ENTER() \
+	printk(BIOS_SPEW, "%s:%s:%d: ENTER\n", __FILE__, __func__, __LINE__)
+
+#define FUNC_EXIT() \
+	printk(BIOS_SPEW, "%s:%s:%d: EXIT\n", __FILE__, __func__, __LINE__)
+
+#else /* FUNC_DEBUG */
+
+#define FUNC_ENTER()
+#define FUNC_EXIT()
+
+#endif /* FUNC_DEBUG */
+
+#endif
diff --git a/src/include/device/device.h b/src/include/device/device.h
index eb9ef42..8a481b2 100644
--- a/src/include/device/device.h
+++ b/src/include/device/device.h
@@ -279,6 +279,20 @@
 #define LOG_IO_RESOURCE(type, dev, index, base, size)
 #endif /* DEBUG_RESOURCES*/
 
+#if CONFIG(DEBUG_FUNC)
+#include <console/console.h>
+#define DEV_FUNC_ENTER(dev) \
+	printk(BIOS_SPEW, "%s:%s:%d: ENTER (dev: %s)\n", \
+		__FILE__, __func__, __LINE__, dev_path(dev))
+
+#define DEV_FUNC_EXIT(dev) \
+	printk(BIOS_SPEW, "%s:%s:%d: EXIT (dev: %s)\n", __FILE__, \
+		__func__, __LINE__, dev_path(dev))
+#else /* DEBUG_FUNC */
+#define DEV_FUNC_ENTER(dev)
+#define DEV_FUNC_EXIT(dev)
+#endif /* DEBUG_FUNC */
+
 /* Rounding for boundaries.
  * Due to some chip bugs, go ahead and round IO to 16
  */
diff --git a/src/soc/intel/xeon_sp/cpx/chip.c b/src/soc/intel/xeon_sp/cpx/chip.c
index c5a8c1c..6d2dfba 100644
--- a/src/soc/intel/xeon_sp/cpx/chip.c
+++ b/src/soc/intel/xeon_sp/cpx/chip.c
@@ -3,6 +3,7 @@
 #include <arch/ioapic.h>
 #include <assert.h>
 #include <console/console.h>
+#include <console/debug.h>
 #include <cpu/x86/lapic.h>
 #include <device/pci.h>
 #include <fsp/api.h>
diff --git a/src/soc/intel/xeon_sp/cpx/cpu.c b/src/soc/intel/xeon_sp/cpx/cpu.c
index 0999f6d..4afe47c 100644
--- a/src/soc/intel/xeon_sp/cpx/cpu.c
+++ b/src/soc/intel/xeon_sp/cpx/cpu.c
@@ -4,6 +4,7 @@
 #include <acpi/acpi.h>
 #include <assert.h>
 #include <console/console.h>
+#include <console/debug.h>
 #include <cpu/cpu.h>
 #include <cpu/intel/microcode.h>
 #include <cpu/intel/turbo.h>
diff --git a/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h b/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h
index 412730b..3e19bac 100644
--- a/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h
+++ b/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h
@@ -3,24 +3,8 @@
 #ifndef _SOC_UTIL_H_
 #define _SOC_UTIL_H_
 
-#include <console/console.h>
 #include <hob_iiouds.h>
 #include <hob_memmap.h>
-#include <stdint.h>
-
-#define DEV_FUNC_ENTER(dev) \
-	printk(BIOS_SPEW, "%s:%s:%d: ENTER (dev: %s)\n", \
-		__FILE__, __func__, __LINE__, dev_path(dev))
-
-#define DEV_FUNC_EXIT(dev) \
-	printk(BIOS_SPEW, "%s:%s:%d: EXIT (dev: %s)\n", __FILE__, \
-		__func__, __LINE__, dev_path(dev))
-
-#define FUNC_ENTER() \
-	printk(BIOS_SPEW, "%s:%s:%d: ENTER\n", __FILE__, __func__, __LINE__)
-
-#define FUNC_EXIT() \
-	printk(BIOS_SPEW, "%s:%s:%d: EXIT\n", __FILE__, __func__, __LINE__)
 
 struct iiostack_resource {
 	uint8_t     no_of_stacks;
diff --git a/src/soc/intel/xeon_sp/include/soc/util.h b/src/soc/intel/xeon_sp/include/soc/util.h
index f223efa..8c2b597 100644
--- a/src/soc/intel/xeon_sp/include/soc/util.h
+++ b/src/soc/intel/xeon_sp/include/soc/util.h
@@ -3,25 +3,10 @@
 #ifndef _XEON_SP_SOC_UTIL_H_
 #define _XEON_SP_SOC_UTIL_H_
 
-#include <console/console.h>
 #include <hob_iiouds.h>
 
 void get_cpubusnos(uint32_t *bus0, uint32_t *bus1, uint32_t *bus2, uint32_t *bus3);
 void unlock_pam_regions(void);
 void get_stack_busnos(uint32_t *bus);
 
-#define DEV_FUNC_ENTER(dev) \
-	printk(BIOS_SPEW, "%s:%s:%d: ENTER (dev: %s)\n", \
-		__FILE__, __func__, __LINE__, dev_path(dev))
-
-#define DEV_FUNC_EXIT(dev) \
-	printk(BIOS_SPEW, "%s:%s:%d: EXIT (dev: %s)\n", __FILE__, \
-		__func__, __LINE__, dev_path(dev))
-
-#define FUNC_ENTER() \
-	printk(BIOS_SPEW, "%s:%s:%d: ENTER\n", __FILE__, __func__, __LINE__)
-
-#define FUNC_EXIT() \
-	printk(BIOS_SPEW, "%s:%s:%d: EXIT\n", __FILE__, __func__, __LINE__)
-
 #endif
diff --git a/src/soc/intel/xeon_sp/skx/chip.c b/src/soc/intel/xeon_sp/skx/chip.c
index 4324660..fba1e1f 100644
--- a/src/soc/intel/xeon_sp/skx/chip.c
+++ b/src/soc/intel/xeon_sp/skx/chip.c
@@ -2,6 +2,8 @@
 
 #include <cbfs.h>
 #include <assert.h>
+#include <console/console.h>
+#include <console/debug.h>
 #include <post.h>
 #include <device/pci.h>
 #include <soc/acpi.h>
diff --git a/src/soc/intel/xeon_sp/skx/cpu.c b/src/soc/intel/xeon_sp/skx/cpu.c
index bf712c3..581378b 100644
--- a/src/soc/intel/xeon_sp/skx/cpu.c
+++ b/src/soc/intel/xeon_sp/skx/cpu.c
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 
 #include <console/console.h>
+#include <console/debug.h>
 #include <intelblocks/cpulib.h>
 #include <cpu/cpu.h>
 #include <cpu/x86/mtrr.h>