Lines Matching refs:pwm
100 struct pwm_device *pwm; in pca9685_pwm_gpio_request() local
104 pwm = &pca->chip.pwms[offset]; in pca9685_pwm_gpio_request()
106 if (pwm->flags & (PWMF_REQUESTED | PWMF_EXPORTED)) { in pca9685_pwm_gpio_request()
111 pwm_set_chip_data(pwm, (void *)1); in pca9685_pwm_gpio_request()
118 static bool pca9685_pwm_is_gpio(struct pca9685 *pca, struct pwm_device *pwm) in pca9685_pwm_is_gpio() argument
124 if (pwm->hwpwm >= PCA9685_MAXCHAN) { in pca9685_pwm_is_gpio()
136 } else if (pwm_get_chip_data(pwm)) { in pca9685_pwm_is_gpio()
147 struct pwm_device *pwm = &pca->chip.pwms[offset]; in pca9685_pwm_gpio_get() local
150 regmap_read(pca->regmap, LED_N_ON_H(pwm->hwpwm), &value); in pca9685_pwm_gpio_get()
159 struct pwm_device *pwm = &pca->chip.pwms[offset]; in pca9685_pwm_gpio_set() local
163 regmap_write(pca->regmap, LED_N_OFF_L(pwm->hwpwm), 0); in pca9685_pwm_gpio_set()
164 regmap_write(pca->regmap, LED_N_OFF_H(pwm->hwpwm), 0); in pca9685_pwm_gpio_set()
167 regmap_write(pca->regmap, LED_N_ON_H(pwm->hwpwm), on); in pca9685_pwm_gpio_set()
228 struct pwm_device *pwm) in pca9685_pwm_is_gpio() argument
249 static int pca9685_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in pca9685_pwm_config() argument
289 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config()
292 reg = LED_N_OFF_H(pwm->hwpwm); in pca9685_pwm_config()
301 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config()
304 reg = LED_N_OFF_L(pwm->hwpwm); in pca9685_pwm_config()
308 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config()
311 reg = LED_N_OFF_H(pwm->hwpwm); in pca9685_pwm_config()
316 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config()
319 reg = LED_N_ON_H(pwm->hwpwm); in pca9685_pwm_config()
329 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config()
332 reg = LED_N_OFF_L(pwm->hwpwm); in pca9685_pwm_config()
336 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config()
339 reg = LED_N_OFF_H(pwm->hwpwm); in pca9685_pwm_config()
344 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config()
347 reg = LED_N_ON_H(pwm->hwpwm); in pca9685_pwm_config()
354 static int pca9685_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in pca9685_pwm_enable() argument
363 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_enable()
366 reg = LED_N_ON_L(pwm->hwpwm); in pca9685_pwm_enable()
370 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_enable()
373 reg = LED_N_ON_H(pwm->hwpwm); in pca9685_pwm_enable()
381 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_enable()
384 reg = LED_N_OFF_H(pwm->hwpwm); in pca9685_pwm_enable()
391 static void pca9685_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in pca9685_pwm_disable() argument
396 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_disable()
399 reg = LED_N_OFF_H(pwm->hwpwm); in pca9685_pwm_disable()
404 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_disable()
407 reg = LED_N_OFF_L(pwm->hwpwm); in pca9685_pwm_disable()
412 static int pca9685_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) in pca9685_pwm_request() argument
416 if (pca9685_pwm_is_gpio(pca, pwm)) in pca9685_pwm_request()
423 static void pca9685_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) in pca9685_pwm_free() argument
425 pca9685_pwm_disable(chip, pwm); in pca9685_pwm_free()