Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 02915661 authored by Charles Keepax's avatar Charles Keepax Committed by Lee Jones
Browse files

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: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 76a0775d
Loading
Loading
Loading
Loading
+29 −1
Original line number Diff line number Diff line
@@ -224,6 +224,31 @@ static const struct reg_default wm5110_revb_patch[] = {
	{ 0x80, 0x0 },
};

static const struct reg_default wm5110_revd_patch[] = {
	{ 0x80, 0x3 },
	{ 0x80, 0x3 },
	{ 0x393, 0x27 },
	{ 0x394, 0x27 },
	{ 0x395, 0x27 },
	{ 0x396, 0x27 },
	{ 0x397, 0x27 },
	{ 0x398, 0x26 },
	{ 0x221, 0x90 },
	{ 0x211, 0x8 },
	{ 0x36c, 0x1fb },
	{ 0x26e, 0x64 },
	{ 0x26f, 0xea },
	{ 0x270, 0x1f16 },
	{ 0x51b, 0x1 },
	{ 0x55b, 0x1 },
	{ 0x59b, 0x1 },
	{ 0x4f0, 0x633 },
	{ 0x441, 0xc059 },
	{ 0x209, 0x27 },
	{ 0x80, 0x0 },
	{ 0x80, 0x0 },
};

/* We use a function so we can use ARRAY_SIZE() */
int wm5110_patch(struct arizona *arizona)
{
@@ -236,7 +261,10 @@ int wm5110_patch(struct arizona *arizona)
		return regmap_register_patch(arizona->regmap,
					     wm5110_revb_patch,
					     ARRAY_SIZE(wm5110_revb_patch));

	case 3:
		return regmap_register_patch(arizona->regmap,
					     wm5110_revd_patch,
					     ARRAY_SIZE(wm5110_revd_patch));
	default:
		return 0;
	}