Lines Matching refs:pwm

120 static void pwm_samsung_set_divisor(struct samsung_pwm_chip *pwm,  in pwm_samsung_set_divisor()  argument
128 bits = (fls(divisor) - 1) - pwm->variant.div_base; in pwm_samsung_set_divisor()
132 reg = readl(pwm->base + REG_TCFG1); in pwm_samsung_set_divisor()
135 writel(reg, pwm->base + REG_TCFG1); in pwm_samsung_set_divisor()
205 static int pwm_samsung_request(struct pwm_chip *chip, struct pwm_device *pwm) in pwm_samsung_request() argument
210 if (!(our_chip->variant.output_mask & BIT(pwm->hwpwm))) { in pwm_samsung_request()
213 pwm->hwpwm); in pwm_samsung_request()
221 pwm_set_chip_data(pwm, our_chan); in pwm_samsung_request()
226 static void pwm_samsung_free(struct pwm_chip *chip, struct pwm_device *pwm) in pwm_samsung_free() argument
228 devm_kfree(chip->dev, pwm_get_chip_data(pwm)); in pwm_samsung_free()
229 pwm_set_chip_data(pwm, NULL); in pwm_samsung_free()
232 static int pwm_samsung_enable(struct pwm_chip *chip, struct pwm_device *pwm) in pwm_samsung_enable() argument
235 unsigned int tcon_chan = to_tcon_channel(pwm->hwpwm); in pwm_samsung_enable()
256 static void pwm_samsung_disable(struct pwm_chip *chip, struct pwm_device *pwm) in pwm_samsung_disable() argument
259 unsigned int tcon_chan = to_tcon_channel(pwm->hwpwm); in pwm_samsung_disable()
273 struct pwm_device *pwm) in pwm_samsung_manual_update() argument
275 unsigned int tcon_chan = to_tcon_channel(pwm->hwpwm); in pwm_samsung_manual_update()
291 static int pwm_samsung_config(struct pwm_chip *chip, struct pwm_device *pwm, in pwm_samsung_config() argument
295 struct samsung_pwm_channel *chan = pwm_get_chip_data(pwm); in pwm_samsung_config()
309 tcnt = readl(our_chip->base + REG_TCNTB(pwm->hwpwm)); in pwm_samsung_config()
310 oldtcmp = readl(our_chip->base + REG_TCMPB(pwm->hwpwm)); in pwm_samsung_config()
325 tin_rate = pwm_samsung_calc_tin(our_chip, pwm->hwpwm, period); in pwm_samsung_config()
355 writel(tcnt, our_chip->base + REG_TCNTB(pwm->hwpwm)); in pwm_samsung_config()
356 writel(tcmp, our_chip->base + REG_TCMPB(pwm->hwpwm)); in pwm_samsung_config()
365 pwm_samsung_manual_update(our_chip, pwm); in pwm_samsung_config()
400 struct pwm_device *pwm, in pwm_samsung_set_polarity() argument
407 pwm_samsung_set_invert(our_chip, pwm->hwpwm, invert); in pwm_samsung_set_polarity()
597 struct pwm_device *pwm = &chip->chip.pwms[i]; in pwm_samsung_suspend() local
598 struct samsung_pwm_channel *chan = pwm_get_chip_data(pwm); in pwm_samsung_suspend()