From 08ee41f6caa50cbd349f018c9c48352bf7bbbf5e Mon Sep 17 00:00:00 2001 From: Anson Huang Date: Fri, 28 Sep 2018 16:43:57 +0800 Subject: imx8qm/imx8qxp: enable output debug message to SC console Add support for enabling output debug message to SC console, SC_CONSOLE is used to enable/disable it. Example log output on SC console as below: *** Debug Monitor *** >$ NOTICE: smc_fid is c2000003 imx_pwr_domain_on cluster_id 0, cpu_id 1 cluster:0 core:1 is on imx_pwr_domain_on cluster_id 0, cpu_id 2 cluster:0 core:2 is on imx_pwr_domain_on cluster_id 0, cpu_id 3 cluster:0 core:3 is on imx_pwr_domain_on cluster_id 1, cpu_id 0 cluster:1 core:0 is on imx_pwr_domain_on cluster_id 1, cpu_id 1 cluster:1 core:1 is on Signed-off-by: Anson Huang --- lib/stdlib/putchar.c | 2 ++ plat/imx/common/misc.c | 10 ++++++++++ plat/imx/imx8qm/include/platform_def.h | 3 +++ plat/imx/imx8qxp/include/platform_def.h | 3 +++ 4 files changed, 18 insertions(+) diff --git a/lib/stdlib/putchar.c b/lib/stdlib/putchar.c index 8265667b..ecae0d67 100644 --- a/lib/stdlib/putchar.c +++ b/lib/stdlib/putchar.c @@ -12,6 +12,8 @@ * character. Write all other printing functions in terms of putchar(), if * possible, so they all benefit when this is improved. */ +#pragma weak putchar + int putchar(int c) { int res; diff --git a/plat/imx/common/misc.c b/plat/imx/common/misc.c index be18673e..025402aa 100644 --- a/plat/imx/common/misc.c +++ b/plat/imx/common/misc.c @@ -24,3 +24,13 @@ int imx_misc_set_temp_handler(uint32_t smc_fid, { return sc_misc_set_temp(ipc_handle, x1, x2, x3, x4); } + +#if SC_CONSOLE +int putchar(int c) +{ + if (ipc_handle) + sc_misc_debug_out(ipc_handle, (unsigned char)c); + + return c; +} +#endif diff --git a/plat/imx/imx8qm/include/platform_def.h b/plat/imx/imx8qm/include/platform_def.h index c68cbd16..a9a903af 100644 --- a/plat/imx/imx8qm/include/platform_def.h +++ b/plat/imx/imx8qm/include/platform_def.h @@ -67,6 +67,9 @@ #define COUNTER_FREQUENCY 8000000 /* 8MHz */ +/* enable it to make debug message to SC console */ +#define SC_CONSOLE 0 + #define DEBUG_CONSOLE 0 #ifdef SPD_trusty #define DEBUG_CONSOLE_A53 1 diff --git a/plat/imx/imx8qxp/include/platform_def.h b/plat/imx/imx8qxp/include/platform_def.h index ce31e0ab..55ce4a6e 100644 --- a/plat/imx/imx8qxp/include/platform_def.h +++ b/plat/imx/imx8qxp/include/platform_def.h @@ -59,6 +59,9 @@ #define COUNTER_FREQUENCY 8000000 /* 8MHz */ +/* enable it to make debug message to SC console */ +#define SC_CONSOLE 0 + #define DEBUG_CONSOLE 0 #ifdef SPD_trusty #define DEBUG_CONSOLE_A35 1 -- cgit v1.2.3