Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1396321
| From | Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 2/7] pwm: omap-dmtimer: Allow for setting dmtimer clock source |
| Date | 2016-05-07 17:30 +0200 |
| Message-ID | <rwcl4-3SB-15@gated-at.bofh.it> (permalink) |
| References | <rwcl4-3SB-7@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
OMAP GP timers can have different input clocks that allow different PWM
frequencies. However, there is no other way of setting the clock source but
through clocks or clock-names properties of the timer itself. This limits
PWM functionality to only the frequencies allowed by the particular clock
source. Allowing setting the clock source by PWM rather than by timer
allows different PWMs to have different ranges by not hard-wiring the clock
source to the timer.
Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
---
Documentation/devicetree/bindings/pwm/pwm-omap-dmtimer.txt | 4 ++++
drivers/pwm/pwm-omap-dmtimer.c | 12 +++++++-----
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/pwm/pwm-omap-dmtimer.txt b/Documentation/devicetree/bindings/pwm/pwm-omap-dmtimer.txt
index 5befb53..2e53324 100644
--- a/Documentation/devicetree/bindings/pwm/pwm-omap-dmtimer.txt
+++ b/Documentation/devicetree/bindings/pwm/pwm-omap-dmtimer.txt
@@ -9,6 +9,10 @@ Required properties:
Optional properties:
- ti,prescaler: Should be a value between 0 and 7, see the timers datasheet
+- ti,clock-source: Set dmtimer parent clock, values between 0 and 2:
+ - 0x00 - high-frequency system clock (timer_sys_ck)
+ - 0x01 - 32-kHz always-on clock (timer_32k_ck)
+ - 0x02 - external clock (timer_ext_ck, OMAP2 only)
Example:
pwm9: dmtimer-pwm@9 {
diff --git a/drivers/pwm/pwm-omap-dmtimer.c b/drivers/pwm/pwm-omap-dmtimer.c
index b7e6ecb..95964c6 100644
--- a/drivers/pwm/pwm-omap-dmtimer.c
+++ b/drivers/pwm/pwm-omap-dmtimer.c
@@ -245,7 +245,7 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev)
struct pwm_omap_dmtimer_chip *omap;
struct pwm_omap_dmtimer_pdata *pdata;
pwm_omap_dmtimer *dm_timer;
- u32 prescaler;
+ u32 v;
int status;
pdata = dev_get_platdata(&pdev->dev);
@@ -306,10 +306,12 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev)
if (pm_runtime_active(&omap->dm_timer_pdev->dev))
omap->pdata->stop(omap->dm_timer);
- /* setup dmtimer prescaler */
- if (!of_property_read_u32(pdev->dev.of_node, "ti,prescaler",
- &prescaler))
- omap->pdata->set_prescaler(omap->dm_timer, prescaler);
+ if (!of_property_read_u32(pdev->dev.of_node, "ti,prescaler", &v))
+ omap->pdata->set_prescaler(omap->dm_timer, v);
+
+ /* setup dmtimer clock source */
+ if (!of_property_read_u32(pdev->dev.of_node, "ti,clock-source", &v))
+ omap->pdata->set_source(omap->dm_timer, v);
omap->chip.dev = &pdev->dev;
omap->chip.ops = &pwm_omap_dmtimer_ops;
--
1.9.1
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 0/7] ir-rx51 driver fixes Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> - 2016-05-07 17:30 +0200
[PATCH 3/7] [media] ir-rx51: use PWM framework instead of OMAP dmtimer Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> - 2016-05-07 17:30 +0200
[PATCH 4/7] [media] ir-rx51: add DT support to driver Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> - 2016-05-07 17:30 +0200
Re: [PATCH 4/7] [media] ir-rx51: add DT support to driver Rob Herring <robh@kernel.org> - 2016-05-09 22:10 +0200
Re: [PATCH 4/7] [media] ir-rx51: add DT support to driver Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> - 2016-05-09 23:00 +0200
Re: [PATCH 4/7] [media] ir-rx51: add DT support to driver Rob Herring <robh@kernel.org> - 2016-05-09 23:10 +0200
Re: [PATCH 4/7] [media] ir-rx51: add DT support to driver Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> - 2016-05-10 00:10 +0200
Re: [PATCH 4/7] [media] ir-rx51: add DT support to driver Sebastian Reichel <sre@kernel.org> - 2016-05-10 04:20 +0200
Re: [PATCH 4/7] [media] ir-rx51: add DT support to driver Rob Herring <robh@kernel.org> - 2016-05-11 16:20 +0200
[PATCH 6/7] [media] ir-rx51: use hrtimer instead of dmtimer Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> - 2016-05-07 17:30 +0200
[PATCH 5/7] ARM: OMAP: dmtimer: Do not call PM runtime functions when not needed. Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> - 2016-05-07 17:30 +0200
Re: [PATCH 5/7] ARM: OMAP: dmtimer: Do not call PM runtime functions when not needed. Tony Lindgren <tony@atomide.com> - 2016-05-09 21:40 +0200
Re: [PATCH 5/7] ARM: OMAP: dmtimer: Do not call PM runtime functions when not needed. Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> - 2016-05-09 23:00 +0200
[PATCH 2/7] pwm: omap-dmtimer: Allow for setting dmtimer clock source Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> - 2016-05-07 17:30 +0200
Re: [PATCH 2/7] pwm: omap-dmtimer: Allow for setting dmtimer clock source Rob Herring <robh@kernel.org> - 2016-05-09 22:10 +0200
[PATCH 1/7] ir-rx51: Fix build after multiarch changes broke it Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> - 2016-05-07 17:30 +0200
[PATCH 7/7] ARM: dts: n900: enable lirc-rx51 driver Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> - 2016-05-07 17:30 +0200
csiph-web