Browse Source

Merge remote-tracking branch 'regulator/fix/tps65910' into regulator-linus

Mark Brown 8 years ago
parent
commit
ec09f1c575
1 changed files with 6 additions and 0 deletions
  1. 6 0
      drivers/regulator/tps65910-regulator.c

+ 6 - 0
drivers/regulator/tps65910-regulator.c

@@ -1111,6 +1111,12 @@ static int tps65910_probe(struct platform_device *pdev)
 		pmic->num_regulators = ARRAY_SIZE(tps65910_regs);
 		pmic->num_regulators = ARRAY_SIZE(tps65910_regs);
 		pmic->ext_sleep_control = tps65910_ext_sleep_control;
 		pmic->ext_sleep_control = tps65910_ext_sleep_control;
 		info = tps65910_regs;
 		info = tps65910_regs;
+		/* Work around silicon erratum SWCZ010: output programmed
+		 * voltage level can go higher than expected or crash
+		 * Workaround: use no synchronization of DCDC clocks
+		 */
+		tps65910_reg_clear_bits(pmic->mfd, TPS65910_DCDCCTRL,
+					DCDCCTRL_DCDCCKSYNC_MASK);
 		break;
 		break;
 	case TPS65911:
 	case TPS65911:
 		pmic->get_ctrl_reg = &tps65911_get_ctrl_register;
 		pmic->get_ctrl_reg = &tps65911_get_ctrl_register;