Lines Matching refs:pwm
39 static int stmpe_24xx_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in stmpe_24xx_pwm_enable() argument
48 pwm->hwpwm); in stmpe_24xx_pwm_enable()
52 value = ret | BIT(pwm->hwpwm); in stmpe_24xx_pwm_enable()
57 pwm->hwpwm); in stmpe_24xx_pwm_enable()
65 struct pwm_device *pwm) in stmpe_24xx_pwm_disable() argument
74 pwm->hwpwm); in stmpe_24xx_pwm_disable()
78 value = ret & ~BIT(pwm->hwpwm); in stmpe_24xx_pwm_disable()
83 pwm->hwpwm); in stmpe_24xx_pwm_disable()
99 static int stmpe_24xx_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in stmpe_24xx_pwm_config() argument
113 if (pwm_is_enabled(pwm)) { in stmpe_24xx_pwm_config()
114 stmpe_24xx_pwm_disable(chip, pwm); in stmpe_24xx_pwm_config()
117 pin = pwm->hwpwm; in stmpe_24xx_pwm_config()
128 pwm->hwpwm); in stmpe_24xx_pwm_config()
134 switch (pwm->hwpwm) { in stmpe_24xx_pwm_config()
153 pwm->hwpwm, duty_ns, period_ns); in stmpe_24xx_pwm_config()
192 if (pwm_is_enabled(pwm)) in stmpe_24xx_pwm_config()
193 stmpe_24xx_pwm_enable(chip, pwm); in stmpe_24xx_pwm_config()
220 pwm->hwpwm, value, last, program[0], program[1], in stmpe_24xx_pwm_config()
251 if (pwm_is_enabled(pwm)) in stmpe_24xx_pwm_config()
252 stmpe_24xx_pwm_enable(chip, pwm); in stmpe_24xx_pwm_config()
257 dev_dbg(chip->dev, "programmed PWM#%u, %u bytes\n", pwm->hwpwm, i); in stmpe_24xx_pwm_config()
272 struct stmpe_pwm *pwm; in stmpe_pwm_probe() local
275 pwm = devm_kzalloc(&pdev->dev, sizeof(*pwm), GFP_KERNEL); in stmpe_pwm_probe()
276 if (!pwm) in stmpe_pwm_probe()
279 pwm->stmpe = stmpe; in stmpe_pwm_probe()
280 pwm->chip.dev = &pdev->dev; in stmpe_pwm_probe()
281 pwm->chip.base = -1; in stmpe_pwm_probe()
284 pwm->chip.ops = &stmpe_24xx_pwm_ops; in stmpe_pwm_probe()
285 pwm->chip.npwm = 3; in stmpe_pwm_probe()
299 ret = pwmchip_add(&pwm->chip); in stmpe_pwm_probe()
305 platform_set_drvdata(pdev, pwm); in stmpe_pwm_probe()