Searched refs:duty_steps (Results 1 – 3 of 3) sorted by relevance
| /linux/drivers/pwm/ |
| H A D | pwm-max7360.c | 38 u8 duty_steps; member 62 u64 duty_steps; in max7360_pwm_round_waveform_tohw() local 71 duty_steps = MAX7360_PWM_MAX; in max7360_pwm_round_waveform_tohw() 73 duty_steps = (u32)wf->duty_length_ns * MAX7360_PWM_STEPS / MAX7360_PWM_PERIOD_NS; in max7360_pwm_round_waveform_tohw() 74 if (duty_steps == MAX7360_PWM_MAX) in max7360_pwm_round_waveform_tohw() 75 duty_steps = MAX7360_PWM_MAX - 1; in max7360_pwm_round_waveform_tohw() 78 wfhw->duty_steps = duty_steps; in max7360_pwm_round_waveform_tohw() 96 if (wfhw->duty_steps == MAX7360_PWM_MAX) in max7360_pwm_round_waveform_fromhw() 99 wf->duty_length_ns = DIV_ROUND_UP(wfhw->duty_steps * MAX7360_PWM_PERIOD_NS, in max7360_pwm_round_waveform_fromhw() 118 ret = regmap_write(regmap, MAX7360_REG_PWM(pwm->hwpwm), wfhw->duty_steps); in max7360_pwm_write_waveform() [all …]
|
| H A D | pwm-microchip-core.c | 134 u64 duty_steps, tmp; in mchp_core_pwm_calc_duty() local 143 duty_steps = mul_u64_u64_div_u64(state->duty_cycle, clk_rate, tmp); in mchp_core_pwm_calc_duty() 145 return duty_steps; in mchp_core_pwm_calc_duty() 149 const struct pwm_state *state, u64 duty_steps, in mchp_core_pwm_apply_duty() argument 154 u8 first_edge = 0, second_edge = duty_steps; in mchp_core_pwm_apply_duty() 162 if (duty_steps == 0) in mchp_core_pwm_apply_duty() 277 u64 duty_steps; in mchp_core_pwm_apply_locked() local 335 duty_steps = mchp_core_pwm_calc_duty(state, clk_rate, prescale, period_steps); in mchp_core_pwm_apply_locked() 342 if (duty_steps > period_steps) in mchp_core_pwm_apply_locked() 343 duty_steps = period_steps + 1; in mchp_core_pwm_apply_locked() [all …]
|
| H A D | pwm-ab8500.c | 41 unsigned int duty_steps, div; in ab8500_pwm_apply() local 84 duty_steps = max_t(u64, mul_u64_u64_div_u64(state->duty_cycle, in ab8500_pwm_apply() 93 if (!state->enabled || duty_steps == 0) { in ab8500_pwm_apply() 108 lower_val = (duty_steps - 1) & 0x00ff; in ab8500_pwm_apply() 113 higher_val = ((duty_steps - 1) & 0x0300) >> 8 | (32 - div) << 4; in ab8500_pwm_apply() 144 unsigned int div, duty_steps; in ab8500_pwm_get_state() local 172 duty_steps = ((higher_val & 3) << 8 | lower_val) + 1; in ab8500_pwm_get_state() 175 state->duty_cycle = DIV64_U64_ROUND_UP((u64)div * duty_steps, AB8500_PWM_CLKRATE); in ab8500_pwm_get_state()
|