summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/clock.h
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2013-09-19 15:08:33 -0700
committerAjay Nandakumar <anandakumarm@nvidia.com>2013-10-03 19:17:28 +0530
commit0b2cb04e9f86865f507d92e677b9443849d845aa (patch)
treef990a9459b0d2b411502b7eb1dffbd1ab1bf3725 /arch/arm/mach-tegra/clock.h
parent1023b7ebd6009895dee1f92f96aaa05ffb9bdbb8 (diff)
ARM: tegra12: clock: Support shared bus rate retention
Added Tegra12 shared bus rate retention mechanism: do not scale bus clock to minimum rate if there is no rate request from shared users; instead keep current bus rate. This mechanism allows to reduce voltage scaling and pll re-locking steps during shared bus on/off transitions provided underlying physical clock is disabled when all floor and bandwidth users are disabled. It should not be used with always-on buses like emc or system clock. For now, retention is not enabled on any Tegra12 shared buses. Change-Id: I9bc611311d0a801f11c094154a09d3456322395e Signed-off-by: Alex Frid <afrid@nvidia.com> Reviewed-on: http://git-master/r/278178 Tested-by: Prashant Malani <pmalani@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com> (cherry picked from commit 2e9524c6c42fc92bec83f032d6fe3571748e2059) Signed-off-by: Ajay Nandakumar <anandakumarm@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/clock.h')
-rw-r--r--arch/arm/mach-tegra/clock.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/clock.h b/arch/arm/mach-tegra/clock.h
index e79ba018402e..f2b4bfa74bab 100644
--- a/arch/arm/mach-tegra/clock.h
+++ b/arch/arm/mach-tegra/clock.h
@@ -85,6 +85,8 @@ struct clk;
#define PERIPH_ON_APB (1 << 29)
#define PERIPH_ON_CBUS (1 << 30)
+#define SHARED_BUS_RETENTION (1 << 0)
+
#ifdef CONFIG_COMMON_CLK
struct clk_tegra;
#define to_clk_tegra(_hw) container_of(_hw, struct clk_tegra, hw)
@@ -191,6 +193,7 @@ struct clk {
struct clk_backup shared_bus_backup;
struct clk *child_bus;
unsigned long override_rate;
+ u32 shared_bus_flags;
union {
struct {