| 1234567891011121314151617181920212223242526272829303132 |
- /*
- * SPDX-FileCopyrightText: 2019-2022 Espressif Systems (Shanghai) CO LTD
- *
- * SPDX-License-Identifier: Apache-2.0
- */
- #include "hal/rmt_hal.h"
- #include "hal/rmt_ll.h"
- #include "soc/soc_caps.h"
- void rmt_hal_init(rmt_hal_context_t *hal)
- {
- hal->regs = &RMT;
- }
- void rmt_hal_tx_channel_reset(rmt_hal_context_t *hal, uint32_t channel)
- {
- rmt_ll_tx_reset_channels_clock_div(hal->regs, 1 << channel);
- rmt_ll_tx_reset_pointer(hal->regs, channel);
- #if SOC_RMT_SUPPORT_TX_LOOP_COUNT
- rmt_ll_tx_reset_loop_count(hal->regs, channel);
- #endif // SOC_RMT_SUPPORT_TX_LOOP_COUNT
- rmt_ll_enable_interrupt(hal->regs, RMT_LL_EVENT_TX_MASK(channel), false);
- rmt_ll_clear_interrupt_status(hal->regs, RMT_LL_EVENT_TX_MASK(channel));
- }
- void rmt_hal_rx_channel_reset(rmt_hal_context_t *hal, uint32_t channel)
- {
- rmt_ll_rx_reset_channels_clock_div(hal->regs, 1 << channel);
- rmt_ll_rx_reset_pointer(hal->regs, channel);
- rmt_ll_enable_interrupt(hal->regs, RMT_LL_EVENT_RX_MASK(channel), false);
- rmt_ll_clear_interrupt_status(hal->regs, RMT_LL_EVENT_RX_MASK(channel));
- }
|