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.
This commit is contained in:
Alex White
2022-11-29 16:59:26 -06:00
committed by Joel Sherrill
parent 240987228f
commit c3e14019c8
3 changed files with 21 additions and 1 deletions
@@ -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>
@@ -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__ */
/****************************************************************************/
/**
+2 -1
View File
@@ -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 );
}
}