Lines Matching refs:uarte
375 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in endtx_isr() local
379 if (nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ENDTX)) { in endtx_isr()
380 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_ENDTX); in endtx_isr()
381 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STOPTX); in endtx_isr()
439 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_isr_int() local
445 nrf_uarte_int_enable_check(uarte, NRF_UARTE_INT_ENDTX_MASK) && in uarte_nrfx_isr_int()
446 nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ENDTX)) { in uarte_nrfx_isr_int()
450 bool txstopped = nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_TXSTOPPED); in uarte_nrfx_isr_int()
467 nrf_uarte_int_disable(uarte, NRF_UARTE_INT_TXSTOPPED_MASK); in uarte_nrfx_isr_int()
482 nrf_uarte_int_disable(uarte, NRF_UARTE_INT_TXSTOPPED_MASK); in uarte_nrfx_isr_int()
494 if (nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ERROR)) { in uarte_nrfx_isr_int()
495 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_ERROR); in uarte_nrfx_isr_int()
634 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_err_check() local
636 return nrf_uarte_errorsrc_get_and_clear(uarte); in uarte_nrfx_err_check()
646 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in is_tx_ready() local
650 return nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_TXSTOPPED) || in is_tx_ready()
652 nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ENDTX) : 0); in is_tx_ready()
690 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_periph_enable() local
705 nrf_uarte_enable(uarte); in uarte_periph_enable()
710 nrf_uarte_baudrate_set(uarte, in uarte_periph_enable()
731 nrf_uarte_rx_buffer_set(uarte, config->poll_in_byte, 1); in uarte_periph_enable()
732 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_ENDRX); in uarte_periph_enable()
733 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STARTRX); in uarte_periph_enable()
736 nrf_uarte_int_enable(uarte, NRF_UARTE_INT_ENDRX_MASK); in uarte_periph_enable()
762 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in tx_start() local
777 nrf_uarte_tx_buffer_set(uarte, buf, len); in tx_start()
779 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_ENDTX); in tx_start()
781 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_TXSTOPPED); in tx_start()
786 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STARTTX); in tx_start()
800 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_rx_counting_init() local
806 uint32_t evt_addr = nrf_uarte_event_address_get(uarte, NRF_UARTE_EVENT_RXDRDY); in uarte_nrfx_rx_counting_init()
831 nrf_uarte_int_enable(uarte, NRF_UARTE_INT_RXDRDY_MASK); in uarte_nrfx_rx_counting_init()
841 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_async_init() local
858 nrf_uarte_int_enable(uarte, rx_int_mask); in uarte_async_init()
927 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_tx() local
939 if (nrf_dma_accessible_check(uarte, buf)) { in uarte_nrfx_tx()
978 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_tx_abort() local
986 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STOPTX); in uarte_nrfx_tx_abort()
1052 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_rx_enable() local
1087 nrf_uarte_frame_timeout_set(uarte, us_to_bauds(baudrate, timeout)); in uarte_nrfx_rx_enable()
1088 nrf_uarte_shorts_enable(uarte, NRF_UARTE_SHORT_FRAME_TIMEOUT_STOPRX); in uarte_nrfx_rx_enable()
1158 NRFX_IRQ_PENDING_SET(nrfx_get_irq_number(uarte)); in uarte_nrfx_rx_enable()
1163 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_RXDRDY); in uarte_nrfx_rx_enable()
1172 nrf_uarte_rx_buffer_set(uarte, buf, len); in uarte_nrfx_rx_enable()
1178 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_RXTO); in uarte_nrfx_rx_enable()
1179 nrf_uarte_int_enable(uarte, NRF_UARTE_INT_RXTO_MASK); in uarte_nrfx_rx_enable()
1182 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_ENDRX); in uarte_nrfx_rx_enable()
1183 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_RXSTARTED); in uarte_nrfx_rx_enable()
1194 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STARTRX); in uarte_nrfx_rx_enable()
1205 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_rx_buf_rsp() local
1224 nrf_uarte_rx_buffer_set(uarte, buf, len); in uarte_nrfx_rx_buf_rsp()
1234 nrf_uarte_shorts_enable(uarte, NRF_UARTE_SHORT_ENDRX_STARTRX); in uarte_nrfx_rx_buf_rsp()
1266 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_rx_disable() local
1278 nrf_uarte_shorts_disable(uarte, NRF_UARTE_SHORT_ENDRX_STARTRX); in uarte_nrfx_rx_disable()
1279 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_RXSTARTED); in uarte_nrfx_rx_disable()
1285 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STOPRX); in uarte_nrfx_rx_disable()
1310 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in rx_timeout() local
1313 if (!nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_RXDRDY)) { in rx_timeout()
1314 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STOPRX); in rx_timeout()
1321 if (nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_RXDRDY)) { in rx_timeout()
1322 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_RXDRDY); in rx_timeout()
1335 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STOPRX); in rx_timeout()
1434 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in error_isr() local
1435 uint32_t err = nrf_uarte_errorsrc_get(uarte); in error_isr()
1443 nrf_uarte_errorsrc_clear(uarte, err); in error_isr()
1460 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in rxstarted_isr() local
1463 nrf_uarte_int_enable(uarte, NRF_UARTE_INT_RXDRDY_MASK); in rxstarted_isr()
1481 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in endrx_isr() local
1495 const int rx_amount = nrf_uarte_rx_amount_get(uarte) + async_rx->flush_cnt; in endrx_isr()
1553 if (!nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_RXSTARTED)) { in endrx_isr()
1554 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STARTRX); in endrx_isr()
1557 nrf_uarte_shorts_disable(uarte, NRF_UARTE_SHORT_ENDRX_STARTRX); in endrx_isr()
1559 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STOPRX); in endrx_isr()
1582 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in rx_flush() local
1586 nrf_uarte_rx_buffer_set(uarte, config->rx_flush_buf, UARTE_HW_RX_FIFO_SIZE); in rx_flush()
1587 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_FLUSHRX); in rx_flush()
1588 while (!nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ENDRX)) { in rx_flush()
1591 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_ENDRX); in rx_flush()
1594 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_RXSTARTED); in rx_flush()
1595 rx_amount = nrf_uarte_rx_amount_get(uarte); in rx_flush()
1596 } else if (nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_RXSTARTED)) { in rx_flush()
1597 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_RXSTARTED); in rx_flush()
1598 rx_amount = nrf_uarte_rx_amount_get(uarte); in rx_flush()
1653 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in rxto_isr() local
1658 nrf_uarte_int_disable(uarte, NRF_UARTE_INT_RXTO_MASK); in rxto_isr()
1661 nrf_uarte_shorts_disable(uarte, NRF_UARTE_SHORT_FRAME_TIMEOUT_STOPRX); in rxto_isr()
1663 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_RXDRDY); in rxto_isr()
1680 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in txstopped_isr() local
1686 data->async->tx.amount : nrf_uarte_tx_amount_get(uarte); in txstopped_isr()
1689 nrf_uarte_int_disable(uarte, NRF_UARTE_INT_TXSTOPPED_MASK); in txstopped_isr()
1695 nrf_uarte_int_disable(uarte, NRF_UARTE_INT_TXSTOPPED_MASK); in txstopped_isr()
1750 nrf_uarte_int_disable(uarte, NRF_UARTE_INT_TXSTOPPED_MASK); in txstopped_isr()
1767 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in rxdrdy_isr() local
1771 nrf_uarte_int_disable(uarte, NRF_UARTE_INT_RXDRDY_MASK); in rxdrdy_isr()
1778 static bool event_check_clear(NRF_UARTE_Type *uarte, nrf_uarte_event_t event, in event_check_clear() argument
1781 if (nrf_uarte_event_check(uarte, event) && (int_mask & int_en_mask)) { in event_check_clear()
1782 nrf_uarte_event_clear(uarte, event); in event_check_clear()
1792 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_isr_async() local
1796 uint32_t imask = nrf_uarte_int_enable_check(uarte, UINT32_MAX); in uarte_nrfx_isr_async()
1799 && event_check_clear(uarte, NRF_UARTE_EVENT_RXDRDY, NRF_UARTE_INT_RXDRDY_MASK, imask)) { in uarte_nrfx_isr_async()
1804 if (event_check_clear(uarte, NRF_UARTE_EVENT_ERROR, NRF_UARTE_INT_ERROR_MASK, imask)) { in uarte_nrfx_isr_async()
1808 if (event_check_clear(uarte, NRF_UARTE_EVENT_ENDRX, NRF_UARTE_INT_ENDRX_MASK, imask)) { in uarte_nrfx_isr_async()
1809 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_ENDRX); in uarte_nrfx_isr_async()
1821 nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_RXSTARTED) && in uarte_nrfx_isr_async()
1822 !nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ENDRX)) { in uarte_nrfx_isr_async()
1823 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_RXSTARTED); in uarte_nrfx_isr_async()
1834 nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_RXTO) && in uarte_nrfx_isr_async()
1835 !nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ENDRX)) { in uarte_nrfx_isr_async()
1836 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_RXTO); in uarte_nrfx_isr_async()
1842 nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ENDTX)) { in uarte_nrfx_isr_async()
1847 nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_TXSTOPPED)) { in uarte_nrfx_isr_async()
1883 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_poll_in() local
1893 if (!nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ENDRX)) { in uarte_nrfx_poll_in()
1904 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_ENDRX); in uarte_nrfx_poll_in()
1905 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STARTRX); in uarte_nrfx_poll_in()
1921 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_poll_out() local
1931 data->async->tx.amount = nrf_uarte_tx_amount_get(uarte); in uarte_nrfx_poll_out()
1968 nrf_uarte_int_enable(uarte, NRF_UARTE_INT_TXSTOPPED_MASK); in uarte_nrfx_poll_out()
2014 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_fifo_read() local
2017 if (size > 0 && nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ENDRX)) { in uarte_nrfx_fifo_read()
2019 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_ENDRX); in uarte_nrfx_fifo_read()
2028 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STARTRX); in uarte_nrfx_fifo_read()
2037 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_irq_tx_enable() local
2048 nrf_uarte_int_enable(uarte, NRF_UARTE_INT_TXSTOPPED_MASK); in uarte_nrfx_irq_tx_enable()
2065 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_irq_tx_ready_complete() local
2074 nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_TXSTOPPED); in uarte_nrfx_irq_tx_ready_complete()
2085 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_irq_rx_ready() local
2087 return nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ENDRX); in uarte_nrfx_irq_rx_ready()
2093 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_irq_rx_enable() local
2095 nrf_uarte_int_enable(uarte, NRF_UARTE_INT_ENDRX_MASK); in uarte_nrfx_irq_rx_enable()
2101 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_irq_rx_disable() local
2103 nrf_uarte_int_disable(uarte, NRF_UARTE_INT_ENDRX_MASK); in uarte_nrfx_irq_rx_disable()
2109 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_irq_err_enable() local
2111 nrf_uarte_int_enable(uarte, NRF_UARTE_INT_ERROR_MASK); in uarte_nrfx_irq_err_enable()
2117 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_irq_err_disable() local
2119 nrf_uarte_int_disable(uarte, NRF_UARTE_INT_ERROR_MASK); in uarte_nrfx_irq_err_disable()
2125 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_nrfx_irq_is_pending() local
2127 return ((nrf_uarte_int_enable_check(uarte, in uarte_nrfx_irq_is_pending()
2131 (nrf_uarte_int_enable_check(uarte, in uarte_nrfx_irq_is_pending()
2189 static int endtx_stoptx_ppi_init(NRF_UARTE_Type *uarte, in endtx_stoptx_ppi_init() argument
2201 nrf_uarte_event_address_get(uarte, NRF_UARTE_EVENT_ENDTX), in endtx_stoptx_ppi_init()
2202 nrf_uarte_task_address_get(uarte, NRF_UARTE_TASK_STOPTX)); in endtx_stoptx_ppi_init()
2220 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in wait_for_tx_stopped() local
2229 nrf_uarte_int_disable(uarte, NRF_UARTE_INT_ENDTX_MASK); in wait_for_tx_stopped()
2231 if (!nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_TXSTOPPED)) { in wait_for_tx_stopped()
2233 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_ENDTX); in wait_for_tx_stopped()
2235 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STOPTX); in wait_for_tx_stopped()
2239 NRFX_WAIT_FOR(nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_TXSTOPPED), in wait_for_tx_stopped()
2243 nrf_uarte_int_enable(uarte, NRF_UARTE_INT_ENDTX_MASK); in wait_for_tx_stopped()
2260 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_pm_suspend() local
2286 __ASSERT_NO_MSG(nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_TXSTOPPED)); in uarte_pm_suspend()
2302 if (nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_RXSTARTED)) { in uarte_pm_suspend()
2306 nrf_uarte_int_enable_check(uarte, in uarte_pm_suspend()
2309 nrf_uarte_int_disable(uarte, NRF_UARTE_INT_ENDRX_MASK); in uarte_pm_suspend()
2313 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STOPRX); in uarte_pm_suspend()
2314 while (!nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_RXTO)) { in uarte_pm_suspend()
2318 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_RXSTARTED); in uarte_pm_suspend()
2319 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_RXTO); in uarte_pm_suspend()
2320 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_ENDRX); in uarte_pm_suspend()
2321 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_ERROR); in uarte_pm_suspend()
2331 nrf_uarte_disable(uarte); in uarte_pm_suspend()
2351 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_tx_path_init() local
2356 nrf_uarte_shorts_enable(uarte, NRF_UARTE_SHORT_ENDTX_STOPTX); in uarte_tx_path_init()
2363 err = endtx_stoptx_ppi_init(uarte, data); in uarte_tx_path_init()
2379 nrf_uarte_enable(uarte); in uarte_tx_path_init()
2380 nrf_uarte_tx_buffer_set(uarte, cfg->poll_out_byte, 0); in uarte_tx_path_init()
2381 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STARTTX); in uarte_tx_path_init()
2383 while (!nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ENDTX)) { in uarte_tx_path_init()
2385 nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_ENDTX); in uarte_tx_path_init()
2386 nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STOPTX); in uarte_tx_path_init()
2387 nrf_uarte_int_enable(uarte, NRF_UARTE_INT_ENDTX_MASK); in uarte_tx_path_init()
2389 while (!nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_TXSTOPPED)) { in uarte_tx_path_init()
2391 nrf_uarte_disable(uarte); in uarte_tx_path_init()
2413 NRF_UARTE_Type *uarte = get_uarte_instance(dev); in uarte_instance_init() local
2415 nrf_uarte_baudrate_set(uarte, cfg->nrf_baudrate); in uarte_instance_init()
2416 nrf_uarte_configure(uarte, &cfg->hw_config); in uarte_instance_init()
2521 uarte##idx##_tx_cache[CONFIG_UART_ASYNC_TX_CACHE_SIZE] \
2523 static uint8_t uarte##idx##_flush_buf[UARTE_HW_RX_FIFO_SIZE] \
2525 struct uarte_async_cb uarte##idx##_async;)) \
2526 static uint8_t uarte##idx##_poll_out_byte DMM_MEMORY_SECTION(UARTE(idx));\
2527 static uint8_t uarte##idx##_poll_in_byte DMM_MEMORY_SECTION(UARTE(idx)); \
2532 (.async = &uarte##idx##_async,)) \
2534 (.int_driven = &uarte##idx##_int_driven,)) \
2560 .poll_out_byte = &uarte##idx##_poll_out_byte, \
2561 .poll_in_byte = &uarte##idx##_poll_in_byte, \
2563 (.tx_cache = uarte##idx##_tx_cache, \
2564 .rx_flush_buf = uarte##idx##_flush_buf,)) \
2601 (static uint8_t uarte##idx##_tx_buffer \
2606 uarte##idx##_int_driven = { \
2607 .tx_buffer = uarte##idx##_tx_buffer, \
2608 .tx_buff_size = sizeof(uarte##idx##_tx_buffer),\