aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap
diff options
context:
space:
mode:
authorRajendra Nayak <rnayak@ti.com>2011-02-25 17:49:01 -0500
committerPaul Walmsley <paul@pwsan.com>2011-02-25 18:10:17 -0500
commit97f678989afe5dd1584a0877dfd8b0d2e124b73a (patch)
tree39f2b45b0e62b8c62a5e0e6277343a0474c04b2a /arch/arm/plat-omap
parentb80b956dc56c6a3cb77b97e2abff48fb7ebc2119 (diff)
OMAP4: DPLL: Add dpll api to control GATE_CTRL
On OMAP4, the dpll post divider outputs (MX outputs) along with clockout_x2 output provide a way to allow/deny hardware level autogating. Allowing autoidle would mean that the hw would autogate this clock when there is no dependency for it. Denying idle would mean that this clock output will be forced to stay enabled. Add dpll api's to read/allow/deny idle control for these dpll mx postdividers. NOTE: The gatectrl bit set to 0 allows gatectrl, and the bit set to 1 denies gatectrl. Signed-off-by: Rajendra Nayak <rnayak@ti.com> [paul@pwsan.com: moved OMAP4-specific DPLL control code to mach-omap2/dpll44xx.c; added some documentation for CLOCK_CLKOUTX2] Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/plat-omap')
-rw-r--r--arch/arm/plat-omap/include/plat/clock.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/arm/plat-omap/include/plat/clock.h b/arch/arm/plat-omap/include/plat/clock.h
index be69f5cac32d..dcd7bb81420d 100644
--- a/arch/arm/plat-omap/include/plat/clock.h
+++ b/arch/arm/plat-omap/include/plat/clock.h
@@ -176,12 +176,24 @@ struct dpll_data {
176 176
177#endif 177#endif
178 178
179/* struct clk.flags possibilities */ 179/*
180 * struct clk.flags possibilities
181 *
182 * XXX document the rest of the clock flags here
183 *
184 * CLOCK_CLKOUTX2: (OMAP4 only) DPLL CLKOUT and CLKOUTX2 GATE_CTRL
185 * bits share the same register. This flag allows the
186 * omap4_dpllmx*() code to determine which GATE_CTRL bit field
187 * should be used. This is a temporary solution - a better approach
188 * would be to associate clock type-specific data with the clock,
189 * similar to the struct dpll_data approach.
190 */
180#define ENABLE_REG_32BIT (1 << 0) /* Use 32-bit access */ 191#define ENABLE_REG_32BIT (1 << 0) /* Use 32-bit access */
181#define CLOCK_IDLE_CONTROL (1 << 1) 192#define CLOCK_IDLE_CONTROL (1 << 1)
182#define CLOCK_NO_IDLE_PARENT (1 << 2) 193#define CLOCK_NO_IDLE_PARENT (1 << 2)
183#define ENABLE_ON_INIT (1 << 3) /* Enable upon framework init */ 194#define ENABLE_ON_INIT (1 << 3) /* Enable upon framework init */
184#define INVERT_ENABLE (1 << 4) /* 0 enables, 1 disables */ 195#define INVERT_ENABLE (1 << 4) /* 0 enables, 1 disables */
196#define CLOCK_CLKOUTX2 (1 << 5)
185 197
186/** 198/**
187 * struct clk - OMAP struct clk 199 * struct clk - OMAP struct clk