ARM: EXYNOS: Refactored code for using PMU address via DT
authorPankaj Dubey <pankaj.dubey@samsung.com>
Fri, 18 Jul 2014 18:43:22 +0000 (03:43 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Tue, 22 Jul 2014 23:20:30 +0000 (08:20 +0900)
Under "arm/mach-exynos" many files are using PMU register offsets.
Since we have added support for accessing PMU base address via DT,
now we can remove PMU mapping from exynosX_iodesc. Let's convert
all these access using iomapped address.
This will help us in removing static mapping of PMU base address
as well as help in reducing dependency over machine header files.
Thus helping for migration of PMU implementation from machine to
driver folder which can be reused for ARM64 based SoC.

Also as we have removed static mappings from "regs-pmu.h" it does
not need map.h anymore. But "platsmp.c" needed this and till now it
got included indirectly. So lets move header inclusion of
"mach/map.h" from "regs-pmu.h" to "platsmp.c".

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/mach-exynos/common.h
arch/arm/mach-exynos/exynos.c
arch/arm/mach-exynos/include/mach/map.h
arch/arm/mach-exynos/mcpm-exynos.c
arch/arm/mach-exynos/platsmp.c
arch/arm/mach-exynos/pm.c
arch/arm/mach-exynos/pmu.c
arch/arm/mach-exynos/regs-pmu.h
arch/arm/plat-samsung/include/plat/map-s5p.h

index f8daa9cc5617d9daa2b02ad02b028ad0138f292e..47b904b3b9732ecdfd728ddb763c9850fed6744e 100644 (file)
@@ -134,7 +134,7 @@ extern void exynos_cpu_die(unsigned int cpu);
 
 /* PMU(Power Management Unit) support */
 
-#define PMU_TABLE_END  NULL
+#define PMU_TABLE_END  (-1U)
 
 enum sys_powerdown {
        SYS_AFTR,
@@ -144,7 +144,7 @@ enum sys_powerdown {
 };
 
 struct exynos_pmu_conf {
-       void __iomem *reg;
+       unsigned int offset;
        unsigned int val[NUM_SYS_POWERDOWN];
 };
 
@@ -160,4 +160,14 @@ extern void exynos_enter_aftr(void);
 extern void s5p_init_cpu(void __iomem *cpuid_addr);
 extern unsigned int samsung_rev(void);
 
+static inline void pmu_raw_writel(u32 val, u32 offset)
+{
+       __raw_writel(val, pmu_base_addr + offset);
+}
+
+static inline u32 pmu_raw_readl(u32 offset)
+{
+       return __raw_readl(pmu_base_addr + offset);
+}
+
 #endif /* __ARCH_ARM_MACH_EXYNOS_COMMON_H */
index 2a43a1734eca26d9af13f611d3399f6fedce8cfe..5eaf878af528584a8e6161ff0edd94ac63b694e7 100644 (file)
@@ -60,11 +60,6 @@ static struct map_desc exynos4_iodesc[] __initdata = {
                .pfn            = __phys_to_pfn(EXYNOS4_PA_SYSTIMER),
                .length         = SZ_4K,
                .type           = MT_DEVICE,
-       }, {
-               .virtual        = (unsigned long)S5P_VA_PMU,
-               .pfn            = __phys_to_pfn(EXYNOS4_PA_PMU),
-               .length         = SZ_64K,
-               .type           = MT_DEVICE,
        }, {
                .virtual        = (unsigned long)S5P_VA_COMBINER_BASE,
                .pfn            = __phys_to_pfn(EXYNOS4_PA_COMBINER),
@@ -139,11 +134,6 @@ static struct map_desc exynos5_iodesc[] __initdata = {
                .pfn            = __phys_to_pfn(EXYNOS5_PA_CMU),
                .length         = 144 * SZ_1K,
                .type           = MT_DEVICE,
-       }, {
-               .virtual        = (unsigned long)S5P_VA_PMU,
-               .pfn            = __phys_to_pfn(EXYNOS5_PA_PMU),
-               .length         = SZ_64K,
-               .type           = MT_DEVICE,
        },
 };
 
@@ -151,7 +141,7 @@ static void exynos_restart(enum reboot_mode mode, const char *cmd)
 {
        struct device_node *np;
        u32 val = 0x1;
-       void __iomem *addr = EXYNOS_SWRESET;
+       void __iomem *addr = pmu_base_addr + EXYNOS_SWRESET;
 
        if (of_machine_is_compatible("samsung,exynos5440")) {
                u32 status;
index 963002fb15c34d774ed9580fdb5bbc1d1350e607..f0b7e92bad6cf665bb42c292fbeed797527736ee 100644 (file)
@@ -27,9 +27,6 @@
 #define EXYNOS4_PA_SYSCON              0x10010000
 #define EXYNOS5_PA_SYSCON              0x10050100
 
-#define EXYNOS4_PA_PMU                 0x10020000
-#define EXYNOS5_PA_PMU                 0x10040000
-
 #define EXYNOS4_PA_CMU                 0x10030000
 #define EXYNOS5_PA_CMU                 0x10010000
 
index 9315ba91c1fb6d78ec3dd16127c02d56699c82df..70e8ccd946682dcb681714b749ecddb041f6dde5 100644 (file)
@@ -55,7 +55,7 @@
        "dsb\n\t" \
        "ldmfd  sp!, {fp, ip}" \
        : \
-       : "Ir" (S5P_INFORM0) \
+       : "Ir" (pmu_base_addr + S5P_INFORM0) \
        : "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \
          "r9", "r10", "lr", "memory")
 
@@ -337,7 +337,7 @@ static int __init exynos_mcpm_init(void)
         * To increase the stability of KFC reset we need to program
         * the PMU SPARE3 register
         */
-       __raw_writel(EXYNOS5420_SWRESET_KFC_SEL, S5P_PMU_SPARE3);
+       pmu_raw_writel(EXYNOS5420_SWRESET_KFC_SEL, S5P_PMU_SPARE3);
 
        exynos_mcpm_usage_count_init();
 
@@ -366,11 +366,11 @@ static int __init exynos_mcpm_init(void)
         * turned on before the first man is powered up.
         */
        for (i = 0; i < EXYNOS5420_NR_CLUSTERS; i++) {
-               value = __raw_readl(EXYNOS_COMMON_OPTION(i));
+               value = pmu_raw_readl(EXYNOS_COMMON_OPTION(i));
                value |= EXYNOS5420_ENABLE_AUTOMATIC_CORE_DOWN |
                         EXYNOS5420_USE_ARM_CORE_DOWN_STATE    |
                         EXYNOS5420_USE_L2_COMMON_UP_STATE;
-               __raw_writel(value, EXYNOS_COMMON_OPTION(i));
+               pmu_raw_writel(value, EXYNOS_COMMON_OPTION(i));
        }
 
        /*
index a438226983616106d876c01baa5355a488232d60..7c829989859c2418a5f484c6324b3aba85585831 100644 (file)
@@ -26,6 +26,8 @@
 #include <asm/smp_scu.h>
 #include <asm/firmware.h>
 
+#include <mach/map.h>
+
 #include "common.h"
 #include "regs-pmu.h"
 
@@ -34,7 +36,7 @@ extern void exynos4_secondary_startup(void);
 static inline void __iomem *cpu_boot_reg_base(void)
 {
        if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_1_1)
-               return S5P_INFORM5;
+               return pmu_base_addr + S5P_INFORM5;
        return sysram_base_addr;
 }
 
index f127c0cefbb89540662b80c152f657438de0c3c0..bcb96be1efee56e68f988261aa2c496eb2d6da80 100644 (file)
@@ -111,7 +111,7 @@ static int exynos_irq_set_wake(struct irq_data *data, unsigned int state)
  */
 void exynos_cpu_power_down(int cpu)
 {
-       __raw_writel(0, EXYNOS_ARM_CORE_CONFIGURATION(cpu));
+       pmu_raw_writel(0, EXYNOS_ARM_CORE_CONFIGURATION(cpu));
 }
 
 /**
@@ -122,8 +122,8 @@ void exynos_cpu_power_down(int cpu)
  */
 void exynos_cpu_power_up(int cpu)
 {
-       __raw_writel(S5P_CORE_LOCAL_PWR_EN,
-                    EXYNOS_ARM_CORE_CONFIGURATION(cpu));
+       pmu_raw_writel(S5P_CORE_LOCAL_PWR_EN,
+                       EXYNOS_ARM_CORE_CONFIGURATION(cpu));
 }
 
 /**
@@ -133,7 +133,7 @@ void exynos_cpu_power_up(int cpu)
  */
 int exynos_cpu_power_state(int cpu)
 {
-       return (__raw_readl(EXYNOS_ARM_CORE_STATUS(cpu)) &
+       return (pmu_raw_readl(EXYNOS_ARM_CORE_STATUS(cpu)) &
                        S5P_CORE_LOCAL_PWR_EN);
 }
 
@@ -143,7 +143,7 @@ int exynos_cpu_power_state(int cpu)
  */
 void exynos_cluster_power_down(int cluster)
 {
-       __raw_writel(0, EXYNOS_COMMON_CONFIGURATION(cluster));
+       pmu_raw_writel(0, EXYNOS_COMMON_CONFIGURATION(cluster));
 }
 
 /**
@@ -152,8 +152,8 @@ void exynos_cluster_power_down(int cluster)
  */
 void exynos_cluster_power_up(int cluster)
 {
-       __raw_writel(S5P_CORE_LOCAL_PWR_EN,
-                    EXYNOS_COMMON_CONFIGURATION(cluster));
+       pmu_raw_writel(S5P_CORE_LOCAL_PWR_EN,
+                       EXYNOS_COMMON_CONFIGURATION(cluster));
 }
 
 /**
@@ -163,16 +163,20 @@ void exynos_cluster_power_up(int cluster)
  */
 int exynos_cluster_power_state(int cluster)
 {
-       return (__raw_readl(EXYNOS_COMMON_STATUS(cluster)) &
+       return (pmu_raw_readl(EXYNOS_COMMON_STATUS(cluster)) &
                        S5P_CORE_LOCAL_PWR_EN);
 }
 
 #define EXYNOS_BOOT_VECTOR_ADDR        (samsung_rev() == EXYNOS4210_REV_1_1 ? \
-                       S5P_INFORM7 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \
-                       (sysram_base_addr + 0x24) : S5P_INFORM0))
+                       pmu_base_addr + S5P_INFORM7 : \
+                       (samsung_rev() == EXYNOS4210_REV_1_0 ? \
+                       (sysram_base_addr + 0x24) : \
+                       pmu_base_addr + S5P_INFORM0))
 #define EXYNOS_BOOT_VECTOR_FLAG        (samsung_rev() == EXYNOS4210_REV_1_1 ? \
-                       S5P_INFORM6 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \
-                       (sysram_base_addr + 0x20) : S5P_INFORM1))
+                       pmu_base_addr + S5P_INFORM6 : \
+                       (samsung_rev() == EXYNOS4210_REV_1_0 ? \
+                       (sysram_base_addr + 0x20) : \
+                       pmu_base_addr + S5P_INFORM1))
 
 #define S5P_CHECK_AFTR  0xFCBA0D10
 #define S5P_CHECK_SLEEP 0x00000BAD
