summaryrefslogtreecommitdiff
path: root/payloads/libpayload/curses/pdcurses-backend/pdcutil.c
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/curses/pdcurses-backend/pdcutil.c')
-rw-r--r--payloads/libpayload/curses/pdcurses-backend/pdcutil.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/payloads/libpayload/curses/pdcurses-backend/pdcutil.c b/payloads/libpayload/curses/pdcurses-backend/pdcutil.c
new file mode 100644
index 0000000000..8fb3e161d7
--- /dev/null
+++ b/payloads/libpayload/curses/pdcurses-backend/pdcutil.c
@@ -0,0 +1,49 @@
+/* Public Domain Curses */
+/* This file is BSD licensed, Copyright 2011 secunet AG */
+
+#include "lppdc.h"
+#include <libpayload.h>
+
+int curses_flags = F_ENABLE_SERIAL | F_ENABLE_CONSOLE;
+
+void PDC_beep(void)
+{
+ PDC_LOG(("PDC_beep() - called\n"));
+
+#ifdef CONFIG_SPEAKER
+ speaker_tone(1760, 500); /* 1760 == note A6 */
+#endif
+}
+
+void PDC_napms(int ms)
+{
+ PDC_LOG(("PDC_napms() - called: ms=%d\n", ms));
+
+ mdelay(ms);
+}
+
+const char *PDC_sysname(void)
+{
+ return "LIBPAYLOAD";
+}
+
+void curses_enable_serial(int enable)
+{
+ curses_flags = (curses_flags & ~F_ENABLE_SERIAL) | (enable * F_ENABLE_SERIAL);
+}
+
+void curses_enable_vga(int enable)
+{
+ curses_flags = (curses_flags & ~F_ENABLE_CONSOLE) | (enable * F_ENABLE_CONSOLE);
+}
+
+int curses_serial_enabled()
+{
+ return !!(curses_flags & F_ENABLE_SERIAL);
+}
+
+int curses_vga_enabled()
+{
+ return !!(curses_flags & F_ENABLE_CONSOLE);
+}
+