aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/powerdomains.h
diff options
context:
space:
mode:
authorAbhijit Pagare <abhijitpagare@ti.com>2010-01-26 22:12:52 -0500
committerPaul Walmsley <paul@pwsan.com>2010-01-26 22:12:52 -0500
commit38900c27fbbbe97e16f448b8bc9cafc05af03460 (patch)
tree6b2c90dd83235f0ca08ee0f55c82cf7c45dc3a61 /arch/arm/mach-omap2/powerdomains.h
parentf37c6dfac99451b8babdd320d7aed4e03d51b94b (diff)
ARM: OMAP4: PM: Adapt the existing OMAP2/3 and common Power Domain Frameworks.
Taking care of the platform specific and common power domains with proper checks. Also refining some Macros according to the latest OMAP4 requirements. Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Benoit Cousson <b-cousson@ti.com> Cc: Rajendra Nayak <rnayak@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/powerdomains.h')
-rw-r--r--arch/arm/mach-omap2/powerdomains.h40
1 files changed, 36 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/powerdomains.h b/arch/arm/mach-omap2/powerdomains.h
index 057b2e3e2c35..d646c9979c38 100644
--- a/arch/arm/mach-omap2/powerdomains.h
+++ b/arch/arm/mach-omap2/powerdomains.h
@@ -12,6 +12,12 @@
12 * published by the Free Software Foundation. 12 * published by the Free Software Foundation.
13 */ 13 */
14 14
15/*
16 * To Do List
17 * -> Move the Sleep/Wakeup dependencies from Power Domain framework to
18 * Clock Domain Framework
19 */
20
15#ifndef ARCH_ARM_MACH_OMAP2_POWERDOMAINS 21#ifndef ARCH_ARM_MACH_OMAP2_POWERDOMAINS
16#define ARCH_ARM_MACH_OMAP2_POWERDOMAINS 22#define ARCH_ARM_MACH_OMAP2_POWERDOMAINS
17 23
@@ -71,6 +77,7 @@
71 77
72/* OMAP2/3-common powerdomains and wakeup dependencies */ 78/* OMAP2/3-common powerdomains and wakeup dependencies */
73 79
80#ifndef CONFIG_ARCH_OMAP4
74/* 81/*
75 * 2420/2430 PM_WKDEP_GFX: CORE, MPU, WKUP 82 * 2420/2430 PM_WKDEP_GFX: CORE, MPU, WKUP
76 * 3430ES1 PM_WKDEP_GFX: adds IVA2, removes CORE 83 * 3430ES1 PM_WKDEP_GFX: adds IVA2, removes CORE
@@ -110,21 +117,25 @@ static struct pwrdm_dep cam_gfx_sleepdeps[] = {
110 }, 117 },
111 { NULL }, 118 { NULL },
112}; 119};
120#endif
113 121
114 122
115#include "powerdomains24xx.h" 123#include "powerdomains24xx.h"
116#include "powerdomains34xx.h" 124#include "powerdomains34xx.h"
125#include "powerdomains44xx.h"
117 126
118 127
119/* 128/*
120 * OMAP2/3 common powerdomains 129 * OMAP2/3 common powerdomains
121 */ 130 */
122 131
132#if defined(CONFIG_ARCH_OMAP24XX) | defined(CONFIG_ARCH_OMAP34XX)
133
123/* 134/*
124 * The GFX powerdomain is not present on 3430ES2, but currently we do not 135 * The GFX powerdomain is not present on 3430ES2, but currently we do not
125 * have a macro to filter it out at compile-time. 136 * have a macro to filter it out at compile-time.
126 */ 137 */
127static struct powerdomain gfx_pwrdm = { 138static struct powerdomain gfx_omap2_pwrdm = {
128 .name = "gfx_pwrdm", 139 .name = "gfx_pwrdm",
129 .prcm_offs = GFX_MOD, 140 .prcm_offs = GFX_MOD,
130 .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX | 141 .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX |
@@ -142,20 +153,23 @@ static struct powerdomain gfx_pwrdm = {
142 }, 153 },
143}; 154};
144 155
145static struct powerdomain wkup_pwrdm = { 156static struct powerdomain wkup_omap2_pwrdm = {
146 .name = "wkup_pwrdm", 157 .name = "wkup_pwrdm",
147 .prcm_offs = WKUP_MOD, 158 .prcm_offs = WKUP_MOD,
148 .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX | CHIP_IS_OMAP3430), 159 .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX | CHIP_IS_OMAP3430),
149 .dep_bit = OMAP_EN_WKUP_SHIFT, 160 .dep_bit = OMAP_EN_WKUP_SHIFT,
150}; 161};
151 162
163#endif
152 164
153 165
154/* As powerdomains are added or removed above, this list must also be changed */ 166/* As powerdomains are added or removed above, this list must also be changed */
155static struct powerdomain *powerdomains_omap[] __initdata = { 167static struct powerdomain *powerdomains_omap[] __initdata = {
156 168
157 &gfx_pwrdm, 169#if defined(CONFIG_ARCH_OMAP24XX) | defined(CONFIG_ARCH_OMAP34XX)
158 &wkup_pwrdm, 170 &wkup_omap2_pwrdm,
171 &gfx_omap2_pwrdm,
172#endif
159 173
160#ifdef CONFIG_ARCH_OMAP24XX 174#ifdef CONFIG_ARCH_OMAP24XX
161 &dsp_pwrdm, 175 &dsp_pwrdm,
@@ -186,6 +200,24 @@ static struct powerdomain *powerdomains_omap[] __initdata = {
186 &dpll5_pwrdm, 200 &dpll5_pwrdm,
187#endif 201#endif
188 202
203#ifdef CONFIG_ARCH_OMAP4
204 &core_44xx_pwrdm,
205 &gfx_44xx_pwrdm,
206 &abe_44xx_pwrdm,
207 &dss_44xx_pwrdm,
208 &tesla_44xx_pwrdm,
209 &wkup_44xx_pwrdm,
210 &cpu0_44xx_pwrdm,
211 &cpu1_44xx_pwrdm,
212 &emu_44xx_pwrdm,
213 &mpu_44xx_pwrdm,
214 &ivahd_44xx_pwrdm,
215 &cam_44xx_pwrdm,
216 &l3init_44xx_pwrdm,
217 &l4per_44xx_pwrdm,
218 &always_on_core_44xx_pwrdm,
219 &cefuse_44xx_pwrdm,
220#endif
189 NULL 221 NULL
190}; 222};
191 223