HPM SDK
HPMicro Software Development Kit
PWMV2 driver APIs

PWM driver APIs. More...

Data Structures

struct  pwmv2_cmp_config
 pwm compare config More...
 
struct  pwmv2_async_fault_source_config
 pwm fault source config More...
 
struct  pwmv2_config
 pwm config data More...
 
struct  pwmv2_pair_config
 pair pwm config More...
 
struct  pwmv2_cmp_calculate_cfg
 

Macros

#define PWM_UNLOCK_KEY   (0xB0382607UL)
 
#define PWM_CMP_UNABLE_OUTPUT_INDEX   (16)
 
#define PWM_IRQ_FAULT(chn)   PWMV2_IRQ_EN_FAULT_IRQ_EN_FAULT_SET((1 << chn))
 
#define PWM_IRQ_BURSTEND(counter)   PWMV2_IRQ_EN_BURSTEND_IRQ_EN_BURSTEND_SET((1 << counter))
 
#define PWM_IRQ_CAP_POS(chn)   PWMV2_IRQ_EN_CAP_POS_IRQ_EN_CAP_POS_SET((1 << chn))
 
#define PWM_IRQ_CAP_NEG(chn)   PWMV2_IRQ_EN_CAP_NEG_IRQ_EN_CAP_NEG_SET((1 << chn))
 
#define PWM_IRQ_RELOAD(counter)   PWMV2_IRQ_EN_RELOAD_IRQ_EN_RELOAD_SET((1 << counter))
 
#define PWM_IRQ_CMP(cmp)   PWMV2_IRQ_EN_CMP_IRQ_EN_CMP_SET((1 << cmp))
 
#define PWM_IRQ_STS_FAULT(chn)   PWMV2_IRQ_STS_FAULT_IRQ_STS_FAULT_SET((1 << chn))
 
#define PWM_IRQ_STS_BURSTEND(counter)   PWMV2_IRQ_STS_BURSTEND_IRQ_STS_BURSTEND_SET((1 << counter))
 
#define PWM_IRQ_STS_CAP_NEG(chn)   PWMV2_IRQ_STS_CAP_NEG_IRQ_STS_CAP_NEG_SET((1 << chn))
 
#define PWM_IRQ_STS_CAP_POS(chn)   PWMV2_IRQ_STS_CAP_POS_IRQ_STS_CAP_POS_SET((1 << chn))
 
#define PWM_IRQ_STS_RELOAD(counter)   PWMV2_IRQ_STS_RELOAD_IRQ_STS_RELOAD_SET((1 << counter))
 
#define PWM_IRQ_STS_CMP(cmp)   PWMV2_IRQ_STS_CMP_IRQ_STS_CMP_SET((1 << cmp))
 
#define PWM_FORCE_OUTPUT(pwm_index, force_output)    (force_output << (pwm_index << 1))
 
#define PWM_DUTY_CYCLE_FP_MAX   ((1U << 24) - 1)
 
#define PWMV2_SOC_CAL_COUNT_MAX   8
 
#define PWMV2_SHADOW_INDEX(x)   PWMV2_SHADOW_VAL_##x
 
#define PWMV2_CMP_INDEX(x)   PWMV2_CMP_VAL_WORK_##x
 
#define PWMV2_CALCULATE_INDEX(x)   PWMV2_CAL_##x
 
#define PWMV2_CAL_SHADOW_OFFSET_ZERO   (31)
 

Typedefs

typedef struct pwmv2_cmp_config pwmv2_cmp_config_t
 pwm compare config More...
 
typedef struct pwmv2_async_fault_source_config pwmv2_async_fault_source_config_t
 pwm fault source config More...
 
typedef struct pwmv2_config pwmv2_config_t
 pwm config data More...
 
typedef struct pwmv2_pair_config pwmv2_pair_config_t
 pair pwm config More...
 
typedef struct pwmv2_cmp_calculate_cfg pwmv2_cmp_calculate_cfg_t
 

Enumerations

enum  pwm_counter_t { pwm_counter_0 = 0 , pwm_counter_1 = 1 , pwm_counter_2 = 2 , pwm_counter_3 = 3 }
 
enum  pwm_channel_t {
  pwm_channel_0 = 0 , pwm_channel_1 = 1 , pwm_channel_2 = 2 , pwm_channel_3 = 3 ,
  pwm_channel_4 = 4 , pwm_channel_5 = 5 , pwm_channel_6 = 6 , pwm_channel_7 = 7
}
 
enum  pwm_reload_update_time_t { pwm_reload_update_on_shlk = 0 , pwm_reload_update_on_compare_point = 1 , pwm_reload_update_on_reload = 2 , pwm_reload_update_on_trigger = 3 }
 
enum  pwm_force_mode_t { pwm_force_output_0 = 0 , pwm_force_output_1 = 1 , pwm_force_output_high_z = 2 , pwm_force_output_no_force = 3 }
 pwm output type More...
 
enum  pwm_fault_mode_t { pwm_fault_output_0 = 0 , pwm_fault_output_1 = 1 , pwm_fault_output_high_z = 2 }
 
enum  pwm_fault_pad_polarity_t { pad_fault_active_low = 1 , pad_fault_active_high = 0 }
 
enum  pwm_shadow_register_output_polarity_t { pwm_shadow_register_output_polarity_on_shlk = 0 , pwm_shadow_register_output_polarity_on_reload = 1 }
 
enum  pwm_force_shadow_trigger_t { pwm_force_update_shadow_immediately = 0 , pwm_force_update_shadow_at_cmp_point = 1 , pwm_force_update_shadow_at_reload = 2 , pwm_force_update_shadow_none = 3 }
 
enum  pwm_force_trigger_t { pwm_force_immediately = 0 , pwm_force_at_reload = 1 , pwm_force_at_trigmux = 2 , pwm_force_none = 3 }
 
enum  pwm_logic_four_cmp_cfg_t { pwm_logic_four_cmp_or = 0 , pwm_logic_four_cmp_and = 1 , pwm_logic_four_cmp_xor = 2 , pwm_logic_four_cmp_cd = 3 }
 
enum  pwm_fault_recovery_trigger_t { pwm_fault_recovery_immediately = 0 , pwm_fault_recovery_on_reload = 1 , pwm_fault_recovery_on_hw_event = 2 , pwm_fault_recovery_on_fault_clear = 3 }
 select when to recover PWM output after fault More...
 
enum  pwm_dac_channel_t { pwm_dac_channel_0 = 0 , pwm_dac_channel_1 = 1 , pwm_dac_channel_2 = 2 , pwm_dac_channel_3 = 3 }
 
enum  pwm_capture_input_select_t { pwm_capture_from_trigmux = 0 , pwm_capture_from_gpio = 1 }
 
enum  pwm_dma_chn_t { pwm_dma_0 = 0 , pwm_dma_1 = 1 , pwm_dma_2 = 2 , pwm_dma_3 = 3 }
 
enum  pwm_cmp_shadow_register_update_trigger_t {
  pwm_shadow_register_update_on_shlk = 0 , pwm_shadow_register_update_on_modify = 1 , pwm_shadow_register_update_on_reload = 2 , pwm_shadow_register_update_on_trigmux = 3 ,
  pwm_shadow_register_update_on_rld_cmp_select0 = 4 , pwm_shadow_register_update_on_rld_cmp_select1 = 5 , pwm_shadow_register_update_on_none = 6
}
 
enum  pwm_cmp_source_t {
  cmp_value_from_shadow_val = 0 , cmp_value_from_calculate = 0x20 , cmp_value_from_capture_posedge = 0x30 , cmp_value_from_counters = 0x38 ,
  cmp_value_fffff000 = 0x3e , cmp_value_ffffff00 = 0x3f
}
 

Functions

void pwmv2_deinit (PWMV2_Type *pwm_x)
 pwm deinitialize function More...
 
static void pwmv2_issue_shadow_register_lock_event (PWMV2_Type *pwm_x)
 issue all shawdow register More...
 
static void pwmv2_shadow_register_lock (PWMV2_Type *pwm_x)
 lock all shawdow register More...
 
static void pwmv2_set_counter_reload_trigmux_index (PWMV2_Type *pwm_x, pwm_counter_t counter, uint8_t trig_index)
 select one trigger from 8, set to use input signal(selected by cnt_reload_trig) to reload timer More...
 
static void pwmv2_enable_multi_counter_sync (PWMV2_Type *pwm_x, uint8_t mask)
 Multiple counters are enabled at the same time. More...
 
static void pwmv2_disable_multi_counter_sync (PWMV2_Type *pwm_x, uint8_t mask)
 Multiple counters are disabled at the same time. More...
 
static void pwmv2_reset_multi_counter_sync (PWMV2_Type *pwm_x, uint8_t mask)
 Multiple counters are reset at the same time. More...
 
static void pwmv2_start_pwm_output_sync (PWMV2_Type *pwm_x, uint8_t mask)
 Multiple pwm out at the same time. More...
 
static void pwmv2_shadow_register_unlock (PWMV2_Type *pwm_x)
 unlock all shadow register More...
 
