summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/include/uart.h
diff options
context:
space:
mode:
authorWolfram Sang <wolfram@the-dreams.de>2011-05-04 22:58:16 +0200
committerHarald Welte <laforge@gnumonks.org>2011-05-05 09:52:47 +0200
commit07589649b1ae07a45afc370e222374281735aa72 (patch)
treea79121f73e2087d361beb037c036578ff7f2816b /src/target/firmware/include/uart.h
parent832b8b275b6c03f21c67195b9a1ac382d4a6d46c (diff)
uart.h: move header out of calypso-directory
Everything defined is a pretty generic interface and can be used by mediatek, too. Signed-off-by: Wolfram Sang <wolfram@the-dreams.de>
Diffstat (limited to 'src/target/firmware/include/uart.h')
-rw-r--r--src/target/firmware/include/uart.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/target/firmware/include/uart.h b/src/target/firmware/include/uart.h
new file mode 100644
index 00000000..81d7a156
--- /dev/null
+++ b/src/target/firmware/include/uart.h
@@ -0,0 +1,32 @@
+#ifndef _UART_H
+#define _UART_H
+
+#include <stdint.h>
+
+enum uart_baudrate {
+ UART_38400,
+ UART_57600,
+ UART_115200,
+ UART_230400,
+ UART_460800,
+ UART_614400,
+ UART_921600,
+};
+
+void uart_init(uint8_t uart, uint8_t interrupts);
+void uart_putchar_wait(uint8_t uart, int c);
+int uart_putchar_nb(uint8_t uart, int c);
+int uart_getchar_nb(uint8_t uart, uint8_t *ch);
+int uart_tx_busy(uint8_t uart);
+int uart_baudrate(uint8_t uart, enum uart_baudrate bdrt);
+
+enum uart_irq {
+ UART_IRQ_TX_EMPTY,
+ UART_IRQ_RX_CHAR,
+};
+
+void uart_irq_enable(uint8_t uart, enum uart_irq irq, int on);
+
+void uart_poll(uint8_t uart);
+
+#endif /* _UART_H */