aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/vc.c
diff options
context:
space:
mode:
authorNishanth Menon <nm@ti.com>2011-06-06 12:31:32 -0700
committerNishanth Menon <nm@ti.com>2011-06-13 16:44:15 -0500
commit17699b0b15dd134d29a1a7bfc0cca3996c33b7b5 (patch)
tree8fa6e7167bd9047be0ac212e80096f454ed7c81b /arch/arm/mach-omap2/vc.c
parent1b5250ff7160542cc6f4da4dc736281a636b78da (diff)
downloadkernel_samsung_tuna-17699b0b15dd134d29a1a7bfc0cca3996c33b7b5.zip
kernel_samsung_tuna-17699b0b15dd134d29a1a7bfc0cca3996c33b7b5.tar.gz
kernel_samsung_tuna-17699b0b15dd134d29a1a7bfc0cca3996c33b7b5.tar.bz2
OMAP4: PM: VC: allow channels to use cmdra reg
if volt_reg and cmd_reg are the same from PMIC configuration, we can use the cmd reg by using racen - this is valid for voltage commands, however, in most cases, we'd like to retain voltage reg configuration as well for vfsm commands going thru from h/w. Signed-off-by: Nishanth Menon <nm@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/vc.c')
-rw-r--r--arch/arm/mach-omap2/vc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
index 0c0e416..6017c70 100644
--- a/arch/arm/mach-omap2/vc.c
+++ b/arch/arm/mach-omap2/vc.c
@@ -337,9 +337,13 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
voltdm->rmw(vc->smps_cmdra_mask,
vc->cmd_reg_addr << __ffs(vc->smps_cmdra_mask),
vc->common->smps_cmdra_reg);
- vc->cfg_channel |= vc_cfg_bits->rac | vc_cfg_bits->racen;
+ vc->cfg_channel |= vc_cfg_bits->rac;
}
+ /* If voltage and cmd regs are same, we can use cmdra register */
+ if (vc->volt_reg_addr == vc->cmd_reg_addr)
+ vc->cfg_channel |= vc_cfg_bits->racen;
+
/* Set up the on, inactive, retention and off voltage */
on_vsel = voltdm->pmic->uv_to_vsel(voltdm->pmic->on_volt);
onlp_vsel = voltdm->pmic->uv_to_vsel(voltdm->pmic->onlp_volt);