static void pwmv2_shadow_unlock_bit_mask (PWMV2_Type *pwm_x, uint32_t mask)
 The shadow registers can be updated only when related unlock_bit is set. More...
 
static void pwmv2_set_shadow_val (PWMV2_Type *pwm_x, uint8_t index, uint32_t value, uint8_t high_resolution_tick, bool enable_half_cycle)
 Set the value of the shadow register. More...
 
static void pwmv2_force_output (PWMV2_Type *pwm_x, pwm_channel_t chn, pwm_force_mode_t mode, bool invert)
 force pwm output More...
 
static void pwmv2_enable_four_cmp (PWMV2_Type *pwm_x, pwm_channel_t chn)
 enable four pwm outputs More...
 
static void pwmv2_disable_four_cmp (PWMV2_Type *pwm_x, pwm_channel_t chn)
 disable four pwm outputs More...
 
static void pwmv2_async_fault_signal_select (PWMV2_Type *pwm_x, pwm_channel_t chn, uint8_t pad_index)
 Direct selection of the fail signal from the pin. More...
 
static void pwmv2_async_fault_polarity (PWMV2_Type *pwm_x, pwm_channel_t chn, pwm_fault_pad_polarity_t polarity)
 Configure the polarity of the fail signal. More...
 
static void pwmv2_enable_async_fault (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Enable the fault signal from the pin. More...
 
static void pwmv2_disable_async_fault (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Disable the fault signal from the pin. More...
 
static void pwmv2_enable_sync_fault (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Enable the fault signal from the trigmux. More...
 
static void pwmv2_disable_sync_fault (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Disable the fault signal from the trigmux. More...
 
static void pwmv2_enable_output_invert (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Enable pwm output invert. More...
 
static void pwmv2_disable_output_invert (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Disable pwm output invert. More...
 
static void pwmv2_enable_invert_by_shadow (PWMV2_Type *pwm_x, pwm_channel_t chn, pwm_shadow_register_output_polarity_t update_select)
 Enable invert operations via shadow registers. More...
 
static void pwmv2_disable_invert_by_shadow (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Disable invert operations via shadow registers. More...
 
static void pwmv2_channel_enable_output (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Enable pwm output. More...
 
static void pwmv2_channel_disable_output (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Disable pwm output. More...
 
static void pwmv2_force_update_time_by_shadow (PWMV2_Type *pwm_x, pwm_channel_t chn, pwm_force_shadow_trigger_t update_time)
 Forces the output configuration to be updated from the time shadow hosting takes effect. More...
 
static void pwmv2_set_fault_mode (PWMV2_Type *pwm_x, pwm_channel_t chn, pwm_fault_mode_t mode)
 set the fault mode More...
 
static void pwmv2_set_fault_recovery_time (PWMV2_Type *pwm_x, pwm_channel_t chn, pwm_fault_recovery_trigger_t trig)
 Set the fault mode recovery time. More...
 
static void pwmv2_enable_force_by_hardware (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Trigger forced mode by hardware signal. More...
 
static void pwmv2_enable_force_by_software (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Enable force mode triggered by software. More...
 
static void pwmv2_disable_force_by_software (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Disable force mode triggered by software. More...
 
static void pwmv2_enable_pair_mode (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Enable pwm complementary mode. More...
 
static void pwmv2_disable_pair_mode (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Disable pwm complementary mode. More...
 
static void pwmv2_set_four_cmp_logic (PWMV2_Type *pwm_x, pwm_channel_t chn, pwm_logic_four_cmp_cfg_t logic)
 Configure the logic between the 4 cmp, valid only if the 4 cmp output is enabled. More...
 
static void pwmv2_set_force_update_time (PWMV2_Type *pwm_x, pwm_channel_t chn, pwm_force_trigger_t time)
 Setting the effective time of forced output. More...
 
static void pwmv2_trig_force_mode_select_trigmux_index (PWMV2_Type *pwm_x, pwm_channel_t chn, uint8_t trigmux_index)
 Selecting trigmux's signal as a forced mode trigger source. More...
 
static void pwmv2_trig_force_hardware_or_software_select_trigmux_index (PWMV2_Type *pwm_x, pwm_channel_t chn, uint8_t trigmux_index)
 Selection of trigger signals for software or hardware trigmux. More...
 
static void pwmv2_select_force_trigmux_index (PWMV2_Type *pwm_x, pwm_channel_t chn, uint8_t trigmux_index)
 Select the trigger source that forces the output to take effect. More...
 
static void pwmv2_select_recovery_fault_trigmux_index (PWMV2_Type *pwm_x, pwm_channel_t chn, uint8_t trigmux_index)
 Selection of trigger signal for fault recovery. More...
 
static void pwmv2_set_dead_area (PWMV2_Type *pwm_x, pwm_channel_t chn, uint32_t dead)
 set pwm dead area More...
 
static void pwmv2_set_trigout_cmp_index (PWMV2_Type *pwm_x, pwm_channel_t trigmux_chn, uint8_t cmp_index)
 Setting the comparator as an input to trigmux. More...
 
static void pwmv2_enable_software_force (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Enable software forced output. More...
 
static void pwmv2_disable_software_force (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Disable software forced output. More...
 
static void pwmv2_enable_software_dac_mode (PWMV2_Type *pwm_x, pwm_dac_channel_t dac_index)
 Enable the software dac mode. More...
 
static void pwmv2_disable_software_dac_mode (PWMV2_Type *pwm_x, pwm_dac_channel_t dac_index)
 Disable the software dac mode. More...
 
static void pwmv2_enable_debug_mode (PWMV2_Type *pwm_x)
 Enable debug mode. More...
 
static void pwmv2_disable_debug_mode (PWMV2_Type *pwm_x)
 Disable debug mode. More...
 
static void pwmv2_clear_fault_event (PWMV2_Type *pwm_x, pwm_channel_t chn)
 Clear fault event. More...
 
static void pwmv2_enable_shadow_lock_feature (PWMV2_Type *pwm_x)
 Using the Shadow Register Function. More...
 
static void pwmv2_disable_shadow_lock_feature (PWMV2_Type *pwm_x)
 Do not use the shadow register function. More...
 
static uint32_t pwmv2_get_counter_working_status (PWMV2_Type *pwm_x, pwm_counter_t counter_index)
 Get counter work status. More...
 
static uint32_t pwmv2_get_cmp_working_status (PWMV2_Type *pwm_x, uint8_t cmp_index)
 Get cmp work status. More...
 
static uint32_t pwmv2_get_force_working_status (PWMV2_Type *pwm_x)
 Get force mode work status. More...
 
static uint32_t pwmv2_get_force_work_out_polarity_status (PWMV2_Type *pwm_x)
 Get the status of the output polarity. More...
 
static uint32_t pwmv2_get_counter_value (PWMV2_Type *pwm_x, pwm_counter_t counter_index)
 Getting the value of a counter. More...
 
static void pwmv2_set_dac_value (PWMV2_Type *pwm_x, pwm_dac_channel_t dac_index, uint32_t value)
 set dac value More...
 
static uint32_t pwmv2_get_capture_posedge_value (PWMV2_Type *pwm_x, pwm_channel_t chn)
 get capture posedge value More...
 
static void pwmv2_capture_selection_input_source (PWMV2_Type *pwm_x, pwm_channel_t chn, pwm_capture_input_select_t select)
 Select the input source for the captured signal. More...
 
static void pwmv2_set_capture_counter_index (PWMV2_Type *pwm_x, pwm_channel_t chn, uint8_t counter_index)
 Set the counter to be used for the capture channel. More...
 
static uint32_t pwmv2_get_capture_negedge_value (PWMV2_Type *pwm_x, pwm_channel_t chn)
 get capture negedge value More...
 
static uint32_t pwmv2_get_irq_status_all (PWMV2_Type *pwm_x)
 Get all interrupt status. More...
 
static void pwmv2_clear_calculate_overflow_irq_status (PWMV2_Type *pwm_x)
 clear calculate overflow irq status More...
 
static void pwmv2_enable_calculate_overflow_irq (PWMV2_Type *pwm_x)
 enable calculate overflow irq More...
 
static void pwmv2_disable_calculate_overflow_irq (PWMV2_Type *pwm_x)
 Disable calculate overflow irq. More...
 
static uint32_t pwmv2_get_cmp_irq_status (PWMV2_Type *pwm_x)
 Get cmp irq status. More...
 
static void pwmv2_clear_cmp_irq_status (PWMV2_Type *pwm_x, uint32_t mask)
 Clear cmp irq status. More...
 
static uint32_t pwmv2_get_reload_irq_status (PWMV2_Type *pwm_x)
 Get reload irq status. More...
 
static void pwmv2_clear_reload_irq_status (PWMV2_Type *pwm_x, uint32_t mask)
 Clear reload irq status. More...
 
static uint32_t pwmv2_get_capture_posedge_irq_status (PWMV2_Type *pwm_x)
 Get capture posedge irq status. More...
 
static void pwmv2_clear_capture_posedge_irq_status (PWMV2_Type *pwm_x, uint32_t mask)
 Clear capture posedge irq status. More...
 
static uint32_t pwmv2_get_capture_negedge_irq_status (PWMV2_Type *pwm_x)
 Get capture negedge irq status. More...
 
static void pwmv2_clear_capture_negedge_irq_status (PWMV2_Type *pwm_x, uint32_t mask)
 Clear capture negedge irq status. More...
 
static uint32_t pwmv2_get_fault_irq_status (PWMV2_Type *pwm_x)
 Get fault irq status. More...
 
static void pwmv2_clear_fault_irq_status (PWMV2_Type *pwm_x, uint32_t mask)
 Clear fault irq status. More...
 
static uint32_t pwmv2_get_burstend_irq_status (PWMV2_Type *pwm_x)
 Get burstend irq status. More...
 
static void pwmv2_clear_burstend__irq_status (PWMV2_Type *pwm_x, uint32_t mask)
 Clear burstend irq status. More...
 
static void pwmv2_enable_cmp_irq (PWMV2_Type *pwm_x, uint8_t cmp_index)
 enable cmp irq More...
 
static void pwmv2_disable_cmp_irq (PWMV2_Type *pwm_x, uint8_t cmp_index)
 disable cmp irq More...
 
static uint32_t pwmv2_get_enabled_cmp_irq (PWMV2_Type *pwm_x)
 get enabled compare irq More...
 
static void pwmv2_enable_reload_irq (PWMV2_Type *pwm_x, pwm_counter_t counter_index)
 enable reload irq More...
 
static void pwmv2_disable_reload_irq (PWMV2_Type *pwm_x, pwm_counter_t counter_index)
 disable reload irq More...
 
static void pwmv2_enable_capture_posedge_irq (PWMV2_Type *pwm_x, pwm_channel_t channel_index)
 enable capture posedge irq More...
 
static void pwmv2_disable_capture_posedge_irq (PWMV2_Type *pwm_x, pwm_channel_t channel_index)
 disable capture posedge irq More...
 
static void pwmv2_enable_capture_nededge_irq (PWMV2_Type *pwm_x, pwm_channel_t channel_index)
 enable capture nedege irq More...
 
static void pwmv2_disable_capture_nededge_irq (PWMV2_Type *pwm_x, pwm_channel_t channel_index)
 disable capture nedege irq More...
 
static void pwmv2_enable_fault_irq (PWMV2_Type *pwm_x, pwm_channel_t channel_index)
 enable fault irq More...
 
static void pwmv2_disable_fault_irq (PWMV2_Type *pwm_x, pwm_channel_t channel_index)
 disable fault irq More...
 
static void pwmv2_enable_burstend_irq (PWMV2_Type *pwm_x, pwm_counter_t counter_index)
 enable burstend irq More...
 
static void pwmv2_disable_burstend_irq (PWMV2_Type *pwm_x, pwm_counter_t counter_index)
 disable burstend irq More...
 
static void pwmv2_enable_dma_at_compare_point (PWMV2_Type *pwm_x, pwm_dma_chn_t dma_channel, uint8_t cmp_index)
 enable dma at compare point More...
 
static void pwmv2_disable_dma_at_compare_point (PWMV2_Type *pwm_x, pwm_dma_chn_t dma_channel)
 disable dma at compare point More...
 
static void pwmv2_enable_dma_at_reload_point (PWMV2_Type *pwm_x, pwm_dma_chn_t dma_channel, pwm_counter_t reload_index)
 enable dma at reload point More...
 
static void pwmv2_disable_dma_at_reload_point (PWMV2_Type *pwm_x, pwm_dma_chn_t dma_channel)
 disable dma at reload point More...
 
static void pwmv2_reload_select_compare_point0_index (PWMV2_Type *pwm_x, pwm_counter_t counter, uint8_t cmp_index)
 select compare point 0 index More...
 
static void pwmv2_reload_select_compare_point1_index (PWMV2_Type *pwm_x, pwm_counter_t counter, uint8_t cmp_index)
 select compare point 1 index More...
 
static void pwmv2_reload_select_input_trigger (PWMV2_Type *pwm_x, pwm_counter_t counter, uint8_t trig_index)
 Select the input trigger source for the reload point. More...
 
static void pwmv2_set_reload_update_time (PWMV2_Type *pwm_x, pwm_counter_t counter, pwm_reload_update_time_t update)
 Set reload update time. More...
 
static void pwmv2_counter_set_dac_data_parameter (PWMV2_Type *pwm_x, pwm_counter_t counter, uint8_t dac_parameter)
 Set dac data parameter. More...
 
static void pwmv2_conuter_select_dac_index (PWMV2_Type *pwm_x, pwm_counter_t counter, pwm_dac_channel_t dac_index)
 Select dac index. More...
 
static void pwmv2_counter_up_limit_enable (PWMV2_Type *pwm_x, pwm_counter_t counter)
 Enable the upper limit of the calculation unit. More...
 
static void pwmv2_counter_up_limit_disable (PWMV2_Type *pwm_x, pwm_counter_t counter)
 Disable the upper limit of the calculation unit. More...
 
static void pwmv2_counter_select_up_limit_from_shadow_value (PWMV2_Type *pwm_x, pwm_counter_t counter, uint8_t index)
 Select the upper limit from the shadow register. More...
 
static void pwmv2_counter_low_limit_enable (PWMV2_Type *pwm_x, pwm_counter_t counter)
 Enable the lower limit of the calculation unit. More...
 
static void pwmv2_counter_low_limit_disable (PWMV2_Type *pwm_x, pwm_counter_t counter)
 Disable the lower limit of the calculation unit. More...
 
static void pwmv2_counter_select_low_limit_from_shadow_value (PWMV2_Type *pwm_x, pwm_counter_t counter, uint8_t index)
 Select the lower limit from the shadow register. More...
 
static void pwmv2_counter_select_data_offset_from_shadow_value (PWMV2_Type *pwm_x, pwm_counter_t counter, uint8_t index)
 Select data offset from shadow register. More...
 
static void pwmv2_counter_enable_reload_by_trig (PWMV2_Type *pwm_x, pwm_counter_t counter)
 enable counter reload by trigmux More...
 
static void pwmv2_counter_disable_reload_by_trig (PWMV2_Type *pwm_x, pwm_counter_t counter)
 disable counter reload by trigmux More...
 
static void pwmv2_counter_update_trig1 (PWMV2_Type *pwm_x, pwm_counter_t counter, uint8_t trig_index)
 Select counter update by trigmux1. More...
 
static void pwmv2_counter_enable_update_trig1 (PWMV2_Type *pwm_x, pwm_counter_t counter)
 Enable counter update by trigmux1. More...
 
static void pwmv2_counter_disable_update_trig1 (PWMV2_Type *pwm_x, pwm_counter_t counter)
 Disable counter update by trigmux1. More...
 
static void pwmv2_counter_set_trig1_calculate_cell_index (PWMV2_Type *pwm_x, pwm_counter_t counter, uint8_t cal_index)
 Enable change counter value to one of the calculation cell output when cnt_update_triger1 issued. More...
 
static void pwmv2_counter_update_trig0 (PWMV2_Type *pwm_x, pwm_counter_t counter, uint8_t trig_index)
 Select counter update by trigmux0. More...
 
static void pwmv2_counter_enable_update_trig0 (PWMV2_Type *pwm_x, pwm_counter_t counter)
 Enable counter update by trigmux0. More...
 
static void pwmv2_counter_disable_update_trig0 (PWMV2_Type *pwm_x, pwm_counter_t counter)
 Disable counter update by trigmux0. More...
 
static void pwmv2_counter_set_trig0_calculate_cell_index (PWMV2_Type *pwm_x, pwm_counter_t counter, uint8_t cal_index)
 Enable change counter value to one of the calculation cell output when cnt_update_triger0 issued. More...
 
static void pwmv2_counter_start_select_trigger_index (PWMV2_Type *pwm_x, pwm_counter_t counter, uint8_t trig_index)
 Set trigmux index to start counter. More...
 
static void pwmv2_counter_start_trigger_enable (PWMV2_Type *pwm_x, pwm_counter_t counter)
 Enable trigmux to trigger counter initiation. More...
 
static void pwmv2_counter_start_trigger_disable (PWMV2_Type *pwm_x, pwm_counter_t counter)
 Disable trigmux to trigger counter initiation. More...
 
static void pwmv2_set_counter_burst (PWMV2_Type *pwm_x, pwm_counter_t counter, uint16_t burst)
 Set counter burst value. More...
 
static void pwmv2_counter_burst_disable (PWMV2_Type *pwm_x, pwm_counter_t counter)
 Disable counter burst function. More...
 
static void pwmv2_start_pwm_output (PWMV2_Type *pwm_x, pwm_counter_t counter)
 start pwm output More...
 
static void pwmv2_reset_counter (PWMV2_Type *pwm_x, pwm_counter_t counter)
 Reset pwm counter. More...
 
static void pwmv2_enable_counter (PWMV2_Type *pwm_x, pwm_counter_t counter)
 Enable pwm counter. More...
 
static void pwmv2_disable_counter (PWMV2_Type *pwm_x, pwm_counter_t counter)
 Disable pwm counter. More...
 
static void pwmv2_calculate_set_up_limit_parameter (PWMV2_Type *pwm_x, uint8_t cal_index, uint8_t value)
 Set calculate up limit parameter. More...
 
static void pwmv2_calculate_set_low_limit_parameter (PWMV2_Type *pwm_x, uint8_t cal_index, uint8_t value)
 Set calculate low limit parameter. More...
 
static void pwmv2_calculate_set_period_parameter (PWMV2_Type *pwm_x, uint8_t cal_index, uint8_t value)
 Set calculate period parameter. More...
 
static void pwmv2_calculate_set_dac_value_parameter (PWMV2_Type *pwm_x, uint8_t cal_index, uint8_t value)
 Set calculate dac value parameter. More...
 
static void pwmv2_calculate_select_counter_calculate_index (PWMV2_Type *pwm_x, uint8_t cal_index, uint8_t counter_calculate)
 Select calculate index to counter. More...
 
static void pwmv2_calculate_select_in_value (PWMV2_Type *pwm_x, uint8_t cal_index, uint8_t index)
 Select calculate input value. More...
 
static void pwmv2_calculate_enable_up_limit (PWMV2_Type *pwm_x, uint8_t cal_index)
 enable calculate up limit More...
 
static void pwmv2_calculate_disable_up_limit (PWMV2_Type *pwm_x, uint8_t cal_index)
 disable calculate up limit More...
 
static void pwmv2_calculate_select_up_limit_offset (PWMV2_Type *pwm_x, uint8_t cal_index, uint8_t shadow_index)
 Select up limit offset from shadow index. More...
 
static void pwmv2_calculate_select_low_limit_offset (PWMV2_Type *pwm_x, uint8_t cal_index, uint8_t shadow_index)
 Select low limit offset from shadow index. More...
 
static void pwmv2_calculate_select_in_offset (PWMV2_Type *pwm_x, uint8_t cal_index, uint8_t shadow_index)
 Select offset from shadow index. More...
 
static void pwmv2_calculate_enable_low_limit (PWMV2_Type *pwm_x, uint8_t cal_index)
 enable low limit More...
 
static void pwmv2_calculate_disable_low_limit (PWMV2_Type *pwm_x, uint8_t cal_index)
 disable low limit More...
 
static void pwmv2_select_cmp_trigmux (PWMV2_Type *pwm_x, uint8_t cmp_index, uint8_t trig_index)
 Select cmp trigmux index. More...
 
static void pwmv2_cmp_update_trig_time (PWMV2_Type *pwm_x, uint8_t cmp_index, pwm_cmp_shadow_register_update_trigger_t trig_time)
 Select cmp update trigmux time. More...
 
static void pwmv2_select_cmp_source (PWMV2_Type *pwm_x, uint8_t cmp_index, pwm_cmp_source_t cmp_sel, uint8_t index)
 Select cmp source. More...
 
static void pwmv2_cmp_select_counter (PWMV2_Type *pwm_x, uint8_t cmp_index, pwm_counter_t counter_index)
 Select cmp use counter. More...
 
void pwmv2_config_cmp (PWMV2_Type *pwm_x, uint8_t index, pwmv2_cmp_config_t *config)
 config pwm cmp More...
 
void pwmv2_config_async_fault_source (PWMV2_Type *pwm_x, pwm_channel_t index, pwmv2_async_fault_source_config_t *config)
 config async fault source More...
 
void pwmv2_config_pwm (PWMV2_Type *pwm_x, pwm_channel_t index, pwmv2_config_t *config, bool enable_pair_mode)
 config pwm More...
 
hpm_stat_t pwmv2_setup_waveform (PWMV2_Type *pwm_x, pwm_channel_t chn, pwmv2_config_t *pwm_config, uint8_t cmp_start_index, pwmv2_cmp_config_t *cmp, uint8_t cmp_num)
 Set pwm waveform. More...
 
hpm_stat_t pwmv2_setup_waveform_in_pair (PWMV2_Type *pwm_x, pwm_channel_t chn, pwmv2_pair_config_t *pwm_pair_config, uint8_t cmp_start_index, pwmv2_cmp_config_t *cmp, uint8_t cmp_num)
 set the pwm waveform complementary mode More...
 
void pwmv2_setup_cmp_calculate (PWMV2_Type *pwm_x, uint8_t cal_index, pwmv2_cmp_calculate_cfg_t *cal)
 Configure the cmp calculate unit. More...
 

Detailed Description

PWM driver APIs.

Macro Definition Documentation

◆ PWM_CMP_UNABLE_OUTPUT_INDEX

#define PWM_CMP_UNABLE_OUTPUT_INDEX   (16)

◆ PWM_DUTY_CYCLE_FP_MAX

#define PWM_DUTY_CYCLE_FP_MAX   ((1U << 24) - 1)

◆ PWM_FORCE_OUTPUT

#define PWM_FORCE_OUTPUT (   pwm_index,
  force_output 
)     (force_output << (pwm_index << 1))

◆ PWM_IRQ_BURSTEND

#define PWM_IRQ_BURSTEND (   counter)    PWMV2_IRQ_EN_BURSTEND_IRQ_EN_BURSTEND_SET((1 << counter))

◆ PWM_IRQ_CAP_NEG

#define PWM_IRQ_CAP_NEG (   chn)    PWMV2_IRQ_EN_CAP_NEG_IRQ_EN_CAP_NEG_SET((1 << chn))

◆ PWM_IRQ_CAP_POS

#define PWM_IRQ_CAP_POS (   chn)    PWMV2_IRQ_EN_CAP_POS_IRQ_EN_CAP_POS_SET((1 << chn))

◆ PWM_IRQ_CMP

#define PWM_IRQ_CMP (   cmp)    PWMV2_IRQ_EN_CMP_IRQ_EN_CMP_SET((1 << cmp))

◆ PWM_IRQ_FAULT

#define PWM_IRQ_FAULT (   chn)    PWMV2_IRQ_EN_FAULT_IRQ_EN_FAULT_SET((1 << chn))

◆ PWM_IRQ_RELOAD

#define PWM_IRQ_RELOAD (   counter)    PWMV2_IRQ_EN_RELOAD_IRQ_EN_RELOAD_SET((1 << counter))

◆ PWM_IRQ_STS_BURSTEND

#define PWM_IRQ_STS_BURSTEND (   counter)    PWMV2_IRQ_STS_BURSTEND_IRQ_STS_BURSTEND_SET((1 << counter))

◆ PWM_IRQ_STS_CAP_NEG

#define PWM_IRQ_STS_CAP_NEG (   chn)    PWMV2_IRQ_STS_CAP_NEG_IRQ_STS_CAP_NEG_SET((1 << chn))

◆ PWM_IRQ_STS_CAP_POS

#define PWM_IRQ_STS_CAP_POS (   chn)    PWMV2_IRQ_STS_CAP_POS_IRQ_STS_CAP_POS_SET((1 << chn))

◆ PWM_IRQ_STS_CMP

#define PWM_IRQ_STS_CMP (   cmp)    PWMV2_IRQ_STS_CMP_IRQ_STS_CMP_SET((1 << cmp))

◆ PWM_IRQ_STS_FAULT

#define PWM_IRQ_STS_FAULT (   chn)    PWMV2_IRQ_STS_FAULT_IRQ_STS_FAULT_SET((1 << chn))

◆ PWM_IRQ_STS_RELOAD

#define PWM_IRQ_STS_RELOAD (   counter)    PWMV2_IRQ_STS_RELOAD_IRQ_STS_RELOAD_SET((1 << counter))

◆ PWM_UNLOCK_KEY

#define PWM_UNLOCK_KEY   (0xB0382607UL)

◆ PWMV2_CAL_SHADOW_OFFSET_ZERO

#define PWMV2_CAL_SHADOW_OFFSET_ZERO   (31)

◆ PWMV2_CALCULATE_INDEX

#define PWMV2_CALCULATE_INDEX (   x)    PWMV2_CAL_##x

◆ PWMV2_CMP_INDEX

#define PWMV2_CMP_INDEX (   x)    PWMV2_CMP_VAL_WORK_##x

◆ PWMV2_SHADOW_INDEX

#define PWMV2_SHADOW_INDEX (   x)    PWMV2_SHADOW_VAL_##x

◆ PWMV2_SOC_CAL_COUNT_MAX

#define PWMV2_SOC_CAL_COUNT_MAX   8

Typedef Documentation

◆ pwmv2_async_fault_source_config_t

◆ pwmv2_cmp_calculate_cfg_t

◆ pwmv2_cmp_config_t

#include <drivers/inc/hpm_pwmv2_drv.h>

pwm compare config

◆ pwmv2_config_t

typedef struct pwmv2_config pwmv2_config_t

#include <drivers/inc/hpm_pwmv2_drv.h>

pwm config data

◆ pwmv2_pair_config_t

#include <drivers/inc/hpm_pwmv2_drv.h>

pair pwm config

Enumeration Type Documentation

◆ pwm_capture_input_select_t

#include <drivers/inc/hpm_pwmv2_drv.h>

Enumerator
pwm_capture_from_trigmux 
pwm_capture_from_gpio 

◆ pwm_channel_t

#include <drivers/inc/hpm_pwmv2_drv.h>

Enumerator
pwm_channel_0 
pwm_channel_1 
pwm_channel_2 
pwm_channel_3 
pwm_channel_4 
pwm_channel_5 
pwm_channel_6 
pwm_channel_7 

◆ pwm_cmp_shadow_register_update_trigger_t

#include <drivers/inc/hpm_pwmv2_drv.h>

Enumerator
pwm_shadow_register_update_on_shlk 

after software set shlk bit of shlk register

pwm_shadow_register_update_on_modify 

immediately after the register being modified

pwm_shadow_register_update_on_reload 
pwm_shadow_register_update_on_trigmux 
pwm_shadow_register_update_on_rld_cmp_select0 
pwm_shadow_register_update_on_rld_cmp_select1 
pwm_shadow_register_update_on_none 

◆ pwm_cmp_source_t

#include <drivers/inc/hpm_pwmv2_drv.h>

Enumerator
cmp_value_from_shadow_val 
cmp_value_from_calculate 
cmp_value_from_capture_posedge 
cmp_value_from_counters 
cmp_value_fffff000 
cmp_value_ffffff00 

◆ pwm_counter_t

#include <drivers/inc/hpm_pwmv2_drv.h>

Enumerator
pwm_counter_0 
pwm_counter_1 
pwm_counter_2 
pwm_counter_3 

◆ pwm_dac_channel_t

#include <drivers/inc/hpm_pwmv2_drv.h>

Enumerator
pwm_dac_channel_0 
pwm_dac_channel_1 
pwm_dac_channel_2 
pwm_dac_channel_3 

◆ pwm_dma_chn_t

#include <drivers/inc/hpm_pwmv2_drv.h>

Enumerator
pwm_dma_0 
pwm_dma_1 
pwm_dma_2 
pwm_dma_3 

◆ pwm_fault_mode_t

#include <drivers/inc/hpm_pwmv2_drv.h>

Enumerator
pwm_fault_output_0 

output 0

pwm_fault_output_1 

output 1

pwm_fault_output_high_z 

output

◆ pwm_fault_pad_polarity_t

#include <drivers/inc/hpm_pwmv2_drv.h>

Enumerator
pad_fault_active_low 
pad_fault_active_high 

◆ pwm_fault_recovery_trigger_t

#include <drivers/inc/hpm_pwmv2_drv.h>

select when to recover PWM output after fault

Enumerator
pwm_fault_recovery_immediately 

immediately

pwm_fault_recovery_on_reload 

after pwm timer counter reload time

pwm_fault_recovery_on_hw_event 

after hardware event assert

pwm_fault_recovery_on_fault_clear 

after software write faultclr bit in GCR register

◆ pwm_force_mode_t

#include <drivers/inc/hpm_pwmv2_drv.h>

pwm output type

Enumerator
pwm_force_output_0 

output 0

pwm_force_output_1 

output 1

pwm_force_output_high_z 

output

pwm_force_output_no_force 

◆ pwm_force_shadow_trigger_t

#include <drivers/inc/hpm_pwmv2_drv.h>

Enumerator
pwm_force_update_shadow_immediately 

after software set shlk bit of shlk register

pwm_force_update_shadow_at_cmp_point 
pwm_force_update_shadow_at_reload 

immediately after the register being modified

pwm_force_update_shadow_none 

after SHSYNCI assert

◆ pwm_force_trigger_t

#include <drivers/inc/hpm_pwmv2_drv.h>

Enumerator
pwm_force_immediately 

after software set shlk bit of shlk register

pwm_force_at_reload 
pwm_force_at_trigmux 
pwm_force_none 

after SHSYNCI assert

◆ pwm_logic_four_cmp_cfg_t

#include <drivers/inc/hpm_pwmv2_drv.h>

Enumerator
pwm_logic_four_cmp_or 
pwm_logic_four_cmp_and 
pwm_logic_four_cmp_xor 
pwm_logic_four_cmp_cd 

◆ pwm_reload_update_time_t

#include <drivers/inc/hpm_pwmv2_drv.h>

Enumerator
pwm_reload_update_on_shlk 
pwm_reload_update_on_compare_point 
pwm_reload_update_on_reload 
pwm_reload_update_on_trigger 

◆ pwm_shadow_register_output_polarity_t

#include <drivers/inc/hpm_pwmv2_drv.h>

Enumerator
pwm_shadow_register_output_polarity_on_shlk 
pwm_shadow_register_output_polarity_on_reload 

Function Documentation

◆ pwmv2_async_fault_polarity()

static void pwmv2_async_fault_polarity ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
pwm_fault_pad_polarity_t  polarity 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Configure the polarity of the fail signal.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
polaritypwm_fault_pad_polarity_t

◆ pwmv2_async_fault_signal_select()

static void pwmv2_async_fault_signal_select ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
uint8_t  pad_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Direct selection of the fail signal from the pin.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
pad_indexmotor pad

◆ pwmv2_calculate_disable_low_limit()

static void pwmv2_calculate_disable_low_limit ( PWMV2_Type pwm_x,
uint8_t  cal_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

disable low limit

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cal_indexcalculate index

◆ pwmv2_calculate_disable_up_limit()

static void pwmv2_calculate_disable_up_limit ( PWMV2_Type pwm_x,
uint8_t  cal_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

disable calculate up limit

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cal_indexcalculate index

◆ pwmv2_calculate_enable_low_limit()

static void pwmv2_calculate_enable_low_limit ( PWMV2_Type pwm_x,
uint8_t  cal_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

enable low limit

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cal_indexcalculate index

◆ pwmv2_calculate_enable_up_limit()

static void pwmv2_calculate_enable_up_limit ( PWMV2_Type pwm_x,
uint8_t  cal_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

enable calculate up limit

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cal_indexcalculate index

◆ pwmv2_calculate_select_counter_calculate_index()

static void pwmv2_calculate_select_counter_calculate_index ( PWMV2_Type pwm_x,
uint8_t  cal_index,
uint8_t  counter_calculate 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select calculate index to counter.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cal_indexcalculate index
counter_calculatecounter index

◆ pwmv2_calculate_select_in_offset()

static void pwmv2_calculate_select_in_offset ( PWMV2_Type pwm_x,
uint8_t  cal_index,
uint8_t  shadow_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select offset from shadow index.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cal_indexcalculate index
shadow_indexshadow index

◆ pwmv2_calculate_select_in_value()

static void pwmv2_calculate_select_in_value ( PWMV2_Type pwm_x,
uint8_t  cal_index,
uint8_t  index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select calculate input value.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cal_indexcalculate index
indexshadow index

◆ pwmv2_calculate_select_low_limit_offset()

static void pwmv2_calculate_select_low_limit_offset ( PWMV2_Type pwm_x,
uint8_t  cal_index,
uint8_t  shadow_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select low limit offset from shadow index.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cal_indexcalculate index
shadow_indexshadow index

◆ pwmv2_calculate_select_up_limit_offset()

static void pwmv2_calculate_select_up_limit_offset ( PWMV2_Type pwm_x,
uint8_t  cal_index,
uint8_t  shadow_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select up limit offset from shadow index.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cal_indexcalculate index
shadow_indexshadow index

◆ pwmv2_calculate_set_dac_value_parameter()

static void pwmv2_calculate_set_dac_value_parameter ( PWMV2_Type pwm_x,
uint8_t  cal_index,
uint8_t  value 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Set calculate dac value parameter.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cal_indexcalculate index
valueparameter

◆ pwmv2_calculate_set_low_limit_parameter()

static void pwmv2_calculate_set_low_limit_parameter ( PWMV2_Type pwm_x,
uint8_t  cal_index,
uint8_t  value 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Set calculate low limit parameter.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cal_indexcalculate index
valueparameter

◆ pwmv2_calculate_set_period_parameter()

static void pwmv2_calculate_set_period_parameter ( PWMV2_Type pwm_x,
uint8_t  cal_index,
uint8_t  value 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Set calculate period parameter.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cal_indexcalculate index
valueparameter

◆ pwmv2_calculate_set_up_limit_parameter()

static void pwmv2_calculate_set_up_limit_parameter ( PWMV2_Type pwm_x,
uint8_t  cal_index,
uint8_t  value 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Set calculate up limit parameter.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cal_indexcalculate index
valueparameter

◆ pwmv2_capture_selection_input_source()

static void pwmv2_capture_selection_input_source ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
pwm_capture_input_select_t  select 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select the input source for the captured signal.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
selectpwm_capture_input_select_t

◆ pwmv2_channel_disable_output()

static void pwmv2_channel_disable_output ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable pwm output.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_channel_enable_output()

static void pwmv2_channel_enable_output ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable pwm output.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_clear_burstend__irq_status()

static void pwmv2_clear_burstend__irq_status ( PWMV2_Type pwm_x,
uint32_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Clear burstend irq status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
maskmask status

◆ pwmv2_clear_calculate_overflow_irq_status()

static void pwmv2_clear_calculate_overflow_irq_status ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

clear calculate overflow irq status

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)

◆ pwmv2_clear_capture_negedge_irq_status()

static void pwmv2_clear_capture_negedge_irq_status ( PWMV2_Type pwm_x,
uint32_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Clear capture negedge irq status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
maskcapture posedge irq mask

◆ pwmv2_clear_capture_posedge_irq_status()

static void pwmv2_clear_capture_posedge_irq_status ( PWMV2_Type pwm_x,
uint32_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Clear capture posedge irq status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
maskcapture posedge irq mask

◆ pwmv2_clear_cmp_irq_status()

static void pwmv2_clear_cmp_irq_status ( PWMV2_Type pwm_x,
uint32_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Clear cmp irq status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
maskuint32_t irq status

◆ pwmv2_clear_fault_event()

static void pwmv2_clear_fault_event ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Clear fault event.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_clear_fault_irq_status()

static void pwmv2_clear_fault_irq_status ( PWMV2_Type pwm_x,
uint32_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Clear fault irq status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
maskpwm irq mask

◆ pwmv2_clear_reload_irq_status()

static void pwmv2_clear_reload_irq_status ( PWMV2_Type pwm_x,
uint32_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Clear reload irq status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
maskirq status mask

◆ pwmv2_cmp_select_counter()

static void pwmv2_cmp_select_counter ( PWMV2_Type pwm_x,
uint8_t  cmp_index,
pwm_counter_t  counter_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select cmp use counter.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cmp_indexcmp index
counter_indexpwm_counter_t

◆ pwmv2_cmp_update_trig_time()

static void pwmv2_cmp_update_trig_time ( PWMV2_Type pwm_x,
uint8_t  cmp_index,
pwm_cmp_shadow_register_update_trigger_t  trig_time 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select cmp update trigmux time.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cmp_indexcmp index
trig_timepwm_cmp_shadow_register_update_trigger_t

◆ pwmv2_config_async_fault_source()

void pwmv2_config_async_fault_source ( PWMV2_Type pwm_x,
pwm_channel_t  index,
pwmv2_async_fault_source_config_t config 
)

#include <drivers/inc/hpm_pwmv2_drv.h>

config async fault source

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
indexcmp index
configpwmv2_async_fault_source_config_t

◆ pwmv2_config_cmp()

void pwmv2_config_cmp ( PWMV2_Type pwm_x,
uint8_t  index,
pwmv2_cmp_config_t config 
)

#include <drivers/inc/hpm_pwmv2_drv.h>

config pwm cmp

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
indexcmp index
configpwmv2_cmp_config_t

◆ pwmv2_config_pwm()

void pwmv2_config_pwm ( PWMV2_Type pwm_x,
pwm_channel_t  index,
pwmv2_config_t config,
bool  enable_pair_mode 
)

#include <drivers/inc/hpm_pwmv2_drv.h>

config pwm

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
indexpwm_channel_t
configpwmv2_config_t
enable_pair_modebool

◆ pwmv2_conuter_select_dac_index()

static void pwmv2_conuter_select_dac_index ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
pwm_dac_channel_t  dac_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select dac index.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
dac_indexpwm_dac_channel_t

◆ pwmv2_counter_burst_disable()

static void pwmv2_counter_burst_disable ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable counter burst function.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_counter_disable_reload_by_trig()

static void pwmv2_counter_disable_reload_by_trig ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

disable counter reload by trigmux

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_counter_disable_update_trig0()

static void pwmv2_counter_disable_update_trig0 ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable counter update by trigmux0.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_counter_disable_update_trig1()

static void pwmv2_counter_disable_update_trig1 ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable counter update by trigmux1.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_counter_enable_reload_by_trig()

static void pwmv2_counter_enable_reload_by_trig ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

enable counter reload by trigmux

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_counter_enable_update_trig0()

static void pwmv2_counter_enable_update_trig0 ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable counter update by trigmux0.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_counter_enable_update_trig1()

static void pwmv2_counter_enable_update_trig1 ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable counter update by trigmux1.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_counter_low_limit_disable()

static void pwmv2_counter_low_limit_disable ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable the lower limit of the calculation unit.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_counter_low_limit_enable()

static void pwmv2_counter_low_limit_enable ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable the lower limit of the calculation unit.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_counter_select_data_offset_from_shadow_value()

static void pwmv2_counter_select_data_offset_from_shadow_value ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
uint8_t  index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select data offset from shadow register.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
indexshadow index

◆ pwmv2_counter_select_low_limit_from_shadow_value()

static void pwmv2_counter_select_low_limit_from_shadow_value ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
uint8_t  index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select the lower limit from the shadow register.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
indexshadow index

◆ pwmv2_counter_select_up_limit_from_shadow_value()

static void pwmv2_counter_select_up_limit_from_shadow_value ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
uint8_t  index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select the upper limit from the shadow register.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
indexshadow index

◆ pwmv2_counter_set_dac_data_parameter()

static void pwmv2_counter_set_dac_data_parameter ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
uint8_t  dac_parameter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Set dac data parameter.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
dac_parameterdac parameter

◆ pwmv2_counter_set_trig0_calculate_cell_index()

static void pwmv2_counter_set_trig0_calculate_cell_index ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
uint8_t  cal_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable change counter value to one of the calculation cell output when cnt_update_triger0 issued.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
cal_indexcal index

◆ pwmv2_counter_set_trig1_calculate_cell_index()

static void pwmv2_counter_set_trig1_calculate_cell_index ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
uint8_t  cal_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable change counter value to one of the calculation cell output when cnt_update_triger1 issued.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
cal_indexcal index

◆ pwmv2_counter_start_select_trigger_index()

static void pwmv2_counter_start_select_trigger_index ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
uint8_t  trig_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Set trigmux index to start counter.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
trig_indextrig index

◆ pwmv2_counter_start_trigger_disable()

static void pwmv2_counter_start_trigger_disable ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable trigmux to trigger counter initiation.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_counter_start_trigger_enable()

static void pwmv2_counter_start_trigger_enable ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable trigmux to trigger counter initiation.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_counter_up_limit_disable()

static void pwmv2_counter_up_limit_disable ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable the upper limit of the calculation unit.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_counter_up_limit_enable()

static void pwmv2_counter_up_limit_enable ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable the upper limit of the calculation unit.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_counter_update_trig0()

static void pwmv2_counter_update_trig0 ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
uint8_t  trig_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select counter update by trigmux0.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
trig_indextrigmux index

◆ pwmv2_counter_update_trig1()

static void pwmv2_counter_update_trig1 ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
uint8_t  trig_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select counter update by trigmux1.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
trig_indextrigmux index

◆ pwmv2_deinit()

void pwmv2_deinit ( PWMV2_Type pwm_x)

#include <drivers/inc/hpm_pwmv2_drv.h>

pwm deinitialize function

Parameters
[in]pwm_xPWM base address, HPM_PWMx(x=0..n)

Disables pwm force by default to prevent unintended force if the user has not configured pwm force.

◆ pwmv2_disable_async_fault()

static void pwmv2_disable_async_fault ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable the fault signal from the pin.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_disable_burstend_irq()

static void pwmv2_disable_burstend_irq ( PWMV2_Type pwm_x,
pwm_counter_t  counter_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

disable burstend irq

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counter_indexpwm_counter_t

◆ pwmv2_disable_calculate_overflow_irq()

static void pwmv2_disable_calculate_overflow_irq ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable calculate overflow irq.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)

◆ pwmv2_disable_capture_nededge_irq()

static void pwmv2_disable_capture_nededge_irq ( PWMV2_Type pwm_x,
pwm_channel_t  channel_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

disable capture nedege irq

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
channel_indexpwm_channel_t

◆ pwmv2_disable_capture_posedge_irq()

static void pwmv2_disable_capture_posedge_irq ( PWMV2_Type pwm_x,
pwm_channel_t  channel_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

disable capture posedge irq

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
channel_indexpwm_counter_t

◆ pwmv2_disable_cmp_irq()

static void pwmv2_disable_cmp_irq ( PWMV2_Type pwm_x,
uint8_t  cmp_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

disable cmp irq

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cmp_indexcmp index

◆ pwmv2_disable_counter()

static void pwmv2_disable_counter ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable pwm counter.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_disable_debug_mode()

static void pwmv2_disable_debug_mode ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable debug mode.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)

◆ pwmv2_disable_dma_at_compare_point()

static void pwmv2_disable_dma_at_compare_point ( PWMV2_Type pwm_x,
pwm_dma_chn_t  dma_channel 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

disable dma at compare point

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
dma_channelpwm_dma_chn_t

◆ pwmv2_disable_dma_at_reload_point()

static void pwmv2_disable_dma_at_reload_point ( PWMV2_Type pwm_x,
pwm_dma_chn_t  dma_channel 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

disable dma at reload point

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
dma_channelpwm_dma_chn_t

◆ pwmv2_disable_fault_irq()

static void pwmv2_disable_fault_irq ( PWMV2_Type pwm_x,
pwm_channel_t  channel_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

disable fault irq

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
channel_indexpwm_channel_t

◆ pwmv2_disable_force_by_software()

static void pwmv2_disable_force_by_software ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable force mode triggered by software.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_disable_four_cmp()

static void pwmv2_disable_four_cmp ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

disable four pwm outputs

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_disable_invert_by_shadow()

static void pwmv2_disable_invert_by_shadow ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable invert operations via shadow registers.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_disable_multi_counter_sync()

static void pwmv2_disable_multi_counter_sync ( PWMV2_Type pwm_x,
uint8_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Multiple counters are disabled at the same time.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
maskbit0 - cnt0, bit1 - cnt1, bitn - cntn, n==3

◆ pwmv2_disable_output_invert()

static void pwmv2_disable_output_invert ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable pwm output invert.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_disable_pair_mode()

static void pwmv2_disable_pair_mode ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable pwm complementary mode.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_disable_reload_irq()

static void pwmv2_disable_reload_irq ( PWMV2_Type pwm_x,
pwm_counter_t  counter_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

disable reload irq

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counter_indexpwm_counter_t

◆ pwmv2_disable_shadow_lock_feature()

static void pwmv2_disable_shadow_lock_feature ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Do not use the shadow register function.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)

◆ pwmv2_disable_software_dac_mode()

static void pwmv2_disable_software_dac_mode ( PWMV2_Type pwm_x,
pwm_dac_channel_t  dac_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable the software dac mode.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
dac_indexpwm_dac_channel_t

◆ pwmv2_disable_software_force()

static void pwmv2_disable_software_force ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable software forced output.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_disable_sync_fault()

static void pwmv2_disable_sync_fault ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Disable the fault signal from the trigmux.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_enable_async_fault()

static void pwmv2_enable_async_fault ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable the fault signal from the pin.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_enable_burstend_irq()

static void pwmv2_enable_burstend_irq ( PWMV2_Type pwm_x,
pwm_counter_t  counter_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

enable burstend irq

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counter_indexpwm_counter_t

◆ pwmv2_enable_calculate_overflow_irq()

static void pwmv2_enable_calculate_overflow_irq ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

enable calculate overflow irq

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)

◆ pwmv2_enable_capture_nededge_irq()

static void pwmv2_enable_capture_nededge_irq ( PWMV2_Type pwm_x,
pwm_channel_t  channel_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

enable capture nedege irq

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
channel_indexpwm_channel_t

◆ pwmv2_enable_capture_posedge_irq()

static void pwmv2_enable_capture_posedge_irq ( PWMV2_Type pwm_x,
pwm_channel_t  channel_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

enable capture posedge irq

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
channel_indexpwm_counter_t

◆ pwmv2_enable_cmp_irq()

static void pwmv2_enable_cmp_irq ( PWMV2_Type pwm_x,
uint8_t  cmp_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

enable cmp irq

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cmp_indexcmp index

◆ pwmv2_enable_counter()

static void pwmv2_enable_counter ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable pwm counter.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_enable_debug_mode()

static void pwmv2_enable_debug_mode ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable debug mode.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)

◆ pwmv2_enable_dma_at_compare_point()

static void pwmv2_enable_dma_at_compare_point ( PWMV2_Type pwm_x,
pwm_dma_chn_t  dma_channel,
uint8_t  cmp_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

enable dma at compare point

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
dma_channelpwm_dma_chn_t
cmp_indexcmp index

◆ pwmv2_enable_dma_at_reload_point()

static void pwmv2_enable_dma_at_reload_point ( PWMV2_Type pwm_x,
pwm_dma_chn_t  dma_channel,
pwm_counter_t  reload_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

enable dma at reload point

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
dma_channelpwm_dma_chn_t
reload_indexpwm_counter_t

◆ pwmv2_enable_fault_irq()

static void pwmv2_enable_fault_irq ( PWMV2_Type pwm_x,
pwm_channel_t  channel_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

enable fault irq

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
channel_indexpwm_channel_t

◆ pwmv2_enable_force_by_hardware()

static void pwmv2_enable_force_by_hardware ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Trigger forced mode by hardware signal.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_enable_force_by_software()

static void pwmv2_enable_force_by_software ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable force mode triggered by software.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_enable_four_cmp()

static void pwmv2_enable_four_cmp ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

enable four pwm outputs

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_enable_invert_by_shadow()

static void pwmv2_enable_invert_by_shadow ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
pwm_shadow_register_output_polarity_t  update_select 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable invert operations via shadow registers.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
update_selectpwm_shadow_register_output_polarity_t

◆ pwmv2_enable_multi_counter_sync()

static void pwmv2_enable_multi_counter_sync ( PWMV2_Type pwm_x,
uint8_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Multiple counters are enabled at the same time.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
maskbit0 - cnt0, bit1 - cnt1, bitn - cntn, n==3

◆ pwmv2_enable_output_invert()

static void pwmv2_enable_output_invert ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable pwm output invert.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_enable_pair_mode()

static void pwmv2_enable_pair_mode ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable pwm complementary mode.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_enable_reload_irq()

static void pwmv2_enable_reload_irq ( PWMV2_Type pwm_x,
pwm_counter_t  counter_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

enable reload irq

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counter_indexpwm_counter_t

◆ pwmv2_enable_shadow_lock_feature()

static void pwmv2_enable_shadow_lock_feature ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Using the Shadow Register Function.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)

◆ pwmv2_enable_software_dac_mode()

static void pwmv2_enable_software_dac_mode ( PWMV2_Type pwm_x,
pwm_dac_channel_t  dac_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable the software dac mode.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
dac_indexpwm_dac_channel_t

◆ pwmv2_enable_software_force()

static void pwmv2_enable_software_force ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable software forced output.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_enable_sync_fault()

static void pwmv2_enable_sync_fault ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Enable the fault signal from the trigmux.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t

◆ pwmv2_force_output()

static void pwmv2_force_output ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
pwm_force_mode_t  mode,
bool  invert 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

force pwm output

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
modepwm_force_mode_t
invert0 - low level, 1 - high level

◆ pwmv2_force_update_time_by_shadow()

static void pwmv2_force_update_time_by_shadow ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
pwm_force_shadow_trigger_t  update_time 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Forces the output configuration to be updated from the time shadow hosting takes effect.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
update_timepwm_force_shadow_trigger_t

◆ pwmv2_get_burstend_irq_status()

static uint32_t pwmv2_get_burstend_irq_status ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Get burstend irq status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
Returns
uint32_t irq status

◆ pwmv2_get_capture_negedge_irq_status()

static uint32_t pwmv2_get_capture_negedge_irq_status ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Get capture negedge irq status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
Returns
uint32_t irq status

◆ pwmv2_get_capture_negedge_value()

static uint32_t pwmv2_get_capture_negedge_value ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

get capture negedge value

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
Returns
uint32_t posedge value

◆ pwmv2_get_capture_posedge_irq_status()

static uint32_t pwmv2_get_capture_posedge_irq_status ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Get capture posedge irq status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
Returns
uint32_t irq status

◆ pwmv2_get_capture_posedge_value()

static uint32_t pwmv2_get_capture_posedge_value ( PWMV2_Type pwm_x,
pwm_channel_t  chn 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

get capture posedge value

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
Returns
uint32_t posedge value

◆ pwmv2_get_cmp_irq_status()

static uint32_t pwmv2_get_cmp_irq_status ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Get cmp irq status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
Returns
uint32_t irq status

◆ pwmv2_get_cmp_working_status()

static uint32_t pwmv2_get_cmp_working_status ( PWMV2_Type pwm_x,
uint8_t  cmp_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Get cmp work status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cmp_indexcmp index
Returns
uint32_t status mask

◆ pwmv2_get_counter_value()

static uint32_t pwmv2_get_counter_value ( PWMV2_Type pwm_x,
pwm_counter_t  counter_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Getting the value of a counter.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counter_indexpwm_counter_t
Returns
uint32_t counter value

◆ pwmv2_get_counter_working_status()

static uint32_t pwmv2_get_counter_working_status ( PWMV2_Type pwm_x,
pwm_counter_t  counter_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Get counter work status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counter_indexpwm_counter_t
Returns
uint32_t status mask

◆ pwmv2_get_enabled_cmp_irq()

static uint32_t pwmv2_get_enabled_cmp_irq ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

get enabled compare irq

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
Returns
uint32_t enabled compare irq bits

◆ pwmv2_get_fault_irq_status()

static uint32_t pwmv2_get_fault_irq_status ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Get fault irq status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
Returns
uint32_t irq status

◆ pwmv2_get_force_work_out_polarity_status()

static uint32_t pwmv2_get_force_work_out_polarity_status ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Get the status of the output polarity.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
Returns
uint32_t polarity

◆ pwmv2_get_force_working_status()

static uint32_t pwmv2_get_force_working_status ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Get force mode work status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
Returns
uint32_t status mask

◆ pwmv2_get_irq_status_all()

static uint32_t pwmv2_get_irq_status_all ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Get all interrupt status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
Returns
uint32_t irq status mask

◆ pwmv2_get_reload_irq_status()

static uint32_t pwmv2_get_reload_irq_status ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Get reload irq status.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
Returns
uint32_t reload irq status

◆ pwmv2_issue_shadow_register_lock_event()

static void pwmv2_issue_shadow_register_lock_event ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

issue all shawdow register

Parameters
[in]pwm_xPWM base address, HPM_PWMx(x=0..n)

◆ pwmv2_reload_select_compare_point0_index()

static void pwmv2_reload_select_compare_point0_index ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
uint8_t  cmp_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

select compare point 0 index

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
cmp_indexcmp index

◆ pwmv2_reload_select_compare_point1_index()

static void pwmv2_reload_select_compare_point1_index ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
uint8_t  cmp_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

select compare point 1 index

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
cmp_indexcmp index

◆ pwmv2_reload_select_input_trigger()

static void pwmv2_reload_select_input_trigger ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
uint8_t  trig_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select the input trigger source for the reload point.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
trig_indextrig index

◆ pwmv2_reset_counter()

static void pwmv2_reset_counter ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Reset pwm counter.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_reset_multi_counter_sync()

static void pwmv2_reset_multi_counter_sync ( PWMV2_Type pwm_x,
uint8_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Multiple counters are reset at the same time.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
maskbit0 - cnt0, bit1 - cnt1, bitn - cntn, n==3

◆ pwmv2_select_cmp_source()

static void pwmv2_select_cmp_source ( PWMV2_Type pwm_x,
uint8_t  cmp_index,
pwm_cmp_source_t  cmp_sel,
uint8_t  index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select cmp source.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cmp_indexcmp index
cmp_selpwm_cmp_source_t
indexsource index

◆ pwmv2_select_cmp_trigmux()

static void pwmv2_select_cmp_trigmux ( PWMV2_Type pwm_x,
uint8_t  cmp_index,
uint8_t  trig_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select cmp trigmux index.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cmp_indexcmp index
trig_indextrigmux index

◆ pwmv2_select_force_trigmux_index()

static void pwmv2_select_force_trigmux_index ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
uint8_t  trigmux_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Select the trigger source that forces the output to take effect.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
trigmux_indexselect one trigger from 8

◆ pwmv2_select_recovery_fault_trigmux_index()

static void pwmv2_select_recovery_fault_trigmux_index ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
uint8_t  trigmux_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Selection of trigger signal for fault recovery.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
trigmux_indexselect one trigger from 8

◆ pwmv2_set_capture_counter_index()

static void pwmv2_set_capture_counter_index ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
uint8_t  counter_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Set the counter to be used for the capture channel.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
counter_indexcounter index

◆ pwmv2_set_counter_burst()

static void pwmv2_set_counter_burst ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
uint16_t  burst 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Set counter burst value.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
burstburst value

◆ pwmv2_set_counter_reload_trigmux_index()

static void pwmv2_set_counter_reload_trigmux_index ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
uint8_t  trig_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

select one trigger from 8, set to use input signal(selected by cnt_reload_trig) to reload timer

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
trig_indexone trigger from 8

◆ pwmv2_set_dac_value()

static void pwmv2_set_dac_value ( PWMV2_Type pwm_x,
pwm_dac_channel_t  dac_index,
uint32_t  value 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

set dac value

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
dac_indexpwm_dac_channel_t
valuedac value

◆ pwmv2_set_dead_area()

static void pwmv2_set_dead_area ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
uint32_t  dead 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

set pwm dead area

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
deaddead area time

◆ pwmv2_set_fault_mode()

static void pwmv2_set_fault_mode ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
pwm_fault_mode_t  mode 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

set the fault mode

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
modepwm_fault_mode_t

◆ pwmv2_set_fault_recovery_time()

static void pwmv2_set_fault_recovery_time ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
pwm_fault_recovery_trigger_t  trig 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Set the fault mode recovery time.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
trigpwm_fault_recovery_trigger_t

◆ pwmv2_set_force_update_time()

static void pwmv2_set_force_update_time ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
pwm_force_trigger_t  time 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Setting the effective time of forced output.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
timepwm_force_trigger_t

◆ pwmv2_set_four_cmp_logic()

static void pwmv2_set_four_cmp_logic ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
pwm_logic_four_cmp_cfg_t  logic 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Configure the logic between the 4 cmp, valid only if the 4 cmp output is enabled.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
logicpwm_logic_four_cmp_cfg_t

◆ pwmv2_set_reload_update_time()

static void pwmv2_set_reload_update_time ( PWMV2_Type pwm_x,
pwm_counter_t  counter,
pwm_reload_update_time_t  update 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Set reload update time.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t
updatepwm_reload_update_time_t

◆ pwmv2_set_shadow_val()

static void pwmv2_set_shadow_val ( PWMV2_Type pwm_x,
uint8_t  index,
uint32_t  value,
uint8_t  high_resolution_tick,
bool  enable_half_cycle 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Set the value of the shadow register.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
indexshadow index
valuenormal value (24bit)
high_resolution_tickHigh precision pwm values (0 -255)
enable_half_cyclehalf-cycle pwm

◆ pwmv2_set_trigout_cmp_index()

static void pwmv2_set_trigout_cmp_index ( PWMV2_Type pwm_x,
pwm_channel_t  trigmux_chn,
uint8_t  cmp_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Setting the comparator as an input to trigmux.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
trigmux_chnpwm_channel_t
cmp_indexcmp index

◆ pwmv2_setup_cmp_calculate()

void pwmv2_setup_cmp_calculate ( PWMV2_Type pwm_x,
uint8_t  cal_index,
pwmv2_cmp_calculate_cfg_t cal 
)

#include <drivers/inc/hpm_pwmv2_drv.h>

Configure the cmp calculate unit.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
cal_indexcalculate index
calpwmv2_cmp_calculate_cfg_t

◆ pwmv2_setup_waveform()

hpm_stat_t pwmv2_setup_waveform ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
pwmv2_config_t pwm_config,
uint8_t  cmp_start_index,
pwmv2_cmp_config_t cmp,
uint8_t  cmp_num 
)

#include <drivers/inc/hpm_pwmv2_drv.h>

Set pwm waveform.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
pwm_configpwmv2_config_t
cmp_start_indexcmp start index
cmppwmv2_cmp_config_t
cmp_numcmp number
Returns
hpm_stat_t hpm_stat_t

◆ pwmv2_setup_waveform_in_pair()

hpm_stat_t pwmv2_setup_waveform_in_pair ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
pwmv2_pair_config_t pwm_pair_config,
uint8_t  cmp_start_index,
pwmv2_cmp_config_t cmp,
uint8_t  cmp_num 
)

#include <drivers/inc/hpm_pwmv2_drv.h>

set the pwm waveform complementary mode

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
pwm_pair_configpwmv2_pair_config_t
cmp_start_indexcmp start index
cmppwmv2_cmp_config_t
cmp_numcmp number
Returns
hpm_stat_t hpm_stat_t

◆ pwmv2_shadow_register_lock()

static void pwmv2_shadow_register_lock ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

lock all shawdow register

Parameters
[in]pwm_xPWM base address, HPM_PWMx(x=0..n)

◆ pwmv2_shadow_register_unlock()

static void pwmv2_shadow_register_unlock ( PWMV2_Type pwm_x)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

unlock all shadow register

Parameters
[in]pwm_xPWM base address, HPM_PWMx(x=0..n)

◆ pwmv2_shadow_unlock_bit_mask()

static void pwmv2_shadow_unlock_bit_mask ( PWMV2_Type pwm_x,
uint32_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

The shadow registers can be updated only when related unlock_bit is set.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
maskbit2 to bit 29 for value_shadow, bit30 for force_mode, bit31 for polarity.

◆ pwmv2_start_pwm_output()

static void pwmv2_start_pwm_output ( PWMV2_Type pwm_x,
pwm_counter_t  counter 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

start pwm output

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
counterpwm_counter_t

◆ pwmv2_start_pwm_output_sync()

static void pwmv2_start_pwm_output_sync ( PWMV2_Type pwm_x,
uint8_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Multiple pwm out at the same time.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
maskbit0 - cnt0, bit1 - cnt1, bitn - cntn, n==3

◆ pwmv2_trig_force_hardware_or_software_select_trigmux_index()

static void pwmv2_trig_force_hardware_or_software_select_trigmux_index ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
uint8_t  trigmux_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Selection of trigger signals for software or hardware trigmux.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
trigmux_indexselect one trigger from 8

◆ pwmv2_trig_force_mode_select_trigmux_index()

static void pwmv2_trig_force_mode_select_trigmux_index ( PWMV2_Type pwm_x,
pwm_channel_t  chn,
uint8_t  trigmux_index 
)
inlinestatic

#include <drivers/inc/hpm_pwmv2_drv.h>

Selecting trigmux's signal as a forced mode trigger source.

Parameters
pwm_xPWM base address, HPM_PWMx(x=0..n)
chnpwm_channel_t
trigmux_indextrigmux index