Lines Matching full:hal

16 #include "hal/mcpwm_hal.h"
17 #include "hal/gpio_hal.h"
18 #include "hal/mcpwm_ll.h"
73 …ESP_RETURN_ON_FALSE(context[mcpwm_num].hal.dev, ESP_ERR_INVALID_STATE, TAG, MCPWM_DRIVER_INIT_ERRO…
88 mcpwm_hal_context_t hal; member
100 .hal = {MCPWM_LL_GET_HW(0)},
106 .hal = {MCPWM_LL_GET_HW(1)},
193 …mcpwm_ll_timer_set_start_stop_command(context[mcpwm_num].hal.dev, timer_num, MCPWM_TIMER_START_NO_… in mcpwm_start()
203 …mcpwm_ll_timer_set_start_stop_command(context[mcpwm_num].hal.dev, timer_num, MCPWM_TIMER_STOP_EMPT… in mcpwm_stop()
226 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_group_set_resolution() local
235 mcpwm_ll_group_set_clock_prescale(hal->dev, pre_scale_temp); in mcpwm_group_set_resolution()
244 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_timer_set_resolution() local
252 mcpwm_ll_timer_set_clock_prescale(hal->dev, timer_num, pre_scale_temp); in mcpwm_timer_set_resolution()
262 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_set_frequency() local
266 mcpwm_ll_timer_update_period_at_once(hal->dev, timer_num); in mcpwm_set_frequency()
267 uint32_t previous_peak = mcpwm_ll_timer_get_peak(hal->dev, timer_num, false); in mcpwm_set_frequency()
270 mcpwm_ll_timer_set_peak(hal->dev, timer_num, new_peak, false); in mcpwm_set_frequency()
274 uint32_t previous_cmp_a = mcpwm_ll_operator_get_compare_value(hal->dev, op, 0); in mcpwm_set_frequency()
275 uint32_t previous_cmp_b = mcpwm_ll_operator_get_compare_value(hal->dev, op, 1); in mcpwm_set_frequency()
277 mcpwm_ll_operator_update_compare_at_once(hal->dev, op, 0); in mcpwm_set_frequency()
278 mcpwm_ll_operator_update_compare_at_once(hal->dev, op, 1); in mcpwm_set_frequency()
279 mcpwm_ll_operator_set_compare_value(hal->dev, op, 0, (uint32_t)(previous_cmp_a * scale)); in mcpwm_set_frequency()
280 mcpwm_ll_operator_set_compare_value(hal->dev, op, 1, (uint32_t)(previous_cmp_b * scale)); in mcpwm_set_frequency()
293 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_set_duty() local
296 uint32_t set_duty = mcpwm_ll_timer_get_peak(hal->dev, timer_num, false) * duty / 100; in mcpwm_set_duty()
297 mcpwm_ll_operator_set_compare_value(hal->dev, op, cmp, set_duty); in mcpwm_set_duty()
298 mcpwm_ll_operator_enable_update_compare_on_tez(hal->dev, op, cmp, true); in mcpwm_set_duty()
299 mcpwm_ll_operator_enable_update_compare_on_tep(hal->dev, op, cmp, true); in mcpwm_set_duty()
311 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_set_duty_in_us() local
317 mcpwm_ll_operator_set_compare_value(hal->dev, op, cmp, (uint32_t)compare_val); in mcpwm_set_duty_in_us()
318 mcpwm_ll_operator_enable_update_compare_on_tez(hal->dev, op, cmp, true); in mcpwm_set_duty_in_us()
319 mcpwm_ll_operator_enable_update_compare_on_tep(hal->dev, op, cmp, true); in mcpwm_set_duty_in_us()
331 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_set_duty_type() local
335 switch (mcpwm_ll_timer_get_count_mode(hal->dev, timer_num)) { in mcpwm_set_duty_type()
338 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, MCPWM_TI… in mcpwm_set_duty_type()
339 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, MCPWM_TI… in mcpwm_set_duty_type()
340 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, gen, M… in mcpwm_set_duty_type()
342 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, MCPWM_TI… in mcpwm_set_duty_type()
343 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, MCPWM_TI… in mcpwm_set_duty_type()
344 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, gen, M… in mcpwm_set_duty_type()
346 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, MCPWM_TI… in mcpwm_set_duty_type()
347 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, MCPWM_TI… in mcpwm_set_duty_type()
348 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, gen, M… in mcpwm_set_duty_type()
350 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, MCPWM_TI… in mcpwm_set_duty_type()
351 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, MCPWM_TI… in mcpwm_set_duty_type()
352 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, gen, M… in mcpwm_set_duty_type()
357 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_… in mcpwm_set_duty_type()
358 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_… in mcpwm_set_duty_type()
359 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, gen,… in mcpwm_set_duty_type()
361 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_… in mcpwm_set_duty_type()
362 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_… in mcpwm_set_duty_type()
363 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, gen,… in mcpwm_set_duty_type()
365 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_… in mcpwm_set_duty_type()
366 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_… in mcpwm_set_duty_type()
367 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, gen,… in mcpwm_set_duty_type()
369 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_… in mcpwm_set_duty_type()
370 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_… in mcpwm_set_duty_type()
371 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, gen,… in mcpwm_set_duty_type()
376 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, MCPWM_TI… in mcpwm_set_duty_type()
377 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, gen, M… in mcpwm_set_duty_type()
378 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, gen,… in mcpwm_set_duty_type()
380 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, MCPWM_TI… in mcpwm_set_duty_type()
381 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, gen, M… in mcpwm_set_duty_type()
382 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, gen,… in mcpwm_set_duty_type()
384 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_… in mcpwm_set_duty_type()
385 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_… in mcpwm_set_duty_type()
386 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, MCPWM_TI… in mcpwm_set_duty_type()
387 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, MCPWM_TI… in mcpwm_set_duty_type()
388 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, gen,… in mcpwm_set_duty_type()
389 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, gen, M… in mcpwm_set_duty_type()
391 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_… in mcpwm_set_duty_type()
392 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_… in mcpwm_set_duty_type()
393 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, MCPWM_TI… in mcpwm_set_duty_type()
394 …mcpwm_ll_generator_set_action_on_timer_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, MCPWM_TI… in mcpwm_set_duty_type()
395 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_DOWN, gen,… in mcpwm_set_duty_type()
396 …mcpwm_ll_generator_set_action_on_compare_event(hal->dev, op, gen, MCPWM_TIMER_DIRECTION_UP, gen, M… in mcpwm_set_duty_type()
410 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_init() local
415 mcpwm_hal_init(hal, &config); in mcpwm_init()
425 mcpwm_ll_group_enable_clock(hal->dev, true); in mcpwm_init()
426 mcpwm_ll_group_set_clock_source(hal->dev, (soc_module_clk_t)MCPWM_CAPTURE_CLK_SRC_DEFAULT); in mcpwm_init()
427 mcpwm_ll_group_set_clock_prescale(hal->dev, group_pre_scale); in mcpwm_init()
428 mcpwm_ll_timer_set_clock_prescale(hal->dev, timer_num, timer_pre_scale); in mcpwm_init()
429 mcpwm_ll_timer_set_count_mode(hal->dev, timer_num, mcpwm_conf->counter_mode); in mcpwm_init()
430 mcpwm_ll_timer_update_period_at_once(hal->dev, timer_num); in mcpwm_init()
431 mcpwm_ll_timer_set_peak(hal->dev, timer_num, timer_resolution / mcpwm_conf->frequency, false); in mcpwm_init()
432 …mcpwm_ll_operator_connect_timer(hal->dev, timer_num, timer_num); //the driver currently always use… in mcpwm_init()
453 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_get_frequency() local
455 uint32_t peak = mcpwm_ll_timer_get_peak(hal->dev, timer_num, false); in mcpwm_get_frequency()
469 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_get_duty() local
471 … duty = 100.0 * mcpwm_ll_operator_get_compare_value(hal->dev, op, gen) / mcpwm_ll_timer_get_peak(h… in mcpwm_get_duty()
487 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_get_duty_in_us() local
489 …uint32_t duty = mcpwm_ll_operator_get_compare_value(hal->dev, op, gen) * (1000000.0 / timer_resolu… in mcpwm_get_duty_in_us()
513 mcpwm_ll_carrier_enable(context[mcpwm_num].hal.dev, op, true); in mcpwm_carrier_enable()
525 mcpwm_ll_carrier_enable(context[mcpwm_num].hal.dev, op, false); in mcpwm_carrier_disable()
537 mcpwm_ll_carrier_set_prescale(context[mcpwm_num].hal.dev, op, carrier_period + 1); in mcpwm_carrier_set_period()
549 mcpwm_ll_carrier_set_duty(context[mcpwm_num].hal.dev, op, carrier_duty); in mcpwm_carrier_set_duty_cycle()
561 mcpwm_ll_carrier_set_first_pulse_width(context[mcpwm_num].hal.dev, op, pulse_width + 1); in mcpwm_carrier_oneshot_mode_enable()
574 mcpwm_ll_carrier_out_invert(context[mcpwm_num].hal.dev, op, carrier_ivt_mode); in mcpwm_carrier_output_invert()
584 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_carrier_init() local
593 mcpwm_ll_carrier_in_invert(hal->dev, op, false); in mcpwm_carrier_init()
606 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_deadtime_enable() local
609 mcpwm_ll_deadtime_enable_update_delay_on_tez(hal->dev, op, true); in mcpwm_deadtime_enable()
611 mcpwm_ll_operator_set_deadtime_clock_src(hal->dev, op, MCPWM_LL_DEADTIME_CLK_SRC_GROUP); in mcpwm_deadtime_enable()
612 mcpwm_ll_deadtime_set_rising_delay(hal->dev, op, red + 1); in mcpwm_deadtime_enable()
613 mcpwm_ll_deadtime_set_falling_delay(hal->dev, op, fed + 1); in mcpwm_deadtime_enable()
616 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 1, false); // S0=0 in mcpwm_deadtime_enable()
617 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 0, true); // S1=1 in mcpwm_deadtime_enable()
618 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 0, false); // S2=0 in mcpwm_deadtime_enable()
619 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 1, false); // S3=0 in mcpwm_deadtime_enable()
620 mcpwm_ll_deadtime_red_select_generator(hal->dev, op, 0); // S4=0 in mcpwm_deadtime_enable()
621 mcpwm_ll_deadtime_fed_select_generator(hal->dev, op, 0); // S5=0 in mcpwm_deadtime_enable()
624 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 1, true); // S0=1 in mcpwm_deadtime_enable()
625 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 0, false); // S1=0 in mcpwm_deadtime_enable()
626 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 0, false); // S2=0 in mcpwm_deadtime_enable()
627 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 1, false); // S3=0 in mcpwm_deadtime_enable()
628 mcpwm_ll_deadtime_red_select_generator(hal->dev, op, 0); // S4=0 in mcpwm_deadtime_enable()
629 mcpwm_ll_deadtime_fed_select_generator(hal->dev, op, 0); // S5=0 in mcpwm_deadtime_enable()
632 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 1, false); // S0=0 in mcpwm_deadtime_enable()
633 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 0, false); // S1=0 in mcpwm_deadtime_enable()
634 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 0, false); // S2=0 in mcpwm_deadtime_enable()
635 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 1, false); // S3=0 in mcpwm_deadtime_enable()
636 mcpwm_ll_deadtime_red_select_generator(hal->dev, op, 0); // S4=0 in mcpwm_deadtime_enable()
637 mcpwm_ll_deadtime_fed_select_generator(hal->dev, op, 0); // S5=0 in mcpwm_deadtime_enable()
640 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 1, false); // S0=0 in mcpwm_deadtime_enable()
641 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 0, false); // S1=0 in mcpwm_deadtime_enable()
642 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 0, true); // S2=1 in mcpwm_deadtime_enable()
643 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 1, true); // S3=1 in mcpwm_deadtime_enable()
644 mcpwm_ll_deadtime_red_select_generator(hal->dev, op, 0); // S4=0 in mcpwm_deadtime_enable()
645 mcpwm_ll_deadtime_fed_select_generator(hal->dev, op, 0); // S5=0 in mcpwm_deadtime_enable()
648 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 1, false); // S0=0 in mcpwm_deadtime_enable()
649 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 0, false); // S1=0 in mcpwm_deadtime_enable()
650 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 0, false); // S2=0 in mcpwm_deadtime_enable()
651 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 1, true); // S3=1 in mcpwm_deadtime_enable()
652 mcpwm_ll_deadtime_red_select_generator(hal->dev, op, 0); // S4=0 in mcpwm_deadtime_enable()
653 mcpwm_ll_deadtime_fed_select_generator(hal->dev, op, 0); // S5=0 in mcpwm_deadtime_enable()
656 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 1, false); // S0=0 in mcpwm_deadtime_enable()
657 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 0, false); // S1=0 in mcpwm_deadtime_enable()
658 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 0, true); // S2=1 in mcpwm_deadtime_enable()
659 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 1, false); // S3=0 in mcpwm_deadtime_enable()
660 mcpwm_ll_deadtime_red_select_generator(hal->dev, op, 0); // S4=0 in mcpwm_deadtime_enable()
661 mcpwm_ll_deadtime_fed_select_generator(hal->dev, op, 0); // S5=0 in mcpwm_deadtime_enable()
664 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 1, false); // S0=0 in mcpwm_deadtime_enable()
665 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 1, false); // S3=0 in mcpwm_deadtime_enable()
666 mcpwm_ll_deadtime_red_select_generator(hal->dev, op, 0); // S4=0 in mcpwm_deadtime_enable()
667 mcpwm_ll_deadtime_swap_out_path(hal->dev, op, 0, true); // S6=1 in mcpwm_deadtime_enable()
668 mcpwm_ll_deadtime_swap_out_path(hal->dev, op, 1, false); // S7=0 in mcpwm_deadtime_enable()
669 mcpwm_ll_deadtime_enable_deb(hal->dev, op, true); // S8=1 in mcpwm_deadtime_enable()
672 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 1, false); // S0=0 in mcpwm_deadtime_enable()
673 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 1, false); // S3=0 in mcpwm_deadtime_enable()
674 mcpwm_ll_deadtime_red_select_generator(hal->dev, op, 1); // S4=1 in mcpwm_deadtime_enable()
675 mcpwm_ll_deadtime_swap_out_path(hal->dev, op, 0, true); // S6=1 in mcpwm_deadtime_enable()
676 mcpwm_ll_deadtime_swap_out_path(hal->dev, op, 1, false); // S7=0 in mcpwm_deadtime_enable()
677 mcpwm_ll_deadtime_enable_deb(hal->dev, op, true); // S8=1 in mcpwm_deadtime_enable()
691 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_deadtime_disable() local
694 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 1, true); // S0 in mcpwm_deadtime_disable()
695 mcpwm_ll_deadtime_bypass_path(hal->dev, op, 0, true); // S1 in mcpwm_deadtime_disable()
696 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 0, false); // S2 in mcpwm_deadtime_disable()
697 mcpwm_ll_deadtime_invert_outpath(hal->dev, op, 1, false); // S3 in mcpwm_deadtime_disable()
698 mcpwm_ll_deadtime_red_select_generator(hal->dev, op, 0); // S4 in mcpwm_deadtime_disable()
699 mcpwm_ll_deadtime_fed_select_generator(hal->dev, op, 0); // S5 in mcpwm_deadtime_disable()
700 mcpwm_ll_deadtime_swap_out_path(hal->dev, op, 0, false); // S6 in mcpwm_deadtime_disable()
701 mcpwm_ll_deadtime_swap_out_path(hal->dev, op, 1, false); // S7 in mcpwm_deadtime_disable()
702 mcpwm_ll_deadtime_enable_deb(hal->dev, op, false); // S8 in mcpwm_deadtime_disable()
710 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_fault_init() local
713 mcpwm_ll_fault_enable_detection(hal->dev, fault_sig, true); in mcpwm_fault_init()
714 mcpwm_ll_fault_set_active_level(hal->dev, fault_sig, intput_level); in mcpwm_fault_init()
722 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_fault_deinit() local
725 mcpwm_ll_fault_enable_detection(hal->dev, fault_sig, false); in mcpwm_fault_deinit()
727 … mcpwm_ll_brake_clear_ost(hal->dev, i); // make sure operator has exit the ost fault state totally in mcpwm_fault_deinit()
739 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_fault_set_cyc_mode() local
742 mcpwm_ll_brake_enable_cbc_mode(hal->dev, op, fault_sig, true); in mcpwm_fault_set_cyc_mode()
743 mcpwm_ll_brake_enable_cbc_refresh_on_tez(hal->dev, op, true); in mcpwm_fault_set_cyc_mode()
744 mcpwm_ll_brake_enable_oneshot_mode(hal->dev, op, fault_sig, false); in mcpwm_fault_set_cyc_mode()
745 …mcpwm_ll_generator_set_action_on_brake_event(hal->dev, op, 0, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_OP… in mcpwm_fault_set_cyc_mode()
746 …mcpwm_ll_generator_set_action_on_brake_event(hal->dev, op, 0, MCPWM_TIMER_DIRECTION_UP, MCPWM_OPER… in mcpwm_fault_set_cyc_mode()
747 …mcpwm_ll_generator_set_action_on_brake_event(hal->dev, op, 1, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_OP… in mcpwm_fault_set_cyc_mode()
748 …mcpwm_ll_generator_set_action_on_brake_event(hal->dev, op, 1, MCPWM_TIMER_DIRECTION_UP, MCPWM_OPER… in mcpwm_fault_set_cyc_mode()
759 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_fault_set_oneshot_mode() local
762 mcpwm_ll_brake_clear_ost(hal->dev, op); in mcpwm_fault_set_oneshot_mode()
763 mcpwm_ll_brake_enable_oneshot_mode(hal->dev, op, fault_sig, true); in mcpwm_fault_set_oneshot_mode()
764 mcpwm_ll_brake_enable_cbc_mode(hal->dev, op, fault_sig, false); in mcpwm_fault_set_oneshot_mode()
765 …mcpwm_ll_generator_set_action_on_brake_event(hal->dev, op, 0, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_OP… in mcpwm_fault_set_oneshot_mode()
766 …mcpwm_ll_generator_set_action_on_brake_event(hal->dev, op, 0, MCPWM_TIMER_DIRECTION_UP, MCPWM_OPER… in mcpwm_fault_set_oneshot_mode()
767 …mcpwm_ll_generator_set_action_on_brake_event(hal->dev, op, 1, MCPWM_TIMER_DIRECTION_DOWN, MCPWM_OP… in mcpwm_fault_set_oneshot_mode()
768 …mcpwm_ll_generator_set_action_on_brake_event(hal->dev, op, 1, MCPWM_TIMER_DIRECTION_UP, MCPWM_OPER… in mcpwm_fault_set_oneshot_mode()
776 uint32_t intr_status = mcpwm_ll_intr_get_capture_status(curr_context->hal.dev); in mcpwm_default_isr_handler()
777 mcpwm_ll_intr_clear_capture_status(curr_context->hal.dev, intr_status); in mcpwm_default_isr_handler()
783 …edata.cap_edge = mcpwm_ll_capture_get_edge(curr_context->hal.dev, i) == MCPWM_CAP_EDGE_NEG ? MCPWM… in mcpwm_default_isr_handler()
785 edata.cap_value = mcpwm_ll_capture_get_value(curr_context->hal.dev, i); in mcpwm_default_isr_handler()
804 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_capture_enable_channel() local
812 mcpwm_hal_init(hal, &init_config); in mcpwm_capture_enable_channel()
820 mcpwm_ll_group_enable_clock(hal->dev, true); in mcpwm_capture_enable_channel()
821 mcpwm_ll_group_set_clock_source(hal->dev, (soc_module_clk_t)MCPWM_CAPTURE_CLK_SRC_DEFAULT); in mcpwm_capture_enable_channel()
822 mcpwm_ll_group_set_clock_prescale(hal->dev, group_pre_scale); in mcpwm_capture_enable_channel()
823 mcpwm_ll_capture_enable_timer(hal->dev, true); in mcpwm_capture_enable_channel()
824 mcpwm_ll_capture_enable_channel(hal->dev, cap_channel, true); in mcpwm_capture_enable_channel()
825 mcpwm_ll_capture_enable_negedge(hal->dev, cap_channel, cap_conf->cap_edge & MCPWM_NEG_EDGE); in mcpwm_capture_enable_channel()
826 mcpwm_ll_capture_enable_posedge(hal->dev, cap_channel, cap_conf->cap_edge & MCPWM_POS_EDGE); in mcpwm_capture_enable_channel()
827 mcpwm_ll_capture_set_prescale(hal->dev, cap_channel, cap_conf->cap_prescale); in mcpwm_capture_enable_channel()
829 mcpwm_ll_intr_enable(hal->dev, MCPWM_LL_EVENT_CAPTURE(cap_channel), true); in mcpwm_capture_enable_channel()
830 mcpwm_ll_intr_clear_capture_status(hal->dev, 1 << cap_channel); in mcpwm_capture_enable_channel()
852 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_capture_disable_channel() local
855 mcpwm_ll_capture_enable_channel(hal->dev, cap_channel, false); in mcpwm_capture_disable_channel()
856 mcpwm_ll_intr_enable(hal->dev, MCPWM_LL_EVENT_CAPTURE(cap_channel), false); in mcpwm_capture_disable_channel()
890 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_capture_signal_get_value() local
891 return mcpwm_ll_capture_get_value(hal->dev, cap_sig); in mcpwm_capture_signal_get_value()
912 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_capture_signal_get_edge() local
913 return mcpwm_ll_capture_get_edge(hal->dev, cap_sig) == MCPWM_CAP_EDGE_NEG ? 2 : 1; in mcpwm_capture_signal_get_edge()
920 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_sync_configure() local
923 mcpwm_ll_timer_set_sync_phase_direction(hal->dev, timer_num, sync_conf->count_direction); in mcpwm_sync_configure()
926 set_phase = mcpwm_ll_timer_get_peak(hal->dev, timer_num, false) * sync_conf->timer_val / 1000; in mcpwm_sync_configure()
927 mcpwm_ll_timer_set_sync_phase_value(hal->dev, timer_num, set_phase); in mcpwm_sync_configure()
929 mcpwm_ll_timer_clear_sync_input(hal->dev, timer_num); in mcpwm_sync_configure()
931 …mcpwm_ll_timer_set_timer_sync_input(hal->dev, timer_num, sync_conf->sync_sig - MCPWM_SELECT_TIMER0… in mcpwm_sync_configure()
933 …mcpwm_ll_timer_set_gpio_sync_input(hal->dev, timer_num, sync_conf->sync_sig - MCPWM_SELECT_GPIO_SY… in mcpwm_sync_configure()
935 mcpwm_ll_timer_enable_sync_input(hal->dev, timer_num, true); in mcpwm_sync_configure()
943 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_sync_disable() local
946 mcpwm_ll_timer_enable_sync_input(hal->dev, timer_num, false); in mcpwm_sync_disable()
955 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_timer_trigger_soft_sync() local
957 mcpwm_ll_timer_trigger_soft_sync(hal->dev, timer_num); in mcpwm_timer_trigger_soft_sync()
968 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_sync_invert_gpio_synchro() local
970 mcpwm_ll_invert_gpio_sync_input(hal->dev, sync_sig - MCPWM_SELECT_GPIO_SYNC0, invert); in mcpwm_sync_invert_gpio_synchro()
980 mcpwm_hal_context_t *hal = &context[mcpwm_num].hal; in mcpwm_set_timer_sync_output() local
984 mcpwm_ll_timer_propagate_input_sync(hal->dev, timer_num); in mcpwm_set_timer_sync_output()
987 mcpwm_ll_timer_sync_out_on_timer_event(hal->dev, timer_num, MCPWM_TIMER_EVENT_EMPTY); in mcpwm_set_timer_sync_output()
990 mcpwm_ll_timer_sync_out_on_timer_event(hal->dev, timer_num, MCPWM_TIMER_EVENT_FULL); in mcpwm_set_timer_sync_output()
994 mcpwm_ll_timer_disable_sync_out(hal->dev, timer_num); in mcpwm_set_timer_sync_output()