Lines Matching refs:pwm

50 static int jz4740_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm)  in jz4740_pwm_request()  argument
57 if (!jz4740_pwm_can_use_chn(jz, pwm->hwpwm)) in jz4740_pwm_request()
60 snprintf(name, sizeof(name), "timer%u", pwm->hwpwm); in jz4740_pwm_request()
74 pwm_set_chip_data(pwm, clk); in jz4740_pwm_request()
79 static void jz4740_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) in jz4740_pwm_free() argument
81 struct clk *clk = pwm_get_chip_data(pwm); in jz4740_pwm_free()
87 static int jz4740_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in jz4740_pwm_enable() argument
92 regmap_set_bits(jz->map, TCU_REG_TCSRc(pwm->hwpwm), TCU_TCSR_PWM_EN); in jz4740_pwm_enable()
95 regmap_write(jz->map, TCU_REG_TESR, BIT(pwm->hwpwm)); in jz4740_pwm_enable()
100 static void jz4740_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in jz4740_pwm_disable() argument
108 regmap_write(jz->map, TCU_REG_TDHRc(pwm->hwpwm), 0xffff); in jz4740_pwm_disable()
109 regmap_write(jz->map, TCU_REG_TDFRc(pwm->hwpwm), 0x0); in jz4740_pwm_disable()
116 regmap_clear_bits(jz->map, TCU_REG_TCSRc(pwm->hwpwm), TCU_TCSR_PWM_EN); in jz4740_pwm_disable()
119 regmap_write(jz->map, TCU_REG_TECR, BIT(pwm->hwpwm)); in jz4740_pwm_disable()
122 static int jz4740_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm, in jz4740_pwm_apply() argument
125 struct jz4740_pwm_chip *jz4740 = to_jz4740(pwm->chip); in jz4740_pwm_apply()
127 struct clk *clk = pwm_get_chip_data(pwm); in jz4740_pwm_apply()
168 jz4740_pwm_disable(chip, pwm); in jz4740_pwm_apply()
177 regmap_write(jz4740->map, TCU_REG_TCNTc(pwm->hwpwm), 0); in jz4740_pwm_apply()
180 regmap_write(jz4740->map, TCU_REG_TDHRc(pwm->hwpwm), duty); in jz4740_pwm_apply()
183 regmap_write(jz4740->map, TCU_REG_TDFRc(pwm->hwpwm), period); in jz4740_pwm_apply()
186 regmap_set_bits(jz4740->map, TCU_REG_TCSRc(pwm->hwpwm), in jz4740_pwm_apply()
203 regmap_update_bits(jz4740->map, TCU_REG_TCSRc(pwm->hwpwm), in jz4740_pwm_apply()
206 regmap_update_bits(jz4740->map, TCU_REG_TCSRc(pwm->hwpwm), in jz4740_pwm_apply()
211 jz4740_pwm_enable(chip, pwm); in jz4740_pwm_apply()