Lines Matching defs:pwm

17 #include <linux/pwm.h>
46 /* This value is valid iff a pwm is running */
86 static int fsl_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm)
94 regmap_set_bits(fpc->regmap, FTM_SC, BIT(pwm->hwpwm + 16));
101 static void fsl_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm)
107 regmap_clear_bits(fpc->regmap, FTM_SC, BIT(pwm->hwpwm + 16));
200 struct pwm_device *pwm)
212 struct pwm_device *pwm)
217 if (~(val | BIT(pwm->hwpwm)) & 0xFF)
224 struct pwm_device *pwm,
239 if (!fsl_pwm_is_any_pwm_enabled(fpc, pwm))
245 * we allow to change the period only if no other pwm is running.
248 if (fsl_pwm_is_other_pwm_enabled(fpc, pwm)) {
251 pwm->hwpwm);
281 regmap_write(fpc->regmap, FTM_CSC(pwm->hwpwm),
283 regmap_write(fpc->regmap, FTM_CV(pwm->hwpwm), duty);
287 reg_polarity = BIT(pwm->hwpwm);
289 regmap_update_bits(fpc->regmap, FTM_POL, BIT(pwm->hwpwm), reg_polarity);
296 static int fsl_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
300 struct pwm_state *oldstate = &pwm->state;
317 BIT(pwm->hwpwm));
325 ret = fsl_pwm_apply_config(chip, pwm, newstate);
341 regmap_clear_bits(fpc->regmap, FTM_OUTMASK, BIT(pwm->hwpwm));
471 struct pwm_device *pwm = &chip->pwms[i];
473 if (!test_bit(PWMF_REQUESTED, &pwm->flags))
478 if (!pwm_is_enabled(pwm))
495 struct pwm_device *pwm = &chip->pwms[i];
497 if (!test_bit(PWMF_REQUESTED, &pwm->flags))
502 if (!pwm_is_enabled(pwm))
530 { .compatible = "fsl,vf610-ftm-pwm", .data = &vf610_ftm_pwm },
531 { .compatible = "fsl,imx8qm-ftm-pwm", .data = &imx8qm_ftm_pwm },
538 .name = "fsl-ftm-pwm",
548 MODULE_ALIAS("platform:fsl-ftm-pwm");