aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>2014-01-09 06:53:54 -0500
committerLee Jones <lee.jones@linaro.org>2014-01-21 03:29:02 -0500
commit02915661dbb91b25b621ab3f387ab55311bded7f (patch)
tree0300ad36a7056e46d7c29300ac77552e06d0d121
parent76a0775d46da052f123b8598a3dfc3b330b8de4f (diff)
mfd: wm5110: Add register patch for rev D chip
Evaluation of revision D of WM5110 suggests updates to the register patch for optimal performance. For the sake of clarity rev C of the chip does not require a register patch. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
-rw-r--r--drivers/mfd/wm5110-tables.c30
1 files changed, 29 insertions, 1 deletions
diff --git a/drivers/mfd/wm5110-tables.c b/drivers/mfd/wm5110-tables.c
index 8dc49ec3b246..24ec464379e4 100644
--- a/drivers/mfd/wm5110-tables.c
+++ b/drivers/mfd/wm5110-tables.c
@@ -224,6 +224,31 @@ static const struct reg_default wm5110_revb_patch[] = {
224 { 0x80, 0x0 }, 224 { 0x80, 0x0 },
225}; 225};
226 226
227static const struct reg_default wm5110_revd_patch[] = {
228 { 0x80, 0x3 },
229 { 0x80, 0x3 },
230 { 0x393, 0x27 },
231 { 0x394, 0x27 },
232 { 0x395, 0x27 },
233 { 0x396, 0x27 },
234 { 0x397, 0x27 },
235 { 0x398, 0x26 },
236 { 0x221, 0x90 },
237 { 0x211, 0x8 },
238 { 0x36c, 0x1fb },
239 { 0x26e, 0x64 },
240 { 0x26f, 0xea },
241 { 0x270, 0x1f16 },
242 { 0x51b, 0x1 },
243 { 0x55b, 0x1 },
244 { 0x59b, 0x1 },
245 { 0x4f0, 0x633 },
246 { 0x441, 0xc059 },
247 { 0x209, 0x27 },
248 { 0x80, 0x0 },
249 { 0x80, 0x0 },
250};
251
227/* We use a function so we can use ARRAY_SIZE() */ 252/* We use a function so we can use ARRAY_SIZE() */
228int wm5110_patch(struct arizona *arizona) 253int wm5110_patch(struct arizona *arizona)
229{ 254{
@@ -236,7 +261,10 @@ int wm5110_patch(struct arizona *arizona)
236 return regmap_register_patch(arizona->regmap, 261 return regmap_register_patch(arizona->regmap,
237 wm5110_revb_patch, 262 wm5110_revb_patch,
238 ARRAY_SIZE(wm5110_revb_patch)); 263 ARRAY_SIZE(wm5110_revb_patch));
239 264 case 3:
265 return regmap_register_patch(arizona->regmap,
266 wm5110_revd_patch,
267 ARRAY_SIZE(wm5110_revd_patch));
240 default: 268 default:
241 return 0; 269 return 0;
242 } 270 }