浏览代码

mfd: wm5110: Add register patch for rev E and above

Add a register patch for rev E and above that configures the location of
some write sequences to assist with the headphone enables.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax 10 年之前
父节点
当前提交
81207880ce
共有 1 个文件被更改,包括 13 次插入1 次删除
  1. 13 1
      drivers/mfd/wm5110-tables.c

+ 13 - 1
drivers/mfd/wm5110-tables.c

@@ -249,6 +249,16 @@ static const struct reg_default wm5110_revd_patch[] = {
 	{ 0x80, 0x0 },
 	{ 0x80, 0x0 },
 };
 };
 
 
+/* Add extra headphone write sequence locations */
+static const struct reg_default wm5110_reve_patch[] = {
+	{ 0x80, 0x3 },
+	{ 0x80, 0x3 },
+	{ 0x4b, 0x138 },
+	{ 0x4c, 0x13d },
+	{ 0x80, 0x0 },
+	{ 0x80, 0x0 },
+};
+
 /* We use a function so we can use ARRAY_SIZE() */
 /* We use a function so we can use ARRAY_SIZE() */
 int wm5110_patch(struct arizona *arizona)
 int wm5110_patch(struct arizona *arizona)
 {
 {
@@ -266,7 +276,9 @@ int wm5110_patch(struct arizona *arizona)
 					     wm5110_revd_patch,
 					     wm5110_revd_patch,
 					     ARRAY_SIZE(wm5110_revd_patch));
 					     ARRAY_SIZE(wm5110_revd_patch));
 	default:
 	default:
-		return 0;
+		return regmap_register_patch(arizona->regmap,
+					     wm5110_reve_patch,
+					     ARRAY_SIZE(wm5110_reve_patch));
 	}
 	}
 }
 }
 EXPORT_SYMBOL_GPL(wm5110_patch);
 EXPORT_SYMBOL_GPL(wm5110_patch);