X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=UDI%2Fdrivers%2Fuart_16c550%2Fuart16c550_common.h;h=a8a62c276de8ff32e8abb20a7f43ca8fb8a85108;hb=98bd9c0c8985c50c42231c116a4e18fedd47761e;hp=864f461bfcab9079c1ac06d28277e761cbf22e17;hpb=5b80adc9ea328e519329ba299fcf8ffe0daf2704;p=tpg%2Facess2.git diff --git a/UDI/drivers/uart_16c550/uart16c550_common.h b/UDI/drivers/uart_16c550/uart16c550_common.h index 864f461b..a8a62c27 100644 --- a/UDI/drivers/uart_16c550/uart16c550_common.h +++ b/UDI/drivers/uart_16c550/uart16c550_common.h @@ -11,6 +11,7 @@ enum { UART_CB_BUS_BIND = 1, UART_CB_INTR, UART_CB_INTR_EVENT, + UART_CB_GIO_EVENT, }; enum { @@ -20,7 +21,9 @@ enum { N_PIO }; -#define RX_BUFFER_SIZE 32 +#define NUM_INTR_CBS 2 +#define INTR_CB_BUF_SIZE 16 // 16550 has a 16-byte fifo +#define MAX_RX_BUFFER_SIZE 32 typedef struct { udi_init_context_t init_context; @@ -33,8 +36,11 @@ typedef struct { udi_pio_handle_t pio_handles[N_PIO]; udi_channel_t interrupt_channel; - udi_ubit8_t rx_bytes; udi_buf_t *rx_buffer; + + udi_boolean_t event_cb_used; + udi_boolean_t event_pending; + udi_gio_event_cb_t *event_cb; } rdata_t; // === MACROS ===