Merge branch 'omap4-i2c-init' into omap-for-linus
[pandora-kernel.git] / arch / arm / mach-omap2 / pm24xx.c
index 374299e..e321281 100644 (file)
@@ -70,8 +70,8 @@ static int omap2_fclks_active(void)
        f2 = cm_read_mod_reg(CORE_MOD, OMAP24XX_CM_FCLKEN2);
 
        /* Ignore UART clocks.  These are handled by UART core (serial.c) */
-       f1 &= ~(OMAP24XX_EN_UART1 | OMAP24XX_EN_UART2);
-       f2 &= ~OMAP24XX_EN_UART3;
+       f1 &= ~(OMAP24XX_EN_UART1_MASK | OMAP24XX_EN_UART2_MASK);
+       f2 &= ~OMAP24XX_EN_UART3_MASK;
 
        if (f1 | f2)
                return 1;
@@ -107,7 +107,7 @@ static void omap2_enter_full_retention(void)
        l = omap_ctrl_readl(OMAP2_CONTROL_DEVCONF0) | OMAP24XX_USBSTANDBYCTRL;
        omap_ctrl_writel(l, OMAP2_CONTROL_DEVCONF0);
 
-       omap2_gpio_prepare_for_retention();
+       omap2_gpio_prepare_for_idle(PWRDM_POWER_RET);
 
        if (omap2_pm_debug) {
                omap2_pm_dump(0, 0, 0);
@@ -141,7 +141,7 @@ no_sleep:
                tmp = timespec_to_ns(&ts_idle) * NSEC_PER_USEC;
                omap2_pm_dump(0, 1, tmp);
        }
-       omap2_gpio_resume_after_retention();
+       omap2_gpio_resume_after_idle();
 
        clk_enable(osc_ck);
 
@@ -170,7 +170,7 @@ static int omap2_i2c_active(void)
        u32 l;
 
        l = cm_read_mod_reg(CORE_MOD, CM_FCLKEN1);
-       return l & (OMAP2420_EN_I2C2 | OMAP2420_EN_I2C1);
+       return l & (OMAP2420_EN_I2C2_MASK | OMAP2420_EN_I2C1_MASK);
 }
 
 static int sti_console_enabled;
@@ -181,13 +181,13 @@ static int omap2_allow_mpu_retention(void)
 
        /* Check for MMC, UART2, UART1, McSPI2, McSPI1 and DSS1. */
        l = cm_read_mod_reg(CORE_MOD, CM_FCLKEN1);
-       if (l & (OMAP2420_EN_MMC | OMAP24XX_EN_UART2 |
-                OMAP24XX_EN_UART1 | OMAP24XX_EN_MCSPI2 |
-                OMAP24XX_EN_MCSPI1 | OMAP24XX_EN_DSS1))
+       if (l & (OMAP2420_EN_MMC_MASK | OMAP24XX_EN_UART2_MASK |
+                OMAP24XX_EN_UART1_MASK | OMAP24XX_EN_MCSPI2_MASK |
+                OMAP24XX_EN_MCSPI1_MASK | OMAP24XX_EN_DSS1_MASK))
                return 0;
        /* Check for UART3. */
        l = cm_read_mod_reg(CORE_MOD, OMAP24XX_CM_FCLKEN2);
-       if (l & OMAP24XX_EN_UART3)
+       if (l & OMAP24XX_EN_UART3_MASK)
                return 0;
        if (sti_console_enabled)
                return 0;
