===================================================================
--- kernel-2.6.28.orig/arch/arm/mach-omap2/pm34xx.c
+++ kernel-2.6.28/arch/arm/mach-omap2/pm34xx.c
-@@ -1330,6 +1330,10 @@ static int voltagescale_vpforceupdate(u3
+@@ -1323,20 +1323,28 @@ static int voltagescale_vpforceupdate(u3
+ current_opp_no = get_opp_no(current_opp);
+ t2_smps_steps = abs(target_vsel - current_vsel);
+
+- if (vdd == VDD1_OPP) {
++ if (vdd == PRCM_VDD1) {
+ vp_config_offs = OMAP3_PRM_VP1_CONFIG_OFFSET;
+ vp_tranxdone_st = OMAP3430_VP1_TRANXDONE_ST;
+ vpconfig = target_vsel << OMAP3430_INITVOLTAGE_SHIFT |
((target_opp_no < VDD1_OPP3)
- ? PRM_VP1_CONFIG_ERRORGAIN_OPPLOW
- : PRM_VP1_CONFIG_ERRORGAIN_OPPHIGH);
+- ? PRM_VP1_CONFIG_ERRORGAIN_OPPLOW
+- : PRM_VP1_CONFIG_ERRORGAIN_OPPHIGH);
+- } else if (vdd == VDD2_OPP) {
++ ? PRM_VP1_CONFIG_ERRORGAIN_LOWOPP
++ : PRM_VP1_CONFIG_ERRORGAIN_HIGHOPP);
+ prm_rmw_mod_reg_bits(OMAP3430_VC_CMD_ON_MASK,
+ (target_vsel << OMAP3430_VC_CMD_ON_SHIFT),
+ OMAP3430_GR_MOD,
+ OMAP3_PRM_VC_CMD_VAL_0_OFFSET);
- } else if (vdd == VDD2_OPP) {
++ } else if (vdd == PRCM_VDD2) {
vp_config_offs = OMAP3_PRM_VP2_CONFIG_OFFSET;
vp_tranxdone_st = OMAP3430_VP2_TRANXDONE_ST;
-@@ -1337,6 +1341,10 @@ static int voltagescale_vpforceupdate(u3
+ vpconfig = target_vsel << OMAP3430_INITVOLTAGE_SHIFT |
((target_opp_no < VDD2_OPP3)
- ? PRM_VP2_CONFIG_ERRORGAIN_OPPLOW
- : PRM_VP2_CONFIG_ERRORGAIN_OPPHIGH);
+- ? PRM_VP2_CONFIG_ERRORGAIN_OPPLOW
+- : PRM_VP2_CONFIG_ERRORGAIN_OPPHIGH);
++ ? PRM_VP2_CONFIG_ERRORGAIN_LOWOPP
++ : PRM_VP2_CONFIG_ERRORGAIN_HIGHOPP);
+ prm_rmw_mod_reg_bits(OMAP3430_VC_CMD_ON_MASK,
+ (target_vsel << OMAP3430_VC_CMD_ON_SHIFT),
+ OMAP3430_GR_MOD,