summaryrefslogtreecommitdiffstats
path: root/src/soc/amd/picasso/psp_verstage/printk.c
blob: a99d8bc35dfaf9185b13096e1f6feabb4eaee330 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/* SPDX-License-Identifier: GPL-2.0-only */

#include <bl_uapp/bl_syscall_public.h>
#include <console/console.h>
#include <console/cbmem_console.h>
#include <console/streams.h>
#include <stdarg.h>

void console_hw_init(void)
{
	__cbmemc_init();
}

int do_printk(int msg_level, const char *fmt, ...)
{
	va_list args;
	int i;

	va_start(args, fmt);
	i = do_vprintk(msg_level, fmt, args);
	va_end(args);

	return i;
}

int do_vprintk(int msg_level, const char *fmt, va_list args)
{
	int i, cnt, log_this;
	char buf[256];

	log_this = console_log_level(msg_level);
	if (log_this < CONSOLE_LOG_FAST)
		return 0;

	cnt = vsnprintf(buf, sizeof(buf), fmt, args);
	for (i = 0; i < cnt; i++)
		__cbmemc_tx_byte(buf[i]);
	svc_debug_print(buf);
	return i;
}