@@ -215,12 +215,12 @@ static void omap2_enter_mpu_retention(void)
 
                /* Try to enter MPU retention */
                prm_write_mod_reg((0x01 << OMAP_POWERSTATE_SHIFT) |
-                                 OMAP_LOGICRETSTATE,
+                                 OMAP_LOGICRETSTATE_MASK,
                                  MPU_MOD, OMAP2_PM_PWSTCTRL);
        } else {
                /* Block MPU retention */
 
-               prm_write_mod_reg(OMAP_LOGICRETSTATE, MPU_MOD,
+               prm_write_mod_reg(OMAP_LOGICRETSTATE_MASK, MPU_MOD,
                                                 OMAP2_PM_PWSTCTRL);
                only_idle = 1;
        }
@@ -288,7 +288,8 @@ static int omap2_pm_suspend(void)
        u32 wken_wkup, mir1;
 
        wken_wkup = prm_read_mod_reg(WKUP_MOD, PM_WKEN);
-       prm_write_mod_reg(wken_wkup & ~OMAP24XX_EN_GPT1, WKUP_MOD, PM_WKEN);
+       wken_wkup &= ~OMAP24XX_EN_GPT1_MASK;
+       prm_write_mod_reg(wken_wkup, WKUP_MOD, PM_WKEN);
 
        /* Mask GPT1 */
        mir1 = omap_readl(0x480fe0a4);
@@ -351,7 +352,7 @@ static void __init prcm_setup_regs(void)
        struct powerdomain *pwrdm;
 
        /* Enable autoidle */
-       prm_write_mod_reg(OMAP24XX_AUTOIDLE, OCP_MOD,
+       prm_write_mod_reg(OMAP24XX_AUTOIDLE_MASK, OCP_MOD,
                          OMAP2_PRCM_SYSCONFIG_OFFSET);
 
        /*
@@ -390,53 +391,54 @@ static void __init prcm_setup_regs(void)
        clkdm_add_wkdep(mpu_clkdm, wkup_clkdm);
 
        /* Enable clock autoidle for all domains */
-       cm_write_mod_reg(OMAP24XX_AUTO_CAM |
-                        OMAP24XX_AUTO_MAILBOXES |
-                        OMAP24XX_AUTO_WDT4 |
-                        OMAP2420_AUTO_WDT3 |
-                        OMAP24XX_AUTO_MSPRO |
-                        OMAP2420_AUTO_MMC |
-                        OMAP24XX_AUTO_FAC |
-                        OMAP2420_AUTO_EAC |
-                        OMAP24XX_AUTO_HDQ |
-                        OMAP24XX_AUTO_UART2 |
-                        OMAP24XX_AUTO_UART1 |
-                        OMAP24XX_AUTO_I2C2 |
-                        OMAP24XX_AUTO_I2C1 |
-                        OMAP24XX_AUTO_MCSPI2 |
-                        OMAP24XX_AUTO_MCSPI1 |
-                        OMAP24XX_AUTO_MCBSP2 |
-                        OMAP24XX_AUTO_MCBSP1 |
-                        OMAP24XX_AUTO_GPT12 |
-                        OMAP24XX_AUTO_GPT11 |
-                        OMAP24XX_AUTO_GPT10 |
-                        OMAP24XX_AUTO_GPT9 |
-                        OMAP24XX_AUTO_GPT8 |
-                        OMAP24XX_AUTO_GPT7 |
-                        OMAP24XX_AUTO_GPT6 |
-                        OMAP24XX_AUTO_GPT5 |
-                        OMAP24XX_AUTO_GPT4 |
-                        OMAP24XX_AUTO_GPT3 |
-                        OMAP24XX_AUTO_GPT2 |
-                        OMAP2420_AUTO_VLYNQ |
-                        OMAP24XX_AUTO_DSS,
+       cm_write_mod_reg(OMAP24XX_AUTO_CAM_MASK |
+                        OMAP24XX_AUTO_MAILBOXES_MASK |
+                        OMAP24XX_AUTO_WDT4_MASK |
+                        OMAP2420_AUTO_WDT3_MASK |
+                        OMAP24XX_AUTO_MSPRO_MASK |
+                        OMAP2420_AUTO_MMC_MASK |
+                        OMAP24XX_AUTO_FAC_MASK |
+                        OMAP2420_AUTO_EAC_MASK |
+                        OMAP24XX_AUTO_HDQ_MASK |
+                        OMAP24XX_AUTO_UART2_MASK |
+                        OMAP24XX_AUTO_UART1_MASK |
+                        OMAP24XX_AUTO_I2C2_MASK |
+                        OMAP24XX_AUTO_I2C1_MASK |
+                        OMAP24XX_AUTO_MCSPI2_MASK |
+                        OMAP24XX_AUTO_MCSPI1_MASK |
+                        OMAP24XX_AUTO_MCBSP2_MASK |
+                        OMAP24XX_AUTO_MCBSP1_MASK |
+                        OMAP24XX_AUTO_GPT12_MASK |
+                        OMAP24XX_AUTO_GPT11_MASK |
+                        OMAP24XX_AUTO_GPT10_MASK |
+                        OMAP24XX_AUTO_GPT9_MASK |
+                        OMAP24XX_AUTO_GPT8_MASK |
+                        OMAP24XX_AUTO_GPT7_MASK |
+                        OMAP24XX_AUTO_GPT6_MASK |
+                        OMAP24XX_AUTO_GPT5_MASK |
+                        OMAP24XX_AUTO_GPT4_MASK |
+                        OMAP24XX_AUTO_GPT3_MASK |
+                        OMAP24XX_AUTO_GPT2_MASK |
+                        OMAP2420_AUTO_VLYNQ_MASK |
+                        OMAP24XX_AUTO_DSS_MASK,
                         CORE_MOD, CM_AUTOIDLE1);
-       cm_write_mod_reg(OMAP24XX_AUTO_UART3 |
-                        OMAP24XX_AUTO_SSI |
-                        OMAP24XX_AUTO_USB,
+       cm_write_mod_reg(OMAP24XX_AUTO_UART3_MASK |
+                        OMAP24XX_AUTO_SSI_MASK |
+                        OMAP24XX_AUTO_USB_MASK,
                         CORE_MOD, CM_AUTOIDLE2);
-       cm_write_mod_reg(OMAP24XX_AUTO_SDRC |
-                        OMAP24XX_AUTO_GPMC |
-                        OMAP24XX_AUTO_SDMA,
+       cm_write_mod_reg(OMAP24XX_AUTO_SDRC_MASK |
+                        OMAP24XX_AUTO_GPMC_MASK |
+                        OMAP24XX_AUTO_SDMA_MASK,
                         CORE_MOD, CM_AUTOIDLE3);
-       cm_write_mod_reg(OMAP24XX_AUTO_PKA |
-                        OMAP24XX_AUTO_AES |
-                        OMAP24XX_AUTO_RNG |
-                        OMAP24XX_AUTO_SHA |
-                        OMAP24XX_AUTO_DES,
+       cm_write_mod_reg(OMAP24XX_AUTO_PKA_MASK |
+                        OMAP24XX_AUTO_AES_MASK |
+                        OMAP24XX_AUTO_RNG_MASK |
+                        OMAP24XX_AUTO_SHA_MASK |
+                        OMAP24XX_AUTO_DES_MASK,
                         CORE_MOD, OMAP24XX_CM_AUTOIDLE4);
 
-       cm_write_mod_reg(OMAP2420_AUTO_DSP_IPI, OMAP24XX_DSP_MOD, CM_AUTOIDLE);
+       cm_write_mod_reg(OMAP2420_AUTO_DSP_IPI_MASK, OMAP24XX_DSP_MOD,
+                        CM_AUTOIDLE);
 
        /* Put DPLL and both APLLs into autoidle mode */
        cm_write_mod_reg((0x03 << OMAP24XX_AUTO_DPLL_SHIFT) |
@@ -444,12 +446,12 @@ static void __init prcm_setup_regs(void)
                         (0x03 << OMAP24XX_AUTO_54M_SHIFT),
                         PLL_MOD, CM_AUTOIDLE);
 
-       cm_write_mod_reg(OMAP24XX_AUTO_OMAPCTRL |
-                        OMAP24XX_AUTO_WDT1 |
-                        OMAP24XX_AUTO_MPU_WDT |
-                        OMAP24XX_AUTO_GPIOS |
-                        OMAP24XX_AUTO_32KSYNC |
-                        OMAP24XX_AUTO_GPT1,
+       cm_write_mod_reg(OMAP24XX_AUTO_OMAPCTRL_MASK |
+                        OMAP24XX_AUTO_WDT1_MASK |
+                        OMAP24XX_AUTO_MPU_WDT_MASK |
+                        OMAP24XX_AUTO_GPIOS_MASK |
+                        OMAP24XX_AUTO_32KSYNC_MASK |
+                        OMAP24XX_AUTO_GPT1_MASK,
                         WKUP_MOD, CM_AUTOIDLE);
 
        /* REVISIT: Configure number of 32 kHz clock cycles for sys_clk
@@ -460,15 +462,15 @@ static void __init prcm_setup_regs(void)
        /* Configure automatic voltage transition */
        prm_write_mod_reg(2 << OMAP_SETUP_TIME_SHIFT, OMAP24XX_GR_MOD,
                          OMAP2_PRCM_VOLTSETUP_OFFSET);
-       prm_write_mod_reg(OMAP24XX_AUTO_EXTVOLT |
+       prm_write_mod_reg(OMAP24XX_AUTO_EXTVOLT_MASK |
                          (0x1 << OMAP24XX_SETOFF_LEVEL_SHIFT) |
-                         OMAP24XX_MEMRETCTRL |
+                         OMAP24XX_MEMRETCTRL_MASK |
                          (0x1 << OMAP24XX_SETRET_LEVEL_SHIFT) |
                          (0x0 << OMAP24XX_VOLT_LEVEL_SHIFT),
                          OMAP24XX_GR_MOD, OMAP2_PRCM_VOLTCTRL_OFFSET);
 
        /* Enable wake-up events */
-       prm_write_mod_reg(OMAP24XX_EN_GPIOS | OMAP24XX_EN_GPT1,
+       prm_write_mod_reg(OMAP24XX_EN_GPIOS_MASK | OMAP24XX_EN_GPT1_MASK,
                          WKUP_MOD, PM_WKEN);
 }