1// SPDX-License-Identifier: GPL-2.0
2/*
3 * MIPS-specific debug support for pre-boot environment
4 *
5 * NOTE: putc() is board specific, if your board have a 16550 compatible uart,
6 * please select SYS_SUPPORTS_ZBOOT_UART16550 for your machine. otherwise, you
7 * need to implement your own putc().
8 */
9#include <linux/compiler.h>
10#include <linux/types.h>
11
12#include "decompress.h"
13
14void __weak putc(char c)
15{
16}
17
18void puts(const char *s)
19{
20	char c;
21	while ((c = *s++) != '\0') {
22		putc(c);
23		if (c == '\n')
24			putc('\r');
25	}
26}
27
28void puthex(unsigned long long val)
29{
30
31	unsigned char buf[10];
32	int i;
33	for (i = 7; i >= 0; i--) {
34		buf[i] = "0123456789ABCDEF"[val & 0x0F];
35		val >>= 4;
36	}
37	buf[8] = '\0';
38	puts(buf);
39}
40