aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-omap2/Makefile17
-rw-r--r--arch/arm/mach-omap2/clockdomains.h5
-rw-r--r--arch/arm/mach-omap2/io.c3
-rw-r--r--arch/arm/mach-omap2/powerdomains_data.c (renamed from arch/arm/mach-omap2/powerdomains.h)10
-rw-r--r--arch/arm/plat-omap/include/plat/powerdomain.h1
5 files changed, 22 insertions, 14 deletions
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 4a8ea79a2b0c..00c27ebf709d 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -9,14 +9,13 @@ obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer-gp.o pm.o \
9omap-2-3-common = irq.o sdrc.o prm2xxx_3xxx.o 9omap-2-3-common = irq.o sdrc.o prm2xxx_3xxx.o
10hwmod-common = omap_hwmod.o \ 10hwmod-common = omap_hwmod.o \
11 omap_hwmod_common_data.o 11 omap_hwmod_common_data.o
12prcm-common = prcm.o powerdomain.o
13clock-common = clock.o clock_common_data.o \ 12clock-common = clock.o clock_common_data.o \
14 clockdomain.o clkt_dpll.o \ 13 clockdomain.o clkt_dpll.o \
15 clkt_clksel.o 14 clkt_clksel.o
16 15
17obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(prcm-common) $(hwmod-common) 16obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(hwmod-common)
18obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(prcm-common) $(hwmod-common) 17obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common)
19obj-$(CONFIG_ARCH_OMAP4) += $(prcm-common) prm44xx.o $(hwmod-common) 18obj-$(CONFIG_ARCH_OMAP4) += prm44xx.o $(hwmod-common)
20 19
21obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o 20obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
22 21
@@ -74,9 +73,13 @@ endif
74endif 73endif
75 74
76# PRCM 75# PRCM
77obj-$(CONFIG_ARCH_OMAP2) += cm.o 76obj-$(CONFIG_ARCH_OMAP2) += prcm.o cm.o
78obj-$(CONFIG_ARCH_OMAP3) += cm.o 77obj-$(CONFIG_ARCH_OMAP3) += prcm.o cm.o
79obj-$(CONFIG_ARCH_OMAP4) += cm4xxx.o 78obj-$(CONFIG_ARCH_OMAP4) += prcm.o cm4xxx.o
79
80# OMAP powerdomain framework
81powerdomain-common += powerdomain.o powerdomains_data.o
82obj-y += $(powerdomain-common)
80 83
81# Clock framework 84# Clock framework
82obj-$(CONFIG_ARCH_OMAP2) += $(clock-common) clock2xxx.o \ 85obj-$(CONFIG_ARCH_OMAP2) += $(clock-common) clock2xxx.o \
diff --git a/arch/arm/mach-omap2/clockdomains.h b/arch/arm/mach-omap2/clockdomains.h
index 8fc19ff2cd89..2a3b10a356d0 100644
--- a/arch/arm/mach-omap2/clockdomains.h
+++ b/arch/arm/mach-omap2/clockdomains.h
@@ -38,6 +38,11 @@
38#include <plat/clockdomain.h> 38#include <plat/clockdomain.h>
39#include "cm.h" 39#include "cm.h"
40#include "prm.h" 40#include "prm.h"
41#include "cm-regbits-24xx.h"
42#include "cm-regbits-34xx.h"
43#include "cm-regbits-44xx.h"
44#include "prm-regbits-24xx.h"
45#include "prm-regbits-34xx.h"
41 46
42/* 47/*
43 * Clockdomain dependencies for wkdeps/sleepdeps 48 * Clockdomain dependencies for wkdeps/sleepdeps
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index d87e23a24dcd..80a8e0e4d038 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -40,7 +40,6 @@
40 40
41#include <plat/omap-pm.h> 41#include <plat/omap-pm.h>
42#include <plat/powerdomain.h> 42#include <plat/powerdomain.h>
43#include "powerdomains.h"
44 43
45#include <plat/clockdomain.h> 44#include <plat/clockdomain.h>
46#include "clockdomains.h" 45#include "clockdomains.h"
@@ -340,7 +339,7 @@ void __init omap2_init_common_infrastructure(void)
340{ 339{
341 u8 postsetup_state; 340 u8 postsetup_state;
342 341
343 pwrdm_init(powerdomains_omap); 342 pwrdm_fw_init();
344 clkdm_init(clockdomains_omap, clkdm_autodeps); 343 clkdm_init(clockdomains_omap, clkdm_autodeps);
345 if (cpu_is_omap242x()) 344 if (cpu_is_omap242x())
346 omap2420_hwmod_init(); 345 omap2420_hwmod_init();
diff --git a/arch/arm/mach-omap2/powerdomains.h b/arch/arm/mach-omap2/powerdomains_data.c
index 105cbcaefd3b..475763e42f35 100644
--- a/arch/arm/mach-omap2/powerdomains.h
+++ b/arch/arm/mach-omap2/powerdomains_data.c
@@ -18,9 +18,6 @@
18 * Clock Domain Framework 18 * Clock Domain Framework
19 */ 19 */
20 20
21#ifndef ARCH_ARM_MACH_OMAP2_POWERDOMAINS
22#define ARCH_ARM_MACH_OMAP2_POWERDOMAINS
23
24/* 21/*
25 * This file contains all of the powerdomains that have some element 22 * This file contains all of the powerdomains that have some element
26 * of software control for the OMAP24xx and OMAP34xx chips. 23 * of software control for the OMAP24xx and OMAP34xx chips.
@@ -49,6 +46,7 @@
49 * address offset is different between the C55 and C64 DSPs. 46 * address offset is different between the C55 and C64 DSPs.
50 */ 47 */
51 48
49#include <linux/init.h>
52#include <plat/powerdomain.h> 50#include <plat/powerdomain.h>
53 51
54#include "prcm-common.h" 52#include "prcm-common.h"
@@ -149,5 +147,7 @@ static struct powerdomain *powerdomains_omap[] __initdata = {
149 NULL 147 NULL
150}; 148};
151 149
152 150void pwrdm_fw_init(void)
153#endif 151{
152 pwrdm_init(powerdomains_omap);
153}
diff --git a/arch/arm/plat-omap/include/plat/powerdomain.h b/arch/arm/plat-omap/include/plat/powerdomain.h
index 9ca420dcd2f8..e322b39f3a3f 100644
--- a/arch/arm/plat-omap/include/plat/powerdomain.h
+++ b/arch/arm/plat-omap/include/plat/powerdomain.h
@@ -118,6 +118,7 @@ struct powerdomain {
118}; 118};
119 119
120 120
121void pwrdm_fw_init(void);
121void pwrdm_init(struct powerdomain **pwrdm_list); 122void pwrdm_init(struct powerdomain **pwrdm_list);
122 123
123struct powerdomain *pwrdm_lookup(const char *name); 124struct powerdomain *pwrdm_lookup(const char *name);