aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mpc85xx/image/spi-loader/include/stdio.h
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mpc85xx/image/spi-loader/include/stdio.h')
-rw-r--r--target/linux/mpc85xx/image/spi-loader/include/stdio.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/target/linux/mpc85xx/image/spi-loader/include/stdio.h b/target/linux/mpc85xx/image/spi-loader/include/stdio.h
new file mode 100644
index 0000000000..60494300b2
--- /dev/null
+++ b/target/linux/mpc85xx/image/spi-loader/include/stdio.h
@@ -0,0 +1,43 @@
+// SPDX-License-Identifier: BSD-2-Clause
+/*
+ * Copyright (c) 2022 Matthias Schiffer <mschiffer@universe-factory.net>
+ */
+
+#pragma once
+
+#include <serial.h>
+#include <types.h>
+
+static inline int getchar(void)
+{
+ return serial_console_getchar();
+}
+
+static inline int tstc(void)
+{
+ return serial_console_tstc();
+}
+
+static inline int putchar(char c)
+{
+ if (c == '\n')
+ serial_console_putchar('\r');
+ serial_console_putchar(c);
+ return 0;
+}
+
+int puts(const char *s);
+
+/* Utility functions */
+void put_u4(uint8_t v);
+void put_u8(uint8_t v);
+void put_u16(uint16_t v);
+void put_u32(uint32_t v);
+void put_ptr(const void *p);
+void put_array(const void *p, size_t l);
+
+#define put_with_label(label, put, value) do { \
+ puts(label); \
+ put(value); \
+ puts("\n"); \
+ } while (0)