Searched refs:duty_steps (Results 1 - 2 of 2) sorted by relevance
/kernel/linux/linux-6.6/drivers/pwm/ |
H A D | pwm-microchip-core.c | 137 u64 duty_steps, tmp; in mchp_core_pwm_calc_duty() local 141 * duty_steps = duty_in_ns / step_in_ns in mchp_core_pwm_calc_duty() 146 duty_steps = mul_u64_u64_div_u64(state->duty_cycle, clk_rate, tmp); in mchp_core_pwm_calc_duty() 148 return duty_steps; in mchp_core_pwm_calc_duty() 152 const struct pwm_state *state, u64 duty_steps, in mchp_core_pwm_apply_duty() 157 u8 first_edge = 0, second_edge = duty_steps; in mchp_core_pwm_apply_duty() 161 * so that's an unsuitable setting to model duty_steps = 0. in mchp_core_pwm_apply_duty() 165 if (duty_steps == 0) in mchp_core_pwm_apply_duty() 280 u64 duty_steps; in mchp_core_pwm_apply_locked() local 338 duty_steps in mchp_core_pwm_apply_locked() 151 mchp_core_pwm_apply_duty(struct pwm_chip *chip, struct pwm_device *pwm, const struct pwm_state *state, u64 duty_steps, u16 period_steps) mchp_core_pwm_apply_duty() argument 383 u8 duty_steps, posedge, negedge; mchp_core_pwm_get_state() local [all...] |
H A D | pwm-ab8500.c | 42 unsigned int duty_steps, div; in ab8500_pwm_apply() local 85 duty_steps = max_t(u64, mul_u64_u64_div_u64(state->duty_cycle, in ab8500_pwm_apply() 91 * The hardware doesn't support duty_steps = 0 explicitly, but emits low in ab8500_pwm_apply() 94 if (!state->enabled || duty_steps == 0) { in ab8500_pwm_apply() 106 * The lower 8 bits of duty_steps is written to ... in ab8500_pwm_apply() 109 lower_val = (duty_steps - 1) & 0x00ff; in ab8500_pwm_apply() 114 higher_val = ((duty_steps - 1) & 0x0300) >> 8 | (32 - div) << 4; in ab8500_pwm_apply() 145 unsigned int div, duty_steps; in ab8500_pwm_get_state() local 173 duty_steps = ((higher_val & 3) << 8 | lower_val) + 1; in ab8500_pwm_get_state() 176 state->duty_cycle = DIV64_U64_ROUND_UP((u64)div * duty_steps, AB8500_PWM_CLKRAT in ab8500_pwm_get_state() [all...] |
Completed in 2 milliseconds