diff options
author | Mattias Nilsson <mattias.i.nilsson@stericsson.com> | 2011-05-30 12:02:54 +0200 |
---|---|---|
committer | said m bagheri <ebgheri@steludxu2848.(none)> | 2011-06-17 13:42:06 +0200 |
commit | 42fe960648f17ec88643fe0733bccd48665e614d (patch) | |
tree | 76de6666d6d348c977b3c07821ddc40166487aa7 /arch | |
parent | f16a7644c85ef8a55186aee5a6f429d2cd83f275 (diff) |
arm: ux500: add initial register write
This patch adds an initial write to the register
PRCM_A9PL_FORCE_CLKEN, in order to reduce power consumption.
ST Ericsson ID: 337712
ST Ericsson FOSS-OUT ID: trivial
ST Ericsson Linux-next: 318371
Change-Id: Ibf8ad00a869a7ec40f9f511aad5d9eebc08b5e6c
Signed-off-by: Mattias Nilsson <mattias.i.nilsson@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24147
Reviewed-by: QATEST
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-ux500/prcmu-db8500.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-ux500/prcmu-regs-db8500.h | 4 |
2 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/prcmu-db8500.c b/arch/arm/mach-ux500/prcmu-db8500.c index 00e80e0d474..2f284e1ff4f 100644 --- a/arch/arm/mach-ux500/prcmu-db8500.c +++ b/arch/arm/mach-ux500/prcmu-db8500.c @@ -2059,6 +2059,16 @@ void __init prcmu_early_init(void) } } +static void __init init_prcm_registers(void) +{ + u32 val; + + val = readl(_PRCMU_BASE + PRCM_A9PL_FORCE_CLKEN); + val &= ~(PRCM_A9PL_FORCE_CLKEN_PRCM_A9PL_FORCE_CLKEN | + PRCM_A9PL_FORCE_CLKEN_PRCM_A9AXI_FORCE_CLKEN); + writel(val, (_PRCMU_BASE + PRCM_A9PL_FORCE_CLKEN)); +} + /** * prcmu_fw_init - arch init call for the Linux PRCMU fw init logic * @@ -2070,6 +2080,8 @@ int __init prcmu_init(void) if (ux500_is_svp()) return -ENODEV; + init_prcm_registers(); + /* Clean up the mailbox interrupts after pre-kernel code. */ writel(ALL_MBOX_BITS, (_PRCMU_BASE + PRCM_ARM_IT1_CLR)); diff --git a/arch/arm/mach-ux500/prcmu-regs-db8500.h b/arch/arm/mach-ux500/prcmu-regs-db8500.h index a6fafb97888..1014ea340cf 100644 --- a/arch/arm/mach-ux500/prcmu-regs-db8500.h +++ b/arch/arm/mach-ux500/prcmu-regs-db8500.h @@ -28,11 +28,15 @@ #define PRCM_PLLARM_ENABLE_PRCM_PLLARM_COUNTON BIT(8) #define PRCM_ARMCLKFIX_MGT 0x0 +#define PRCM_A9PL_FORCE_CLKEN 0x19C #define PRCM_A9_RESETN_CLR 0x1f4 #define PRCM_A9_RESETN_SET 0x1f0 #define PRCM_ARM_LS_CLAMP 0x30C #define PRCM_SRAM_A9 0x308 +#define PRCM_A9PL_FORCE_CLKEN_PRCM_A9PL_FORCE_CLKEN BIT(0) +#define PRCM_A9PL_FORCE_CLKEN_PRCM_A9AXI_FORCE_CLKEN BIT(1) + /* ARM WFI Standby signal register */ #define PRCM_ARM_WFI_STANDBY 0x130 #define PRCM_IOCR 0x310 |