Lines Matching defs:pwm
15 #include <linux/pwm.h>
83 static void hibvt_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm)
87 hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CTRL_ADDR(pwm->hwpwm),
91 static void hibvt_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm)
95 hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CTRL_ADDR(pwm->hwpwm),
99 static void hibvt_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm,
110 hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CFG0_ADDR(pwm->hwpwm),
113 hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CFG1_ADDR(pwm->hwpwm),
118 struct pwm_device *pwm,
124 hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CTRL_ADDR(pwm->hwpwm),
127 hibvt_pwm_set_bits(hi_pwm_chip->base, PWM_CTRL_ADDR(pwm->hwpwm),
131 static int hibvt_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
141 value = readl(base + PWM_CFG0_ADDR(pwm->hwpwm));
144 value = readl(base + PWM_CFG1_ADDR(pwm->hwpwm));
147 value = readl(base + PWM_CTRL_ADDR(pwm->hwpwm));
154 static int hibvt_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
159 if (state->polarity != pwm->state.polarity)
160 hibvt_pwm_set_polarity(chip, pwm, state->polarity);
162 if (state->period != pwm->state.period ||
163 state->duty_cycle != pwm->state.duty_cycle) {
164 hibvt_pwm_config(chip, pwm, state->duty_cycle, state->period);
171 hibvt_pwm_enable(chip, pwm);
174 if (state->enabled != pwm->state.enabled) {
176 hibvt_pwm_enable(chip, pwm);
178 hibvt_pwm_disable(chip, pwm);
264 { .compatible = "hisilicon,hi3516cv300-pwm",
266 { .compatible = "hisilicon,hi3519v100-pwm",
268 { .compatible = "hisilicon,hi3559v100-shub-pwm",
270 { .compatible = "hisilicon,hi3559v100-pwm",
278 .name = "hibvt-pwm",