瀏覽代碼

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

Mark Brown 8 年之前
父節點
當前提交
ec09f1c575
共有 1 個文件被更改,包括 6 次插入0 次删除
  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->ext_sleep_control = tps65910_ext_sleep_control;
 		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;
 	case TPS65911:
 		pmic->get_ctrl_reg = &tps65911_get_ctrl_register;