Lines Matching refs:pwm
38 static int jz4740_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) in jz4740_pwm_request() argument
44 if (pwm->hwpwm < 2) in jz4740_pwm_request()
47 jz4740_timer_start(pwm->hwpwm); in jz4740_pwm_request()
52 static void jz4740_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) in jz4740_pwm_free() argument
54 jz4740_timer_set_ctrl(pwm->hwpwm, 0); in jz4740_pwm_free()
56 jz4740_timer_stop(pwm->hwpwm); in jz4740_pwm_free()
59 static int jz4740_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in jz4740_pwm_enable() argument
61 uint32_t ctrl = jz4740_timer_get_ctrl(pwm->pwm); in jz4740_pwm_enable()
64 jz4740_timer_set_ctrl(pwm->hwpwm, ctrl); in jz4740_pwm_enable()
65 jz4740_timer_enable(pwm->hwpwm); in jz4740_pwm_enable()
70 static void jz4740_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in jz4740_pwm_disable() argument
72 uint32_t ctrl = jz4740_timer_get_ctrl(pwm->hwpwm); in jz4740_pwm_disable()
75 jz4740_timer_disable(pwm->hwpwm); in jz4740_pwm_disable()
76 jz4740_timer_set_ctrl(pwm->hwpwm, ctrl); in jz4740_pwm_disable()
79 static int jz4740_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in jz4740_pwm_config() argument
82 struct jz4740_pwm_chip *jz4740 = to_jz4740(pwm->chip); in jz4740_pwm_config()
108 is_enabled = jz4740_timer_is_enabled(pwm->hwpwm); in jz4740_pwm_config()
110 jz4740_pwm_disable(chip, pwm); in jz4740_pwm_config()
112 jz4740_timer_set_count(pwm->hwpwm, 0); in jz4740_pwm_config()
113 jz4740_timer_set_duty(pwm->hwpwm, duty); in jz4740_pwm_config()
114 jz4740_timer_set_period(pwm->hwpwm, period); in jz4740_pwm_config()
119 jz4740_timer_set_ctrl(pwm->hwpwm, ctrl); in jz4740_pwm_config()
122 jz4740_pwm_enable(chip, pwm); in jz4740_pwm_config()