Lines Matching defs:pwm
12 #include <linux/pwm.h>
38 static int bcm2835_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm)
44 value &= ~(PWM_CONTROL_MASK << PWM_CONTROL_SHIFT(pwm->hwpwm));
45 value |= (PWM_MODE << PWM_CONTROL_SHIFT(pwm->hwpwm));
51 static void bcm2835_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm)
57 value &= ~(PWM_CONTROL_MASK << PWM_CONTROL_SHIFT(pwm->hwpwm));
61 static int bcm2835_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
103 writel(period_cycles, pc->base + PERIOD(pwm->hwpwm));
107 writel(val, pc->base + DUTY(pwm->hwpwm));
113 val &= ~(PWM_POLARITY << PWM_CONTROL_SHIFT(pwm->hwpwm));
115 val |= PWM_POLARITY << PWM_CONTROL_SHIFT(pwm->hwpwm);
119 val |= PWM_ENABLE << PWM_CONTROL_SHIFT(pwm->hwpwm);
121 val &= ~(PWM_ENABLE << PWM_CONTROL_SHIFT(pwm->hwpwm));
186 { .compatible = "brcm,bcm2835-pwm", },
193 .name = "bcm2835-pwm",