Lines Matching refs:p_cb
217 static void spim_abort(NRF_SPIM_Type * p_spim, spim_control_block_t * p_cb) in spim_abort() argument
227 p_cb->transfer_in_progress = false; in spim_abort()
229 if (p_cb->disable_on_xfer_end) in spim_abort()
272 spim_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in configure_pins() local
274 p_cb->ss_active_high = p_config->ss_active_high; in configure_pins()
474 spim_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in spim_configure() local
494 p_cb->apply_errata_8_212 = 1; in spim_configure()
498 p_cb->apply_errata_8_212 = 0; in spim_configure()
505 p_cb->skip_gpio_cfg = p_config->skip_gpio_cfg; in spim_configure()
511 p_cb->ss_pin = NRF_SPIM_PIN_NOT_CONNECTED; in spim_configure()
516 p_cb->ss_pin = p_config->ss_pin; in spim_configure()
517 p_cb->ss_active_high = p_config->ss_active_high; in spim_configure()
589 spim_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_spim_init() local
592 if (p_cb->state != NRFX_DRV_STATE_UNINITIALIZED) in nrfx_spim_init()
628 p_cb->handler = handler; in nrfx_spim_init()
629 p_cb->p_context = p_context; in nrfx_spim_init()
636 p_cb->transfer_in_progress = false; in nrfx_spim_init()
637 p_cb->state = NRFX_DRV_STATE_INITIALIZED; in nrfx_spim_init()
649 spim_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_spim_reconfigure() local
651 if (p_cb->state == NRFX_DRV_STATE_UNINITIALIZED) in nrfx_spim_reconfigure()
655 if (p_cb->transfer_in_progress) in nrfx_spim_reconfigure()
682 spim_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_spim_uninit() local
684 NRFX_ASSERT(p_cb->state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_spim_uninit()
687 if (p_cb->handler) in nrfx_spim_uninit()
690 spim_abort(p_instance->p_reg, p_cb); in nrfx_spim_uninit()
696 if (!p_cb->skip_gpio_cfg) in nrfx_spim_uninit()
701 spim_pin_uninit(p_cb->ss_pin); in nrfx_spim_uninit()
729 p_cb->state = NRFX_DRV_STATE_UNINITIALIZED; in nrfx_spim_uninit()
735 spim_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_spim_init_check() local
737 return (p_cb->state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_spim_init_check()
755 static void set_ss_pin_state(spim_control_block_t * p_cb, bool active) in set_ss_pin_state() argument
757 if (p_cb->ss_pin != NRF_SPIM_PIN_NOT_CONNECTED) in set_ss_pin_state()
759 if (p_cb->ss_active_high) in set_ss_pin_state()
763 nrfy_gpio_pin_set(p_cb->ss_pin); in set_ss_pin_state()
767 nrfy_gpio_pin_clear(p_cb->ss_pin); in set_ss_pin_state()
774 nrfy_gpio_pin_clear(p_cb->ss_pin); in set_ss_pin_state()
778 nrfy_gpio_pin_set(p_cb->ss_pin); in set_ss_pin_state()
784 static void finish_transfer(NRF_SPIM_Type * p_spim, spim_control_block_t * p_cb) in finish_transfer() argument
787 set_ss_pin_state(p_cb, false); in finish_transfer()
791 if (p_cb->transfer_in_progress) in finish_transfer()
793 spim_abort(p_spim, p_cb); in finish_transfer()
796 p_cb->evt.type = NRFX_SPIM_EVENT_DONE; in finish_transfer()
797 p_cb->handler(&p_cb->evt, p_cb->p_context); in finish_transfer()
801 spim_control_block_t * p_cb, in spim_xfer() argument
813 p_cb->transfer_in_progress = false; in spim_xfer()
847 p_cb->disable_on_xfer_end = (flags & (NRFX_SPIM_FLAG_NO_XFER_EVT_HANDLER | in spim_xfer()
854 if (apply_errata_nrf54l_8_nrf54h_212() && p_cb->apply_errata_8_212) in spim_xfer()
857 if (p_cb->handler) in spim_xfer()
867 nrfy_spim_xfer_start(p_spim, p_cb->handler ? NULL : &xfer_desc); in spim_xfer()
870 if (!p_cb->handler) in spim_xfer()
873 if (apply_errata_nrf54l_8_nrf54h_212() && p_cb->apply_errata_8_212) in spim_xfer()
885 set_ss_pin_state(p_cb, false); in spim_xfer()
888 spim_abort(p_spim, p_cb); in spim_xfer()
911 spim_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_spim_xfer() local
913 NRFX_ASSERT(p_cb->state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_spim_xfer()
920 (p_cb->ss_pin == NRF_SPIM_PIN_NOT_CONNECTED)); in nrfx_spim_xfer()
935 if (p_cb->transfer_in_progress) in nrfx_spim_xfer()
945 if (p_cb->handler && !(flags & (NRFX_SPIM_FLAG_REPEATED_XFER | in nrfx_spim_xfer()
948 p_cb->transfer_in_progress = true; in nrfx_spim_xfer()
952 p_cb->evt.xfer_desc = *p_xfer_desc; in nrfx_spim_xfer()
954 set_ss_pin_state(p_cb, true); in nrfx_spim_xfer()
956 return spim_xfer(p_instance->p_reg, p_cb, p_xfer_desc, flags); in nrfx_spim_xfer()
961 spim_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_spim_abort() local
963 NRFX_ASSERT(p_cb->state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_spim_abort()
965 spim_abort(p_instance->p_reg, p_cb); in nrfx_spim_abort()
968 static void irq_handler(NRF_SPIM_Type * p_spim, spim_control_block_t * p_cb) in irq_handler() argument
971 if (apply_errata_nrf54l_8_nrf54h_212() && p_cb->apply_errata_8_212) in irq_handler()
998 nrfy_spim_buffers_set(p_spim, &p_cb->evt.xfer_desc); in irq_handler()
1006 &p_cb->evt.xfer_desc)) in irq_handler()
1014 NRFX_ASSERT(p_cb->handler); in irq_handler()
1016 finish_transfer(p_spim, p_cb); in irq_handler()