]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-omap2/pm-debug.c
OMAP2/3 PRCM: convert IDLEST register bit macros to use the _SHIFT/_MASK style
[linux-2.6-omap-h63xx.git] / arch / arm / mach-omap2 / pm-debug.c
index 361e52bec5903841e648a3349f936739ff255bb8..0b5c0445e7c9bc906926f3eb09140aab2c5c4e4c 100644 (file)
  * published by the Free Software Foundation.
  */
 
+#include <linux/kernel.h>
+#include <linux/timer.h>
 #include <linux/clk.h>
 #include <linux/err.h>
+#include <linux/io.h>
 
-#include <asm/arch/clock.h>
-#include <asm/arch/board.h>
+#include <mach/clock.h>
+#include <mach/board.h>
 
 #include "prm.h"
+#include "cm.h"
 #include "pm.h"
 
 #ifdef CONFIG_PM_DEBUG
@@ -104,17 +108,17 @@ void serial_console_sleep(int enable)
                switch (serial_console_uart)  {
                case 1:
                        l = prm_read_mod_reg(CORE_MOD, PM_WKST1);
-                       if (l & OMAP24XX_ST_UART1)
+                       if (l & OMAP24XX_ST_UART1_MASK)
                                serial_wakeup = 1;
                        break;
                case 2:
                        l = prm_read_mod_reg(CORE_MOD, PM_WKST1);
-                       if (l & OMAP24XX_ST_UART2)
+                       if (l & OMAP24XX_ST_UART2_MASK)
                                serial_wakeup = 1;
                        break;
                case 3:
                        l = prm_read_mod_reg(CORE_MOD, OMAP24XX_PM_WKST2);
-                       if (l & OMAP24XX_ST_UART3)
+                       if (l & OMAP24XX_ST_UART3_MASK)
                                serial_wakeup = 1;
                        break;
                }
@@ -154,13 +158,16 @@ void pm_init_serial_console(void)
        }
        switch (serial_console_uart) {
        case 1:
-               prm_set_mod_reg_bits(OMAP24XX_ST_UART1, CORE_MOD, PM_WKEN1);
+               prm_set_mod_reg_bits(OMAP24XX_ST_UART1_MASK, CORE_MOD,
+                                    PM_WKEN1);
                break;
        case 2:
-               prm_set_mod_reg_bits(OMAP24XX_ST_UART2, CORE_MOD, PM_WKEN1);
+               prm_set_mod_reg_bits(OMAP24XX_ST_UART2_MASK, CORE_MOD,
+                                    PM_WKEN1);
                break;
        case 3:
-               prm_set_mod_reg_bits(OMAP24XX_ST_UART3, CORE_MOD, OMAP24XX_PM_WKEN2);
+               prm_set_mod_reg_bits(OMAP24XX_ST_UART3_MASK, CORE_MOD,
+                                    OMAP24XX_PM_WKEN2);
                break;
        }
 }
