mfd: wm5110: Add register patch for rev D chip
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Thu, 9 Jan 2014 11:53:54 +0000 (11:53 +0000)
committerJiri Slaby <jslaby@suse.cz>
Thu, 12 Nov 2015 13:09:07 +0000 (14:09 +0100)
commit 02915661dbb91b25b621ab3f387ab55311bded7f upstream.

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>
Cc: Oliver Neukum <ONeukum@suse.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/mfd/wm5110-tables.c

index 3113e39b318e27a7aa2e74b7433e601edae2da72..f1854d5aa55feef16e022f4b8a32a2286fc48275 100644 (file)
@@ -223,6 +223,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)
 {
@@ -235,7 +260,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;
        }