@@ -180,7 +184,7 @@ int exynos_cluster_power_state(int cluster)
 /* Ext-GIC nIRQ/nFIQ is the only wakeup source in AFTR */
 static void exynos_set_wakeupmask(long mask)
 {
-       __raw_writel(mask, S5P_WAKEUP_MASK);
+       pmu_raw_writel(mask, S5P_WAKEUP_MASK);
 }
 
 static void exynos_cpu_set_boot_vector(long flags)
@@ -257,27 +261,27 @@ static void exynos_pm_prepare(void)
        unsigned int tmp;
 
        /* Set wake-up mask registers */
-       __raw_writel(exynos_get_eint_wake_mask(), S5P_EINT_WAKEUP_MASK);
-       __raw_writel(exynos_irqwake_intmask & ~(1 << 31), S5P_WAKEUP_MASK);
+       pmu_raw_writel(exynos_get_eint_wake_mask(), S5P_EINT_WAKEUP_MASK);
+       pmu_raw_writel(exynos_irqwake_intmask & ~(1 << 31), S5P_WAKEUP_MASK);
 
        s3c_pm_do_save(exynos_core_save, ARRAY_SIZE(exynos_core_save));
 
        if (soc_is_exynos5250()) {
                s3c_pm_do_save(exynos5_sys_save, ARRAY_SIZE(exynos5_sys_save));
                /* Disable USE_RETENTION of JPEG_MEM_OPTION */
-               tmp = __raw_readl(EXYNOS5_JPEG_MEM_OPTION);
+               tmp = pmu_raw_readl(EXYNOS5_JPEG_MEM_OPTION);
                tmp &= ~EXYNOS5_OPTION_USE_RETENTION;
-               __raw_writel(tmp, EXYNOS5_JPEG_MEM_OPTION);
+               pmu_raw_writel(tmp, EXYNOS5_JPEG_MEM_OPTION);
        }
 
        /* Set value of power down register for sleep mode */
 
        exynos_sys_powerdown_conf(SYS_SLEEP);
-       __raw_writel(S5P_CHECK_SLEEP, S5P_INFORM1);
+       pmu_raw_writel(S5P_CHECK_SLEEP, S5P_INFORM1);
 
        /* ensure at least INFORM0 has the resume address */
 
-       __raw_writel(virt_to_phys(exynos_cpu_resume), S5P_INFORM0);
+       pmu_raw_writel(virt_to_phys(exynos_cpu_resume), S5P_INFORM0);
 }
 
 static void exynos_pm_central_suspend(void)
@@ -285,9 +289,9 @@ static void exynos_pm_central_suspend(void)
        unsigned long tmp;
 
        /* Setting Central Sequence Register for power down mode */
-       tmp = __raw_readl(S5P_CENTRAL_SEQ_CONFIGURATION);
+       tmp = pmu_raw_readl(S5P_CENTRAL_SEQ_CONFIGURATION);
        tmp &= ~S5P_CENTRAL_LOWPWR_CFG;
-       __raw_writel(tmp, S5P_CENTRAL_SEQ_CONFIGURATION);
+       pmu_raw_writel(tmp, S5P_CENTRAL_SEQ_CONFIGURATION);
 }
 
 static int exynos_pm_suspend(void)
@@ -299,7 +303,7 @@ static int exynos_pm_suspend(void)
        /* Setting SEQ_OPTION register */
 
        tmp = (S5P_USE_STANDBY_WFI0 | S5P_USE_STANDBY_WFE0);
-       __raw_writel(tmp, S5P_CENTRAL_SEQ_OPTION);
+       pmu_raw_writel(tmp, S5P_CENTRAL_SEQ_OPTION);
 
        if (read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9)
                exynos_cpu_save_register();
@@ -317,12 +321,12 @@ static int exynos_pm_central_resume(void)
         * S5P_CENTRAL_LOWPWR_CFG bit will not be set automatically
         * in this situation.
         */
-       tmp = __raw_readl(S5P_CENTRAL_SEQ_CONFIGURATION);
+       tmp = pmu_raw_readl(S5P_CENTRAL_SEQ_CONFIGURATION);
        if (!(tmp & S5P_CENTRAL_LOWPWR_CFG)) {
                tmp |= S5P_CENTRAL_LOWPWR_CFG;
-               __raw_writel(tmp, S5P_CENTRAL_SEQ_CONFIGURATION);
+               pmu_raw_writel(tmp, S5P_CENTRAL_SEQ_CONFIGURATION);
                /* clear the wakeup state register */
-               __raw_writel(0x0, S5P_WAKEUP_STAT);
+               pmu_raw_writel(0x0, S5P_WAKEUP_STAT);
                /* No need to perform below restore code */
                return -1;
        }
@@ -340,13 +344,13 @@ static void exynos_pm_resume(void)
 
        /* For release retention */
 
-       __raw_writel((1 << 28), S5P_PAD_RET_MAUDIO_OPTION);
-       __raw_writel((1 << 28), S5P_PAD_RET_GPIO_OPTION);
-       __raw_writel((1 << 28), S5P_PAD_RET_UART_OPTION);
-       __raw_writel((1 << 28), S5P_PAD_RET_MMCA_OPTION);
-       __raw_writel((1 << 28), S5P_PAD_RET_MMCB_OPTION);
-       __raw_writel((1 << 28), S5P_PAD_RET_EBIA_OPTION);
-       __raw_writel((1 << 28), S5P_PAD_RET_EBIB_OPTION);
+       pmu_raw_writel((1 << 28), S5P_PAD_RET_MAUDIO_OPTION);
+       pmu_raw_writel((1 << 28), S5P_PAD_RET_GPIO_OPTION);
+       pmu_raw_writel((1 << 28), S5P_PAD_RET_UART_OPTION);
+       pmu_raw_writel((1 << 28), S5P_PAD_RET_MMCA_OPTION);
+       pmu_raw_writel((1 << 28), S5P_PAD_RET_MMCB_OPTION);
+       pmu_raw_writel((1 << 28), S5P_PAD_RET_EBIA_OPTION);
+       pmu_raw_writel((1 << 28), S5P_PAD_RET_EBIB_OPTION);
 
        if (soc_is_exynos5250())
                s3c_pm_do_restore(exynos5_sys_save,
@@ -360,7 +364,7 @@ static void exynos_pm_resume(void)
 early_wakeup:
 
        /* Clear SLEEP mode set in INFORM1 */
-       __raw_writel(0x0, S5P_INFORM1);
+       pmu_raw_writel(0x0, S5P_INFORM1);
 
        return;
 }
@@ -404,7 +408,7 @@ static int exynos_suspend_enter(suspend_state_t state)
        s3c_pm_restore_uarts();
 
        S3C_PMDBG("%s: wakeup stat: %08x\n", __func__,
-                       __raw_readl(S5P_WAKEUP_STAT));
+                       pmu_raw_readl(S5P_WAKEUP_STAT));
 
        s3c_pm_check_restore();
 
@@ -475,9 +479,9 @@ void __init exynos_pm_init(void)
        gic_arch_extn.irq_set_wake = exynos_irq_set_wake;
 
        /* All wakeup disable */
-       tmp = __raw_readl(S5P_WAKEUP_MASK);
+       tmp = pmu_raw_readl(S5P_WAKEUP_MASK);
        tmp |= ((0xFF << 8) | (0x1F << 1));
-       __raw_writel(tmp, S5P_WAKEUP_MASK);
+       pmu_raw_writel(tmp, S5P_WAKEUP_MASK);
 
        register_syscore_ops(&exynos_pm_syscore_ops);
        suspend_set_ops(&exynos_suspend_ops);