@@ -193,7 +200,7 @@ void omap2_pm_dump(int mode, int resume, unsigned int us)
        if (!resume) {
 #if 0
                /* MPU */
-               DUMP_PRM_REG(OMAP24XX_PRCM_IRQENABLE_MPU);
+               DUMP_PRM_MOD_REG(OCP_MOD, OMAP2_PRM_IRQENABLE_MPU_OFFSET);
                DUMP_CM_MOD_REG(MPU_MOD, CM_CLKSTCTRL);
                DUMP_PRM_MOD_REG(MPU_MOD, PM_PWSTCTRL);
                DUMP_PRM_MOD_REG(MPU_MOD, PM_PWSTST);
@@ -207,35 +214,42 @@ void omap2_pm_dump(int mode, int resume, unsigned int us)
 #endif
 #if 0
                DUMP_CM_MOD_REG(CORE_MOD, CM_FCLKEN1);
-               DUMP_CM_MOD_REG(CORE_MOD, OMAP24XX_CM_FCLKEN2);
+               if (cpu_is_omap24xx()) {
+                       DUMP_CM_MOD_REG(CORE_MOD, OMAP24XX_CM_FCLKEN2);
+                       DUMP_PRM_MOD_REG(OMAP24XX_GR_MOD,
+                                       OMAP24XX_PRCM_CLKEMUL_CTRL_OFFSET);
+                       DUMP_PRM_MOD_REG(OMAP24XX_GR_MOD,
+                                       OMAP24XX_PRCM_CLKSRC_CTRL_OFFSET);
+               }
                DUMP_CM_MOD_REG(WKUP_MOD, CM_FCLKEN);
                DUMP_CM_MOD_REG(CORE_MOD, CM_ICLKEN1);
                DUMP_CM_MOD_REG(CORE_MOD, CM_ICLKEN2);
                DUMP_CM_MOD_REG(WKUP_MOD, CM_ICLKEN);
                DUMP_CM_MOD_REG(PLL_MOD, CM_CLKEN);
-               DUMP_PRM_REG(OMAP24XX_PRCM_CLKEMUL_CTRL);
                DUMP_CM_MOD_REG(PLL_MOD, CM_AUTOIDLE);
                DUMP_PRM_MOD_REG(CORE_MOD, PM_PWSTST);
-               DUMP_PRM_REG(OMAP24XX_PRCM_CLKSRC_CTRL);
 #endif
 #if 0
                /* DSP */
-               DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_FCLKEN);
-               DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_ICLKEN);
-               DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_IDLEST);
-               DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_AUTOIDLE);
-               DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_CLKSEL);
-               DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_CLKSTCTRL);
-               DUMP_PRM_MOD_REG(OMAP24XX_DSP_MOD, RM_RSTCTRL);
-               DUMP_PRM_MOD_REG(OMAP24XX_DSP_MOD, RM_RSTST);
-               DUMP_PRM_MOD_REG(OMAP24XX_DSP_MOD, PM_PWSTCTRL);
-               DUMP_PRM_MOD_REG(OMAP24XX_DSP_MOD, PM_PWSTST);
+               if (cpu_is_omap24xx()) {
+                       DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_FCLKEN);
+                       DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_ICLKEN);
+                       DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_IDLEST);
+                       DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_AUTOIDLE);
+                       DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_CLKSEL);
+                       DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_CLKSTCTRL);
+                       DUMP_PRM_MOD_REG(OMAP24XX_DSP_MOD, RM_RSTCTRL);
+                       DUMP_PRM_MOD_REG(OMAP24XX_DSP_MOD, RM_RSTST);
+                       DUMP_PRM_MOD_REG(OMAP24XX_DSP_MOD, PM_PWSTCTRL);
+                       DUMP_PRM_MOD_REG(OMAP24XX_DSP_MOD, PM_PWSTST);
+               }
 #endif
        } else {
                DUMP_PRM_MOD_REG(CORE_MOD, PM_WKST1);
-               DUMP_PRM_MOD_REG(CORE_MOD, OMAP24XX_PM_WKST2);
+               if (cpu_is_omap24xx())
+                       DUMP_PRM_MOD_REG(CORE_MOD, OMAP24XX_PM_WKST2);
                DUMP_PRM_MOD_REG(WKUP_MOD, PM_WKST);
-               DUMP_PRM_REG(OMAP24XX_PRCM_IRQSTATUS_MPU);
+               DUMP_PRM_MOD_REG(OCP_MOD, OMAP2_PRM_IRQSTATUS_MPU_OFFSET);
 #if 1
                DUMP_INTC_REG(INTC_PENDING_IRQ0, 0x0098);
                DUMP_INTC_REG(INTC_PENDING_IRQ1, 0x00b8);
@@ -267,7 +281,9 @@ void omap2_pm_dump(int mode, int resume, unsigned int us)
                printk("--- Going to %s %s\n", s1, s2);
 #endif
        else
-               printk("--- Woke up (slept for %u.%03u ms)\n", us / 1000, us % 1000);
+               printk("--- Woke up (slept for %u.%03u ms)\n",
+                       us / 1000, us % 1000);
+
        for (i = 0; i < reg_count; i++)
                printk("%-20s: 0x%08x\n", regs[i].name, regs[i].val);
 }