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 610da0515e1f9300ef3f2495f0fa5318ef6938f0..c638fe0d84e85585f174d319138f644a3e48ba93 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 79637c2eaf64c50c735f330f84c00603d2a1b74d..3ea8177ffb2508be4a2b821ff09e05b0ac826bed 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 681bfc37ebb28b8e926d0cd67e23afd01f95df7e..b857d117a45a7f686b5ca83448f3649531839af1 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 cc050b3313bd0126c4b352a249bb159beb13acbb..01ab1e56db1e833ae5a9f0065b4abe586636d48b 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 e9779676448beb3be47c171d4082c69d386225b1..2f816fe3ae86f109575735c706beda0db31fc5d4 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 e52902a15c1a2cdddf658820a2b7fe4e41a5ddd5..ef870de43c29b9c12d7491e0262bf1815b7e7865 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