summaryrefslogtreecommitdiffstats
path: root/bsps
diff options
context:
space:
mode:
authorAlex White <alex.white@oarcorp.com>2022-10-24 08:37:16 -0500
committerJoel Sherrill <joel@rtems.org>2022-11-29 16:59:26 -0600
commitc3e14019c8877f647254dde3e806ea303c6cf0ab (patch)
tree804c13867c08cacda7182217dfae32c118675788 /bsps
parentspec/beagle: Add missing spi.h install (diff)
downloadrtems-c3e14019c8877f647254dde3e806ea303c6cf0ab.tar.bz2
bsps/microblaze: Fix console interrupt build errors
This fixes build errors seen when building with console interrupts enabled. A few places were missing bspopts.h includes, and one of the UART functions was not defined.
Diffstat (limited to 'bsps')
-rw-r--r--bsps/microblaze/include/dev/serial/uartlite.h1
-rw-r--r--bsps/microblaze/include/dev/serial/uartlite_l.h18
-rw-r--r--bsps/microblaze/shared/dev/serial/uartlite.c3
3 files changed, 21 insertions, 1 deletions
diff --git a/bsps/microblaze/include/dev/serial/uartlite.h b/bsps/microblaze/include/dev/serial/uartlite.h
index 6e288d4dc7..2fda3796b3 100644
--- a/bsps/microblaze/include/dev/serial/uartlite.h
+++ b/bsps/microblaze/include/dev/serial/uartlite.h
@@ -36,6 +36,7 @@
#ifndef LIBBSP_MICROBLAZE_SHARED_UARTLITE_H
#define LIBBSP_MICROBLAZE_SHARED_UARTLITE_H
+#include <bspopts.h>
#include <rtems/termiostypes.h>
#include <dev/serial/uartlite_l.h>
diff --git a/bsps/microblaze/include/dev/serial/uartlite_l.h b/bsps/microblaze/include/dev/serial/uartlite_l.h
index 8c0598e191..834fbb5f75 100644
--- a/bsps/microblaze/include/dev/serial/uartlite_l.h
+++ b/bsps/microblaze/include/dev/serial/uartlite_l.h
@@ -234,6 +234,24 @@ static inline void Xil_Out32(UINTPTR Addr, u32 Value)
((XUartLite_GetStatusReg((BaseAddress)) & XUL_SR_RX_FIFO_VALID_DATA) != \
XUL_SR_RX_FIFO_VALID_DATA)
+#ifdef __rtems__
+/****************************************************************************/
+/**
+*
+* Check to see if the transmitter is empty.
+*
+* @param BaseAddress is the base address of the device
+*
+* @return TRUE if the transmitter is empty, FALSE otherwise.
+*
+* @note C-style Signature:
+* int XUartLite_IsTransmitEmpty(u32 BaseAddress);
+*
+*****************************************************************************/
+#define XUartLite_IsTransmitEmpty(BaseAddress) \
+ ((XUartLite_GetStatusReg((BaseAddress)) & XUL_SR_TX_FIFO_EMPTY) == \
+ XUL_SR_TX_FIFO_EMPTY)
+#endif /* __rtems__ */
/****************************************************************************/
/**
diff --git a/bsps/microblaze/shared/dev/serial/uartlite.c b/bsps/microblaze/shared/dev/serial/uartlite.c
index 7387e22635..a5fc4fe82b 100644
--- a/bsps/microblaze/shared/dev/serial/uartlite.c
+++ b/bsps/microblaze/shared/dev/serial/uartlite.c
@@ -35,6 +35,7 @@
#include <bsp/irq.h>
#include <dev/serial/uartlite.h>
+#include <bspopts.h>
#ifdef BSP_MICROBLAZE_FPGA_CONSOLE_INTERRUPTS
static void microblaze_uart_interrupt( void *arg )
@@ -47,7 +48,7 @@ static void microblaze_uart_interrupt( void *arg )
rtems_termios_enqueue_raw_characters( tty, &c, 1 );
}
- while ( ctx->transmitting && !XUartLite_IsTransmitEmpty( ctx ) ) {
+ while ( ctx->transmitting && !XUartLite_IsTransmitEmpty( ctx->address ) ) {
rtems_termios_dequeue_characters( tty, 1 );
}
}