Lines Matching refs:p_instance
62 #define TIMER_FREQUENCY_VALID_CHECK(p_instance, frequency) \ argument
63 ((NRFX_TIMER_BASE_FREQUENCY_GET(p_instance) % (frequency) == 0) && \
64 NRFX_IS_POWER_OF_TWO(NRFX_TIMER_BASE_FREQUENCY_GET(p_instance) / (frequency)) && \
65 ((NRFX_TIMER_BASE_FREQUENCY_GET(p_instance) / (frequency)) <= \
81 static uint32_t prescaler_calculate(nrfx_timer_t const * p_instance, uint32_t frequency) in prescaler_calculate() argument
83 (void)p_instance; in prescaler_calculate()
84 uint32_t base_frequency = NRFX_TIMER_BASE_FREQUENCY_GET(p_instance); in prescaler_calculate()
86 if (!TIMER_FREQUENCY_VALID_CHECK(p_instance, frequency)) in prescaler_calculate()
93 static nrfx_err_t timer_configure(nrfx_timer_t const * p_instance, in timer_configure() argument
98 prescaler = prescaler_calculate(p_instance, p_config->frequency); in timer_configure()
112 nrfy_timer_periph_configure(p_instance->p_reg, &nrfy_config); in timer_configure()
113 nrfy_timer_int_init(p_instance->p_reg, in timer_configure()
120 nrfx_err_t nrfx_timer_init(nrfx_timer_t const * p_instance, in nrfx_timer_init() argument
126 timer_control_block_t * p_cb = &m_cb[p_instance->instance_id]; in nrfx_timer_init()
148 NRFX_ASSERT(NRF_TIMER_IS_BIT_WIDTH_VALID(p_instance->p_reg, p_config->bit_width)); in nrfx_timer_init()
150 err_code = timer_configure(p_instance, p_config); in nrfx_timer_init()
164 nrfx_err_t nrfx_timer_reconfigure(nrfx_timer_t const * p_instance, in nrfx_timer_reconfigure() argument
168 NRFX_ASSERT(NRF_TIMER_IS_BIT_WIDTH_VALID(p_instance->p_reg, p_config->bit_width)); in nrfx_timer_reconfigure()
170 timer_control_block_t * p_cb = &m_cb[p_instance->instance_id]; in nrfx_timer_reconfigure()
182 nrfx_err_t err_code = timer_configure(p_instance, p_config); in nrfx_timer_reconfigure()
186 void nrfx_timer_uninit(nrfx_timer_t const * p_instance) in nrfx_timer_uninit() argument
188 NRFX_ASSERT(m_cb[p_instance->instance_id].state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_timer_uninit()
190 nrfy_timer_int_uninit(p_instance->p_reg); in nrfx_timer_uninit()
192 nrfy_timer_shorts_disable(p_instance->p_reg, ~0UL); in nrfx_timer_uninit()
193 nrfy_timer_int_disable(p_instance->p_reg, ~0UL); in nrfx_timer_uninit()
195 nrfx_timer_disable(p_instance); in nrfx_timer_uninit()
197 m_cb[p_instance->instance_id].state = NRFX_DRV_STATE_UNINITIALIZED; in nrfx_timer_uninit()
198 NRFX_LOG_INFO("Uninitialized instance: %d.", p_instance->instance_id); in nrfx_timer_uninit()
201 bool nrfx_timer_init_check(nrfx_timer_t const * p_instance) in nrfx_timer_init_check() argument
203 timer_control_block_t * p_cb = &m_cb[p_instance->instance_id]; in nrfx_timer_init_check()
208 void nrfx_timer_enable(nrfx_timer_t const * p_instance) in nrfx_timer_enable() argument
210 NRFX_ASSERT(m_cb[p_instance->instance_id].state == NRFX_DRV_STATE_INITIALIZED); in nrfx_timer_enable()
212 nrfy_timer_task_trigger(p_instance->p_reg, NRF_TIMER_TASK_START); in nrfx_timer_enable()
213 m_cb[p_instance->instance_id].state = NRFX_DRV_STATE_POWERED_ON; in nrfx_timer_enable()
214 NRFX_LOG_INFO("Enabled instance: %d.", p_instance->instance_id); in nrfx_timer_enable()
217 void nrfx_timer_disable(nrfx_timer_t const * p_instance) in nrfx_timer_disable() argument
219 NRFX_ASSERT(m_cb[p_instance->instance_id].state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_timer_disable()
222 nrfy_timer_task_trigger(p_instance->p_reg, NRF_TIMER_TASK_SHUTDOWN); in nrfx_timer_disable()
224 nrfy_timer_task_trigger(p_instance->p_reg, NRF_TIMER_TASK_STOP); in nrfx_timer_disable()
225 nrfy_timer_task_trigger(p_instance->p_reg, NRF_TIMER_TASK_CLEAR); in nrfx_timer_disable()
227 m_cb[p_instance->instance_id].state = NRFX_DRV_STATE_INITIALIZED; in nrfx_timer_disable()
228 NRFX_LOG_INFO("Disabled instance: %d.", p_instance->instance_id); in nrfx_timer_disable()
231 bool nrfx_timer_is_enabled(nrfx_timer_t const * p_instance) in nrfx_timer_is_enabled() argument
233 NRFX_ASSERT(m_cb[p_instance->instance_id].state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_timer_is_enabled()
235 return (m_cb[p_instance->instance_id].state == NRFX_DRV_STATE_POWERED_ON); in nrfx_timer_is_enabled()
238 void nrfx_timer_resume(nrfx_timer_t const * p_instance) in nrfx_timer_resume() argument
240 NRFX_ASSERT(m_cb[p_instance->instance_id].state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_timer_resume()
242 nrfy_timer_task_trigger(p_instance->p_reg, NRF_TIMER_TASK_START); in nrfx_timer_resume()
243 NRFX_LOG_INFO("Resumed instance: %d.", p_instance->instance_id); in nrfx_timer_resume()
246 void nrfx_timer_pause(nrfx_timer_t const * p_instance) in nrfx_timer_pause() argument
248 NRFX_ASSERT(m_cb[p_instance->instance_id].state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_timer_pause()
250 nrfy_timer_task_trigger(p_instance->p_reg, NRF_TIMER_TASK_STOP); in nrfx_timer_pause()
251 NRFX_LOG_INFO("Paused instance: %d.", p_instance->instance_id); in nrfx_timer_pause()
254 void nrfx_timer_clear(nrfx_timer_t const * p_instance) in nrfx_timer_clear() argument
256 NRFX_ASSERT(m_cb[p_instance->instance_id].state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_timer_clear()
258 nrfy_timer_task_trigger(p_instance->p_reg, NRF_TIMER_TASK_CLEAR); in nrfx_timer_clear()
261 void nrfx_timer_increment(nrfx_timer_t const * p_instance) in nrfx_timer_increment() argument
263 NRFX_ASSERT(m_cb[p_instance->instance_id].state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_timer_increment()
264 NRFX_ASSERT(nrfy_timer_mode_get(p_instance->p_reg) != NRF_TIMER_MODE_TIMER); in nrfx_timer_increment()
266 nrfy_timer_task_trigger(p_instance->p_reg, NRF_TIMER_TASK_COUNT); in nrfx_timer_increment()
269 uint32_t nrfx_timer_capture(nrfx_timer_t const * p_instance, nrf_timer_cc_channel_t cc_channel) in nrfx_timer_capture() argument
271 NRFX_ASSERT(m_cb[p_instance->instance_id].state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_timer_capture()
272 NRFX_ASSERT(cc_channel < p_instance->cc_channel_count); in nrfx_timer_capture()
274 return nrfy_timer_capture_get(p_instance->p_reg, cc_channel); in nrfx_timer_capture()
277 uint32_t nrfx_timer_us_to_ticks(nrfx_timer_t const * p_instance, uint32_t time_us) in nrfx_timer_us_to_ticks() argument
279 uint32_t prescaler = nrfy_timer_prescaler_get(p_instance->p_reg); in nrfx_timer_us_to_ticks()
280 uint32_t freq_base_mhz = NRFX_TIMER_BASE_FREQUENCY_GET(p_instance) / 1000000; in nrfx_timer_us_to_ticks()
285 uint32_t nrfx_timer_ms_to_ticks(nrfx_timer_t const * p_instance, uint32_t time_ms) in nrfx_timer_ms_to_ticks() argument
287 uint32_t prescaler = nrfy_timer_prescaler_get(p_instance->p_reg); in nrfx_timer_ms_to_ticks()
288 uint32_t freq_base_khz = NRFX_TIMER_BASE_FREQUENCY_GET(p_instance) / 1000; in nrfx_timer_ms_to_ticks()
293 void nrfx_timer_compare(nrfx_timer_t const * p_instance, in nrfx_timer_compare() argument
298 NRFX_ASSERT(m_cb[p_instance->instance_id].state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_timer_compare()
304 nrfy_timer_event_clear(p_instance->p_reg, nrfy_timer_compare_event_get(cc_channel)); in nrfx_timer_compare()
305 nrfy_timer_int_enable(p_instance->p_reg, timer_int); in nrfx_timer_compare()
309 nrfy_timer_int_disable(p_instance->p_reg, timer_int); in nrfx_timer_compare()
312 nrfy_timer_cc_set(p_instance->p_reg, cc_channel, cc_value); in nrfx_timer_compare()
314 p_instance->instance_id, in nrfx_timer_compare()
319 void nrfx_timer_extended_compare(nrfx_timer_t const * p_instance, in nrfx_timer_extended_compare() argument
325 NRFX_ASSERT(m_cb[p_instance->instance_id].state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_timer_extended_compare()
327 nrfy_timer_shorts_disable(p_instance->p_reg, in nrfx_timer_extended_compare()
331 nrfy_timer_shorts_enable(p_instance->p_reg, timer_short_mask); in nrfx_timer_extended_compare()
333 nrfx_timer_compare(p_instance, in nrfx_timer_extended_compare()
338 p_instance->instance_id, in nrfx_timer_extended_compare()
343 void nrfx_timer_compare_int_enable(nrfx_timer_t const * p_instance, uint32_t channel) in nrfx_timer_compare_int_enable() argument
345 NRFX_ASSERT(m_cb[p_instance->instance_id].state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_timer_compare_int_enable()
346 NRFX_ASSERT(channel < p_instance->cc_channel_count); in nrfx_timer_compare_int_enable()
348 nrfy_timer_event_clear(p_instance->p_reg, nrfy_timer_compare_event_get((uint8_t)channel)); in nrfx_timer_compare_int_enable()
349 nrfy_timer_int_enable(p_instance->p_reg, nrfy_timer_compare_int_get((uint8_t)channel)); in nrfx_timer_compare_int_enable()
352 void nrfx_timer_compare_int_disable(nrfx_timer_t const * p_instance, uint32_t channel) in nrfx_timer_compare_int_disable() argument
354 NRFX_ASSERT(m_cb[p_instance->instance_id].state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_timer_compare_int_disable()
355 NRFX_ASSERT(channel < p_instance->cc_channel_count); in nrfx_timer_compare_int_disable()
357 nrfy_timer_int_disable(p_instance->p_reg, nrfy_timer_compare_int_get((uint8_t)channel)); in nrfx_timer_compare_int_disable()