ARM: OMAP4: PM: Fix the PRM and CM base addresses
authorRajendra Nayak <rnayak@ti.com>
Wed, 9 Dec 2009 01:24:49 +0000 (18:24 -0700)
committerpaul <paul@twilight.(none)>
Sat, 12 Dec 2009 00:00:44 +0000 (17:00 -0700)
This patch fixes the PRM and CM base addresses and adds
a new CM2 base address for OMAP4

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/prcm.c
arch/arm/plat-omap/clock.c
arch/arm/plat-omap/common.c
arch/arm/plat-omap/include/plat/common.h
arch/arm/plat-omap/include/plat/omap44xx.h

index 610da05..c638fe0 100644 (file)
@@ -11,6 +11,7 @@ clock-common                          = clock.o clock_common_data.o clockdomain.o
 
 obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(prcm-common) $(clock-common)
 obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(prcm-common) $(clock-common)
+obj-$(CONFIG_ARCH_OMAP4) += prcm.o
 
 obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
 
index 79637c2..3ea8177 100644 (file)
@@ -34,6 +34,7 @@
 
 static void __iomem *prm_base;
 static void __iomem *cm_base;
+static void __iomem *cm2_base;
 
 #define MAX_MODULE_ENABLE_WAIT         100000
 
@@ -258,6 +259,7 @@ void __init omap2_set_globals_prcm(struct omap_globals *omap2_globals)
 {
        prm_base = omap2_globals->prm;
        cm_base = omap2_globals->cm;
+       cm2_base = omap2_globals->cm2;
 }
 
 #ifdef CONFIG_ARCH_OMAP3
index 681bfc3..b857d11 100644 (file)
@@ -57,11 +57,6 @@ void omap2_clk_prepare_for_reboot(void)
 {
 }
 EXPORT_SYMBOL(omap2_clk_prepare_for_reboot);
-
-void omap_prcm_arch_reset(char mode)
-{
-}
-EXPORT_SYMBOL(omap_prcm_arch_reset);
 #endif
 int clk_enable(struct clk *clk)
 {
index cc050b3..01ab1e5 100644 (file)
@@ -284,12 +284,14 @@ static struct omap_globals omap4_globals = {
        .ctrl   = OMAP2_L4_IO_ADDRESS(OMAP443X_CTRL_BASE),
        .prm    = OMAP2_L4_IO_ADDRESS(OMAP4430_PRM_BASE),
        .cm     = OMAP2_L4_IO_ADDRESS(OMAP4430_CM_BASE),
+       .cm2    = OMAP2_L4_IO_ADDRESS(OMAP4430_CM2_BASE),
 };
 
 void __init omap2_set_globals_443x(void)
 {
        omap2_set_globals_tap(&omap4_globals);
        omap2_set_globals_control(&omap4_globals);
+       omap2_set_globals_prcm(&omap4_globals);
 }
 #endif
 
index e977967..2f816fe 100644 (file)
@@ -58,6 +58,7 @@ struct omap_globals {
        void __iomem    *ctrl;          /* System Control Module */
        void __iomem    *prm;           /* Power and Reset Management */
        void __iomem    *cm;            /* Clock Management */
+       void __iomem    *cm2;
 };
 
 void omap2_set_globals_242x(void);
index e52902a..ef870de 100644 (file)
 #define OMAP44XX_EMIF2_BASE            0x4d000000
 #define OMAP44XX_DMM_BASE              0x4e000000
 #define OMAP4430_32KSYNCT_BASE         0x4a304000
-#define OMAP4430_CM_BASE               0x4a004000
-#define OMAP4430_PRM_BASE              0x48306000
+#define OMAP4430_CM1_BASE              0x4a004000
+#define OMAP4430_CM_BASE               OMAP4430_CM1_BASE
+#define OMAP4430_CM2_BASE              0x4a008000
+#define OMAP4430_PRM_BASE              0x4a306000
 #define OMAP44XX_GPMC_BASE             0x50000000
 #define OMAP443X_SCM_BASE              0x4a002000
 #define OMAP443X_CTRL_BASE             OMAP443X_SCM_BASE