Lines Matching refs:pwm
42 static int bcm2835_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) in bcm2835_pwm_request() argument
48 value &= ~(PWM_CONTROL_MASK << PWM_CONTROL_SHIFT(pwm->hwpwm)); in bcm2835_pwm_request()
49 value |= (PWM_MODE << PWM_CONTROL_SHIFT(pwm->hwpwm)); in bcm2835_pwm_request()
55 static void bcm2835_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) in bcm2835_pwm_free() argument
61 value &= ~(PWM_CONTROL_MASK << PWM_CONTROL_SHIFT(pwm->hwpwm)); in bcm2835_pwm_free()
65 static int bcm2835_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in bcm2835_pwm_config() argument
76 writel(duty_ns / pc->scaler, pc->base + DUTY(pwm->hwpwm)); in bcm2835_pwm_config()
77 writel(period_ns / pc->scaler, pc->base + PERIOD(pwm->hwpwm)); in bcm2835_pwm_config()
82 static int bcm2835_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in bcm2835_pwm_enable() argument
88 value |= PWM_ENABLE << PWM_CONTROL_SHIFT(pwm->hwpwm); in bcm2835_pwm_enable()
94 static void bcm2835_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in bcm2835_pwm_disable() argument
100 value &= ~(PWM_ENABLE << PWM_CONTROL_SHIFT(pwm->hwpwm)); in bcm2835_pwm_disable()
104 static int bcm2835_set_polarity(struct pwm_chip *chip, struct pwm_device *pwm, in bcm2835_set_polarity() argument
113 value &= ~(PWM_POLARITY << PWM_CONTROL_SHIFT(pwm->hwpwm)); in bcm2835_set_polarity()
115 value |= PWM_POLARITY << PWM_CONTROL_SHIFT(pwm->hwpwm); in bcm2835_set_polarity()