|
@@ -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;
|
|
|
}
|