summaryrefslogtreecommitdiffstats
path: root/bsps/include
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2024-03-18 14:47:59 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2024-03-27 20:22:53 +0100
commit4c2da2c3435ddeaa394b2351aa441c3bb1f3a7c9 (patch)
tree6b5a61acf3ad95c28fc6435c84845e6d8b7118c8 /bsps/include
parentbsps: Move declarations to <bsp/irq-generic.h> (diff)
downloadrtems-4c2da2c3435ddeaa394b2351aa441c3bb1f3a7c9.tar.bz2
dev/serial: Simplify some Zynq UART functions
Make the initialization and polled functions independent of the Termios context. This helps to implement the kernel I/O support without a dependency on the Termios framework.
Diffstat (limited to 'bsps/include')
-rw-r--r--bsps/include/dev/serial/zynq-uart-regs.h20
-rw-r--r--bsps/include/dev/serial/zynq-uart.h23
2 files changed, 20 insertions, 23 deletions
diff --git a/bsps/include/dev/serial/zynq-uart-regs.h b/bsps/include/dev/serial/zynq-uart-regs.h
index 3574532b85..5e872d16c3 100644
--- a/bsps/include/dev/serial/zynq-uart-regs.h
+++ b/bsps/include/dev/serial/zynq-uart-regs.h
@@ -43,6 +43,8 @@
#include <bsp/utility.h>
+#define ZYNQ_UART_DEFAULT_BAUD 115200
+
#define ZYNQ_UART_FIFO_DEPTH 64
typedef struct zynq_uart {
@@ -158,6 +160,24 @@ typedef struct zynq_uart {
#define ZYNQ_UART_TX_FIFO_TRG_LVL_TTRIG_SET(reg, val) BSP_FLD32SET(reg, val, 0, 5)
} zynq_uart;
+void zynq_uart_initialize(volatile zynq_uart *regs);
+
+int zynq_uart_read_char_polled(volatile zynq_uart *regs);
+
+void zynq_uart_write_char_polled(volatile zynq_uart *regs, char c);
+
+/**
+ * Flush TX FIFO and wait until it is empty. Used in bsp_reset.
+ */
+void zynq_uart_reset_tx_flush(volatile zynq_uart *regs);
+
+int zynq_cal_baud_rate(
+ uint32_t baudrate,
+ uint32_t* brgr,
+ uint32_t* bauddiv,
+ uint32_t modereg
+);
+
/** @} */
#endif /* LIBBSP_ARM_XILINX_ZYNQ_UART_REGS_H */
diff --git a/bsps/include/dev/serial/zynq-uart.h b/bsps/include/dev/serial/zynq-uart.h
index e7854af5f1..002adcdbd6 100644
--- a/bsps/include/dev/serial/zynq-uart.h
+++ b/bsps/include/dev/serial/zynq-uart.h
@@ -59,29 +59,6 @@ typedef struct {
extern const rtems_termios_device_handler zynq_uart_handler;
-#define ZYNQ_UART_DEFAULT_BAUD 115200
-
-void zynq_uart_initialize(rtems_termios_device_context *base);
-
-int zynq_uart_read_polled(rtems_termios_device_context *base);
-
-void zynq_uart_write_polled(
- rtems_termios_device_context *base,
- char c
-);
-
-/**
- * Flush TX FIFO and wait until it is empty. Used in bsp_reset.
- */
-void zynq_uart_reset_tx_flush(zynq_uart_context *ctx);
-
-int zynq_cal_baud_rate(
- uint32_t baudrate,
- uint32_t* brgr,
- uint32_t* bauddiv,
- uint32_t modereg
-);
-
#ifdef __cplusplus
}
#endif /* __cplusplus */