diff options
author | Rajendra Nayak <rnayak@ti.com> | 2011-02-25 17:49:00 -0500 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2011-02-25 18:10:16 -0500 |
commit | 6c6f5a7437955cec637c00ab1d09b8f70fc0ab3a (patch) | |
tree | 5ad55cd28863238be0d7a80e8613e23a9a14f687 /arch | |
parent | 58e846fe7870d0ba22f8eeb1d522fbae37e80cbf (diff) |
OMAP3/4: DPLL: Add allow_idle/deny_idle support for all DPLL's
All OMAP3/4 dpll's support hardware level autogating.
Populate allow_idle/deny_idle function pointers for all
DPLL's in clkops.
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap2/clock.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clock.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clock3xxx_data.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clock44xx_data.c | 2 |
4 files changed, 10 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c index b1875965bb51..46d03ccc2806 100644 --- a/arch/arm/mach-omap2/clock.c +++ b/arch/arm/mach-omap2/clock.c | |||
@@ -377,10 +377,16 @@ int omap2_clk_set_parent(struct clk *clk, struct clk *new_parent) | |||
377 | const struct clkops clkops_omap3_noncore_dpll_ops = { | 377 | const struct clkops clkops_omap3_noncore_dpll_ops = { |
378 | .enable = omap3_noncore_dpll_enable, | 378 | .enable = omap3_noncore_dpll_enable, |
379 | .disable = omap3_noncore_dpll_disable, | 379 | .disable = omap3_noncore_dpll_disable, |
380 | .allow_idle = omap3_dpll_allow_idle, | ||
381 | .deny_idle = omap3_dpll_deny_idle, | ||
380 | }; | 382 | }; |
381 | 383 | ||
382 | #endif | 384 | const struct clkops clkops_omap3_core_dpll_ops = { |
385 | .allow_idle = omap3_dpll_allow_idle, | ||
386 | .deny_idle = omap3_dpll_deny_idle, | ||
387 | }; | ||
383 | 388 | ||
389 | #endif | ||
384 | 390 | ||
385 | /* | 391 | /* |
386 | * OMAP2+ clock reset and init functions | 392 | * OMAP2+ clock reset and init functions |
diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h index 896584e3c4ab..2a939e5ec6a2 100644 --- a/arch/arm/mach-omap2/clock.h +++ b/arch/arm/mach-omap2/clock.h | |||
@@ -146,5 +146,6 @@ extern void omap2_clk_exit_cpufreq_table(struct cpufreq_frequency_table **table) | |||
146 | #endif | 146 | #endif |
147 | 147 | ||
148 | extern const struct clkops clkops_omap3_noncore_dpll_ops; | 148 | extern const struct clkops clkops_omap3_noncore_dpll_ops; |
149 | extern const struct clkops clkops_omap3_core_dpll_ops; | ||
149 | 150 | ||
150 | #endif | 151 | #endif |
diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c index 0cdb8343d658..78ea7997686b 100644 --- a/arch/arm/mach-omap2/clock3xxx_data.c +++ b/arch/arm/mach-omap2/clock3xxx_data.c | |||
@@ -429,7 +429,7 @@ static struct dpll_data dpll3_dd = { | |||
429 | 429 | ||
430 | static struct clk dpll3_ck = { | 430 | static struct clk dpll3_ck = { |
431 | .name = "dpll3_ck", | 431 | .name = "dpll3_ck", |
432 | .ops = &clkops_null, | 432 | .ops = &clkops_omap3_core_dpll_ops, |
433 | .parent = &sys_ck, | 433 | .parent = &sys_ck, |
434 | .dpll_data = &dpll3_dd, | 434 | .dpll_data = &dpll3_dd, |
435 | .round_rate = &omap2_dpll_round_rate, | 435 | .round_rate = &omap2_dpll_round_rate, |
diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index de9ec8ddd2ae..b843b6e5976c 100644 --- a/arch/arm/mach-omap2/clock44xx_data.c +++ b/arch/arm/mach-omap2/clock44xx_data.c | |||
@@ -443,7 +443,7 @@ static struct clk dpll_core_ck = { | |||
443 | .parent = &sys_clkin_ck, | 443 | .parent = &sys_clkin_ck, |
444 | .dpll_data = &dpll_core_dd, | 444 | .dpll_data = &dpll_core_dd, |
445 | .init = &omap2_init_dpll_parent, | 445 | .init = &omap2_init_dpll_parent, |
446 | .ops = &clkops_null, | 446 | .ops = &clkops_omap3_core_dpll_ops, |
447 | .recalc = &omap3_dpll_recalc, | 447 | .recalc = &omap3_dpll_recalc, |
448 | }; | 448 | }; |
449 | 449 | ||