I am trying to use the adi_uart library to receive characters on the BF609 EZ BOARD. I can successfully set up the UART using the adi_uart driver and have used the non-blocking interrupt mode to send strings of characters from the EZ BOARD to a terminal emulator, so far so good. There were a number of examples for how to do this provided with the BF609 EZ BOARD for blocking and non-blocking mode. However when I look at receiving I can't see any examples. When I look at the API it seems that (operating in non-blocking mode) I have to submit a buffer of a defined length and then poll to see if that buffer has been filled, there is no (obvious) way to tell that less than a full buffers worth of characters have arrived. What am I missing? What I want to do is provide a large receive buffer to avoid FIFO overflows without having to poll constantly, yet if there is even one character in the buffer, I want to be able to get it. Is there a way to use the driver to do this?