/kernel/linux/linux-5.10/include/linux/ |
H A D | pwm.h | 271 int duty_ns, int period_ns); 324 * @duty_ns: "on" time (in nanoseconds) 329 static inline int pwm_config(struct pwm_device *pwm, int duty_ns, in pwm_config() argument 337 if (duty_ns < 0 || period_ns < 0) in pwm_config() 341 if (state.duty_cycle == duty_ns && state.period == period_ns) in pwm_config() 344 state.duty_cycle = duty_ns; in pwm_config() 439 static inline int pwm_config(struct pwm_device *pwm, int duty_ns, in pwm_config() argument
|
/kernel/linux/linux-5.10/drivers/pwm/ |
H A D | pwm-omap-dmtimer.c | 145 * @duty_ns: New duty cycle in nano seconds 153 int duty_ns, int period_ns) in pwm_omap_dmtimer_config() 162 duty_ns, period_ns); in pwm_omap_dmtimer_config() 164 if (duty_ns == pwm_get_duty_cycle(pwm) && in pwm_omap_dmtimer_config() 199 duty_cycles = pwm_omap_dmtimer_get_clock_cycles(clk_rate, duty_ns); in pwm_omap_dmtimer_config() 211 duty_ns, clk_rate); in pwm_omap_dmtimer_config() 217 duty_ns, period_ns, clk_rate); in pwm_omap_dmtimer_config() 151 pwm_omap_dmtimer_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) pwm_omap_dmtimer_config() argument
|
H A D | pwm-ab8500.c | 28 int duty_ns, int period_ns) in ab8500_pwm_config() 38 lower_val = duty_ns & 0x00FF; in ab8500_pwm_config() 43 higher_val = ((duty_ns & 0x0300) >> 8); in ab8500_pwm_config() 27 ab8500_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) ab8500_pwm_config() argument
|
H A D | pwm-samsung.c | 61 * @duty_ns: current duty time in nanoseconds programmed to the hardware 66 u32 duty_ns; member 304 int duty_ns, int period_ns, bool force_period) in __pwm_samsung_config() 331 dev_dbg(our_chip->chip.dev, "duty_ns=%d, period_ns=%d (%u)\n", in __pwm_samsung_config() 332 duty_ns, period_ns, period); in __pwm_samsung_config() 347 tcmp = duty_ns / tin_ns; in __pwm_samsung_config() 379 chan->duty_ns = duty_ns; in __pwm_samsung_config() 385 int duty_ns, int period_ns) in pwm_samsung_config() 387 return __pwm_samsung_config(chip, pwm, duty_ns, period_n in pwm_samsung_config() 303 __pwm_samsung_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns, bool force_period) __pwm_samsung_config() argument 384 pwm_samsung_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) pwm_samsung_config() argument [all...] |
H A D | pwm-stmpe.c | 100 int duty_ns, int period_ns) in stmpe_24xx_pwm_config() 153 pwm->hwpwm, duty_ns, period_ns); in stmpe_24xx_pwm_config() 155 if (duty_ns == 0) { in stmpe_24xx_pwm_config() 163 } else if (duty_ns == period_ns) { in stmpe_24xx_pwm_config() 186 duty = duty_ns * 256; in stmpe_24xx_pwm_config() 99 stmpe_24xx_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) stmpe_24xx_pwm_config() argument
|
H A D | pwm-brcmstb.c | 94 * The PWM core framework specifies that the "duty_ns" parameter is in fact the 98 int duty_ns, int period_ns) in brcmstb_pwm_config() 106 * If asking for a duty_ns equal to period_ns, we need to substract in brcmstb_pwm_config() 110 if (duty_ns == period_ns) { in brcmstb_pwm_config() 130 tmp = (duty_ns + 1) * rate; in brcmstb_pwm_config() 138 if (pc == PWM_PERIOD_MIN || (dc < PWM_ON_MIN && duty_ns)) in brcmstb_pwm_config() 97 brcmstb_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) brcmstb_pwm_config() argument
|
H A D | pwm-lp3943.c | 96 int duty_ns, int period_ns) in lp3943_pwm_config() 128 duty_ns = min(duty_ns, period_ns); in lp3943_pwm_config() 129 val = (u8)(duty_ns * LP3943_MAX_DUTY / period_ns); in lp3943_pwm_config() 95 lp3943_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) lp3943_pwm_config() argument
|
H A D | pwm-twl-led.c | 59 int duty_ns, int period_ns) in twl4030_pwmled_config() 61 int duty_cycle = DIV_ROUND_UP(duty_ns * TWL4030_LED_MAX, period_ns) + 1; in twl4030_pwmled_config() 141 int duty_ns, int period_ns) in twl6030_pwmled_config() 143 int duty_cycle = (duty_ns * TWL6030_LED_MAX) / period_ns; in twl6030_pwmled_config() 58 twl4030_pwmled_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) twl4030_pwmled_config() argument 140 twl6030_pwmled_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) twl6030_pwmled_config() argument
|
H A D | pwm-pxa.c | 58 * duty_ns = 10^9 * (PRESCALE + 1) * DC / PWM_CLK_RATE 61 int duty_ns, int period_ns) in pxa_pwm_config() 84 if (duty_ns == period_ns) in pxa_pwm_config() 87 dc = (pv + 1) * duty_ns / period_ns; in pxa_pwm_config() 60 pxa_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) pxa_pwm_config() argument
|
H A D | pwm-clps711x.c | 64 int duty_ns, int period_ns) in clps711x_pwm_config() 72 duty = clps711x_get_duty(pwm, duty_ns); in clps711x_pwm_config() 63 clps711x_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) clps711x_pwm_config() argument
|
H A D | pwm-imx1.c | 64 struct pwm_device *pwm, int duty_ns, int period_ns) in pwm_imx1_config() 76 * register to follow the ratio of duty_ns vs. period_ns in pwm_imx1_config() 87 p = max * duty_ns / period_ns; in pwm_imx1_config() 63 pwm_imx1_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) pwm_imx1_config() argument
|
H A D | pwm-lpc32xx.c | 30 int duty_ns, int period_ns) in lpc32xx_pwm_config() 47 duty_cycles = div64_u64((unsigned long long)(period_ns - duty_ns) * 256, in lpc32xx_pwm_config() 29 lpc32xx_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) lpc32xx_pwm_config() argument
|
H A D | pwm-lpc18xx-sct.c | 134 * when duty_ns == period_ns. LPC18xx SCT allows to set a conflict in lpc18xx_pwm_set_conflict_res() 163 struct pwm_device *pwm, int duty_ns) in lpc18xx_pwm_config_duty() 169 val = (u64)duty_ns * lpc18xx_pwm->clk_rate; in lpc18xx_pwm_config_duty() 182 int duty_ns, int period_ns) in lpc18xx_pwm_config() 221 lpc18xx_pwm_config_duty(chip, pwm, duty_ns); in lpc18xx_pwm_config() 162 lpc18xx_pwm_config_duty(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns) lpc18xx_pwm_config_duty() argument 181 lpc18xx_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) lpc18xx_pwm_config() argument
|
H A D | pwm-pca9685.c | 250 int duty_ns, int period_ns) in pca9685_pwm_config() 286 if (duty_ns < 1) { in pca9685_pwm_config() 297 if (duty_ns == period_ns) { in pca9685_pwm_config() 324 duty = PCA9685_COUNTER_RANGE * (unsigned long long)duty_ns; in pca9685_pwm_config() 249 pca9685_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) pca9685_pwm_config() argument
|
/kernel/linux/linux-6.6/drivers/pwm/ |
H A D | pwm-omap-dmtimer.c | 145 * @duty_ns: New duty cycle in nano seconds 153 int duty_ns, int period_ns) in pwm_omap_dmtimer_config() 162 duty_ns, period_ns); in pwm_omap_dmtimer_config() 164 if (duty_ns == pwm_get_duty_cycle(pwm) && in pwm_omap_dmtimer_config() 199 duty_cycles = pwm_omap_dmtimer_get_clock_cycles(clk_rate, duty_ns); in pwm_omap_dmtimer_config() 211 duty_ns, clk_rate); in pwm_omap_dmtimer_config() 217 duty_ns, period_ns, clk_rate); in pwm_omap_dmtimer_config() 151 pwm_omap_dmtimer_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) pwm_omap_dmtimer_config() argument
|
H A D | pwm-samsung.c | 61 * @duty_ns: current duty time in nanoseconds programmed to the hardware 66 u32 duty_ns; member 318 int duty_ns, int period_ns, bool force_period) in __pwm_samsung_config() 337 dev_dbg(our_chip->chip.dev, "duty_ns=%d, period_ns=%d (%u)\n", in __pwm_samsung_config() 338 duty_ns, period_ns, period); in __pwm_samsung_config() 353 tcmp = duty_ns / tin_ns; in __pwm_samsung_config() 385 chan->duty_ns = duty_ns; in __pwm_samsung_config() 391 int duty_ns, int period_ns) in pwm_samsung_config() 393 return __pwm_samsung_config(chip, pwm, duty_ns, period_n in pwm_samsung_config() 317 __pwm_samsung_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns, bool force_period) __pwm_samsung_config() argument 390 pwm_samsung_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) pwm_samsung_config() argument [all...] |
H A D | pwm-brcmstb.c | 93 * The PWM core framework specifies that the "duty_ns" parameter is in fact the 97 u64 duty_ns, u64 period_ns) in brcmstb_pwm_config() 105 * If asking for a duty_ns equal to period_ns, we need to substract in brcmstb_pwm_config() 109 if (duty_ns == period_ns) { in brcmstb_pwm_config() 126 dc = mul_u64_u64_div_u64(duty_ns + 1, rate, NSEC_PER_SEC); in brcmstb_pwm_config() 132 if (pc == PWM_PERIOD_MIN || (dc < PWM_ON_MIN && duty_ns)) in brcmstb_pwm_config() 96 brcmstb_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, u64 duty_ns, u64 period_ns) brcmstb_pwm_config() argument
|
H A D | pwm-stmpe.c | 99 int duty_ns, int period_ns) in stmpe_24xx_pwm_config() 154 pwm->hwpwm, duty_ns, period_ns); in stmpe_24xx_pwm_config() 156 if (duty_ns == 0) { in stmpe_24xx_pwm_config() 164 } else if (duty_ns == period_ns) { in stmpe_24xx_pwm_config() 187 duty = duty_ns * 256; in stmpe_24xx_pwm_config() 98 stmpe_24xx_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) stmpe_24xx_pwm_config() argument
|
H A D | pwm-pxa.c | 66 * duty_ns = 10^9 * (PRESCALE + 1) * DC / PWM_CLK_RATE 69 u64 duty_ns, u64 period_ns) in pxa_pwm_config() 91 if (duty_ns == period_ns) in pxa_pwm_config() 94 dc = mul_u64_u64_div_u64(pv + 1, duty_ns, period_ns); in pxa_pwm_config() 68 pxa_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, u64 duty_ns, u64 period_ns) pxa_pwm_config() argument
|
H A D | pwm-lp3943.c | 96 u64 duty_ns, u64 period_ns) in lp3943_pwm_config() 133 duty_ns = min(duty_ns, period_ns); in lp3943_pwm_config() 134 val = (u8)((int)duty_ns * LP3943_MAX_DUTY / (int)period_ns); in lp3943_pwm_config() 95 lp3943_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, u64 duty_ns, u64 period_ns) lp3943_pwm_config() argument
|
H A D | pwm-twl-led.c | 75 int duty_ns, int period_ns) in twl4030_pwmled_config() 77 int duty_cycle = DIV_ROUND_UP(duty_ns * TWL4030_LED_MAX, period_ns) + 1; in twl4030_pwmled_config() 196 int duty_ns, int period_ns) in twl6030_pwmled_config() 198 int duty_cycle = (duty_ns * TWL6030_LED_MAX) / period_ns; in twl6030_pwmled_config() 74 twl4030_pwmled_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) twl4030_pwmled_config() argument 195 twl6030_pwmled_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) twl6030_pwmled_config() argument
|
H A D | pwm-imx1.c | 63 struct pwm_device *pwm, u64 duty_ns, u64 period_ns) in pwm_imx1_config() 75 * register to follow the ratio of duty_ns vs. period_ns in pwm_imx1_config() 86 p = mul_u64_u64_div_u64(max, duty_ns, period_ns); in pwm_imx1_config() 62 pwm_imx1_config(struct pwm_chip *chip, struct pwm_device *pwm, u64 duty_ns, u64 period_ns) pwm_imx1_config() argument
|
H A D | pwm-lpc32xx.c | 30 int duty_ns, int period_ns) in lpc32xx_pwm_config() 47 duty_cycles = div64_u64((unsigned long long)(period_ns - duty_ns) * 256, in lpc32xx_pwm_config() 29 lpc32xx_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) lpc32xx_pwm_config() argument
|
H A D | pwm-lpc18xx-sct.c | 138 * when duty_ns == period_ns. LPC18xx SCT allows to set a conflict in lpc18xx_pwm_set_conflict_res() 172 struct pwm_device *pwm, u64 duty_ns) in lpc18xx_pwm_config_duty() 180 * With duty_ns <= period_ns < max_period_ns this also fits into an u32. in lpc18xx_pwm_config_duty() 182 val = mul_u64_u64_div_u64(duty_ns, lpc18xx_pwm->clk_rate, NSEC_PER_SEC); in lpc18xx_pwm_config_duty() 194 int duty_ns, int period_ns) in lpc18xx_pwm_config() 233 lpc18xx_pwm_config_duty(chip, pwm, duty_ns); in lpc18xx_pwm_config() 171 lpc18xx_pwm_config_duty(struct pwm_chip *chip, struct pwm_device *pwm, u64 duty_ns) lpc18xx_pwm_config_duty() argument 193 lpc18xx_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, int duty_ns, int period_ns) lpc18xx_pwm_config() argument
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | pwm.h | 318 * @duty_ns: "on" time (in nanoseconds) 323 static inline int pwm_config(struct pwm_device *pwm, int duty_ns, in pwm_config() argument 331 if (duty_ns < 0 || period_ns < 0) in pwm_config() 335 if (state.duty_cycle == duty_ns && state.period == period_ns) in pwm_config() 338 state.duty_cycle = duty_ns; in pwm_config() 423 static inline int pwm_config(struct pwm_device *pwm, int duty_ns, in pwm_config() argument
|