index dcfcb44c3c557797f405134ab817341418246f5c..ff9d23f0a7d99676e2aba9a8b553e6cc2df779e2 100644 (file)
@@ -18,7 +18,7 @@
 static const struct exynos_pmu_conf *exynos_pmu_config;
 
 static const struct exynos_pmu_conf exynos4210_pmu_config[] = {
-       /* { .reg = address, .val = { AFTR, LPA, SLEEP } */
+       /* { .offset = offset, .val = { AFTR, LPA, SLEEP } */
        { S5P_ARM_CORE0_LOWPWR,                 { 0x0, 0x0, 0x2 } },
        { S5P_DIS_IRQ_CORE0,                    { 0x0, 0x0, 0x0 } },
        { S5P_DIS_IRQ_CENTRAL0,                 { 0x0, 0x0, 0x0 } },
@@ -212,7 +212,7 @@ static const struct exynos_pmu_conf exynos4412_pmu_config[] = {
 };
 
 static const struct exynos_pmu_conf exynos5250_pmu_config[] = {
-       /* { .reg = address, .val = { AFTR, LPA, SLEEP } */
+       /* { .offset = offset, .val = { AFTR, LPA, SLEEP } */
        { EXYNOS5_ARM_CORE0_SYS_PWR_REG,                { 0x0, 0x0, 0x2} },
        { EXYNOS5_DIS_IRQ_ARM_CORE0_LOCAL_SYS_PWR_REG,  { 0x0, 0x0, 0x0} },
        { EXYNOS5_DIS_IRQ_ARM_CORE0_CENTRAL_SYS_PWR_REG,        { 0x0, 0x0, 0x0} },
@@ -315,7 +315,7 @@ static const struct exynos_pmu_conf exynos5250_pmu_config[] = {
        { PMU_TABLE_END,},
 };
 
-static void __iomem * const exynos5_list_both_cnt_feed[] = {
+static unsigned int const exynos5_list_both_cnt_feed[] = {
        EXYNOS5_ARM_CORE0_OPTION,
        EXYNOS5_ARM_CORE1_OPTION,
        EXYNOS5_ARM_COMMON_OPTION,
@@ -329,7 +329,7 @@ static void __iomem * const exynos5_list_both_cnt_feed[] = {
        EXYNOS5_TOP_PWR_SYSMEM_OPTION,
 };
 
-static void __iomem * const exynos5_list_diable_wfi_wfe[] = {
+static unsigned int const exynos5_list_diable_wfi_wfe[] = {
        EXYNOS5_ARM_CORE1_OPTION,
        EXYNOS5_FSYS_ARM_OPTION,
        EXYNOS5_ISP_ARM_OPTION,
@@ -344,27 +344,27 @@ static void exynos5_init_pmu(void)
         * Enable both SC_FEEDBACK and SC_COUNTER
         */
        for (i = 0 ; i < ARRAY_SIZE(exynos5_list_both_cnt_feed) ; i++) {
-               tmp = __raw_readl(exynos5_list_both_cnt_feed[i]);
+               tmp = pmu_raw_readl(exynos5_list_both_cnt_feed[i]);
                tmp |= (EXYNOS5_USE_SC_FEEDBACK |
                        EXYNOS5_USE_SC_COUNTER);
-               __raw_writel(tmp, exynos5_list_both_cnt_feed[i]);
+               pmu_raw_writel(tmp, exynos5_list_both_cnt_feed[i]);
        }
 
        /*
         * SKIP_DEACTIVATE_ACEACP_IN_PWDN_BITFIELD Enable
         */
-       tmp = __raw_readl(EXYNOS5_ARM_COMMON_OPTION);
+       tmp = pmu_raw_readl(EXYNOS5_ARM_COMMON_OPTION);
        tmp |= EXYNOS5_SKIP_DEACTIVATE_ACEACP_IN_PWDN;
-       __raw_writel(tmp, EXYNOS5_ARM_COMMON_OPTION);
+       pmu_raw_writel(tmp, EXYNOS5_ARM_COMMON_OPTION);
 
        /*
         * Disable WFI/WFE on XXX_OPTION
         */
        for (i = 0 ; i < ARRAY_SIZE(exynos5_list_diable_wfi_wfe) ; i++) {
-               tmp = __raw_readl(exynos5_list_diable_wfi_wfe[i]);
+               tmp = pmu_raw_readl(exynos5_list_diable_wfi_wfe[i]);
                tmp &= ~(EXYNOS5_OPTION_USE_STANDBYWFE |
                         EXYNOS5_OPTION_USE_STANDBYWFI);
-               __raw_writel(tmp, exynos5_list_diable_wfi_wfe[i]);
+               pmu_raw_writel(tmp, exynos5_list_diable_wfi_wfe[i]);
        }
 }
 
@@ -375,14 +375,14 @@ void exynos_sys_powerdown_conf(enum sys_powerdown mode)
        if (soc_is_exynos5250())
                exynos5_init_pmu();
 
-       for (i = 0; (exynos_pmu_config[i].reg != PMU_TABLE_END) ; i++)
-               __raw_writel(exynos_pmu_config[i].val[mode],
-                               exynos_pmu_config[i].reg);
+       for (i = 0; (exynos_pmu_config[i].offset != PMU_TABLE_END) ; i++)
+               pmu_raw_writel(exynos_pmu_config[i].val[mode],
+                               exynos_pmu_config[i].offset);
 
        if (soc_is_exynos4412()) {
-               for (i = 0; exynos4412_pmu_config[i].reg != PMU_TABLE_END ; i++)
-                       __raw_writel(exynos4412_pmu_config[i].val[mode],
-                               exynos4412_pmu_config[i].reg);
+               for (i = 0; exynos4412_pmu_config[i].offset != PMU_TABLE_END ; i++)
+                       pmu_raw_writel(exynos4412_pmu_config[i].val[mode],
+                                       exynos4412_pmu_config[i].offset);
        }
 }
 
@@ -403,13 +403,13 @@ static int __init exynos_pmu_init(void)
                 * When SYS_WDTRESET is set, watchdog timer reset request
                 * is ignored by power management unit.
                 */
-               value = __raw_readl(EXYNOS5_AUTO_WDTRESET_DISABLE);
+               value = pmu_raw_readl(EXYNOS5_AUTO_WDTRESET_DISABLE);
                value &= ~EXYNOS5_SYS_WDTRESET;
-               __raw_writel(value, EXYNOS5_AUTO_WDTRESET_DISABLE);
+               pmu_raw_writel(value, EXYNOS5_AUTO_WDTRESET_DISABLE);
 
-               value = __raw_readl(EXYNOS5_MASK_WDTRESET_REQUEST);
+               value = pmu_raw_readl(EXYNOS5_MASK_WDTRESET_REQUEST);
                value &= ~EXYNOS5_SYS_WDTRESET;
-               __raw_writel(value, EXYNOS5_MASK_WDTRESET_REQUEST);
+               pmu_raw_writel(value, EXYNOS5_MASK_WDTRESET_REQUEST);
 
                exynos_pmu_config = exynos5250_pmu_config;
                pr_info("EXYNOS5250 PMU Initialize\n");
index e5e298c0fd013631ea9bae1ec477569fd3ab915a..96a1569262b5233a9621f11b0a64c62bfdce2a57 100644 (file)
 #ifndef __ASM_ARCH_REGS_PMU_H
 #define __ASM_ARCH_REGS_PMU_H __FILE__
 
-#include <mach/map.h>
-
-#define S5P_PMUREG(x)                          (S5P_VA_PMU + (x))
-
-#define S5P_CENTRAL_SEQ_CONFIGURATION          S5P_PMUREG(0x0200)
+#define S5P_CENTRAL_SEQ_CONFIGURATION          0x0200
 
 #define S5P_CENTRAL_LOWPWR_CFG                 (1 << 16)
 
-#define S5P_CENTRAL_SEQ_OPTION                 S5P_PMUREG(0x0208)
+#define S5P_CENTRAL_SEQ_OPTION                 0x0208
 
 #define S5P_USE_STANDBY_WFI0                   (1 << 16)
 #define S5P_USE_STANDBY_WFE0                   (1 << 24)
 
-#define EXYNOS_SWRESET                         S5P_PMUREG(0x0400)
-#define EXYNOS5440_SWRESET                     S5P_PMUREG(0x00C4)
-
-#define S5P_WAKEUP_STAT                                S5P_PMUREG(0x0600)
-#define S5P_EINT_WAKEUP_MASK                   S5P_PMUREG(0x0604)
-#define S5P_WAKEUP_MASK                                S5P_PMUREG(0x0608)
-
-#define S5P_INFORM0                            S5P_PMUREG(0x0800)
-#define S5P_INFORM1                            S5P_PMUREG(0x0804)
-#define S5P_INFORM5                            S5P_PMUREG(0x0814)
-#define S5P_INFORM6                            S5P_PMUREG(0x0818)
-#define S5P_INFORM7                            S5P_PMUREG(0x081C)
-#define S5P_PMU_SPARE3                         S5P_PMUREG(0x090C)
-
-#define S5P_ARM_CORE0_LOWPWR                   S5P_PMUREG(0x1000)
-#define S5P_DIS_IRQ_CORE0                      S5P_PMUREG(0x1004)
-#define S5P_DIS_IRQ_CENTRAL0                   S5P_PMUREG(0x1008)
-#define S5P_ARM_CORE1_LOWPWR                   S5P_PMUREG(0x1010)
-#define S5P_DIS_IRQ_CORE1                      S5P_PMUREG(0x1014)
-#define S5P_DIS_IRQ_CENTRAL1                   S5P_PMUREG(0x1018)
-#define S5P_ARM_COMMON_LOWPWR                  S5P_PMUREG(0x1080)
-#define S5P_L2_0_LOWPWR                                S5P_PMUREG(0x10C0)
-#define S5P_L2_1_LOWPWR                                S5P_PMUREG(0x10C4)
-#define S5P_CMU_ACLKSTOP_LOWPWR                        S5P_PMUREG(0x1100)
-#define S5P_CMU_SCLKSTOP_LOWPWR                        S5P_PMUREG(0x1104)
-#define S5P_CMU_RESET_LOWPWR                   S5P_PMUREG(0x110C)
-#define S5P_APLL_SYSCLK_LOWPWR                 S5P_PMUREG(0x1120)
-#define S5P_MPLL_SYSCLK_LOWPWR                 S5P_PMUREG(0x1124)
-#define S5P_VPLL_SYSCLK_LOWPWR                 S5P_PMUREG(0x1128)
-#define S5P_EPLL_SYSCLK_LOWPWR                 S5P_PMUREG(0x112C)
-#define S5P_CMU_CLKSTOP_GPS_ALIVE_LOWPWR       S5P_PMUREG(0x1138)
-#define S5P_CMU_RESET_GPSALIVE_LOWPWR          S5P_PMUREG(0x113C)
-#define S5P_CMU_CLKSTOP_CAM_LOWPWR             S5P_PMUREG(0x1140)
-#define S5P_CMU_CLKSTOP_TV_LOWPWR              S5P_PMUREG(0x1144)
-#define S5P_CMU_CLKSTOP_MFC_LOWPWR             S5P_PMUREG(0x1148)
-#define S5P_CMU_CLKSTOP_G3D_LOWPWR             S5P_PMUREG(0x114C)
-#define S5P_CMU_CLKSTOP_LCD0_LOWPWR            S5P_PMUREG(0x1150)
-#define S5P_CMU_CLKSTOP_MAUDIO_LOWPWR          S5P_PMUREG(0x1158)
-#define S5P_CMU_CLKSTOP_GPS_LOWPWR             S5P_PMUREG(0x115C)
-#define S5P_CMU_RESET_CAM_LOWPWR               S5P_PMUREG(0x1160)
-#define S5P_CMU_RESET_TV_LOWPWR                        S5P_PMUREG(0x1164)
-#define S5P_CMU_RESET_MFC_LOWPWR               S5P_PMUREG(0x1168)
-#define S5P_CMU_RESET_G3D_LOWPWR               S5P_PMUREG(0x116C)
-#define S5P_CMU_RESET_LCD0_LOWPWR              S5P_PMUREG(0x1170)
-#define S5P_CMU_RESET_MAUDIO_LOWPWR            S5P_PMUREG(0x1178)
-#define S5P_CMU_RESET_GPS_LOWPWR               S5P_PMUREG(0x117C)
-#define S5P_TOP_BUS_LOWPWR                     S5P_PMUREG(0x1180)
-#define S5P_TOP_RETENTION_LOWPWR               S5P_PMUREG(0x1184)
-#define S5P_TOP_PWR_LOWPWR                     S5P_PMUREG(0x1188)
-#define S5P_LOGIC_RESET_LOWPWR                 S5P_PMUREG(0x11A0)
-#define S5P_ONENAND_MEM_LOWPWR                 S5P_PMUREG(0x11C0)
-#define S5P_G2D_ACP_MEM_LOWPWR                 S5P_PMUREG(0x11C8)
-#define S5P_USBOTG_MEM_LOWPWR                  S5P_PMUREG(0x11CC)
-#define S5P_HSMMC_MEM_LOWPWR                   S5P_PMUREG(0x11D0)
-#define S5P_CSSYS_MEM_LOWPWR                   S5P_PMUREG(0x11D4)
-#define S5P_SECSS_MEM_LOWPWR                   S5P_PMUREG(0x11D8)
-#define S5P_PAD_RETENTION_DRAM_LOWPWR          S5P_PMUREG(0x1200)
-#define S5P_PAD_RETENTION_MAUDIO_LOWPWR                S5P_PMUREG(0x1204)
-#define S5P_PAD_RETENTION_GPIO_LOWPWR          S5P_PMUREG(0x1220)
-#define S5P_PAD_RETENTION_UART_LOWPWR          S5P_PMUREG(0x1224)
-#define S5P_PAD_RETENTION_MMCA_LOWPWR          S5P_PMUREG(0x1228)
-#define S5P_PAD_RETENTION_MMCB_LOWPWR          S5P_PMUREG(0x122C)
-#define S5P_PAD_RETENTION_EBIA_LOWPWR          S5P_PMUREG(0x1230)
-#define S5P_PAD_RETENTION_EBIB_LOWPWR          S5P_PMUREG(0x1234)
-#define S5P_PAD_RETENTION_ISOLATION_LOWPWR     S5P_PMUREG(0x1240)
-#define S5P_PAD_RETENTION_ALV_SEL_LOWPWR       S5P_PMUREG(0x1260)
-#define S5P_XUSBXTI_LOWPWR                     S5P_PMUREG(0x1280)
-#define S5P_XXTI_LOWPWR                                S5P_PMUREG(0x1284)
-#define S5P_EXT_REGULATOR_LOWPWR               S5P_PMUREG(0x12C0)
-#define S5P_GPIO_MODE_LOWPWR                   S5P_PMUREG(0x1300)
-#define S5P_GPIO_MODE_MAUDIO_LOWPWR            S5P_PMUREG(0x1340)
-#define S5P_CAM_LOWPWR                         S5P_PMUREG(0x1380)
-#define S5P_TV_LOWPWR                          S5P_PMUREG(0x1384)
-#define S5P_MFC_LOWPWR                         S5P_PMUREG(0x1388)
-#define S5P_G3D_LOWPWR                         S5P_PMUREG(0x138C)
-#define S5P_LCD0_LOWPWR                                S5P_PMUREG(0x1390)
-#define S5P_MAUDIO_LOWPWR                      S5P_PMUREG(0x1398)
-#define S5P_GPS_LOWPWR                         S5P_PMUREG(0x139C)
-#define S5P_GPS_ALIVE_LOWPWR                   S5P_PMUREG(0x13A0)
-
-#define EXYNOS_ARM_CORE0_CONFIGURATION         S5P_PMUREG(0x2000)
+#define EXYNOS_SWRESET                         0x0400
+#define EXYNOS5440_SWRESET                     0x00C4
+
+#define S5P_WAKEUP_STAT                                0x0600
+#define S5P_EINT_WAKEUP_MASK                   0x0604
+#define S5P_WAKEUP_MASK                                0x0608
+
+#define S5P_INFORM0                            0x0800
+#define S5P_INFORM1                            0x0804
+#define S5P_INFORM5                            0x0814
+#define S5P_INFORM6                            0x0818
+#define S5P_INFORM7                            0x081C
+#define S5P_PMU_SPARE3                         0x090C
+
+#define S5P_ARM_CORE0_LOWPWR                   0x1000
+#define S5P_DIS_IRQ_CORE0                      0x1004
+#define S5P_DIS_IRQ_CENTRAL0                   0x1008
+#define S5P_ARM_CORE1_LOWPWR                   0x1010
+#define S5P_DIS_IRQ_CORE1                      0x1014
+#define S5P_DIS_IRQ_CENTRAL1                   0x1018
+#define S5P_ARM_COMMON_LOWPWR                  0x1080
+#define S5P_L2_0_LOWPWR                                0x10C0
+#define S5P_L2_1_LOWPWR                                0x10C4
+#define S5P_CMU_ACLKSTOP_LOWPWR                        0x1100
+#define S5P_CMU_SCLKSTOP_LOWPWR                        0x1104
+#define S5P_CMU_RESET_LOWPWR                   0x110C
+#define S5P_APLL_SYSCLK_LOWPWR                 0x1120
+#define S5P_MPLL_SYSCLK_LOWPWR                 0x1124
+#define S5P_VPLL_SYSCLK_LOWPWR                 0x1128
+#define S5P_EPLL_SYSCLK_LOWPWR                 0x112C
+#define S5P_CMU_CLKSTOP_GPS_ALIVE_LOWPWR       0x1138
+#define S5P_CMU_RESET_GPSALIVE_LOWPWR          0x113C
+#define S5P_CMU_CLKSTOP_CAM_LOWPWR             0x1140
+#define S5P_CMU_CLKSTOP_TV_LOWPWR              0x1144
+#define S5P_CMU_CLKSTOP_MFC_LOWPWR             0x1148
+#define S5P_CMU_CLKSTOP_G3D_LOWPWR             0x114C
+#define S5P_CMU_CLKSTOP_LCD0_LOWPWR            0x1150
+#define S5P_CMU_CLKSTOP_MAUDIO_LOWPWR          0x1158
+#define S5P_CMU_CLKSTOP_GPS_LOWPWR             0x115C
+#define S5P_CMU_RESET_CAM_LOWPWR               0x1160
+#define S5P_CMU_RESET_TV_LOWPWR                        0x1164
+#define S5P_CMU_RESET_MFC_LOWPWR               0x1168
+#define S5P_CMU_RESET_G3D_LOWPWR               0x116C
+#define S5P_CMU_RESET_LCD0_LOWPWR              0x1170
+#define S5P_CMU_RESET_MAUDIO_LOWPWR            0x1178
+#define S5P_CMU_RESET_GPS_LOWPWR               0x117C
+#define S5P_TOP_BUS_LOWPWR                     0x1180
+#define S5P_TOP_RETENTION_LOWPWR               0x1184
+#define S5P_TOP_PWR_LOWPWR                     0x1188
+#define S5P_LOGIC_RESET_LOWPWR                 0x11A0
+#define S5P_ONENAND_MEM_LOWPWR                 0x11C0
+#define S5P_G2D_ACP_MEM_LOWPWR                 0x11C8
+#define S5P_USBOTG_MEM_LOWPWR                  0x11CC
+#define S5P_HSMMC_MEM_LOWPWR                   0x11D0
+#define S5P_CSSYS_MEM_LOWPWR                   0x11D4
+#define S5P_SECSS_MEM_LOWPWR                   0x11D8
+#define S5P_PAD_RETENTION_DRAM_LOWPWR          0x1200
+#define S5P_PAD_RETENTION_MAUDIO_LOWPWR                0x1204
+#define S5P_PAD_RETENTION_GPIO_LOWPWR          0x1220
+#define S5P_PAD_RETENTION_UART_LOWPWR          0x1224
+#define S5P_PAD_RETENTION_MMCA_LOWPWR          0x1228
+#define S5P_PAD_RETENTION_MMCB_LOWPWR          0x122C
+#define S5P_PAD_RETENTION_EBIA_LOWPWR          0x1230
+#define S5P_PAD_RETENTION_EBIB_LOWPWR          0x1234
+#define S5P_PAD_RETENTION_ISOLATION_LOWPWR     0x1240
+#define S5P_PAD_RETENTION_ALV_SEL_LOWPWR       0x1260
+#define S5P_XUSBXTI_LOWPWR                     0x1280
+#define S5P_XXTI_LOWPWR                                0x1284
+#define S5P_EXT_REGULATOR_LOWPWR               0x12C0
+#define S5P_GPIO_MODE_LOWPWR                   0x1300
+#define S5P_GPIO_MODE_MAUDIO_LOWPWR            0x1340
+#define S5P_CAM_LOWPWR                         0x1380
+#define S5P_TV_LOWPWR                          0x1384
+#define S5P_MFC_LOWPWR                         0x1388
+#define S5P_G3D_LOWPWR                         0x138C
+#define S5P_LCD0_LOWPWR                                0x1390
+#define S5P_MAUDIO_LOWPWR                      0x1398
+#define S5P_GPS_LOWPWR                         0x139C
+#define S5P_GPS_ALIVE_LOWPWR                   0x13A0
+
+#define EXYNOS_ARM_CORE0_CONFIGURATION         0x2000
 #define EXYNOS_ARM_CORE_CONFIGURATION(_nr)     \
                        (EXYNOS_ARM_CORE0_CONFIGURATION + (0x80 * (_nr)))
 #define EXYNOS_ARM_CORE_STATUS(_nr)            \
                        (EXYNOS_ARM_CORE_CONFIGURATION(_nr) + 0x4)
 
-#define EXYNOS_ARM_COMMON_CONFIGURATION                S5P_PMUREG(0x2500)
+#define EXYNOS_ARM_COMMON_CONFIGURATION                0x2500
 #define EXYNOS_COMMON_CONFIGURATION(_nr)       \
                        (EXYNOS_ARM_COMMON_CONFIGURATION + (0x80 * (_nr)))
 #define EXYNOS_COMMON_STATUS(_nr)              \
 #define EXYNOS_COMMON_OPTION(_nr)              \
                        (EXYNOS_COMMON_CONFIGURATION(_nr) + 0x8)
 
-#define S5P_PAD_RET_MAUDIO_OPTION              S5P_PMUREG(0x3028)
-#define S5P_PAD_RET_GPIO_OPTION                        S5P_PMUREG(0x3108)
-#define S5P_PAD_RET_UART_OPTION                        S5P_PMUREG(0x3128)
-#define S5P_PAD_RET_MMCA_OPTION                        S5P_PMUREG(0x3148)
-#define S5P_PAD_RET_MMCB_OPTION                        S5P_PMUREG(0x3168)
-#define S5P_PAD_RET_EBIA_OPTION                        S5P_PMUREG(0x3188)
-#define S5P_PAD_RET_EBIB_OPTION                        S5P_PMUREG(0x31A8)
+#define S5P_PAD_RET_MAUDIO_OPTION              0x3028
+#define S5P_PAD_RET_GPIO_OPTION                        0x3108
+#define S5P_PAD_RET_UART_OPTION                        0x3128
+#define S5P_PAD_RET_MMCA_OPTION                        0x3148
+#define S5P_PAD_RET_MMCB_OPTION                        0x3168
+#define S5P_PAD_RET_EBIA_OPTION                        0x3188
+#define S5P_PAD_RET_EBIB_OPTION                        0x31A8
 
 #define S5P_CORE_LOCAL_PWR_EN                  0x3
 
 /* Only for EXYNOS4210 */
-#define S5P_CMU_CLKSTOP_LCD1_LOWPWR    S5P_PMUREG(0x1154)
-#define S5P_CMU_RESET_LCD1_LOWPWR      S5P_PMUREG(0x1174)
-#define S5P_MODIMIF_MEM_LOWPWR         S5P_PMUREG(0x11C4)
-#define S5P_PCIE_MEM_LOWPWR            S5P_PMUREG(0x11E0)
-#define S5P_SATA_MEM_LOWPWR            S5P_PMUREG(0x11E4)
-#define S5P_LCD1_LOWPWR                        S5P_PMUREG(0x1394)
+#define S5P_CMU_CLKSTOP_LCD1_LOWPWR    0x1154
+#define S5P_CMU_RESET_LCD1_LOWPWR      0x1174
+#define S5P_MODIMIF_MEM_LOWPWR         0x11C4
+#define S5P_PCIE_MEM_LOWPWR            0x11E0
+#define S5P_SATA_MEM_LOWPWR            0x11E4
+#define S5P_LCD1_LOWPWR                        0x1394
 
 /* Only for EXYNOS4x12 */
-#define S5P_ISP_ARM_LOWPWR                     S5P_PMUREG(0x1050)
-#define S5P_DIS_IRQ_ISP_ARM_LOCAL_LOWPWR       S5P_PMUREG(0x1054)
-#define S5P_DIS_IRQ_ISP_ARM_CENTRAL_LOWPWR     S5P_PMUREG(0x1058)
-#define S5P_CMU_ACLKSTOP_COREBLK_LOWPWR                S5P_PMUREG(0x1110)
-#define S5P_CMU_SCLKSTOP_COREBLK_LOWPWR                S5P_PMUREG(0x1114)
-#define S5P_CMU_RESET_COREBLK_LOWPWR           S5P_PMUREG(0x111C)
-#define S5P_MPLLUSER_SYSCLK_LOWPWR             S5P_PMUREG(0x1130)
-#define S5P_CMU_CLKSTOP_ISP_LOWPWR             S5P_PMUREG(0x1154)
-#define S5P_CMU_RESET_ISP_LOWPWR               S5P_PMUREG(0x1174)
-#define S5P_TOP_BUS_COREBLK_LOWPWR             S5P_PMUREG(0x1190)
-#define S5P_TOP_RETENTION_COREBLK_LOWPWR       S5P_PMUREG(0x1194)
-#define S5P_TOP_PWR_COREBLK_LOWPWR             S5P_PMUREG(0x1198)
-#define S5P_OSCCLK_GATE_LOWPWR                 S5P_PMUREG(0x11A4)
-#define S5P_LOGIC_RESET_COREBLK_LOWPWR         S5P_PMUREG(0x11B0)
-#define S5P_OSCCLK_GATE_COREBLK_LOWPWR         S5P_PMUREG(0x11B4)
-#define S5P_HSI_MEM_LOWPWR                     S5P_PMUREG(0x11C4)
-#define S5P_ROTATOR_MEM_LOWPWR                 S5P_PMUREG(0x11DC)
-#define S5P_PAD_RETENTION_GPIO_COREBLK_LOWPWR  S5P_PMUREG(0x123C)
-#define S5P_PAD_ISOLATION_COREBLK_LOWPWR       S5P_PMUREG(0x1250)
-#define S5P_GPIO_MODE_COREBLK_LOWPWR           S5P_PMUREG(0x1320)
-#define S5P_TOP_ASB_RESET_LOWPWR               S5P_PMUREG(0x1344)
-#define S5P_TOP_ASB_ISOLATION_LOWPWR           S5P_PMUREG(0x1348)
-#define S5P_ISP_LOWPWR                         S5P_PMUREG(0x1394)
-#define S5P_DRAM_FREQ_DOWN_LOWPWR              S5P_PMUREG(0x13B0)
-#define S5P_DDRPHY_DLLOFF_LOWPWR               S5P_PMUREG(0x13B4)
-#define S5P_CMU_SYSCLK_ISP_LOWPWR              S5P_PMUREG(0x13B8)
-#define S5P_CMU_SYSCLK_GPS_LOWPWR              S5P_PMUREG(0x13BC)
-#define S5P_LPDDR_PHY_DLL_LOCK_LOWPWR          S5P_PMUREG(0x13C0)
-
-#define S5P_ARM_L2_0_OPTION                    S5P_PMUREG(0x2608)
-#define S5P_ARM_L2_1_OPTION                    S5P_PMUREG(0x2628)
-#define S5P_ONENAND_MEM_OPTION                 S5P_PMUREG(0x2E08)
-#define S5P_HSI_MEM_OPTION                     S5P_PMUREG(0x2E28)
-#define S5P_G2D_ACP_MEM_OPTION                 S5P_PMUREG(0x2E48)
-#define S5P_USBOTG_MEM_OPTION                  S5P_PMUREG(0x2E68)
-#define S5P_HSMMC_MEM_OPTION                   S5P_PMUREG(0x2E88)
-#define S5P_CSSYS_MEM_OPTION                   S5P_PMUREG(0x2EA8)
-#define S5P_SECSS_MEM_OPTION                   S5P_PMUREG(0x2EC8)
-#define S5P_ROTATOR_MEM_OPTION                 S5P_PMUREG(0x2F48)
+#define S5P_ISP_ARM_LOWPWR                     0x1050
+#define S5P_DIS_IRQ_ISP_ARM_LOCAL_LOWPWR       0x1054
+#define S5P_DIS_IRQ_ISP_ARM_CENTRAL_LOWPWR     0x1058
+#define S5P_CMU_ACLKSTOP_COREBLK_LOWPWR                0x1110
+#define S5P_CMU_SCLKSTOP_COREBLK_LOWPWR                0x1114
+#define S5P_CMU_RESET_COREBLK_LOWPWR           0x111C
+#define S5P_MPLLUSER_SYSCLK_LOWPWR             0x1130
+#define S5P_CMU_CLKSTOP_ISP_LOWPWR             0x1154
+#define S5P_CMU_RESET_ISP_LOWPWR               0x1174
+#define S5P_TOP_BUS_COREBLK_LOWPWR             0x1190
+#define S5P_TOP_RETENTION_COREBLK_LOWPWR       0x1194
+#define S5P_TOP_PWR_COREBLK_LOWPWR             0x1198
+#define S5P_OSCCLK_GATE_LOWPWR                 0x11A4
+#define S5P_LOGIC_RESET_COREBLK_LOWPWR         0x11B0
+#define S5P_OSCCLK_GATE_COREBLK_LOWPWR         0x11B4
+#define S5P_HSI_MEM_LOWPWR                     0x11C4
+#define S5P_ROTATOR_MEM_LOWPWR                 0x11DC
+#define S5P_PAD_RETENTION_GPIO_COREBLK_LOWPWR  0x123C
+#define S5P_PAD_ISOLATION_COREBLK_LOWPWR       0x1250
+#define S5P_GPIO_MODE_COREBLK_LOWPWR           0x1320
+#define S5P_TOP_ASB_RESET_LOWPWR               0x1344
+#define S5P_TOP_ASB_ISOLATION_LOWPWR           0x1348
+#define S5P_ISP_LOWPWR                         0x1394
+#define S5P_DRAM_FREQ_DOWN_LOWPWR              0x13B0
+#define S5P_DDRPHY_DLLOFF_LOWPWR               0x13B4
+#define S5P_CMU_SYSCLK_ISP_LOWPWR              0x13B8
+#define S5P_CMU_SYSCLK_GPS_LOWPWR              0x13BC
+#define S5P_LPDDR_PHY_DLL_LOCK_LOWPWR          0x13C0
+
+#define S5P_ARM_L2_0_OPTION                    0x2608
+#define S5P_ARM_L2_1_OPTION                    0x2628
+#define S5P_ONENAND_MEM_OPTION                 0x2E08
+#define S5P_HSI_MEM_OPTION                     0x2E28
+#define S5P_G2D_ACP_MEM_OPTION                 0x2E48
+#define S5P_USBOTG_MEM_OPTION                  0x2E68
+#define S5P_HSMMC_MEM_OPTION                   0x2E88
+#define S5P_CSSYS_MEM_OPTION                   0x2EA8
+#define S5P_SECSS_MEM_OPTION                   0x2EC8
+#define S5P_ROTATOR_MEM_OPTION                 0x2F48
 
 /* Only for EXYNOS4412 */
-#define S5P_ARM_CORE2_LOWPWR                   S5P_PMUREG(0x1020)
-#define S5P_DIS_IRQ_CORE2                      S5P_PMUREG(0x1024)
-#define S5P_DIS_IRQ_CENTRAL2                   S5P_PMUREG(0x1028)
-#define S5P_ARM_CORE3_LOWPWR                   S5P_PMUREG(0x1030)
-#define S5P_DIS_IRQ_CORE3                      S5P_PMUREG(0x1034)
-#define S5P_DIS_IRQ_CENTRAL3                   S5P_PMUREG(0x1038)
+#define S5P_ARM_CORE2_LOWPWR                   0x1020
+#define S5P_DIS_IRQ_CORE2                      0x1024
+#define S5P_DIS_IRQ_CENTRAL2                   0x1028
+#define S5P_ARM_CORE3_LOWPWR                   0x1030
+#define S5P_DIS_IRQ_CORE3                      0x1034
+#define S5P_DIS_IRQ_CENTRAL3                   0x1038
 
 /* For EXYNOS5 */
 
-#define EXYNOS5_AUTO_WDTRESET_DISABLE                          S5P_PMUREG(0x0408)
-#define EXYNOS5_MASK_WDTRESET_REQUEST                          S5P_PMUREG(0x040C)
+#define EXYNOS5_AUTO_WDTRESET_DISABLE                          0x0408
+#define EXYNOS5_MASK_WDTRESET_REQUEST                          0x040C
 
 #define EXYNOS5_SYS_WDTRESET                                   (1 << 20)
 
-#define EXYNOS5_ARM_CORE0_SYS_PWR_REG                          S5P_PMUREG(0x1000)
-#define EXYNOS5_DIS_IRQ_ARM_CORE0_LOCAL_SYS_PWR_REG            S5P_PMUREG(0x1004)
-#define EXYNOS5_DIS_IRQ_ARM_CORE0_CENTRAL_SYS_PWR_REG          S5P_PMUREG(0x1008)
-#define EXYNOS5_ARM_CORE1_SYS_PWR_REG                          S5P_PMUREG(0x1010)
-#define EXYNOS5_DIS_IRQ_ARM_CORE1_LOCAL_SYS_PWR_REG            S5P_PMUREG(0x1014)
-#define EXYNOS5_DIS_IRQ_ARM_CORE1_CENTRAL_SYS_PWR_REG          S5P_PMUREG(0x1018)
-#define EXYNOS5_FSYS_ARM_SYS_PWR_REG                           S5P_PMUREG(0x1040)
-#define EXYNOS5_DIS_IRQ_FSYS_ARM_CENTRAL_SYS_PWR_REG           S5P_PMUREG(0x1048)
-#define EXYNOS5_ISP_ARM_SYS_PWR_REG                            S5P_PMUREG(0x1050)
-#define EXYNOS5_DIS_IRQ_ISP_ARM_LOCAL_SYS_PWR_REG              S5P_PMUREG(0x1054)
-#define EXYNOS5_DIS_IRQ_ISP_ARM_CENTRAL_SYS_PWR_REG            S5P_PMUREG(0x1058)
-#define EXYNOS5_ARM_COMMON_SYS_PWR_REG                         S5P_PMUREG(0x1080)
-#define EXYNOS5_ARM_L2_SYS_PWR_REG                             S5P_PMUREG(0x10C0)
-#define EXYNOS5_CMU_ACLKSTOP_SYS_PWR_REG                       S5P_PMUREG(0x1100)
-#define EXYNOS5_CMU_SCLKSTOP_SYS_PWR_REG                       S5P_PMUREG(0x1104)
-#define EXYNOS5_CMU_RESET_SYS_PWR_REG                          S5P_PMUREG(0x110C)
-#define EXYNOS5_CMU_ACLKSTOP_SYSMEM_SYS_PWR_REG                        S5P_PMUREG(0x1120)
-#define EXYNOS5_CMU_SCLKSTOP_SYSMEM_SYS_PWR_REG                        S5P_PMUREG(0x1124)
-#define EXYNOS5_CMU_RESET_SYSMEM_SYS_PWR_REG                   S5P_PMUREG(0x112C)
-#define EXYNOS5_DRAM_FREQ_DOWN_SYS_PWR_REG                     S5P_PMUREG(0x1130)
-#define EXYNOS5_DDRPHY_DLLOFF_SYS_PWR_REG                      S5P_PMUREG(0x1134)
-#define EXYNOS5_DDRPHY_DLLLOCK_SYS_PWR_REG                     S5P_PMUREG(0x1138)
-#define EXYNOS5_APLL_SYSCLK_SYS_PWR_REG                                S5P_PMUREG(0x1140)
-#define EXYNOS5_MPLL_SYSCLK_SYS_PWR_REG                                S5P_PMUREG(0x1144)
-#define EXYNOS5_VPLL_SYSCLK_SYS_PWR_REG                                S5P_PMUREG(0x1148)
-#define EXYNOS5_EPLL_SYSCLK_SYS_PWR_REG                                S5P_PMUREG(0x114C)
-#define EXYNOS5_BPLL_SYSCLK_SYS_PWR_REG                                S5P_PMUREG(0x1150)
-#define EXYNOS5_CPLL_SYSCLK_SYS_PWR_REG                                S5P_PMUREG(0x1154)
-#define EXYNOS5_MPLLUSER_SYSCLK_SYS_PWR_REG                    S5P_PMUREG(0x1164)
-#define EXYNOS5_BPLLUSER_SYSCLK_SYS_PWR_REG                    S5P_PMUREG(0x1170)
-#define EXYNOS5_TOP_BUS_SYS_PWR_REG                            S5P_PMUREG(0x1180)
-#define EXYNOS5_TOP_RETENTION_SYS_PWR_REG                      S5P_PMUREG(0x1184)
-#define EXYNOS5_TOP_PWR_SYS_PWR_REG                            S5P_PMUREG(0x1188)
-#define EXYNOS5_TOP_BUS_SYSMEM_SYS_PWR_REG                     S5P_PMUREG(0x1190)
-#define EXYNOS5_TOP_RETENTION_SYSMEM_SYS_PWR_REG               S5P_PMUREG(0x1194)
-#define EXYNOS5_TOP_PWR_SYSMEM_SYS_PWR_REG                     S5P_PMUREG(0x1198)
-#define EXYNOS5_LOGIC_RESET_SYS_PWR_REG                                S5P_PMUREG(0x11A0)
-#define EXYNOS5_OSCCLK_GATE_SYS_PWR_REG                                S5P_PMUREG(0x11A4)
-#define EXYNOS5_LOGIC_RESET_SYSMEM_SYS_PWR_REG                 S5P_PMUREG(0x11B0)
-#define EXYNOS5_OSCCLK_GATE_SYSMEM_SYS_PWR_REG                 S5P_PMUREG(0x11B4)
-#define EXYNOS5_USBOTG_MEM_SYS_PWR_REG                         S5P_PMUREG(0x11C0)
-#define EXYNOS5_G2D_MEM_SYS_PWR_REG                            S5P_PMUREG(0x11C8)
-#define EXYNOS5_USBDRD_MEM_SYS_PWR_REG                         S5P_PMUREG(0x11CC)
-#define EXYNOS5_SDMMC_MEM_SYS_PWR_REG                          S5P_PMUREG(0x11D0)
-#define EXYNOS5_CSSYS_MEM_SYS_PWR_REG                          S5P_PMUREG(0x11D4)
-#define EXYNOS5_SECSS_MEM_SYS_PWR_REG                          S5P_PMUREG(0x11D8)
-#define EXYNOS5_ROTATOR_MEM_SYS_PWR_REG                                S5P_PMUREG(0x11DC)
-#define EXYNOS5_INTRAM_MEM_SYS_PWR_REG                         S5P_PMUREG(0x11E0)
-#define EXYNOS5_INTROM_MEM_SYS_PWR_REG                         S5P_PMUREG(0x11E4)
-#define EXYNOS5_JPEG_MEM_SYS_PWR_REG                           S5P_PMUREG(0x11E8)
-#define EXYNOS5_HSI_MEM_SYS_PWR_REG                            S5P_PMUREG(0x11EC)
-#define EXYNOS5_MCUIOP_MEM_SYS_PWR_REG                         S5P_PMUREG(0x11F4)
-#define EXYNOS5_SATA_MEM_SYS_PWR_REG                           S5P_PMUREG(0x11FC)
-#define EXYNOS5_PAD_RETENTION_DRAM_SYS_PWR_REG                 S5P_PMUREG(0x1200)
-#define EXYNOS5_PAD_RETENTION_MAU_SYS_PWR_REG                  S5P_PMUREG(0x1204)
-#define EXYNOS5_PAD_RETENTION_EFNAND_SYS_PWR_REG               S5P_PMUREG(0x1208)
-#define EXYNOS5_PAD_RETENTION_GPIO_SYS_PWR_REG                 S5P_PMUREG(0x1220)
-#define EXYNOS5_PAD_RETENTION_UART_SYS_PWR_REG                 S5P_PMUREG(0x1224)
-#define EXYNOS5_PAD_RETENTION_MMCA_SYS_PWR_REG                 S5P_PMUREG(0x1228)
-#define EXYNOS5_PAD_RETENTION_MMCB_SYS_PWR_REG                 S5P_PMUREG(0x122C)
-#define EXYNOS5_PAD_RETENTION_EBIA_SYS_PWR_REG                 S5P_PMUREG(0x1230)
-#define EXYNOS5_PAD_RETENTION_EBIB_SYS_PWR_REG                 S5P_PMUREG(0x1234)
-#define EXYNOS5_PAD_RETENTION_SPI_SYS_PWR_REG                  S5P_PMUREG(0x1238)
-#define EXYNOS5_PAD_RETENTION_GPIO_SYSMEM_SYS_PWR_REG          S5P_PMUREG(0x123C)
-#define EXYNOS5_PAD_ISOLATION_SYS_PWR_REG                      S5P_PMUREG(0x1240)
-#define EXYNOS5_PAD_ISOLATION_SYSMEM_SYS_PWR_REG               S5P_PMUREG(0x1250)
-#define EXYNOS5_PAD_ALV_SEL_SYS_PWR_REG                                S5P_PMUREG(0x1260)
-#define EXYNOS5_XUSBXTI_SYS_PWR_REG                            S5P_PMUREG(0x1280)
-#define EXYNOS5_XXTI_SYS_PWR_REG                               S5P_PMUREG(0x1284)
-#define EXYNOS5_EXT_REGULATOR_SYS_PWR_REG                      S5P_PMUREG(0x12C0)
-#define EXYNOS5_GPIO_MODE_SYS_PWR_REG                          S5P_PMUREG(0x1300)
-#define EXYNOS5_GPIO_MODE_SYSMEM_SYS_PWR_REG                   S5P_PMUREG(0x1320)
-#define EXYNOS5_GPIO_MODE_MAU_SYS_PWR_REG                      S5P_PMUREG(0x1340)
-#define EXYNOS5_TOP_ASB_RESET_SYS_PWR_REG                      S5P_PMUREG(0x1344)
-#define EXYNOS5_TOP_ASB_ISOLATION_SYS_PWR_REG                  S5P_PMUREG(0x1348)
-#define EXYNOS5_GSCL_SYS_PWR_REG                               S5P_PMUREG(0x1400)
-#define EXYNOS5_ISP_SYS_PWR_REG                                        S5P_PMUREG(0x1404)
-#define EXYNOS5_MFC_SYS_PWR_REG                                        S5P_PMUREG(0x1408)
-#define EXYNOS5_G3D_SYS_PWR_REG                                        S5P_PMUREG(0x140C)
-#define EXYNOS5_DISP1_SYS_PWR_REG                              S5P_PMUREG(0x1414)
-#define EXYNOS5_MAU_SYS_PWR_REG                                        S5P_PMUREG(0x1418)
-#define EXYNOS5_CMU_CLKSTOP_GSCL_SYS_PWR_REG                   S5P_PMUREG(0x1480)
-#define EXYNOS5_CMU_CLKSTOP_ISP_SYS_PWR_REG                    S5P_PMUREG(0x1484)
-#define EXYNOS5_CMU_CLKSTOP_MFC_SYS_PWR_REG                    S5P_PMUREG(0x1488)
-#define EXYNOS5_CMU_CLKSTOP_G3D_SYS_PWR_REG                    S5P_PMUREG(0x148C)
-#define EXYNOS5_CMU_CLKSTOP_DISP1_SYS_PWR_REG                  S5P_PMUREG(0x1494)
-#define EXYNOS5_CMU_CLKSTOP_MAU_SYS_PWR_REG                    S5P_PMUREG(0x1498)
-#define EXYNOS5_CMU_SYSCLK_GSCL_SYS_PWR_REG                    S5P_PMUREG(0x14C0)
-#define EXYNOS5_CMU_SYSCLK_ISP_SYS_PWR_REG                     S5P_PMUREG(0x14C4)
-#define EXYNOS5_CMU_SYSCLK_MFC_SYS_PWR_REG                     S5P_PMUREG(0x14C8)
-#define EXYNOS5_CMU_SYSCLK_G3D_SYS_PWR_REG                     S5P_PMUREG(0x14CC)
-#define EXYNOS5_CMU_SYSCLK_DISP1_SYS_PWR_REG                   S5P_PMUREG(0x14D4)
-#define EXYNOS5_CMU_SYSCLK_MAU_SYS_PWR_REG                     S5P_PMUREG(0x14D8)
-#define EXYNOS5_CMU_RESET_GSCL_SYS_PWR_REG                     S5P_PMUREG(0x1580)
-#define EXYNOS5_CMU_RESET_ISP_SYS_PWR_REG                      S5P_PMUREG(0x1584)
-#define EXYNOS5_CMU_RESET_MFC_SYS_PWR_REG                      S5P_PMUREG(0x1588)
-#define EXYNOS5_CMU_RESET_G3D_SYS_PWR_REG                      S5P_PMUREG(0x158C)
-#define EXYNOS5_CMU_RESET_DISP1_SYS_PWR_REG                    S5P_PMUREG(0x1594)
-#define EXYNOS5_CMU_RESET_MAU_SYS_PWR_REG                      S5P_PMUREG(0x1598)
-
-#define EXYNOS5_ARM_CORE0_OPTION                               S5P_PMUREG(0x2008)
-#define EXYNOS5_ARM_CORE1_OPTION                               S5P_PMUREG(0x2088)
-#define EXYNOS5_FSYS_ARM_OPTION                                        S5P_PMUREG(0x2208)
-#define EXYNOS5_ISP_ARM_OPTION                                 S5P_PMUREG(0x2288)
-#define EXYNOS5_ARM_COMMON_OPTION                              S5P_PMUREG(0x2408)
-#define EXYNOS5_ARM_L2_OPTION                                  S5P_PMUREG(0x2608)
-#define EXYNOS5_TOP_PWR_OPTION                                 S5P_PMUREG(0x2C48)
-#define EXYNOS5_TOP_PWR_SYSMEM_OPTION                          S5P_PMUREG(0x2CC8)
-#define EXYNOS5_JPEG_MEM_OPTION                                        S5P_PMUREG(0x2F48)
-#define EXYNOS5_GSCL_OPTION                                    S5P_PMUREG(0x4008)
-#define EXYNOS5_ISP_OPTION                                     S5P_PMUREG(0x4028)
-#define EXYNOS5_MFC_OPTION                                     S5P_PMUREG(0x4048)
-#define EXYNOS5_G3D_OPTION                                     S5P_PMUREG(0x4068)
-#define EXYNOS5_DISP1_OPTION                                   S5P_PMUREG(0x40A8)
-#define EXYNOS5_MAU_OPTION                                     S5P_PMUREG(0x40C8)
+#define EXYNOS5_ARM_CORE0_SYS_PWR_REG                          0x1000
+#define EXYNOS5_DIS_IRQ_ARM_CORE0_LOCAL_SYS_PWR_REG            0x1004
+#define EXYNOS5_DIS_IRQ_ARM_CORE0_CENTRAL_SYS_PWR_REG          0x1008
+#define EXYNOS5_ARM_CORE1_SYS_PWR_REG                          0x1010
+#define EXYNOS5_DIS_IRQ_ARM_CORE1_LOCAL_SYS_PWR_REG            0x1014
+#define EXYNOS5_DIS_IRQ_ARM_CORE1_CENTRAL_SYS_PWR_REG          0x1018
+#define EXYNOS5_FSYS_ARM_SYS_PWR_REG                           0x1040
+#define EXYNOS5_DIS_IRQ_FSYS_ARM_CENTRAL_SYS_PWR_REG           0x1048
+#define EXYNOS5_ISP_ARM_SYS_PWR_REG                            0x1050
+#define EXYNOS5_DIS_IRQ_ISP_ARM_LOCAL_SYS_PWR_REG              0x1054
+#define EXYNOS5_DIS_IRQ_ISP_ARM_CENTRAL_SYS_PWR_REG            0x1058
+#define EXYNOS5_ARM_COMMON_SYS_PWR_REG                         0x1080
+#define EXYNOS5_ARM_L2_SYS_PWR_REG                             0x10C0
+#define EXYNOS5_CMU_ACLKSTOP_SYS_PWR_REG                       0x1100
+#define EXYNOS5_CMU_SCLKSTOP_SYS_PWR_REG                       0x1104
+#define EXYNOS5_CMU_RESET_SYS_PWR_REG                          0x110C
+#define EXYNOS5_CMU_ACLKSTOP_SYSMEM_SYS_PWR_REG                        0x1120
+#define EXYNOS5_CMU_SCLKSTOP_SYSMEM_SYS_PWR_REG                        0x1124
+#define EXYNOS5_CMU_RESET_SYSMEM_SYS_PWR_REG                   0x112C
+#define EXYNOS5_DRAM_FREQ_DOWN_SYS_PWR_REG                     0x1130
+#define EXYNOS5_DDRPHY_DLLOFF_SYS_PWR_REG                      0x1134
+#define EXYNOS5_DDRPHY_DLLLOCK_SYS_PWR_REG                     0x1138
+#define EXYNOS5_APLL_SYSCLK_SYS_PWR_REG                                0x1140
+#define EXYNOS5_MPLL_SYSCLK_SYS_PWR_REG                                0x1144
+#define EXYNOS5_VPLL_SYSCLK_SYS_PWR_REG                                0x1148
+#define EXYNOS5_EPLL_SYSCLK_SYS_PWR_REG                                0x114C
+#define EXYNOS5_BPLL_SYSCLK_SYS_PWR_REG                                0x1150
+#define EXYNOS5_CPLL_SYSCLK_SYS_PWR_REG                                0x1154
+#define EXYNOS5_MPLLUSER_SYSCLK_SYS_PWR_REG                    0x1164
+#define EXYNOS5_BPLLUSER_SYSCLK_SYS_PWR_REG                    0x1170
+#define EXYNOS5_TOP_BUS_SYS_PWR_REG                            0x1180
+#define EXYNOS5_TOP_RETENTION_SYS_PWR_REG                      0x1184
+#define EXYNOS5_TOP_PWR_SYS_PWR_REG                            0x1188
+#define EXYNOS5_TOP_BUS_SYSMEM_SYS_PWR_REG                     0x1190
+#define EXYNOS5_TOP_RETENTION_SYSMEM_SYS_PWR_REG               0x1194
+#define EXYNOS5_TOP_PWR_SYSMEM_SYS_PWR_REG                     0x1198
+#define EXYNOS5_LOGIC_RESET_SYS_PWR_REG                                0x11A0
+#define EXYNOS5_OSCCLK_GATE_SYS_PWR_REG                                0x11A4
+#define EXYNOS5_LOGIC_RESET_SYSMEM_SYS_PWR_REG                 0x11B0
+#define EXYNOS5_OSCCLK_GATE_SYSMEM_SYS_PWR_REG                 0x11B4
+#define EXYNOS5_USBOTG_MEM_SYS_PWR_REG                         0x11C0
+#define EXYNOS5_G2D_MEM_SYS_PWR_REG                            0x11C8
+#define EXYNOS5_USBDRD_MEM_SYS_PWR_REG                         0x11CC
+#define EXYNOS5_SDMMC_MEM_SYS_PWR_REG                          0x11D0
+#define EXYNOS5_CSSYS_MEM_SYS_PWR_REG                          0x11D4
+#define EXYNOS5_SECSS_MEM_SYS_PWR_REG                          0x11D8
+#define EXYNOS5_ROTATOR_MEM_SYS_PWR_REG                                0x11DC
+#define EXYNOS5_INTRAM_MEM_SYS_PWR_REG                         0x11E0
+#define EXYNOS5_INTROM_MEM_SYS_PWR_REG                         0x11E4
+#define EXYNOS5_JPEG_MEM_SYS_PWR_REG                           0x11E8
+#define EXYNOS5_HSI_MEM_SYS_PWR_REG                            0x11EC
+#define EXYNOS5_MCUIOP_MEM_SYS_PWR_REG                         0x11F4
+#define EXYNOS5_SATA_MEM_SYS_PWR_REG                           0x11FC
+#define EXYNOS5_PAD_RETENTION_DRAM_SYS_PWR_REG                 0x1200
+#define EXYNOS5_PAD_RETENTION_MAU_SYS_PWR_REG                  0x1204
+#define EXYNOS5_PAD_RETENTION_EFNAND_SYS_PWR_REG               0x1208
+#define EXYNOS5_PAD_RETENTION_GPIO_SYS_PWR_REG                 0x1220
+#define EXYNOS5_PAD_RETENTION_UART_SYS_PWR_REG                 0x1224
+#define EXYNOS5_PAD_RETENTION_MMCA_SYS_PWR_REG                 0x1228
+#define EXYNOS5_PAD_RETENTION_MMCB_SYS_PWR_REG                 0x122C
+#define EXYNOS5_PAD_RETENTION_EBIA_SYS_PWR_REG                 0x1230
+#define EXYNOS5_PAD_RETENTION_EBIB_SYS_PWR_REG                 0x1234
+#define EXYNOS5_PAD_RETENTION_SPI_SYS_PWR_REG                  0x1238
+#define EXYNOS5_PAD_RETENTION_GPIO_SYSMEM_SYS_PWR_REG          0x123C
+#define EXYNOS5_PAD_ISOLATION_SYS_PWR_REG                      0x1240
+#define EXYNOS5_PAD_ISOLATION_SYSMEM_SYS_PWR_REG               0x1250
+#define EXYNOS5_PAD_ALV_SEL_SYS_PWR_REG                                0x1260
+#define EXYNOS5_XUSBXTI_SYS_PWR_REG                            0x1280
+#define EXYNOS5_XXTI_SYS_PWR_REG                               0x1284
+#define EXYNOS5_EXT_REGULATOR_SYS_PWR_REG                      0x12C0
+#define EXYNOS5_GPIO_MODE_SYS_PWR_REG                          0x1300
+#define EXYNOS5_GPIO_MODE_SYSMEM_SYS_PWR_REG                   0x1320
+#define EXYNOS5_GPIO_MODE_MAU_SYS_PWR_REG                      0x1340
+#define EXYNOS5_TOP_ASB_RESET_SYS_PWR_REG                      0x1344
+#define EXYNOS5_TOP_ASB_ISOLATION_SYS_PWR_REG                  0x1348
+#define EXYNOS5_GSCL_SYS_PWR_REG                               0x1400
+#define EXYNOS5_ISP_SYS_PWR_REG                                        0x1404
+#define EXYNOS5_MFC_SYS_PWR_REG                                        0x1408
+#define EXYNOS5_G3D_SYS_PWR_REG                                        0x140C
+#define EXYNOS5_DISP1_SYS_PWR_REG                              0x1414
+#define EXYNOS5_MAU_SYS_PWR_REG                                        0x1418
+#define EXYNOS5_CMU_CLKSTOP_GSCL_SYS_PWR_REG                   0x1480
+#define EXYNOS5_CMU_CLKSTOP_ISP_SYS_PWR_REG                    0x1484
+#define EXYNOS5_CMU_CLKSTOP_MFC_SYS_PWR_REG                    0x1488
+#define EXYNOS5_CMU_CLKSTOP_G3D_SYS_PWR_REG                    0x148C
+#define EXYNOS5_CMU_CLKSTOP_DISP1_SYS_PWR_REG                  0x1494
+#define EXYNOS5_CMU_CLKSTOP_MAU_SYS_PWR_REG                    0x1498
+#define EXYNOS5_CMU_SYSCLK_GSCL_SYS_PWR_REG                    0x14C0
+#define EXYNOS5_CMU_SYSCLK_ISP_SYS_PWR_REG                     0x14C4
+#define EXYNOS5_CMU_SYSCLK_MFC_SYS_PWR_REG                     0x14C8
+#define EXYNOS5_CMU_SYSCLK_G3D_SYS_PWR_REG                     0x14CC
+#define EXYNOS5_CMU_SYSCLK_DISP1_SYS_PWR_REG                   0x14D4
+#define EXYNOS5_CMU_SYSCLK_MAU_SYS_PWR_REG                     0x14D8
+#define EXYNOS5_CMU_RESET_GSCL_SYS_PWR_REG                     0x1580
+#define EXYNOS5_CMU_RESET_ISP_SYS_PWR_REG                      0x1584
+#define EXYNOS5_CMU_RESET_MFC_SYS_PWR_REG                      0x1588
+#define EXYNOS5_CMU_RESET_G3D_SYS_PWR_REG                      0x158C
+#define EXYNOS5_CMU_RESET_DISP1_SYS_PWR_REG                    0x1594
+#define EXYNOS5_CMU_RESET_MAU_SYS_PWR_REG                      0x1598
+
+#define EXYNOS5_ARM_CORE0_OPTION                               0x2008
+#define EXYNOS5_ARM_CORE1_OPTION                               0x2088
+#define EXYNOS5_FSYS_ARM_OPTION                                        0x2208
+#define EXYNOS5_ISP_ARM_OPTION                                 0x2288
+#define EXYNOS5_ARM_COMMON_OPTION                              0x2408
+#define EXYNOS5_ARM_L2_OPTION                                  0x2608
+#define EXYNOS5_TOP_PWR_OPTION                                 0x2C48
+#define EXYNOS5_TOP_PWR_SYSMEM_OPTION                          0x2CC8
+#define EXYNOS5_JPEG_MEM_OPTION                                        0x2F48
+#define EXYNOS5_GSCL_OPTION                                    0x4008
+#define EXYNOS5_ISP_OPTION                                     0x4028
+#define EXYNOS5_MFC_OPTION                                     0x4048
+#define EXYNOS5_G3D_OPTION                                     0x4068
+#define EXYNOS5_DISP1_OPTION                                   0x40A8
+#define EXYNOS5_MAU_OPTION                                     0x40C8
 
 #define EXYNOS5_USE_SC_FEEDBACK                                        (1 << 1)
 #define EXYNOS5_USE_SC_COUNTER                                 (1 << 0)
index c18678610bc0ad952eba51726ef9f3d198caf44c..f5b9d3ff9cd4bed7fe4573df30f1adb4d0476990 100644 (file)
@@ -15,7 +15,6 @@
 
 #define S5P_VA_CHIPID          S3C_ADDR(0x02000000)
 #define S5P_VA_CMU             S3C_ADDR(0x02100000)
-#define S5P_VA_PMU             S3C_ADDR(0x02180000)
 #define S5P_VA_GPIO            S3C_ADDR(0x02200000)
 #define S5P_VA_GPIO1           S5P_VA_GPIO
 #define S5P_VA_GPIO2           S3C_ADDR(0x02240000)