Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1348170
| From | Lee Jones <lee.jones@linaro.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [RESEND 10/11] pwm: sti: Enable PWM Capture |
| Date | 2016-03-02 16:40 +0100 |
| Message-ID | <r8h2z-18n-51@gated-at.bofh.it> (permalink) |
| References | <r8h2z-18n-39@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Once all functionality is in place, we provide the means to
enable PWM Capture. Here we are simply obtaining the
associated regmap and twiddling the relevant enable register
bits.
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
drivers/pwm/pwm-sti.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/pwm/pwm-sti.c b/drivers/pwm/pwm-sti.c
index 8de9b4a..93cf20e 100644
--- a/drivers/pwm/pwm-sti.c
+++ b/drivers/pwm/pwm-sti.c
@@ -279,6 +279,13 @@ static int sti_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm)
pwm->hwpwm);
goto out;
}
+
+ ret = regmap_field_write(pc->pwm_cpt_en, 1);
+ if (ret) {
+ dev_err(dev, "failed to enable PWM capture:%d\n",
+ pwm->hwpwm);
+ goto out;
+ }
}
pc->en_count++;
out:
@@ -296,6 +303,7 @@ static void sti_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm)
return;
}
regmap_field_write(pc->pwm_out_en, 0);
+ regmap_field_write(pc->pwm_cpt_en, 0);
clk_disable(pc->pwm_clk);
clk_disable(pc->cpt_clk);
@@ -492,6 +500,11 @@ static int sti_pwm_probe_dt(struct sti_pwm_chip *pc)
if (IS_ERR(pc->pwm_out_en))
return PTR_ERR(pc->pwm_out_en);
+ pc->pwm_cpt_en = devm_regmap_field_alloc(dev, pc->regmap,
+ reg_fields[PWM_CPT_EN]);
+ if (IS_ERR(pc->pwm_cpt_en))
+ return PTR_ERR(pc->pwm_cpt_en);
+
pc->pwm_cpt_int_en = devm_regmap_field_alloc(dev, pc->regmap,
reg_fields[PWM_CPT_INT_EN]);
if (IS_ERR(pc->pwm_cpt_int_en))
--
1.9.1
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
[RESEND 10/11] pwm: sti: Enable PWM Capture Lee Jones <lee.jones@linaro.org> - 2016-03-02 16:40 +0100
csiph-web