Lines Matching refs:uart
170 sedi_uart_t uart; member
177 {.dma_xfer = NULL, .uart = SEDI_UART_0, .operation = WRITE},
178 {.dma_xfer = NULL, .uart = SEDI_UART_1, .operation = WRITE},
179 {.dma_xfer = NULL, .uart = SEDI_UART_2, .operation = WRITE}
183 {.dma_xfer = NULL, .uart = SEDI_UART_0, .operation = READ},
184 {.dma_xfer = NULL, .uart = SEDI_UART_1, .operation = READ},
185 {.dma_xfer = NULL, .uart = SEDI_UART_2, .operation = READ}
209 sedi_uart_regs_t *const regs = SEDI_UART[ctxt->uart]; in sedi_dma_event_cb()
259 static void uart_soft_rst_instance(sedi_uart_t uart) in uart_soft_rst_instance() argument
263 *rst_reg |= (1 << uart); in uart_soft_rst_instance()
264 *rst_reg &= (~(1 << uart)); in uart_soft_rst_instance()
267 SEDI_UART_POLL_WAIT(*rst_reg & (1 << uart)); in uart_soft_rst_instance()
274 sedi_uart_t uart = (sedi_uart_t)(data); in io_vec_write_callback() local
275 const sedi_uart_io_vec_xfer_t *const vec_xfer = vec_write_ctxt[uart].vec; in io_vec_write_callback()
280 current_count = ++vec_write_ctxt[uart].curr_count; in io_vec_write_callback()
291 vec_write_ctxt[uart].active = false; in io_vec_write_callback()
296 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in io_vec_write_callback()
298 vec_write_ctxt[uart].xfer.data = vec_xfer->vec[current_count].base; in io_vec_write_callback()
299 vec_write_ctxt[uart].xfer.data_len = vec_xfer->vec[current_count].len; in io_vec_write_callback()
300 write_pos[uart] = 0; in io_vec_write_callback()
301 uart_write_transfer[uart] = &vec_write_ctxt[uart].xfer; in io_vec_write_callback()
314 sedi_uart_t uart = (sedi_uart_t)(data); in io_vec_read_callback() local
315 const sedi_uart_io_vec_xfer_t *const vec_xfer = vec_read_ctxt[uart].vec; in io_vec_read_callback()
321 current_count = ++vec_read_ctxt[uart].curr_count; in io_vec_read_callback()
330 vec_read_ctxt[uart].active = false; in io_vec_read_callback()
335 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in io_vec_read_callback()
337 vec_read_ctxt[uart].xfer.data = vec_xfer->vec[current_count].base; in io_vec_read_callback()
338 vec_read_ctxt[uart].xfer.data_len = vec_xfer->vec[current_count].len; in io_vec_read_callback()
339 read_pos[uart] = 0; in io_vec_read_callback()
340 uart_read_transfer[uart] = &vec_read_ctxt[uart].xfer; in io_vec_read_callback()
353 static bool is_read_xfer_complete(const sedi_uart_t uart) in is_read_xfer_complete() argument
355 const sedi_uart_transfer_t *const transfer = uart_read_transfer[uart]; in is_read_xfer_complete()
357 return read_pos[uart] >= transfer->data_len; in is_read_xfer_complete()
360 static bool is_write_xfer_complete(const sedi_uart_t uart) in is_write_xfer_complete() argument
362 const sedi_uart_transfer_t *const transfer = uart_write_transfer[uart]; in is_write_xfer_complete()
364 return write_pos[uart] >= transfer->data_len; in is_write_xfer_complete()
367 static void handle_unsol_rx_data(const sedi_uart_t uart) in handle_unsol_rx_data() argument
369 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in handle_unsol_rx_data()
371 const sedi_uart_unsol_rx_t *const unsol_rx = unsol_read_ctxt[uart].unsol_rx; in handle_unsol_rx_data()
372 int32_t write_idx = unsol_read_ctxt[uart].write_idx; in handle_unsol_rx_data()
373 int32_t read_idx = unsol_read_ctxt[uart].read_idx; in handle_unsol_rx_data()
383 unsol_read_ctxt[uart].write_idx = write_idx; in handle_unsol_rx_data()
385 unsol_read_ctxt[uart].curr_len = write_idx - read_idx; in handle_unsol_rx_data()
387 unsol_read_ctxt[uart].curr_len = unsol_rx->size - read_idx + write_idx; in handle_unsol_rx_data()
390 unsol_read_ctxt[uart].curr_len); in handle_unsol_rx_data()
393 static void handle_unsol_rx_error(const sedi_uart_t uart, uint32_t line_status) in handle_unsol_rx_error() argument
395 const sedi_uart_unsol_rx_t *const unsol_rx = unsol_read_ctxt[uart].unsol_rx; in handle_unsol_rx_error()
398 unsol_read_ctxt[uart].curr_len); in handle_unsol_rx_error()
401 static bool is_tx_disabled(const sedi_uart_t uart) in is_tx_disabled() argument
403 return uart_xfer_ctrl[uart].tx_disable; in is_tx_disabled()
406 static bool is_rx_disabled(const sedi_uart_t uart) in is_rx_disabled() argument
408 return uart_xfer_ctrl[uart].rx_disable; in is_rx_disabled()
411 void sedi_uart_isr_handler(const sedi_uart_t uart) in sedi_uart_isr_handler() argument
413 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_isr_handler()
415 const sedi_uart_transfer_t *const read_transfer = uart_read_transfer[uart]; in sedi_uart_isr_handler()
416 const sedi_uart_transfer_t *const write_transfer = uart_write_transfer[uart]; in sedi_uart_isr_handler()
432 if (is_write_xfer_complete(uart)) { in sedi_uart_isr_handler()
449 SEDI_UART_IDLE, write_pos[uart]); in sedi_uart_isr_handler()
452 if (vec_write_ctxt[uart].active == false) { in sedi_uart_isr_handler()
453 uart_write_transfer[uart] = NULL; in sedi_uart_isr_handler()
465 int count = (write_pos[uart] == 0) ? SEDI_UART_FIFO_DEPTH in sedi_uart_isr_handler()
467 while (count-- && !is_write_xfer_complete(uart)) { in sedi_uart_isr_handler()
468 regs->rbr_thr_dll = write_transfer->data[write_pos[uart]++]; in sedi_uart_isr_handler()
476 if (is_write_xfer_complete(uart)) { in sedi_uart_isr_handler()
491 while (!is_read_xfer_complete(uart)) { in sedi_uart_isr_handler()
503 if (lsr & status_report_mask[uart]) { in sedi_uart_isr_handler()
513 uart_read_transfer[uart] = NULL; in sedi_uart_isr_handler()
517 read_transfer->data[read_pos[uart]++] = regs->rbr_thr_dll; in sedi_uart_isr_handler()
524 if (is_read_xfer_complete(uart)) { in sedi_uart_isr_handler()
533 SEDI_UART_IDLE, read_pos[uart]); in sedi_uart_isr_handler()
536 if (vec_read_ctxt[uart].active == false) { in sedi_uart_isr_handler()
537 uart_read_transfer[uart] = NULL; in sedi_uart_isr_handler()
541 if (unsol_read_ctxt[uart].enable_unsol_rx) { in sedi_uart_isr_handler()
542 handle_unsol_rx_data(uart); in sedi_uart_isr_handler()
552 if (status_report_mask[uart] & line_status) { in sedi_uart_isr_handler()
564 (status_report_mask[uart] & line_status), 0); in sedi_uart_isr_handler()
565 uart_read_transfer[uart] = NULL; in sedi_uart_isr_handler()
568 if (unsol_read_ctxt[uart].enable_unsol_rx) { in sedi_uart_isr_handler()
569 handle_unsol_rx_error(uart, line_status); in sedi_uart_isr_handler()
590 uart_read_transfer[uart] = NULL; in sedi_uart_isr_handler()
596 uart_write_transfer[uart] = NULL; in sedi_uart_isr_handler()
601 int sedi_uart_set_config(IN sedi_uart_t uart, IN sedi_uart_config_t *cfg) in sedi_uart_set_config() argument
603 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_set_config()
611 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_set_config()
615 ret = sedi_uart_set_baud_rate(uart, cfg->baud_rate, sedi_pm_get_hbw_clock()); in sedi_uart_set_config()
648 uart_xfer_ctrl[uart].tx_disable = false; in sedi_uart_set_config()
649 uart_xfer_ctrl[uart].rx_disable = false; in sedi_uart_set_config()
654 int sedi_uart_get_status(IN sedi_uart_t uart, OUT uint32_t *const status) in sedi_uart_get_status() argument
656 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_get_status()
658 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_get_status()
684 int sedi_uart_write(IN sedi_uart_t uart, IN uint8_t data) in sedi_uart_write() argument
688 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_write()
690 if (is_tx_disabled(uart)) { in sedi_uart_write()
694 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_write()
707 int sedi_uart_read(IN sedi_uart_t uart, OUT uint8_t *const data, OUT uint32_t *status) in sedi_uart_read() argument
709 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_read()
711 DBG_CHECK(unsol_read_ctxt[uart].enable_unsol_rx == false, SEDI_DRIVER_ERROR_UNSUPPORTED); in sedi_uart_read()
713 if (is_rx_disabled(uart)) { in sedi_uart_read()
717 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_read()
725 if (lsr & status_report_mask[uart]) { in sedi_uart_read()
736 int sedi_uart_write_non_block(IN sedi_uart_t uart, IN uint8_t data) in sedi_uart_write_non_block() argument
738 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_write_non_block()
740 if (is_tx_disabled(uart)) { in sedi_uart_write_non_block()
744 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_write_non_block()
751 int sedi_uart_read_non_block(IN sedi_uart_t uart, OUT uint8_t *const data) in sedi_uart_read_non_block() argument
753 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_read_non_block()
756 if (is_rx_disabled(uart)) { in sedi_uart_read_non_block()
760 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_read_non_block()
767 int sedi_uart_write_buffer(IN sedi_uart_t uart, IN uint8_t *const data, IN uint32_t len) in sedi_uart_write_buffer() argument
769 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_write_buffer()
772 if (is_tx_disabled(uart)) { in sedi_uart_write_buffer()
777 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_write_buffer()
794 int sedi_uart_read_buffer(IN sedi_uart_t uart, OUT uint8_t *const data, IN uint32_t req_len, in sedi_uart_read_buffer() argument
797 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_read_buffer()
801 DBG_CHECK(unsol_read_ctxt[uart].enable_unsol_rx == false, SEDI_DRIVER_ERROR_UNSUPPORTED); in sedi_uart_read_buffer()
803 if (is_rx_disabled(uart)) { in sedi_uart_read_buffer()
807 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_read_buffer()
817 *status = (lsr & status_report_mask[uart]); in sedi_uart_read_buffer()
830 int sedi_uart_write_async(IN sedi_uart_t uart, IN sedi_uart_transfer_t *const xfer) in sedi_uart_write_async() argument
832 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_write_async()
834 DBG_CHECK(uart_write_transfer[uart] == 0, SEDI_DRIVER_ERROR_BUSY); in sedi_uart_write_async()
836 if (is_tx_disabled(uart)) { in sedi_uart_write_async()
840 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_write_async()
842 write_pos[uart] = 0; in sedi_uart_write_async()
843 uart_write_transfer[uart] = xfer; in sedi_uart_write_async()
853 int sedi_uart_read_async(IN sedi_uart_t uart, IN sedi_uart_transfer_t *const xfer) in sedi_uart_read_async() argument
855 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_read_async()
857 DBG_CHECK(uart_read_transfer[uart] == 0, SEDI_DRIVER_ERROR_BUSY); in sedi_uart_read_async()
859 DBG_CHECK(unsol_read_ctxt[uart].enable_unsol_rx == false, SEDI_DRIVER_ERROR_UNSUPPORTED); in sedi_uart_read_async()
861 if (is_rx_disabled(uart)) { in sedi_uart_read_async()
865 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_read_async()
867 read_pos[uart] = 0; in sedi_uart_read_async()
868 uart_read_transfer[uart] = xfer; in sedi_uart_read_async()
883 int sedi_uart_async_write_terminate(IN sedi_uart_t uart) in sedi_uart_async_write_terminate() argument
885 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_async_write_terminate()
887 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_async_write_terminate()
888 const sedi_uart_transfer_t *const transfer = uart_write_transfer[uart]; in sedi_uart_async_write_terminate()
900 SEDI_UART_IDLE, write_pos[uart]); in sedi_uart_async_write_terminate()
902 uart_write_transfer[uart] = NULL; in sedi_uart_async_write_terminate()
903 write_pos[uart] = 0; in sedi_uart_async_write_terminate()
909 int sedi_uart_async_read_terminate(IN sedi_uart_t uart) in sedi_uart_async_read_terminate() argument
911 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_async_read_terminate()
913 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_async_read_terminate()
914 const sedi_uart_transfer_t *const transfer = uart_read_transfer[uart]; in sedi_uart_async_read_terminate()
931 SEDI_UART_IDLE, read_pos[uart]); in sedi_uart_async_read_terminate()
933 uart_read_transfer[uart] = NULL; in sedi_uart_async_read_terminate()
934 read_pos[uart] = 0; in sedi_uart_async_read_terminate()
941 int sedi_uart_rs485_set_config(IN sedi_uart_t uart, IN sedi_uart_rs485_config_t *cfg) in sedi_uart_rs485_set_config() argument
949 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_rs485_set_config()
950 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_rs485_set_config()
1003 int sedi_uart_rs485_disable(IN sedi_uart_t uart) in sedi_uart_rs485_disable() argument
1005 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_rs485_disable()
1007 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_rs485_disable()
1013 int sedi_uart_rs485_enable(IN sedi_uart_t uart) in sedi_uart_rs485_enable() argument
1015 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_rs485_enable()
1017 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_rs485_enable()
1029 int sedi_uart_rs485_get_config(IN sedi_uart_t uart, sedi_uart_rs485_config_t *cfg) in sedi_uart_rs485_get_config() argument
1032 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_rs485_get_config()
1034 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_rs485_get_config()
1075 int sedi_uart_rs485_clear_config(IN sedi_uart_t uart) in sedi_uart_rs485_clear_config() argument
1077 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_rs485_clear_config()
1079 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_rs485_clear_config()
1094 int sedi_uart_9bit_set_config(IN sedi_uart_t uart, IN sedi_uart_9bit_config_t *cfg) in sedi_uart_9bit_set_config() argument
1097 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_9bit_set_config()
1100 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_9bit_set_config()
1118 int sedi_uart_9bit_disable(IN sedi_uart_t uart) in sedi_uart_9bit_disable() argument
1120 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_9bit_disable()
1122 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_9bit_disable()
1128 int sedi_uart_9bit_enable(IN sedi_uart_t uart) in sedi_uart_9bit_enable() argument
1130 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_9bit_enable()
1131 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_9bit_enable()
1137 int sedi_uart_9bit_send_address(IN sedi_uart_t uart, uint8_t address) in sedi_uart_9bit_send_address() argument
1141 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_9bit_send_address()
1142 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_9bit_send_address()
1144 if (is_tx_disabled(uart)) { in sedi_uart_9bit_send_address()
1172 int sedi_uart_9bit_get_config(IN sedi_uart_t uart, sedi_uart_9bit_config_t *cfg) in sedi_uart_9bit_get_config() argument
1174 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_9bit_get_config()
1176 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_9bit_get_config()
1191 int sedi_uart_read_rx_fifo(IN sedi_uart_t uart, uint16_t *rx_buff, uint16_t *length_read) in sedi_uart_read_rx_fifo() argument
1193 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_read_rx_fifo()
1197 if (is_rx_disabled(uart)) { in sedi_uart_read_rx_fifo()
1203 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_read_rx_fifo()
1212 if (lsr & status_report_mask[uart]) { in sedi_uart_read_rx_fifo()
1225 int sedi_uart_9bit_clear_config(IN sedi_uart_t uart) in sedi_uart_9bit_clear_config() argument
1228 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_9bit_clear_config()
1229 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_9bit_clear_config()
1238 static void sedi_uart_save_context(IN sedi_uart_t uart) in sedi_uart_save_context() argument
1241 sedi_uart_regs_t *IN regs = SEDI_UART[uart]; in sedi_uart_save_context()
1242 sedi_uart_context_t *ctx = &uart_context[uart]; in sedi_uart_save_context()
1273 static void sedi_uart_restore_context(IN sedi_uart_t uart) in sedi_uart_restore_context() argument
1275 sedi_uart_context_t *ctx = &uart_context[uart]; in sedi_uart_restore_context()
1276 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_restore_context()
1282 uart_soft_rst_instance(uart); in sedi_uart_restore_context()
1285 sedi_uart_set_baud_rate(uart, baud_rate_cache[uart], clk_speed); in sedi_uart_restore_context()
1324 static bool is_tx_fifo_full(sedi_uart_t uart) in is_tx_fifo_full() argument
1329 return !!(SEDI_UART[uart]->lsr & SEDI_RBFVM(UART, LSR, THRE, ENABLED)); in is_tx_fifo_full()
1332 bool sedi_uart_irq_tx_ready(IN sedi_uart_t uart) in sedi_uart_irq_tx_ready() argument
1336 id = iir_cache[uart] & SEDI_UART_IIR_IID_MASK; in sedi_uart_irq_tx_ready()
1340 static bool sedi_is_rx_data_available(sedi_uart_t uart) in sedi_is_rx_data_available() argument
1342 return SEDI_UART[uart]->lsr & SEDI_RBFVM(UART, LSR, DR, READY); in sedi_is_rx_data_available()
1345 bool sedi_uart_is_irq_rx_ready(IN sedi_uart_t uart) in sedi_uart_is_irq_rx_ready() argument
1347 uint32_t id = (iir_cache[uart] & SEDI_UART_IIR_IID_MASK); in sedi_uart_is_irq_rx_ready()
1352 bool sedi_uart_is_irq_pending(IN sedi_uart_t uart) in sedi_uart_is_irq_pending() argument
1354 return !(iir_cache[uart] & SEDI_UART_IIR_NO_INTERRUPT_PENDING); in sedi_uart_is_irq_pending()
1357 int sedi_uart_fifo_fill(IN sedi_uart_t uart, IN uint8_t *data, IN uint32_t size) in sedi_uart_fifo_fill() argument
1361 if (is_tx_disabled(uart)) { in sedi_uart_fifo_fill()
1365 for (i = 0; ((i < size) && (!is_tx_fifo_full(uart))); i++) { in sedi_uart_fifo_fill()
1366 SEDI_UART[uart]->rbr_thr_dll = data[i]; in sedi_uart_fifo_fill()
1371 int sedi_uart_fifo_read(IN sedi_uart_t uart, OUT uint8_t *data, IN uint32_t size) in sedi_uart_fifo_read() argument
1375 if (is_rx_disabled(uart)) { in sedi_uart_fifo_read()
1379 for (i = 0; i < size && sedi_is_rx_data_available(uart); i++) { in sedi_uart_fifo_read()
1380 data[i] = SEDI_UART[uart]->rbr_thr_dll; in sedi_uart_fifo_read()
1385 int sedi_uart_irq_tx_enable(IN sedi_uart_t uart) in sedi_uart_irq_tx_enable() argument
1387 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_irq_tx_enable()
1388 SEDI_UART[uart]->ier_dlh |= SEDI_RBFVM(UART, IER, ETBEI, ENABLE); in sedi_uart_irq_tx_enable()
1392 int sedi_uart_irq_tx_disable(IN sedi_uart_t uart) in sedi_uart_irq_tx_disable() argument
1394 SEDI_UART[uart]->ier_dlh &= ~SEDI_RBFVM(UART, IER, ETBEI, ENABLE); in sedi_uart_irq_tx_disable()
1395 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_irq_tx_disable()
1399 bool sedi_uart_is_tx_complete(IN sedi_uart_t uart) in sedi_uart_is_tx_complete() argument
1401 return !!(SEDI_UART[uart]->lsr & SEDI_RBFVM(UART, LSR, TEMT, ENABLED)); in sedi_uart_is_tx_complete()
1404 int sedi_uart_irq_rx_enable(IN sedi_uart_t uart) in sedi_uart_irq_rx_enable() argument
1407 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_irq_rx_enable()
1408 SEDI_UART[uart]->ier_dlh |= SEDI_RBFVM(UART, IER, ERBFI, ENABLE); in sedi_uart_irq_rx_enable()
1413 int sedi_uart_irq_rx_disable(IN sedi_uart_t uart) in sedi_uart_irq_rx_disable() argument
1416 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_irq_rx_disable()
1417 SEDI_UART[uart]->ier_dlh &= ~SEDI_RBFVM(UART, IER, ERBFI, ENABLE); in sedi_uart_irq_rx_disable()
1421 int sedi_uart_update_irq_cache(IN sedi_uart_t uart) in sedi_uart_update_irq_cache() argument
1424 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_update_irq_cache()
1425 iir_cache[uart] = SEDI_UART[uart]->iir_fcr; in sedi_uart_update_irq_cache()
1429 int sedi_uart_irq_err_enable(IN sedi_uart_t uart) in sedi_uart_irq_err_enable() argument
1431 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_irq_err_enable()
1432 SEDI_UART[uart]->ier_dlh |= SEDI_RBFVM(UART, IER, ELSI, ENABLE); in sedi_uart_irq_err_enable()
1436 int sedi_uart_irq_err_disable(IN sedi_uart_t uart) in sedi_uart_irq_err_disable() argument
1439 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_irq_err_disable()
1440 SEDI_UART[uart]->ier_dlh &= ~SEDI_RBFVM(UART, IER, ELSI, ENABLE); in sedi_uart_irq_err_disable()
1444 int sedi_uart_set_baud_rate(IN sedi_uart_t uart, IN uint32_t baud_rate, IN uint32_t clk_speed_hz) in sedi_uart_set_baud_rate() argument
1446 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_set_baud_rate()
1457 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_set_baud_rate()
1470 baud_rate_cache[uart] = baud_rate; in sedi_uart_set_baud_rate()
1471 clk_speed_cache[uart] = clk_speed_hz; in sedi_uart_set_baud_rate()
1475 int sedi_uart_get_config(IN sedi_uart_t uart, OUT sedi_uart_config_t *cfg) in sedi_uart_get_config() argument
1478 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_get_config()
1480 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_get_config()
1489 cfg->baud_rate = baud_rate_cache[uart]; in sedi_uart_get_config()
1490 cfg->clk_speed_hz = clk_speed_cache[uart]; in sedi_uart_get_config()
1495 int sedi_uart_set_loopback_mode(IN sedi_uart_t uart) in sedi_uart_set_loopback_mode() argument
1497 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_set_loopback_mode()
1498 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_set_loopback_mode()
1506 int sedi_uart_clr_loopback_mode(IN sedi_uart_t uart) in sedi_uart_clr_loopback_mode() argument
1508 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_clr_loopback_mode()
1509 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_clr_loopback_mode()
1516 int sedi_uart_get_loopback_mode(IN sedi_uart_t uart, uint32_t *p_mode) in sedi_uart_get_loopback_mode() argument
1518 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_get_loopback_mode()
1520 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_get_loopback_mode()
1527 int sedi_uart_set_break_con(IN sedi_uart_t uart) in sedi_uart_set_break_con() argument
1529 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_set_break_con()
1530 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_set_break_con()
1537 int sedi_uart_clr_break_con(IN sedi_uart_t uart) in sedi_uart_clr_break_con() argument
1539 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_clr_break_con()
1540 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_clr_break_con()
1547 int sedi_uart_auto_fc_enable(IN sedi_uart_t uart) in sedi_uart_auto_fc_enable() argument
1549 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_auto_fc_enable()
1550 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_auto_fc_enable()
1557 int sedi_uart_auto_fc_disable(IN sedi_uart_t uart) in sedi_uart_auto_fc_disable() argument
1559 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_auto_fc_disable()
1560 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_auto_fc_disable()
1566 int sedi_set_ln_status_report_mask(IN sedi_uart_t uart, IN uint32_t mask) in sedi_set_ln_status_report_mask() argument
1568 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_set_ln_status_report_mask()
1569 status_report_mask[uart] = mask; in sedi_set_ln_status_report_mask()
1573 int sedi_uart_enable_unsol_rx(IN sedi_uart_t uart, IN sedi_uart_unsol_rx_t *const unsol_rx) in sedi_uart_enable_unsol_rx() argument
1576 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_enable_unsol_rx()
1582 if (is_rx_disabled(uart)) { in sedi_uart_enable_unsol_rx()
1587 if (uart_read_transfer[uart]) { in sedi_uart_enable_unsol_rx()
1592 unsol_read_ctxt[uart].read_idx = -1; in sedi_uart_enable_unsol_rx()
1593 unsol_read_ctxt[uart].write_idx = -1; in sedi_uart_enable_unsol_rx()
1594 unsol_read_ctxt[uart].curr_len = 0; in sedi_uart_enable_unsol_rx()
1595 unsol_read_ctxt[uart].unsol_rx = unsol_rx; in sedi_uart_enable_unsol_rx()
1597 unsol_read_ctxt[uart].enable_unsol_rx = true; in sedi_uart_enable_unsol_rx()
1600 SEDI_UART[uart]->ier_dlh |= in sedi_uart_enable_unsol_rx()
1605 int sedi_uart_disable_unsol_rx(IN sedi_uart_t uart) in sedi_uart_disable_unsol_rx() argument
1608 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_disable_unsol_rx()
1609 if (uart_read_transfer[uart]) { in sedi_uart_disable_unsol_rx()
1613 if (!unsol_read_ctxt[uart].enable_unsol_rx) { in sedi_uart_disable_unsol_rx()
1617 SEDI_UART[uart]->ier_dlh &= in sedi_uart_disable_unsol_rx()
1620 unsol_read_ctxt[uart].enable_unsol_rx = false; in sedi_uart_disable_unsol_rx()
1621 unsol_read_ctxt[uart].unsol_rx = NULL; in sedi_uart_disable_unsol_rx()
1625 int sedi_uart_get_unsol_data(IN sedi_uart_t uart, uint8_t *buffer, int len) in sedi_uart_get_unsol_data() argument
1628 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_get_unsol_data()
1630 if (!unsol_read_ctxt[uart].enable_unsol_rx) { in sedi_uart_get_unsol_data()
1636 const sedi_uart_unsol_rx_t *const unsol_rx = unsol_read_ctxt[uart].unsol_rx; in sedi_uart_get_unsol_data()
1638 if ((len == 0) || (len > unsol_read_ctxt[uart].curr_len + 1)) { in sedi_uart_get_unsol_data()
1642 SEDI_UART[uart]->ier_dlh &= in sedi_uart_get_unsol_data()
1649 start_idx = unsol_read_ctxt[uart].read_idx + 1; in sedi_uart_get_unsol_data()
1650 end_idx = unsol_read_ctxt[uart].write_idx + 1; in sedi_uart_get_unsol_data()
1678 unsol_read_ctxt[uart].read_idx = (unsol_read_ctxt[uart].read_idx + len) % unsol_rx->size; in sedi_uart_get_unsol_data()
1679 unsol_read_ctxt[uart].curr_len = (unsol_read_ctxt[uart].curr_len - len); in sedi_uart_get_unsol_data()
1682 SEDI_UART[uart]->ier_dlh |= in sedi_uart_get_unsol_data()
1688 int sedi_uart_get_unsol_data_len(sedi_uart_t uart, int *p_len) in sedi_uart_get_unsol_data_len() argument
1690 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_get_unsol_data_len()
1693 if (!unsol_read_ctxt[uart].enable_unsol_rx) { in sedi_uart_get_unsol_data_len()
1697 *p_len = unsol_read_ctxt[uart].curr_len; in sedi_uart_get_unsol_data_len()
1701 int sedi_get_ln_status_report_mask(IN sedi_uart_t uart, OUT uint32_t *p_mask) in sedi_get_ln_status_report_mask() argument
1703 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_get_ln_status_report_mask()
1705 *p_mask = status_report_mask[uart]; in sedi_get_ln_status_report_mask()
1709 int sedi_uart_assert_rts(IN sedi_uart_t uart) in sedi_uart_assert_rts() argument
1712 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_assert_rts()
1713 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_assert_rts()
1723 int sedi_uart_de_assert_rts(IN sedi_uart_t uart) in sedi_uart_de_assert_rts() argument
1725 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_de_assert_rts()
1726 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_de_assert_rts()
1736 int sedi_uart_read_rts(IN sedi_uart_t uart, uint32_t *p_rts) in sedi_uart_read_rts() argument
1738 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_read_rts()
1739 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_read_rts()
1745 int sedi_uart_read_cts(IN sedi_uart_t uart, OUT uint32_t *p_cts) in sedi_uart_read_cts() argument
1747 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_read_cts()
1748 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_read_cts()
1753 int sedi_uart_write_vec_async(IN sedi_uart_t uart, IN sedi_uart_io_vec_xfer_t *const vec_xfer) in sedi_uart_write_vec_async() argument
1756 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_write_vec_async()
1759 DBG_CHECK(uart_write_transfer[uart] == 0, SEDI_DRIVER_ERROR_BUSY); in sedi_uart_write_vec_async()
1761 if (is_tx_disabled(uart)) { in sedi_uart_write_vec_async()
1765 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_write_vec_async()
1767 vec_write_ctxt[uart].vec = vec_xfer; in sedi_uart_write_vec_async()
1768 write_pos[uart] = 0; in sedi_uart_write_vec_async()
1769 vec_write_ctxt[uart].curr_count = 0; in sedi_uart_write_vec_async()
1770 vec_write_ctxt[uart].active = true; in sedi_uart_write_vec_async()
1773 vec_write_ctxt[uart].xfer.data = vec_xfer->vec[0].base; in sedi_uart_write_vec_async()
1774 vec_write_ctxt[uart].xfer.data_len = vec_xfer->vec[0].len; in sedi_uart_write_vec_async()
1775 vec_write_ctxt[uart].xfer.callback_data = (void *)uart; in sedi_uart_write_vec_async()
1776 vec_write_ctxt[uart].xfer.callback = io_vec_write_callback; in sedi_uart_write_vec_async()
1778 uart_write_transfer[uart] = &vec_write_ctxt[uart].xfer; in sedi_uart_write_vec_async()
1790 int sedi_uart_read_vec_async(IN sedi_uart_t uart, IN sedi_uart_io_vec_xfer_t *const vec_xfer) in sedi_uart_read_vec_async() argument
1793 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_read_vec_async()
1796 DBG_CHECK(uart_read_transfer[uart] == 0, SEDI_DRIVER_ERROR_BUSY); in sedi_uart_read_vec_async()
1798 if (is_rx_disabled(uart)) { in sedi_uart_read_vec_async()
1801 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_read_vec_async()
1803 vec_read_ctxt[uart].vec = vec_xfer; in sedi_uart_read_vec_async()
1804 read_pos[uart] = 0; in sedi_uart_read_vec_async()
1805 vec_read_ctxt[uart].curr_count = 0; in sedi_uart_read_vec_async()
1806 vec_read_ctxt[uart].active = true; in sedi_uart_read_vec_async()
1809 vec_read_ctxt[uart].xfer.data = vec_xfer->vec[0].base; in sedi_uart_read_vec_async()
1810 vec_read_ctxt[uart].xfer.data_len = vec_xfer->vec[0].len; in sedi_uart_read_vec_async()
1811 vec_read_ctxt[uart].xfer.callback_data = (void *)uart; in sedi_uart_read_vec_async()
1812 vec_read_ctxt[uart].xfer.callback = io_vec_read_callback; in sedi_uart_read_vec_async()
1813 uart_read_transfer[uart] = &vec_read_ctxt[uart].xfer; in sedi_uart_read_vec_async()
1866 static int sedi_uart_dma_io_async(sedi_uart_t uart, const sedi_uart_dma_xfer_t *const xfer, in sedi_uart_dma_io_async() argument
1870 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_dma_io_async()
1876 dma_write_ctxt[uart].dma_xfer = xfer; in sedi_uart_dma_io_async()
1878 (void *)(&dma_write_ctxt[uart]), WRITE); in sedi_uart_dma_io_async()
1887 dma_read_ctxt[uart].dma_xfer = xfer; in sedi_uart_dma_io_async()
1889 (void *)(&dma_read_ctxt[uart]), READ); in sedi_uart_dma_io_async()
1903 uart_dma_hs_id[uart]); in sedi_uart_dma_io_async()
1921 static int sedi_uart_dma_io_polled(sedi_uart_t uart, sedi_dma_t dma_dev, uint32_t channel, in sedi_uart_dma_io_polled() argument
1925 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_dma_io_polled()
1950 uart_dma_hs_id[uart]); in sedi_uart_dma_io_polled()
1977 int sedi_uart_dma_write_async(IN sedi_uart_t uart, IN sedi_uart_dma_xfer_t *const xfer) in sedi_uart_dma_write_async() argument
1980 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_dma_write_async()
1985 if (is_tx_disabled(uart)) { in sedi_uart_dma_write_async()
1991 ret = sedi_uart_dma_io_async(uart, xfer, WRITE); in sedi_uart_dma_write_async()
1995 int sedi_uart_dma_write_terminate(IN sedi_uart_t uart) in sedi_uart_dma_write_terminate() argument
1997 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_dma_write_terminate()
1998 const sedi_uart_dma_xfer_t *xfer = dma_write_ctxt[uart].dma_xfer; in sedi_uart_dma_write_terminate()
2006 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_dma_write_terminate()
2015 dma_write_ctxt[uart].dma_xfer = NULL; in sedi_uart_dma_write_terminate()
2021 int sedi_uart_dma_read_async(IN sedi_uart_t uart, IN sedi_uart_dma_xfer_t *const xfer) in sedi_uart_dma_read_async() argument
2023 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_dma_read_async()
2028 if (is_rx_disabled(uart)) { in sedi_uart_dma_read_async()
2034 ret = sedi_uart_dma_io_async(uart, xfer, READ); in sedi_uart_dma_read_async()
2038 int sedi_uart_dma_read_terminate(IN sedi_uart_t uart) in sedi_uart_dma_read_terminate() argument
2040 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_dma_read_terminate()
2041 const sedi_uart_dma_xfer_t *xfer = dma_read_ctxt[uart].dma_xfer; in sedi_uart_dma_read_terminate()
2049 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_dma_read_terminate()
2058 dma_read_ctxt[uart].dma_xfer = NULL; in sedi_uart_dma_read_terminate()
2064 int sedi_uart_dma_write_polled(IN sedi_uart_t uart, IN sedi_dma_t dma_dev, IN uint32_t channel, in sedi_uart_dma_write_polled() argument
2069 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_dma_write_polled()
2072 if (is_tx_disabled(uart)) { in sedi_uart_dma_write_polled()
2076 ret = sedi_uart_dma_io_polled(uart, dma_dev, channel, buff, length, WRITE); in sedi_uart_dma_write_polled()
2080 int sedi_uart_dma_read_polled(IN sedi_uart_t uart, IN sedi_dma_t dma_dev, IN uint32_t channel, in sedi_uart_dma_read_polled() argument
2085 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_dma_read_polled()
2089 if (is_tx_disabled(uart)) { in sedi_uart_dma_read_polled()
2092 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_dma_read_polled()
2094 ret = sedi_uart_dma_io_polled(uart, dma_dev, channel, buff, length, READ); in sedi_uart_dma_read_polled()
2099 int sedi_uart_set_tx_only_mode(IN sedi_uart_t uart, bool tx_only) in sedi_uart_set_tx_only_mode() argument
2102 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_set_tx_only_mode()
2104 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_set_tx_only_mode()
2108 uart_xfer_ctrl[uart].tx_disable = false; in sedi_uart_set_tx_only_mode()
2109 uart_xfer_ctrl[uart].rx_disable = true; in sedi_uart_set_tx_only_mode()
2116 uart_xfer_ctrl[uart].tx_disable = false; in sedi_uart_set_tx_only_mode()
2117 uart_xfer_ctrl[uart].rx_disable = false; in sedi_uart_set_tx_only_mode()
2127 int sedi_uart_set_rx_only_mode(IN sedi_uart_t uart, bool rx_only) in sedi_uart_set_rx_only_mode() argument
2130 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_set_rx_only_mode()
2132 sedi_uart_regs_t *const regs = SEDI_UART[uart]; in sedi_uart_set_rx_only_mode()
2136 uart_xfer_ctrl[uart].tx_disable = true; in sedi_uart_set_rx_only_mode()
2137 uart_xfer_ctrl[uart].rx_disable = false; in sedi_uart_set_rx_only_mode()
2144 uart_xfer_ctrl[uart].tx_disable = false; in sedi_uart_set_rx_only_mode()
2145 uart_xfer_ctrl[uart].rx_disable = false; in sedi_uart_set_rx_only_mode()
2156 static void sedi_uart_disable_tx_rx(IN sedi_uart_t uart) in sedi_uart_disable_tx_rx() argument
2158 uart_xfer_ctrl[uart].tx_disable = true; in sedi_uart_disable_tx_rx()
2159 uart_xfer_ctrl[uart].rx_disable = true; in sedi_uart_disable_tx_rx()
2162 static void sedi_uart_enable_tx_rx(IN sedi_uart_t uart) in sedi_uart_enable_tx_rx() argument
2164 uart_xfer_ctrl[uart].tx_disable = false; in sedi_uart_enable_tx_rx()
2165 uart_xfer_ctrl[uart].rx_disable = false; in sedi_uart_enable_tx_rx()
2168 int32_t sedi_uart_set_power(IN sedi_uart_t uart, IN sedi_power_state_t state) in sedi_uart_set_power() argument
2171 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_set_power()
2173 sedi_devid_t id = SEDI_DEVID_UART0 + uart; in sedi_uart_set_power()
2181 sedi_uart_restore_context(uart); in sedi_uart_set_power()
2182 sedi_uart_enable_tx_rx(uart); in sedi_uart_set_power()
2187 sedi_uart_disable_tx_rx(uart); in sedi_uart_set_power()
2188 sedi_uart_save_context(uart); in sedi_uart_set_power()
2193 sedi_uart_disable_tx_rx(uart); in sedi_uart_set_power()
2199 sedi_uart_disable_tx_rx(uart); in sedi_uart_set_power()
2212 int32_t sedi_uart_init(IN sedi_uart_t uart, void *base) in sedi_uart_init() argument
2214 DBG_CHECK(uart < SEDI_UART_NUM, SEDI_DRIVER_ERROR_PARAMETER); in sedi_uart_init()
2216 sedi_uart[uart] = (sedi_uart_regs_t *)base; in sedi_uart_init()