linux/drivers/mfd/wm8350-regmap.c
<<
>>
Prefs
   1/*
   2 * wm8350-regmap.c  --  Wolfson Microelectronics WM8350 register map
   3 *
   4 * This file splits out the tables describing the defaults and access
   5 * status of the WM8350 registers since they are rather large.
   6 *
   7 * Copyright 2007, 2008 Wolfson Microelectronics PLC.
   8 *
   9 *  This program is free software; you can redistribute  it and/or modify it
  10 *  under  the terms of  the GNU General  Public License as published by the
  11 *  Free Software Foundation;  either version 2 of the  License, or (at your
  12 *  option) any later version.
  13 */
  14
  15#include <linux/mfd/wm8350/core.h>
  16
  17#ifdef CONFIG_MFD_WM8350_CONFIG_MODE_0
  18
  19#undef WM8350_HAVE_CONFIG_MODE
  20#define WM8350_HAVE_CONFIG_MODE
  21
  22const u16 wm8350_mode0_defaults[] = {
  23        0x17FF,     /* R0   - Reset/ID */
  24        0x1000,     /* R1   - ID */
  25        0x0000,     /* R2 */
  26        0x1002,     /* R3   - System Control 1 */
  27        0x0004,     /* R4   - System Control 2 */
  28        0x0000,     /* R5   - System Hibernate */
  29        0x8A00,     /* R6   - Interface Control */
  30        0x0000,     /* R7 */
  31        0x8000,     /* R8   - Power mgmt (1) */
  32        0x0000,     /* R9   - Power mgmt (2) */
  33        0x0000,     /* R10  - Power mgmt (3) */
  34        0x2000,     /* R11  - Power mgmt (4) */
  35        0x0E00,     /* R12  - Power mgmt (5) */
  36        0x0000,     /* R13  - Power mgmt (6) */
  37        0x0000,     /* R14  - Power mgmt (7) */
  38        0x0000,     /* R15 */
  39        0x0000,     /* R16  - RTC Seconds/Minutes */
  40        0x0100,     /* R17  - RTC Hours/Day */
  41        0x0101,     /* R18  - RTC Date/Month */
  42        0x1400,     /* R19  - RTC Year */
  43        0x0000,     /* R20  - Alarm Seconds/Minutes */
  44        0x0000,     /* R21  - Alarm Hours/Day */
  45        0x0000,     /* R22  - Alarm Date/Month */
  46        0x0320,     /* R23  - RTC Time Control */
  47        0x0000,     /* R24  - System Interrupts */
  48        0x0000,     /* R25  - Interrupt Status 1 */
  49        0x0000,     /* R26  - Interrupt Status 2 */
  50        0x0000,     /* R27  - Power Up Interrupt Status */
  51        0x0000,     /* R28  - Under Voltage Interrupt status */
  52        0x0000,     /* R29  - Over Current Interrupt status */
  53        0x0000,     /* R30  - GPIO Interrupt Status */
  54        0x0000,     /* R31  - Comparator Interrupt Status */
  55        0x3FFF,     /* R32  - System Interrupts Mask */
  56        0x0000,     /* R33  - Interrupt Status 1 Mask */
  57        0x0000,     /* R34  - Interrupt Status 2 Mask */
  58        0x0000,     /* R35  - Power Up Interrupt Status Mask */
  59        0x0000,     /* R36  - Under Voltage Interrupt status Mask */
  60        0x0000,     /* R37  - Over Current Interrupt status Mask */
  61        0x0000,     /* R38  - GPIO Interrupt Status Mask */
  62        0x0000,     /* R39  - Comparator Interrupt Status Mask */
  63        0x0040,     /* R40  - Clock Control 1 */
  64        0x0000,     /* R41  - Clock Control 2 */
  65        0x3B00,     /* R42  - FLL Control 1 */
  66        0x7086,     /* R43  - FLL Control 2 */
  67        0xC226,     /* R44  - FLL Control 3 */
  68        0x0000,     /* R45  - FLL Control 4 */
  69        0x0000,     /* R46 */
  70        0x0000,     /* R47 */
  71        0x0000,     /* R48  - DAC Control */
  72        0x0000,     /* R49 */
  73        0x00C0,     /* R50  - DAC Digital Volume L */
  74        0x00C0,     /* R51  - DAC Digital Volume R */
  75        0x0000,     /* R52 */
  76        0x0040,     /* R53  - DAC LR Rate */
  77        0x0000,     /* R54  - DAC Clock Control */
  78        0x0000,     /* R55 */
  79        0x0000,     /* R56 */
  80        0x0000,     /* R57 */
  81        0x4000,     /* R58  - DAC Mute */
  82        0x0000,     /* R59  - DAC Mute Volume */
  83        0x0000,     /* R60  - DAC Side */
  84        0x0000,     /* R61 */
  85        0x0000,     /* R62 */
  86        0x0000,     /* R63 */
  87        0x8000,     /* R64  - ADC Control */
  88        0x0000,     /* R65 */
  89        0x00C0,     /* R66  - ADC Digital Volume L */
  90        0x00C0,     /* R67  - ADC Digital Volume R */
  91        0x0000,     /* R68  - ADC Divider */
  92        0x0000,     /* R69 */
  93        0x0040,     /* R70  - ADC LR Rate */
  94        0x0000,     /* R71 */
  95        0x0303,     /* R72  - Input Control */
  96        0x0000,     /* R73  - IN3 Input Control */
  97        0x0000,     /* R74  - Mic Bias Control */
  98        0x0000,     /* R75 */
  99        0x0000,     /* R76  - Output Control */
 100        0x0000,     /* R77  - Jack Detect */
 101        0x0000,     /* R78  - Anti Pop Control */
 102        0x0000,     /* R79 */
 103        0x0040,     /* R80  - Left Input Volume */
 104        0x0040,     /* R81  - Right Input Volume */
 105        0x0000,     /* R82 */
 106        0x0000,     /* R83 */
 107        0x0000,     /* R84 */
 108        0x0000,     /* R85 */
 109        0x0000,     /* R86 */
 110        0x0000,     /* R87 */
 111        0x0800,     /* R88  - Left Mixer Control */
 112        0x1000,     /* R89  - Right Mixer Control */
 113        0x0000,     /* R90 */
 114        0x0000,     /* R91 */
 115        0x0000,     /* R92  - OUT3 Mixer Control */
 116        0x0000,     /* R93  - OUT4 Mixer Control */
 117        0x0000,     /* R94 */
 118        0x0000,     /* R95 */
 119        0x0000,     /* R96  - Output Left Mixer Volume */
 120        0x0000,     /* R97  - Output Right Mixer Volume */
 121        0x0000,     /* R98  - Input Mixer Volume L */
 122        0x0000,     /* R99  - Input Mixer Volume R */
 123        0x0000,     /* R100 - Input Mixer Volume */
 124        0x0000,     /* R101 */
 125        0x0000,     /* R102 */
 126        0x0000,     /* R103 */
 127        0x00E4,     /* R104 - LOUT1 Volume */
 128        0x00E4,     /* R105 - ROUT1 Volume */
 129        0x00E4,     /* R106 - LOUT2 Volume */
 130        0x02E4,     /* R107 - ROUT2 Volume */
 131        0x0000,     /* R108 */
 132        0x0000,     /* R109 */
 133        0x0000,     /* R110 */
 134        0x0000,     /* R111 - BEEP Volume */
 135        0x0A00,     /* R112 - AI Formating */
 136        0x0000,     /* R113 - ADC DAC COMP */
 137        0x0020,     /* R114 - AI ADC Control */
 138        0x0020,     /* R115 - AI DAC Control */
 139        0x0000,     /* R116 - AIF Test */
 140        0x0000,     /* R117 */
 141        0x0000,     /* R118 */
 142        0x0000,     /* R119 */
 143        0x0000,     /* R120 */
 144        0x0000,     /* R121 */
 145        0x0000,     /* R122 */
 146        0x0000,     /* R123 */
 147        0x0000,     /* R124 */
 148        0x0000,     /* R125 */
 149        0x0000,     /* R126 */
 150        0x0000,     /* R127 */
 151        0x1FFF,     /* R128 - GPIO Debounce */
 152        0x0000,     /* R129 - GPIO Pin pull up Control */
 153        0x03FC,     /* R130 - GPIO Pull down Control */
 154        0x0000,     /* R131 - GPIO Interrupt Mode */
 155        0x0000,     /* R132 */
 156        0x0000,     /* R133 - GPIO Control */
 157        0x0FFC,     /* R134 - GPIO Configuration (i/o) */
 158        0x0FFC,     /* R135 - GPIO Pin Polarity / Type */
 159        0x0000,     /* R136 */
 160        0x0000,     /* R137 */
 161        0x0000,     /* R138 */
 162        0x0000,     /* R139 */
 163        0x0013,     /* R140 - GPIO Function Select 1 */
 164        0x0000,     /* R141 - GPIO Function Select 2 */
 165        0x0000,     /* R142 - GPIO Function Select 3 */
 166        0x0003,     /* R143 - GPIO Function Select 4 */
 167        0x0000,     /* R144 - Digitiser Control (1) */
 168        0x0002,     /* R145 - Digitiser Control (2) */
 169        0x0000,     /* R146 */
 170        0x0000,     /* R147 */
 171        0x0000,     /* R148 */
 172        0x0000,     /* R149 */
 173        0x0000,     /* R150 */
 174        0x0000,     /* R151 */
 175        0x7000,     /* R152 - AUX1 Readback */
 176        0x7000,     /* R153 - AUX2 Readback */
 177        0x7000,     /* R154 - AUX3 Readback */
 178        0x7000,     /* R155 - AUX4 Readback */
 179        0x0000,     /* R156 - USB Voltage Readback */
 180        0x0000,     /* R157 - LINE Voltage Readback */
 181        0x0000,     /* R158 - BATT Voltage Readback */
 182        0x0000,     /* R159 - Chip Temp Readback */
 183        0x0000,     /* R160 */
 184        0x0000,     /* R161 */
 185        0x0000,     /* R162 */
 186        0x0000,     /* R163 - Generic Comparator Control */
 187        0x0000,     /* R164 - Generic comparator 1 */
 188        0x0000,     /* R165 - Generic comparator 2 */
 189        0x0000,     /* R166 - Generic comparator 3 */
 190        0x0000,     /* R167 - Generic comparator 4 */
 191        0xA00F,     /* R168 - Battery Charger Control 1 */
 192        0x0B06,     /* R169 - Battery Charger Control 2 */
 193        0x0000,     /* R170 - Battery Charger Control 3 */
 194        0x0000,     /* R171 */
 195        0x0000,     /* R172 - Current Sink Driver A */
 196        0x0000,     /* R173 - CSA Flash control */
 197        0x0000,     /* R174 - Current Sink Driver B */
 198        0x0000,     /* R175 - CSB Flash control */
 199        0x0000,     /* R176 - DCDC/LDO requested */
 200        0x002D,     /* R177 - DCDC Active options */
 201        0x0000,     /* R178 - DCDC Sleep options */
 202        0x0025,     /* R179 - Power-check comparator */
 203        0x000E,     /* R180 - DCDC1 Control */
 204        0x0000,     /* R181 - DCDC1 Timeouts */
 205        0x1006,     /* R182 - DCDC1 Low Power */
 206        0x0018,     /* R183 - DCDC2 Control */
 207        0x0000,     /* R184 - DCDC2 Timeouts */
 208        0x0000,     /* R185 */
 209        0x0000,     /* R186 - DCDC3 Control */
 210        0x0000,     /* R187 - DCDC3 Timeouts */
 211        0x0006,     /* R188 - DCDC3 Low Power */
 212        0x0000,     /* R189 - DCDC4 Control */
 213        0x0000,     /* R190 - DCDC4 Timeouts */
 214        0x0006,     /* R191 - DCDC4 Low Power */
 215        0x0008,     /* R192 - DCDC5 Control */
 216        0x0000,     /* R193 - DCDC5 Timeouts */
 217        0x0000,     /* R194 */
 218        0x0000,     /* R195 - DCDC6 Control */
 219        0x0000,     /* R196 - DCDC6 Timeouts */
 220        0x0006,     /* R197 - DCDC6 Low Power */
 221        0x0000,     /* R198 */
 222        0x0003,     /* R199 - Limit Switch Control */
 223        0x001C,     /* R200 - LDO1 Control */
 224        0x0000,     /* R201 - LDO1 Timeouts */
 225        0x001C,     /* R202 - LDO1 Low Power */
 226        0x001B,     /* R203 - LDO2 Control */
 227        0x0000,     /* R204 - LDO2 Timeouts */
 228        0x001C,     /* R205 - LDO2 Low Power */
 229        0x001B,     /* R206 - LDO3 Control */
 230        0x0000,     /* R207 - LDO3 Timeouts */
 231        0x001C,     /* R208 - LDO3 Low Power */
 232        0x001B,     /* R209 - LDO4 Control */
 233        0x0000,     /* R210 - LDO4 Timeouts */
 234        0x001C,     /* R211 - LDO4 Low Power */
 235        0x0000,     /* R212 */
 236        0x0000,     /* R213 */
 237        0x0000,     /* R214 */
 238        0x0000,     /* R215 - VCC_FAULT Masks */
 239        0x001F,     /* R216 - Main Bandgap Control */
 240        0x0000,     /* R217 - OSC Control */
 241        0x9000,     /* R218 - RTC Tick Control */
 242        0x0000,     /* R219 */
 243        0x4000,     /* R220 - RAM BIST 1 */
 244        0x0000,     /* R221 */
 245        0x0000,     /* R222 */
 246        0x0000,     /* R223 */
 247        0x0000,     /* R224 */
 248        0x0000,     /* R225 - DCDC/LDO status */
 249        0x0000,     /* R226 */
 250        0x0000,     /* R227 */
 251        0x0000,     /* R228 */
 252        0x0000,     /* R229 */
 253        0xE000,     /* R230 - GPIO Pin Status */
 254        0x0000,     /* R231 */
 255        0x0000,     /* R232 */
 256        0x0000,     /* R233 */
 257        0x0000,     /* R234 */
 258        0x0000,     /* R235 */
 259        0x0000,     /* R236 */
 260        0x0000,     /* R237 */
 261        0x0000,     /* R238 */
 262        0x0000,     /* R239 */
 263        0x0000,     /* R240 */
 264        0x0000,     /* R241 */
 265        0x0000,     /* R242 */
 266        0x0000,     /* R243 */
 267        0x0000,     /* R244 */
 268        0x0000,     /* R245 */
 269        0x0000,     /* R246 */
 270        0x0000,     /* R247 */
 271        0x0000,     /* R248 */
 272        0x0000,     /* R249 */
 273        0x0000,     /* R250 */
 274        0x0000,     /* R251 */
 275        0x0000,     /* R252 */
 276        0x0000,     /* R253 */
 277        0x0000,     /* R254 */
 278        0x0000,     /* R255 */
 279};
 280#endif
 281
 282#ifdef CONFIG_MFD_WM8350_CONFIG_MODE_1
 283
 284#undef WM8350_HAVE_CONFIG_MODE
 285#define WM8350_HAVE_CONFIG_MODE
 286
 287const u16 wm8350_mode1_defaults[] = {
 288        0x17FF,     /* R0   - Reset/ID */
 289        0x1000,     /* R1   - ID */
 290        0x0000,     /* R2 */
 291        0x1002,     /* R3   - System Control 1 */
 292        0x0014,     /* R4   - System Control 2 */
 293        0x0000,     /* R5   - System Hibernate */
 294        0x8A00,     /* R6   - Interface Control */
 295        0x0000,     /* R7 */
 296        0x8000,     /* R8   - Power mgmt (1) */
 297        0x0000,     /* R9   - Power mgmt (2) */
 298        0x0000,     /* R10  - Power mgmt (3) */
 299        0x2000,     /* R11  - Power mgmt (4) */
 300        0x0E00,     /* R12  - Power mgmt (5) */
 301        0x0000,     /* R13  - Power mgmt (6) */
 302        0x0000,     /* R14  - Power mgmt (7) */
 303        0x0000,     /* R15 */
 304        0x0000,     /* R16  - RTC Seconds/Minutes */
 305        0x0100,     /* R17  - RTC Hours/Day */
 306        0x0101,     /* R18  - RTC Date/Month */
 307        0x1400,     /* R19  - RTC Year */
 308        0x0000,     /* R20  - Alarm Seconds/Minutes */
 309        0x0000,     /* R21  - Alarm Hours/Day */
 310        0x0000,     /* R22  - Alarm Date/Month */
 311        0x0320,     /* R23  - RTC Time Control */
 312        0x0000,     /* R24  - System Interrupts */
 313        0x0000,     /* R25  - Interrupt Status 1 */
 314        0x0000,     /* R26  - Interrupt Status 2 */
 315        0x0000,     /* R27  - Power Up Interrupt Status */
 316        0x0000,     /* R28  - Under Voltage Interrupt status */
 317        0x0000,     /* R29  - Over Current Interrupt status */
 318        0x0000,     /* R30  - GPIO Interrupt Status */
 319        0x0000,     /* R31  - Comparator Interrupt Status */
 320        0x3FFF,     /* R32  - System Interrupts Mask */
 321        0x0000,     /* R33  - Interrupt Status 1 Mask */
 322        0x0000,     /* R34  - Interrupt Status 2 Mask */
 323        0x0000,     /* R35  - Power Up Interrupt Status Mask */
 324        0x0000,     /* R36  - Under Voltage Interrupt status Mask */
 325        0x0000,     /* R37  - Over Current Interrupt status Mask */
 326        0x0000,     /* R38  - GPIO Interrupt Status Mask */
 327        0x0000,     /* R39  - Comparator Interrupt Status Mask */
 328        0x0040,     /* R40  - Clock Control 1 */
 329        0x0000,     /* R41  - Clock Control 2 */
 330        0x3B00,     /* R42  - FLL Control 1 */
 331        0x7086,     /* R43  - FLL Control 2 */
 332        0xC226,     /* R44  - FLL Control 3 */
 333        0x0000,     /* R45  - FLL Control 4 */
 334        0x0000,     /* R46 */
 335        0x0000,     /* R47 */
 336        0x0000,     /* R48  - DAC Control */
 337        0x0000,     /* R49 */
 338        0x00C0,     /* R50  - DAC Digital Volume L */
 339        0x00C0,     /* R51  - DAC Digital Volume R */
 340        0x0000,     /* R52 */
 341        0x0040,     /* R53  - DAC LR Rate */
 342        0x0000,     /* R54  - DAC Clock Control */
 343        0x0000,     /* R55 */
 344        0x0000,     /* R56 */
 345        0x0000,     /* R57 */
 346        0x4000,     /* R58  - DAC Mute */
 347        0x0000,     /* R59  - DAC Mute Volume */
 348        0x0000,     /* R60  - DAC Side */
 349        0x0000,     /* R61 */
 350        0x0000,     /* R62 */
 351        0x0000,     /* R63 */
 352        0x8000,     /* R64  - ADC Control */
 353        0x0000,     /* R65 */
 354        0x00C0,     /* R66  - ADC Digital Volume L */
 355        0x00C0,     /* R67  - ADC Digital Volume R */
 356        0x0000,     /* R68  - ADC Divider */
 357        0x0000,     /* R69 */
 358        0x0040,     /* R70  - ADC LR Rate */
 359        0x0000,     /* R71 */
 360        0x0303,     /* R72  - Input Control */
 361        0x0000,     /* R73  - IN3 Input Control */
 362        0x0000,     /* R74  - Mic Bias Control */
 363        0x0000,     /* R75 */
 364        0x0000,     /* R76  - Output Control */
 365        0x0000,     /* R77  - Jack Detect */
 366        0x0000,     /* R78  - Anti Pop Control */
 367        0x0000,     /* R79 */
 368        0x0040,     /* R80  - Left Input Volume */
 369        0x0040,     /* R81  - Right Input Volume */
 370        0x0000,     /* R82 */
 371        0x0000,     /* R83 */
 372        0x0000,     /* R84 */
 373        0x0000,     /* R85 */
 374        0x0000,     /* R86 */
 375        0x0000,     /* R87 */
 376        0x0800,     /* R88  - Left Mixer Control */
 377        0x1000,     /* R89  - Right Mixer Control */
 378        0x0000,     /* R90 */
 379        0x0000,     /* R91 */
 380        0x0000,     /* R92  - OUT3 Mixer Control */
 381        0x0000,     /* R93  - OUT4 Mixer Control */
 382        0x0000,     /* R94 */
 383        0x0000,     /* R95 */
 384        0x0000,     /* R96  - Output Left Mixer Volume */
 385        0x0000,     /* R97  - Output Right Mixer Volume */
 386        0x0000,     /* R98  - Input Mixer Volume L */
 387        0x0000,     /* R99  - Input Mixer Volume R */
 388        0x0000,     /* R100 - Input Mixer Volume */
 389        0x0000,     /* R101 */
 390        0x0000,     /* R102 */
 391        0x0000,     /* R103 */
 392        0x00E4,     /* R104 - LOUT1 Volume */
 393        0x00E4,     /* R105 - ROUT1 Volume */
 394        0x00E4,     /* R106 - LOUT2 Volume */
 395        0x02E4,     /* R107 - ROUT2 Volume */
 396        0x0000,     /* R108 */
 397        0x0000,     /* R109 */
 398        0x0000,     /* R110 */
 399        0x0000,     /* R111 - BEEP Volume */
 400        0x0A00,     /* R112 - AI Formating */
 401        0x0000,     /* R113 - ADC DAC COMP */
 402        0x0020,     /* R114 - AI ADC Control */
 403        0x0020,     /* R115 - AI DAC Control */
 404        0x0000,     /* R116 - AIF Test */
 405        0x0000,     /* R117 */
 406        0x0000,     /* R118 */
 407        0x0000,     /* R119 */
 408        0x0000,     /* R120 */
 409        0x0000,     /* R121 */
 410        0x0000,     /* R122 */
 411        0x0000,     /* R123 */
 412        0x0000,     /* R124 */
 413        0x0000,     /* R125 */
 414        0x0000,     /* R126 */
 415        0x0000,     /* R127 */
 416        0x1FFF,     /* R128 - GPIO Debounce */
 417        0x0000,     /* R129 - GPIO Pin pull up Control */
 418        0x03FC,     /* R130 - GPIO Pull down Control */
 419        0x0000,     /* R131 - GPIO Interrupt Mode */
 420        0x0000,     /* R132 */
 421        0x0000,     /* R133 - GPIO Control */
 422        0x00FB,     /* R134 - GPIO Configuration (i/o) */
 423        0x04FE,     /* R135 - GPIO Pin Polarity / Type */
 424        0x0000,     /* R136 */
 425        0x0000,     /* R137 */
 426        0x0000,     /* R138 */
 427        0x0000,     /* R139 */
 428        0x0312,     /* R140 - GPIO Function Select 1 */
 429        0x1003,     /* R141 - GPIO Function Select 2 */
 430        0x1331,     /* R142 - GPIO Function Select 3 */
 431        0x0003,     /* R143 - GPIO Function Select 4 */
 432        0x0000,     /* R144 - Digitiser Control (1) */
 433        0x0002,     /* R145 - Digitiser Control (2) */
 434        0x0000,     /* R146 */
 435        0x0000,     /* R147 */
 436        0x0000,     /* R148 */
 437        0x0000,     /* R149 */
 438        0x0000,     /* R150 */
 439        0x0000,     /* R151 */
 440        0x7000,     /* R152 - AUX1 Readback */
 441        0x7000,     /* R153 - AUX2 Readback */
 442        0x7000,     /* R154 - AUX3 Readback */
 443        0x7000,     /* R155 - AUX4 Readback */
 444        0x0000,     /* R156 - USB Voltage Readback */
 445        0x0000,     /* R157 - LINE Voltage Readback */
 446        0x0000,     /* R158 - BATT Voltage Readback */
 447        0x0000,     /* R159 - Chip Temp Readback */
 448        0x0000,     /* R160 */
 449        0x0000,     /* R161 */
 450        0x0000,     /* R162 */
 451        0x0000,     /* R163 - Generic Comparator Control */
 452        0x0000,     /* R164 - Generic comparator 1 */
 453        0x0000,     /* R165 - Generic comparator 2 */
 454        0x0000,     /* R166 - Generic comparator 3 */
 455        0x0000,     /* R167 - Generic comparator 4 */
 456        0xA00F,     /* R168 - Battery Charger Control 1 */
 457        0x0B06,     /* R169 - Battery Charger Control 2 */
 458        0x0000,     /* R170 - Battery Charger Control 3 */
 459        0x0000,     /* R171 */
 460        0x0000,     /* R172 - Current Sink Driver A */
 461        0x0000,     /* R173 - CSA Flash control */
 462        0x0000,     /* R174 - Current Sink Driver B */
 463        0x0000,     /* R175 - CSB Flash control */
 464        0x0000,     /* R176 - DCDC/LDO requested */
 465        0x002D,     /* R177 - DCDC Active options */
 466        0x0000,     /* R178 - DCDC Sleep options */
 467        0x0025,     /* R179 - Power-check comparator */
 468        0x0062,     /* R180 - DCDC1 Control */
 469        0x0400,     /* R181 - DCDC1 Timeouts */
 470        0x1006,     /* R182 - DCDC1 Low Power */
 471        0x0018,     /* R183 - DCDC2 Control */
 472        0x0000,     /* R184 - DCDC2 Timeouts */
 473        0x0000,     /* R185 */
 474        0x0026,     /* R186 - DCDC3 Control */
 475        0x0400,     /* R187 - DCDC3 Timeouts */
 476        0x0006,     /* R188 - DCDC3 Low Power */
 477        0x0062,     /* R189 - DCDC4 Control */
 478        0x0400,     /* R190 - DCDC4 Timeouts */
 479        0x0006,     /* R191 - DCDC4 Low Power */
 480        0x0008,     /* R192 - DCDC5 Control */
 481        0x0000,     /* R193 - DCDC5 Timeouts */
 482        0x0000,     /* R194 */
 483        0x0026,     /* R195 - DCDC6 Control */
 484        0x0800,     /* R196 - DCDC6 Timeouts */
 485        0x0006,     /* R197 - DCDC6 Low Power */
 486        0x0000,     /* R198 */
 487        0x0003,     /* R199 - Limit Switch Control */
 488        0x0006,     /* R200 - LDO1 Control */
 489        0x0400,     /* R201 - LDO1 Timeouts */
 490        0x001C,     /* R202 - LDO1 Low Power */
 491        0x0006,     /* R203 - LDO2 Control */
 492        0x0400,     /* R204 - LDO2 Timeouts */
 493        0x001C,     /* R205 - LDO2 Low Power */
 494        0x001B,     /* R206 - LDO3 Control */
 495        0x0000,     /* R207 - LDO3 Timeouts */
 496        0x001C,     /* R208 - LDO3 Low Power */
 497        0x001B,     /* R209 - LDO4 Control */
 498        0x0000,     /* R210 - LDO4 Timeouts */
 499        0x001C,     /* R211 - LDO4 Low Power */
 500        0x0000,     /* R212 */
 501        0x0000,     /* R213 */
 502        0x0000,     /* R214 */
 503        0x0000,     /* R215 - VCC_FAULT Masks */
 504        0x001F,     /* R216 - Main Bandgap Control */
 505        0x0000,     /* R217 - OSC Control */
 506        0x9000,     /* R218 - RTC Tick Control */
 507        0x0000,     /* R219 */
 508        0x4000,     /* R220 - RAM BIST 1 */
 509        0x0000,     /* R221 */
 510        0x0000,     /* R222 */
 511        0x0000,     /* R223 */
 512        0x0000,     /* R224 */
 513        0x0000,     /* R225 - DCDC/LDO status */
 514        0x0000,     /* R226 */
 515        0x0000,     /* R227 */
 516        0x0000,     /* R228 */
 517        0x0000,     /* R229 */
 518        0xE000,     /* R230 - GPIO Pin Status */
 519        0x0000,     /* R231 */
 520        0x0000,     /* R232 */
 521        0x0000,     /* R233 */
 522        0x0000,     /* R234 */
 523        0x0000,     /* R235 */
 524        0x0000,     /* R236 */
 525        0x0000,     /* R237 */
 526        0x0000,     /* R238 */
 527        0x0000,     /* R239 */
 528        0x0000,     /* R240 */
 529        0x0000,     /* R241 */
 530        0x0000,     /* R242 */
 531        0x0000,     /* R243 */
 532        0x0000,     /* R244 */
 533        0x0000,     /* R245 */
 534        0x0000,     /* R246 */
 535        0x0000,     /* R247 */
 536        0x0000,     /* R248 */
 537        0x0000,     /* R249 */
 538        0x0000,     /* R250 */
 539        0x0000,     /* R251 */
 540        0x0000,     /* R252 */
 541        0x0000,     /* R253 */
 542        0x0000,     /* R254 */
 543        0x0000,     /* R255 */
 544};
 545#endif
 546
 547#ifdef CONFIG_MFD_WM8350_CONFIG_MODE_2
 548
 549#undef WM8350_HAVE_CONFIG_MODE
 550#define WM8350_HAVE_CONFIG_MODE
 551
 552const u16 wm8350_mode2_defaults[] = {
 553        0x17FF,     /* R0   - Reset/ID */
 554        0x1000,     /* R1   - ID */
 555        0x0000,     /* R2 */
 556        0x1002,     /* R3   - System Control 1 */
 557        0x0014,     /* R4   - System Control 2 */
 558        0x0000,     /* R5   - System Hibernate */
 559        0x8A00,     /* R6   - Interface Control */
 560        0x0000,     /* R7 */
 561        0x8000,     /* R8   - Power mgmt (1) */
 562        0x0000,     /* R9   - Power mgmt (2) */
 563        0x0000,     /* R10  - Power mgmt (3) */
 564        0x2000,     /* R11  - Power mgmt (4) */
 565        0x0E00,     /* R12  - Power mgmt (5) */
 566        0x0000,     /* R13  - Power mgmt (6) */
 567        0x0000,     /* R14  - Power mgmt (7) */
 568        0x0000,     /* R15 */
 569        0x0000,     /* R16  - RTC Seconds/Minutes */
 570        0x0100,     /* R17  - RTC Hours/Day */
 571        0x0101,     /* R18  - RTC Date/Month */
 572        0x1400,     /* R19  - RTC Year */
 573        0x0000,     /* R20  - Alarm Seconds/Minutes */
 574        0x0000,     /* R21  - Alarm Hours/Day */
 575        0x0000,     /* R22  - Alarm Date/Month */
 576        0x0320,     /* R23  - RTC Time Control */
 577        0x0000,     /* R24  - System Interrupts */
 578        0x0000,     /* R25  - Interrupt Status 1 */
 579        0x0000,     /* R26  - Interrupt Status 2 */
 580        0x0000,     /* R27  - Power Up Interrupt Status */
 581        0x0000,     /* R28  - Under Voltage Interrupt status */
 582        0x0000,     /* R29  - Over Current Interrupt status */
 583        0x0000,     /* R30  - GPIO Interrupt Status */
 584        0x0000,     /* R31  - Comparator Interrupt Status */
 585        0x3FFF,     /* R32  - System Interrupts Mask */
 586        0x0000,     /* R33  - Interrupt Status 1 Mask */
 587        0x0000,     /* R34  - Interrupt Status 2 Mask */
 588        0x0000,     /* R35  - Power Up Interrupt Status Mask */
 589        0x0000,     /* R36  - Under Voltage Interrupt status Mask */
 590        0x0000,     /* R37  - Over Current Interrupt status Mask */
 591        0x0000,     /* R38  - GPIO Interrupt Status Mask */
 592        0x0000,     /* R39  - Comparator Interrupt Status Mask */
 593        0x0040,     /* R40  - Clock Control 1 */
 594        0x0000,     /* R41  - Clock Control 2 */
 595        0x3B00,     /* R42  - FLL Control 1 */
 596        0x7086,     /* R43  - FLL Control 2 */
 597        0xC226,     /* R44  - FLL Control 3 */
 598        0x0000,     /* R45  - FLL Control 4 */
 599        0x0000,     /* R46 */
 600        0x0000,     /* R47 */
 601        0x0000,     /* R48  - DAC Control */
 602        0x0000,     /* R49 */
 603        0x00C0,     /* R50  - DAC Digital Volume L */
 604        0x00C0,     /* R51  - DAC Digital Volume R */
 605        0x0000,     /* R52 */
 606        0x0040,     /* R53  - DAC LR Rate */
 607        0x0000,     /* R54  - DAC Clock Control */
 608        0x0000,     /* R55 */
 609        0x0000,     /* R56 */
 610        0x0000,     /* R57 */
 611        0x4000,     /* R58  - DAC Mute */
 612        0x0000,     /* R59  - DAC Mute Volume */
 613        0x0000,     /* R60  - DAC Side */
 614        0x0000,     /* R61 */
 615        0x0000,     /* R62 */
 616        0x0000,     /* R63 */
 617        0x8000,     /* R64  - ADC Control */
 618        0x0000,     /* R65 */
 619        0x00C0,     /* R66  - ADC Digital Volume L */
 620        0x00C0,     /* R67  - ADC Digital Volume R */
 621        0x0000,     /* R68  - ADC Divider */
 622        0x0000,     /* R69 */
 623        0x0040,     /* R70  - ADC LR Rate */
 624        0x0000,     /* R71 */
 625        0x0303,     /* R72  - Input Control */
 626        0x0000,     /* R73  - IN3 Input Control */
 627        0x0000,     /* R74  - Mic Bias Control */
 628        0x0000,     /* R75 */
 629        0x0000,     /* R76  - Output Control */
 630        0x0000,     /* R77  - Jack Detect */
 631        0x0000,     /* R78  - Anti Pop Control */
 632        0x0000,     /* R79 */
 633        0x0040,     /* R80  - Left Input Volume */
 634        0x0040,     /* R81  - Right Input Volume */
 635        0x0000,     /* R82 */
 636        0x0000,     /* R83 */
 637        0x0000,     /* R84 */
 638        0x0000,     /* R85 */
 639        0x0000,     /* R86 */
 640        0x0000,     /* R87 */
 641        0x0800,     /* R88  - Left Mixer Control */
 642        0x1000,     /* R89  - Right Mixer Control */
 643        0x0000,     /* R90 */
 644        0x0000,     /* R91 */
 645        0x0000,     /* R92  - OUT3 Mixer Control */
 646        0x0000,     /* R93  - OUT4 Mixer Control */
 647        0x0000,     /* R94 */
 648        0x0000,     /* R95 */
 649        0x0000,     /* R96  - Output Left Mixer Volume */
 650        0x0000,     /* R97  - Output Right Mixer Volume */
 651        0x0000,     /* R98  - Input Mixer Volume L */
 652        0x0000,     /* R99  - Input Mixer Volume R */
 653        0x0000,     /* R100 - Input Mixer Volume */
 654        0x0000,     /* R101 */
 655        0x0000,     /* R102 */
 656        0x0000,     /* R103 */
 657        0x00E4,     /* R104 - LOUT1 Volume */
 658        0x00E4,     /* R105 - ROUT1 Volume */
 659        0x00E4,     /* R106 - LOUT2 Volume */
 660        0x02E4,     /* R107 - ROUT2 Volume */
 661        0x0000,     /* R108 */
 662        0x0000,     /* R109 */
 663        0x0000,     /* R110 */
 664        0x0000,     /* R111 - BEEP Volume */
 665        0x0A00,     /* R112 - AI Formating */
 666        0x0000,     /* R113 - ADC DAC COMP */
 667        0x0020,     /* R114 - AI ADC Control */
 668        0x0020,     /* R115 - AI DAC Control */
 669        0x0000,     /* R116 - AIF Test */
 670        0x0000,     /* R117 */
 671        0x0000,     /* R118 */
 672        0x0000,     /* R119 */
 673        0x0000,     /* R120 */
 674        0x0000,     /* R121 */
 675        0x0000,     /* R122 */
 676        0x0000,     /* R123 */
 677        0x0000,     /* R124 */
 678        0x0000,     /* R125 */
 679        0x0000,     /* R126 */
 680        0x0000,     /* R127 */
 681        0x1FFF,     /* R128 - GPIO Debounce */
 682        0x0000,     /* R129 - GPIO Pin pull up Control */
 683        0x03FC,     /* R130 - GPIO Pull down Control */
 684        0x0000,     /* R131 - GPIO Interrupt Mode */
 685        0x0000,     /* R132 */
 686        0x0000,     /* R133 - GPIO Control */
 687        0x08FB,     /* R134 - GPIO Configuration (i/o) */
 688        0x0CFE,     /* R135 - GPIO Pin Polarity / Type */
 689        0x0000,     /* R136 */
 690        0x0000,     /* R137 */
 691        0x0000,     /* R138 */
 692        0x0000,     /* R139 */
 693        0x0312,     /* R140 - GPIO Function Select 1 */
 694        0x0003,     /* R141 - GPIO Function Select 2 */
 695        0x2331,     /* R142 - GPIO Function Select 3 */
 696        0x0003,     /* R143 - GPIO Function Select 4 */
 697        0x0000,     /* R144 - Digitiser Control (1) */
 698        0x0002,     /* R145 - Digitiser Control (2) */
 699        0x0000,     /* R146 */
 700        0x0000,     /* R147 */
 701        0x0000,     /* R148 */
 702        0x0000,     /* R149 */
 703        0x0000,     /* R150 */
 704        0x0000,     /* R151 */
 705        0x7000,     /* R152 - AUX1 Readback */
 706        0x7000,     /* R153 - AUX2 Readback */
 707        0x7000,     /* R154 - AUX3 Readback */
 708        0x7000,     /* R155 - AUX4 Readback */
 709        0x0000,     /* R156 - USB Voltage Readback */
 710        0x0000,     /* R157 - LINE Voltage Readback */
 711        0x0000,     /* R158 - BATT Voltage Readback */
 712        0x0000,     /* R159 - Chip Temp Readback */
 713        0x0000,     /* R160 */
 714        0x0000,     /* R161 */
 715        0x0000,     /* R162 */
 716        0x0000,     /* R163 - Generic Comparator Control */
 717        0x0000,     /* R164 - Generic comparator 1 */
 718        0x0000,     /* R165 - Generic comparator 2 */
 719        0x0000,     /* R166 - Generic comparator 3 */
 720        0x0000,     /* R167 - Generic comparator 4 */
 721        0xA00F,     /* R168 - Battery Charger Control 1 */
 722        0x0B06,     /* R169 - Battery Charger Control 2 */
 723        0x0000,     /* R170 - Battery Charger Control 3 */
 724        0x0000,     /* R171 */
 725        0x0000,     /* R172 - Current Sink Driver A */
 726        0x0000,     /* R173 - CSA Flash control */
 727        0x0000,     /* R174 - Current Sink Driver B */
 728        0x0000,     /* R175 - CSB Flash control */
 729        0x0000,     /* R176 - DCDC/LDO requested */
 730        0x002D,     /* R177 - DCDC Active options */
 731        0x0000,     /* R178 - DCDC Sleep options */
 732        0x0025,     /* R179 - Power-check comparator */
 733        0x000E,     /* R180 - DCDC1 Control */
 734        0x0400,     /* R181 - DCDC1 Timeouts */
 735        0x1006,     /* R182 - DCDC1 Low Power */
 736        0x0018,     /* R183 - DCDC2 Control */
 737        0x0000,     /* R184 - DCDC2 Timeouts */
 738        0x0000,     /* R185 */
 739        0x002E,     /* R186 - DCDC3 Control */
 740        0x0800,     /* R187 - DCDC3 Timeouts */
 741        0x0006,     /* R188 - DCDC3 Low Power */
 742        0x000E,     /* R189 - DCDC4 Control */
 743        0x0800,     /* R190 - DCDC4 Timeouts */
 744        0x0006,     /* R191 - DCDC4 Low Power */
 745        0x0008,     /* R192 - DCDC5 Control */
 746        0x0000,     /* R193 - DCDC5 Timeouts */
 747        0x0000,     /* R194 */
 748        0x0026,     /* R195 - DCDC6 Control */
 749        0x0C00,     /* R196 - DCDC6 Timeouts */
 750        0x0006,     /* R197 - DCDC6 Low Power */
 751        0x0000,     /* R198 */
 752        0x0003,     /* R199 - Limit Switch Control */
 753        0x001A,     /* R200 - LDO1 Control */
 754        0x0800,     /* R201 - LDO1 Timeouts */
 755        0x001C,     /* R202 - LDO1 Low Power */
 756        0x0010,     /* R203 - LDO2 Control */
 757        0x0800,     /* R204 - LDO2 Timeouts */
 758        0x001C,     /* R205 - LDO2 Low Power */
 759        0x000A,     /* R206 - LDO3 Control */
 760        0x0C00,     /* R207 - LDO3 Timeouts */
 761        0x001C,     /* R208 - LDO3 Low Power */
 762        0x001A,     /* R209 - LDO4 Control */
 763        0x0800,     /* R210 - LDO4 Timeouts */
 764        0x001C,     /* R211 - LDO4 Low Power */
 765        0x0000,     /* R212 */
 766        0x0000,     /* R213 */
 767        0x0000,     /* R214 */
 768        0x0000,     /* R215 - VCC_FAULT Masks */
 769        0x001F,     /* R216 - Main Bandgap Control */
 770        0x0000,     /* R217 - OSC Control */
 771        0x9000,     /* R218 - RTC Tick Control */
 772        0x0000,     /* R219 */
 773        0x4000,     /* R220 - RAM BIST 1 */
 774        0x0000,     /* R221 */
 775        0x0000,     /* R222 */
 776        0x0000,     /* R223 */
 777        0x0000,     /* R224 */
 778        0x0000,     /* R225 - DCDC/LDO status */
 779        0x0000,     /* R226 */
 780        0x0000,     /* R227 */
 781        0x0000,     /* R228 */
 782        0x0000,     /* R229 */
 783        0xE000,     /* R230 - GPIO Pin Status */
 784        0x0000,     /* R231 */
 785        0x0000,     /* R232 */
 786        0x0000,     /* R233 */
 787        0x0000,     /* R234 */
 788        0x0000,     /* R235 */
 789        0x0000,     /* R236 */
 790        0x0000,     /* R237 */
 791        0x0000,     /* R238 */
 792        0x0000,     /* R239 */
 793        0x0000,     /* R240 */
 794        0x0000,     /* R241 */
 795        0x0000,     /* R242 */
 796        0x0000,     /* R243 */
 797        0x0000,     /* R244 */
 798        0x0000,     /* R245 */
 799        0x0000,     /* R246 */
 800        0x0000,     /* R247 */
 801        0x0000,     /* R248 */
 802        0x0000,     /* R249 */
 803        0x0000,     /* R250 */
 804        0x0000,     /* R251 */
 805        0x0000,     /* R252 */
 806        0x0000,     /* R253 */
 807        0x0000,     /* R254 */
 808        0x0000,     /* R255 */
 809};
 810#endif
 811
 812#ifdef CONFIG_MFD_WM8350_CONFIG_MODE_3
 813
 814#undef WM8350_HAVE_CONFIG_MODE
 815#define WM8350_HAVE_CONFIG_MODE
 816
 817const u16 wm8350_mode3_defaults[] = {
 818        0x17FF,     /* R0   - Reset/ID */
 819        0x1000,     /* R1   - ID */
 820        0x0000,     /* R2 */
 821        0x1000,     /* R3   - System Control 1 */
 822        0x0004,     /* R4   - System Control 2 */
 823        0x0000,     /* R5   - System Hibernate */
 824        0x8A00,     /* R6   - Interface Control */
 825        0x0000,     /* R7 */
 826        0x8000,     /* R8   - Power mgmt (1) */
 827        0x0000,     /* R9   - Power mgmt (2) */
 828        0x0000,     /* R10  - Power mgmt (3) */
 829        0x2000,     /* R11  - Power mgmt (4) */
 830        0x0E00,     /* R12  - Power mgmt (5) */
 831        0x0000,     /* R13  - Power mgmt (6) */
 832        0x0000,     /* R14  - Power mgmt (7) */
 833        0x0000,     /* R15 */
 834        0x0000,     /* R16  - RTC Seconds/Minutes */
 835        0x0100,     /* R17  - RTC Hours/Day */
 836        0x0101,     /* R18  - RTC Date/Month */
 837        0x1400,     /* R19  - RTC Year */
 838        0x0000,     /* R20  - Alarm Seconds/Minutes */
 839        0x0000,     /* R21  - Alarm Hours/Day */
 840        0x0000,     /* R22  - Alarm Date/Month */
 841        0x0320,     /* R23  - RTC Time Control */
 842        0x0000,     /* R24  - System Interrupts */
 843        0x0000,     /* R25  - Interrupt Status 1 */
 844        0x0000,     /* R26  - Interrupt Status 2 */
 845        0x0000,     /* R27  - Power Up Interrupt Status */
 846        0x0000,     /* R28  - Under Voltage Interrupt status */
 847        0x0000,     /* R29  - Over Current Interrupt status */
 848        0x0000,     /* R30  - GPIO Interrupt Status */
 849        0x0000,     /* R31  - Comparator Interrupt Status */
 850        0x3FFF,     /* R32  - System Interrupts Mask */
 851        0x0000,     /* R33  - Interrupt Status 1 Mask */
 852        0x0000,     /* R34  - Interrupt Status 2 Mask */
 853        0x0000,     /* R35  - Power Up Interrupt Status Mask */
 854        0x0000,     /* R36  - Under Voltage Interrupt status Mask */
 855        0x0000,     /* R37  - Over Current Interrupt status Mask */
 856        0x0000,     /* R38  - GPIO Interrupt Status Mask */
 857        0x0000,     /* R39  - Comparator Interrupt Status Mask */
 858        0x0040,     /* R40  - Clock Control 1 */
 859        0x0000,     /* R41  - Clock Control 2 */
 860        0x3B00,     /* R42  - FLL Control 1 */
 861        0x7086,     /* R43  - FLL Control 2 */
 862        0xC226,     /* R44  - FLL Control 3 */
 863        0x0000,     /* R45  - FLL Control 4 */
 864        0x0000,     /* R46 */
 865        0x0000,     /* R47 */
 866        0x0000,     /* R48  - DAC Control */
 867        0x0000,     /* R49 */
 868        0x00C0,     /* R50  - DAC Digital Volume L */
 869        0x00C0,     /* R51  - DAC Digital Volume R */
 870        0x0000,     /* R52 */
 871        0x0040,     /* R53  - DAC LR Rate */
 872        0x0000,     /* R54  - DAC Clock Control */
 873        0x0000,     /* R55 */
 874        0x0000,     /* R56 */
 875        0x0000,     /* R57 */
 876        0x4000,     /* R58  - DAC Mute */
 877        0x0000,     /* R59  - DAC Mute Volume */
 878        0x0000,     /* R60  - DAC Side */
 879        0x0000,     /* R61 */
 880        0x0000,     /* R62 */
 881        0x0000,     /* R63 */
 882        0x8000,     /* R64  - ADC Control */
 883        0x0000,     /* R65 */
 884        0x00C0,     /* R66  - ADC Digital Volume L */
 885        0x00C0,     /* R67  - ADC Digital Volume R */
 886        0x0000,     /* R68  - ADC Divider */
 887        0x0000,     /* R69 */
 888        0x0040,     /* R70  - ADC LR Rate */
 889        0x0000,     /* R71 */
 890        0x0303,     /* R72  - Input Control */
 891        0x0000,     /* R73  - IN3 Input Control */
 892        0x0000,     /* R74  - Mic Bias Control */
 893        0x0000,     /* R75 */
 894        0x0000,     /* R76  - Output Control */
 895        0x0000,     /* R77  - Jack Detect */
 896        0x0000,     /* R78  - Anti Pop Control */
 897        0x0000,     /* R79 */
 898        0x0040,     /* R80  - Left Input Volume */
 899        0x0040,     /* R81  - Right Input Volume */
 900        0x0000,     /* R82 */
 901        0x0000,     /* R83 */
 902        0x0000,     /* R84 */
 903        0x0000,     /* R85 */
 904        0x0000,     /* R86 */
 905        0x0000,     /* R87 */
 906        0x0800,     /* R88  - Left Mixer Control */
 907        0x1000,     /* R89  - Right Mixer Control */
 908        0x0000,     /* R90 */
 909        0x0000,     /* R91 */
 910        0x0000,     /* R92  - OUT3 Mixer Control */
 911        0x0000,     /* R93  - OUT4 Mixer Control */
 912        0x0000,     /* R94 */
 913        0x0000,     /* R95 */
 914        0x0000,     /* R96  - Output Left Mixer Volume */
 915        0x0000,     /* R97  - Output Right Mixer Volume */
 916        0x0000,     /* R98  - Input Mixer Volume L */
 917        0x0000,     /* R99  - Input Mixer Volume R */
 918        0x0000,     /* R100 - Input Mixer Volume */
 919        0x0000,     /* R101 */
 920        0x0000,     /* R102 */
 921        0x0000,     /* R103 */
 922        0x00E4,     /* R104 - LOUT1 Volume */
 923        0x00E4,     /* R105 - ROUT1 Volume */
 924        0x00E4,     /* R106 - LOUT2 Volume */
 925        0x02E4,     /* R107 - ROUT2 Volume */
 926        0x0000,     /* R108 */
 927        0x0000,     /* R109 */
 928        0x0000,     /* R110 */
 929        0x0000,     /* R111 - BEEP Volume */
 930        0x0A00,     /* R112 - AI Formating */
 931        0x0000,     /* R113 - ADC DAC COMP */
 932        0x0020,     /* R114 - AI ADC Control */
 933        0x0020,     /* R115 - AI DAC Control */
 934        0x0000,     /* R116 - AIF Test */
 935        0x0000,     /* R117 */
 936        0x0000,     /* R118 */
 937        0x0000,     /* R119 */
 938        0x0000,     /* R120 */
 939        0x0000,     /* R121 */
 940        0x0000,     /* R122 */
 941        0x0000,     /* R123 */
 942        0x0000,     /* R124 */
 943        0x0000,     /* R125 */
 944        0x0000,     /* R126 */
 945        0x0000,     /* R127 */
 946        0x1FFF,     /* R128 - GPIO Debounce */
 947        0x0000,     /* R129 - GPIO Pin pull up Control */
 948        0x03FC,     /* R130 - GPIO Pull down Control */
 949        0x0000,     /* R131 - GPIO Interrupt Mode */
 950        0x0000,     /* R132 */
 951        0x0000,     /* R133 - GPIO Control */
 952        0x0A7B,     /* R134 - GPIO Configuration (i/o) */
 953        0x06FE,     /* R135 - GPIO Pin Polarity / Type */
 954        0x0000,     /* R136 */
 955        0x0000,     /* R137 */
 956        0x0000,     /* R138 */
 957        0x0000,     /* R139 */
 958        0x1312,     /* R140 - GPIO Function Select 1 */
 959        0x1030,     /* R141 - GPIO Function Select 2 */
 960        0x2231,     /* R142 - GPIO Function Select 3 */
 961        0x0003,     /* R143 - GPIO Function Select 4 */
 962        0x0000,     /* R144 - Digitiser Control (1) */
 963        0x0002,     /* R145 - Digitiser Control (2) */
 964        0x0000,     /* R146 */
 965        0x0000,     /* R147 */
 966        0x0000,     /* R148 */
 967        0x0000,     /* R149 */
 968        0x0000,     /* R150 */
 969        0x0000,     /* R151 */
 970        0x7000,     /* R152 - AUX1 Readback */
 971        0x7000,     /* R153 - AUX2 Readback */
 972        0x7000,     /* R154 - AUX3 Readback */
 973        0x7000,     /* R155 - AUX4 Readback */
 974        0x0000,     /* R156 - USB Voltage Readback */
 975        0x0000,     /* R157 - LINE Voltage Readback */
 976        0x0000,     /* R158 - BATT Voltage Readback */
 977        0x0000,     /* R159 - Chip Temp Readback */
 978        0x0000,     /* R160 */
 979        0x0000,     /* R161 */
 980        0x0000,     /* R162 */
 981        0x0000,     /* R163 - Generic Comparator Control */
 982        0x0000,     /* R164 - Generic comparator 1 */
 983        0x0000,     /* R165 - Generic comparator 2 */
 984        0x0000,     /* R166 - Generic comparator 3 */
 985        0x0000,     /* R167 - Generic comparator 4 */
 986        0xA00F,     /* R168 - Battery Charger Control 1 */
 987        0x0B06,     /* R169 - Battery Charger Control 2 */
 988        0x0000,     /* R170 - Battery Charger Control 3 */
 989        0x0000,     /* R171 */
 990        0x0000,     /* R172 - Current Sink Driver A */
 991        0x0000,     /* R173 - CSA Flash control */
 992        0x0000,     /* R174 - Current Sink Driver B */
 993        0x0000,     /* R175 - CSB Flash control */
 994        0x0000,     /* R176 - DCDC/LDO requested */
 995        0x002D,     /* R177 - DCDC Active options */
 996        0x0000,     /* R178 - DCDC Sleep options */
 997        0x0025,     /* R179 - Power-check comparator */
 998        0x000E,     /* R180 - DCDC1 Control */
 999        0x0400,     /* R181 - DCDC1 Timeouts */
1000        0x1006,     /* R182 - DCDC1 Low Power */
1001        0x0018,     /* R183 - DCDC2 Control */
1002        0x0000,     /* R184 - DCDC2 Timeouts */
1003        0x0000,     /* R185 */
1004        0x000E,     /* R186 - DCDC3 Control */
1005        0x0400,     /* R187 - DCDC3 Timeouts */
1006        0x0006,     /* R188 - DCDC3 Low Power */
1007        0x0026,     /* R189 - DCDC4 Control */
1008        0x0400,     /* R190 - DCDC4 Timeouts */
1009        0x0006,     /* R191 - DCDC4 Low Power */
1010        0x0008,     /* R192 - DCDC5 Control */
1011        0x0000,     /* R193 - DCDC5 Timeouts */
1012        0x0000,     /* R194 */
1013        0x0026,     /* R195 - DCDC6 Control */
1014        0x0400,     /* R196 - DCDC6 Timeouts */
1015        0x0006,     /* R197 - DCDC6 Low Power */
1016        0x0000,     /* R198 */
1017        0x0003,     /* R199 - Limit Switch Control */
1018        0x001C,     /* R200 - LDO1 Control */
1019        0x0000,     /* R201 - LDO1 Timeouts */
1020        0x001C,     /* R202 - LDO1 Low Power */
1021        0x001C,     /* R203 - LDO2 Control */
1022        0x0400,     /* R204 - LDO2 Timeouts */
1023        0x001C,     /* R205 - LDO2 Low Power */
1024        0x001C,     /* R206 - LDO3 Control */
1025        0x0400,     /* R207 - LDO3 Timeouts */
1026        0x001C,     /* R208 - LDO3 Low Power */
1027        0x001F,     /* R209 - LDO4 Control */
1028        0x0400,     /* R210 - LDO4 Timeouts */
1029        0x001C,     /* R211 - LDO4 Low Power */
1030        0x0000,     /* R212 */
1031        0x0000,     /* R213 */
1032        0x0000,     /* R214 */
1033        0x0000,     /* R215 - VCC_FAULT Masks */
1034        0x001F,     /* R216 - Main Bandgap Control */
1035        0x0000,     /* R217 - OSC Control */
1036        0x9000,     /* R218 - RTC Tick Control */
1037        0x0000,     /* R219 */
1038        0x4000,     /* R220 - RAM BIST 1 */
1039        0x0000,     /* R221 */
1040        0x0000,     /* R222 */
1041        0x0000,     /* R223 */
1042        0x0000,     /* R224 */
1043        0x0000,     /* R225 - DCDC/LDO status */
1044        0x0000,     /* R226 */
1045        0x0000,     /* R227 */
1046        0x0000,     /* R228 */
1047        0x0000,     /* R229 */
1048        0xE000,     /* R230 - GPIO Pin Status */
1049        0x0000,     /* R231 */
1050        0x0000,     /* R232 */
1051        0x0000,     /* R233 */
1052        0x0000,     /* R234 */
1053        0x0000,     /* R235 */
1054        0x0000,     /* R236 */
1055        0x0000,     /* R237 */
1056        0x0000,     /* R238 */
1057        0x0000,     /* R239 */
1058        0x0000,     /* R240 */
1059        0x0000,     /* R241 */
1060        0x0000,     /* R242 */
1061        0x0000,     /* R243 */
1062        0x0000,     /* R244 */
1063        0x0000,     /* R245 */
1064        0x0000,     /* R246 */
1065        0x0000,     /* R247 */
1066        0x0000,     /* R248 */
1067        0x0000,     /* R249 */
1068        0x0000,     /* R250 */
1069        0x0000,     /* R251 */
1070        0x0000,     /* R252 */
1071        0x0000,     /* R253 */
1072        0x0000,     /* R254 */
1073        0x0000,     /* R255 */
1074};
1075#endif
1076
1077#ifdef CONFIG_MFD_WM8351_CONFIG_MODE_0
1078
1079#undef WM8350_HAVE_CONFIG_MODE
1080#define WM8350_HAVE_CONFIG_MODE
1081
1082const u16 wm8351_mode0_defaults[] = {
1083        0x6143,     /* R0   - Reset/ID */
1084        0x0000,     /* R1   - ID */
1085        0x0001,     /* R2   - Revision */
1086        0x1C02,     /* R3   - System Control 1 */
1087        0x0004,     /* R4   - System Control 2 */
1088        0x0000,     /* R5   - System Hibernate */
1089        0x8A00,     /* R6   - Interface Control */
1090        0x0000,     /* R7 */
1091        0x8000,     /* R8   - Power mgmt (1) */
1092        0x0000,     /* R9   - Power mgmt (2) */
1093        0x0000,     /* R10  - Power mgmt (3) */
1094        0x2000,     /* R11  - Power mgmt (4) */
1095        0x0E00,     /* R12  - Power mgmt (5) */
1096        0x0000,     /* R13  - Power mgmt (6) */
1097        0x0000,     /* R14  - Power mgmt (7) */
1098        0x0000,     /* R15 */
1099        0x0000,     /* R16  - RTC Seconds/Minutes */
1100        0x0100,     /* R17  - RTC Hours/Day */
1101        0x0101,     /* R18  - RTC Date/Month */
1102        0x1400,     /* R19  - RTC Year */
1103        0x0000,     /* R20  - Alarm Seconds/Minutes */
1104        0x0000,     /* R21  - Alarm Hours/Day */
1105        0x0000,     /* R22  - Alarm Date/Month */
1106        0x0320,     /* R23  - RTC Time Control */
1107        0x0000,     /* R24  - System Interrupts */
1108        0x0000,     /* R25  - Interrupt Status 1 */
1109        0x0000,     /* R26  - Interrupt Status 2 */
1110        0x0000,     /* R27 */
1111        0x0000,     /* R28  - Under Voltage Interrupt status */
1112        0x0000,     /* R29  - Over Current Interrupt status */
1113        0x0000,     /* R30  - GPIO Interrupt Status */
1114        0x0000,     /* R31  - Comparator Interrupt Status */
1115        0x3FFF,     /* R32  - System Interrupts Mask */
1116        0x0000,     /* R33  - Interrupt Status 1 Mask */
1117        0x0000,     /* R34  - Interrupt Status 2 Mask */
1118        0x0000,     /* R35 */
1119        0x0000,     /* R36  - Under Voltage Interrupt status Mask */
1120        0x0000,     /* R37  - Over Current Interrupt status Mask */
1121        0x0000,     /* R38  - GPIO Interrupt Status Mask */
1122        0x0000,     /* R39  - Comparator Interrupt Status Mask */
1123        0x0040,     /* R40  - Clock Control 1 */
1124        0x0000,     /* R41  - Clock Control 2 */
1125        0x3A00,     /* R42  - FLL Control 1 */
1126        0x7086,     /* R43  - FLL Control 2 */
1127        0xC226,     /* R44  - FLL Control 3 */
1128        0x0000,     /* R45  - FLL Control 4 */
1129        0x0000,     /* R46 */
1130        0x0000,     /* R47 */
1131        0x0000,     /* R48  - DAC Control */
1132        0x0000,     /* R49 */
1133        0x00C0,     /* R50  - DAC Digital Volume L */
1134        0x00C0,     /* R51  - DAC Digital Volume R */
1135        0x0000,     /* R52 */
1136        0x0040,     /* R53  - DAC LR Rate */
1137        0x0000,     /* R54  - DAC Clock Control */
1138        0x0000,     /* R55 */
1139        0x0000,     /* R56 */
1140        0x0000,     /* R57 */
1141        0x4000,     /* R58  - DAC Mute */
1142        0x0000,     /* R59  - DAC Mute Volume */
1143        0x0000,     /* R60  - DAC Side */
1144        0x0000,     /* R61 */
1145        0x0000,     /* R62 */
1146        0x0000,     /* R63 */
1147        0x8000,     /* R64  - ADC Control */
1148        0x0000,     /* R65 */
1149        0x00C0,     /* R66  - ADC Digital Volume L */
1150        0x00C0,     /* R67  - ADC Digital Volume R */
1151        0x0000,     /* R68  - ADC Divider */
1152        0x0000,     /* R69 */
1153        0x0040,     /* R70  - ADC LR Rate */
1154        0x0000,     /* R71 */
1155        0x0303,     /* R72  - Input Control */
1156        0x0000,     /* R73  - IN3 Input Control */
1157        0x0000,     /* R74  - Mic Bias Control */
1158        0x0000,     /* R75 */
1159        0x0000,     /* R76  - Output Control */
1160        0x0000,     /* R77  - Jack Detect */
1161        0x0000,     /* R78  - Anti Pop Control */
1162        0x0000,     /* R79 */
1163        0x0040,     /* R80  - Left Input Volume */
1164        0x0040,     /* R81  - Right Input Volume */
1165        0x0000,     /* R82 */
1166        0x0000,     /* R83 */
1167        0x0000,     /* R84 */
1168        0x0000,     /* R85 */
1169        0x0000,     /* R86 */
1170        0x0000,     /* R87 */
1171        0x0800,     /* R88  - Left Mixer Control */
1172        0x1000,     /* R89  - Right Mixer Control */
1173        0x0000,     /* R90 */
1174        0x0000,     /* R91 */
1175        0x0000,     /* R92  - OUT3 Mixer Control */
1176        0x0000,     /* R93  - OUT4 Mixer Control */
1177        0x0000,     /* R94 */
1178        0x0000,     /* R95 */
1179        0x0000,     /* R96  - Output Left Mixer Volume */
1180        0x0000,     /* R97  - Output Right Mixer Volume */
1181        0x0000,     /* R98  - Input Mixer Volume L */
1182        0x0000,     /* R99  - Input Mixer Volume R */
1183        0x0000,     /* R100 - Input Mixer Volume */
1184        0x0000,     /* R101 */
1185        0x0000,     /* R102 */
1186        0x0000,     /* R103 */
1187        0x00E4,     /* R104 - OUT1L Volume */
1188        0x00E4,     /* R105 - OUT1R Volume */
1189        0x00E4,     /* R106 - OUT2L Volume */
1190        0x02E4,     /* R107 - OUT2R Volume */
1191        0x0000,     /* R108 */
1192        0x0000,     /* R109 */
1193        0x0000,     /* R110 */
1194        0x0000,     /* R111 - BEEP Volume */
1195        0x0A00,     /* R112 - AI Formating */
1196        0x0000,     /* R113 - ADC DAC COMP */
1197        0x0020,     /* R114 - AI ADC Control */
1198        0x0020,     /* R115 - AI DAC Control */
1199        0x0000,     /* R116 */
1200        0x0000,     /* R117 */
1201        0x0000,     /* R118 */
1202        0x0000,     /* R119 */
1203        0x0000,     /* R120 */
1204        0x0000,     /* R121 */
1205        0x0000,     /* R122 */
1206        0x0000,     /* R123 */
1207        0x0000,     /* R124 */
1208        0x0000,     /* R125 */
1209        0x0000,     /* R126 */
1210        0x0000,     /* R127 */
1211        0x1FFF,     /* R128 - GPIO Debounce */
1212        0x0000,     /* R129 - GPIO Pin pull up Control */
1213        0x0000,     /* R130 - GPIO Pull down Control */
1214        0x0000,     /* R131 - GPIO Interrupt Mode */
1215        0x0000,     /* R132 */
1216        0x0000,     /* R133 - GPIO Control */
1217        0x0FFC,     /* R134 - GPIO Configuration (i/o) */
1218        0x0FFC,     /* R135 - GPIO Pin Polarity / Type */
1219        0x0000,     /* R136 */
1220        0x0000,     /* R137 */
1221        0x0000,     /* R138 */
1222        0x0000,     /* R139 */
1223        0x0013,     /* R140 - GPIO Function Select 1 */
1224        0x0000,     /* R141 - GPIO Function Select 2 */
1225        0x0000,     /* R142 - GPIO Function Select 3 */
1226        0x0003,     /* R143 - GPIO Function Select 4 */
1227        0x0000,     /* R144 - Digitiser Control (1) */
1228        0x0002,     /* R145 - Digitiser Control (2) */
1229        0x0000,     /* R146 */
1230        0x0000,     /* R147 */
1231        0x0000,     /* R148 */
1232        0x0000,     /* R149 */
1233        0x0000,     /* R150 */
1234        0x0000,     /* R151 */
1235        0x7000,     /* R152 - AUX1 Readback */
1236        0x7000,     /* R153 - AUX2 Readback */
1237        0x7000,     /* R154 - AUX3 Readback */
1238        0x7000,     /* R155 - AUX4 Readback */
1239        0x0000,     /* R156 - USB Voltage Readback */
1240        0x0000,     /* R157 - LINE Voltage Readback */
1241        0x0000,     /* R158 - BATT Voltage Readback */
1242        0x0000,     /* R159 - Chip Temp Readback */
1243        0x0000,     /* R160 */
1244        0x0000,     /* R161 */
1245        0x0000,     /* R162 */
1246        0x0000,     /* R163 - Generic Comparator Control */
1247        0x0000,     /* R164 - Generic comparator 1 */
1248        0x0000,     /* R165 - Generic comparator 2 */
1249        0x0000,     /* R166 - Generic comparator 3 */
1250        0x0000,     /* R167 - Generic comparator 4 */
1251        0xA00F,     /* R168 - Battery Charger Control 1 */
1252        0x0B06,     /* R169 - Battery Charger Control 2 */
1253        0x0000,     /* R170 - Battery Charger Control 3 */
1254        0x0000,     /* R171 */
1255        0x0000,     /* R172 - Current Sink Driver A */
1256        0x0000,     /* R173 - CSA Flash control */
1257        0x0000,     /* R174 */
1258        0x0000,     /* R175 */
1259        0x0000,     /* R176 - DCDC/LDO requested */
1260        0x032D,     /* R177 - DCDC Active options */
1261        0x0000,     /* R178 - DCDC Sleep options */
1262        0x0025,     /* R179 - Power-check comparator */
1263        0x000E,     /* R180 - DCDC1 Control */
1264        0x0000,     /* R181 - DCDC1 Timeouts */
1265        0x1006,     /* R182 - DCDC1 Low Power */
1266        0x0018,     /* R183 - DCDC2 Control */
1267        0x0000,     /* R184 - DCDC2 Timeouts */
1268        0x0000,     /* R185 */
1269        0x0000,     /* R186 - DCDC3 Control */
1270        0x0000,     /* R187 - DCDC3 Timeouts */
1271        0x0006,     /* R188 - DCDC3 Low Power */
1272        0x0000,     /* R189 - DCDC4 Control */
1273        0x0000,     /* R190 - DCDC4 Timeouts */
1274        0x0006,     /* R191 - DCDC4 Low Power */
1275        0x0008,     /* R192 */
1276        0x0000,     /* R193 */
1277        0x0000,     /* R194 */
1278        0x0000,     /* R195 */
1279        0x0000,     /* R196 */
1280        0x0006,     /* R197 */
1281        0x0000,     /* R198 */
1282        0x0003,     /* R199 - Limit Switch Control */
1283        0x001C,     /* R200 - LDO1 Control */
1284        0x0000,     /* R201 - LDO1 Timeouts */
1285        0x001C,     /* R202 - LDO1 Low Power */
1286        0x001B,     /* R203 - LDO2 Control */
1287        0x0000,     /* R204 - LDO2 Timeouts */
1288        0x001C,     /* R205 - LDO2 Low Power */
1289        0x001B,     /* R206 - LDO3 Control */
1290        0x0000,     /* R207 - LDO3 Timeouts */
1291        0x001C,     /* R208 - LDO3 Low Power */
1292        0x001B,     /* R209 - LDO4 Control */
1293        0x0000,     /* R210 - LDO4 Timeouts */
1294        0x001C,     /* R211 - LDO4 Low Power */
1295        0x0000,     /* R212 */
1296        0x0000,     /* R213 */
1297        0x0000,     /* R214 */
1298        0x0000,     /* R215 - VCC_FAULT Masks */
1299        0x001F,     /* R216 - Main Bandgap Control */
1300        0x0000,     /* R217 - OSC Control */
1301        0x9000,     /* R218 - RTC Tick Control */
1302        0x0000,     /* R219 - Security1 */
1303        0x4000,     /* R220 */
1304        0x0000,     /* R221 */
1305        0x0000,     /* R222 */
1306        0x0000,     /* R223 */
1307        0x0000,     /* R224 - Signal overrides */
1308        0x0000,     /* R225 - DCDC/LDO status */
1309        0x0000,     /* R226 - Charger Overides/status */
1310        0x0000,     /* R227 - misc overrides */
1311        0x0000,     /* R228 - Supply overrides/status 1 */
1312        0x0000,     /* R229 - Supply overrides/status 2 */
1313        0xE000,     /* R230 - GPIO Pin Status */
1314        0x0000,     /* R231 - comparotor overrides */
1315        0x0000,     /* R232 */
1316        0x0000,     /* R233 - State Machine status */
1317        0x1200,     /* R234 - FLL Test 1 */
1318        0x0000,     /* R235 */
1319        0x8000,     /* R236 */
1320        0x0000,     /* R237 */
1321        0x0000,     /* R238 */
1322        0x0000,     /* R239 */
1323        0x0003,     /* R240 */
1324        0x0000,     /* R241 */
1325        0x0000,     /* R242 */
1326        0x0004,     /* R243 */
1327        0x0300,     /* R244 */
1328        0x0000,     /* R245 */
1329        0x0200,     /* R246 */
1330        0x0000,     /* R247 */
1331        0x1000,     /* R248 - DCDC1 Test Controls */
1332        0x1000,     /* R249 */
1333        0x1000,     /* R250 - DCDC3 Test Controls */
1334        0x1000,     /* R251 - DCDC4 Test Controls */
1335};
1336#endif
1337
1338#ifdef CONFIG_MFD_WM8351_CONFIG_MODE_1
1339
1340#undef WM8350_HAVE_CONFIG_MODE
1341#define WM8350_HAVE_CONFIG_MODE
1342
1343const u16 wm8351_mode1_defaults[] = {
1344        0x6143,     /* R0   - Reset/ID */
1345        0x0000,     /* R1   - ID */
1346        0x0001,     /* R2   - Revision */
1347        0x1C02,     /* R3   - System Control 1 */
1348        0x0204,     /* R4   - System Control 2 */
1349        0x0000,     /* R5   - System Hibernate */
1350        0x8A00,     /* R6   - Interface Control */
1351        0x0000,     /* R7 */
1352        0x8000,     /* R8   - Power mgmt (1) */
1353        0x0000,     /* R9   - Power mgmt (2) */
1354        0x0000,     /* R10  - Power mgmt (3) */
1355        0x2000,     /* R11  - Power mgmt (4) */
1356        0x0E00,     /* R12  - Power mgmt (5) */
1357        0x0000,     /* R13  - Power mgmt (6) */
1358        0x0000,     /* R14  - Power mgmt (7) */
1359        0x0000,     /* R15 */
1360        0x0000,     /* R16  - RTC Seconds/Minutes */
1361        0x0100,     /* R17  - RTC Hours/Day */
1362        0x0101,     /* R18  - RTC Date/Month */
1363        0x1400,     /* R19  - RTC Year */
1364        0x0000,     /* R20  - Alarm Seconds/Minutes */
1365        0x0000,     /* R21  - Alarm Hours/Day */
1366        0x0000,     /* R22  - Alarm Date/Month */
1367        0x0320,     /* R23  - RTC Time Control */
1368        0x0000,     /* R24  - System Interrupts */
1369        0x0000,     /* R25  - Interrupt Status 1 */
1370        0x0000,     /* R26  - Interrupt Status 2 */
1371        0x0000,     /* R27 */
1372        0x0000,     /* R28  - Under Voltage Interrupt status */
1373        0x0000,     /* R29  - Over Current Interrupt status */
1374        0x0000,     /* R30  - GPIO Interrupt Status */
1375        0x0000,     /* R31  - Comparator Interrupt Status */
1376        0x3FFF,     /* R32  - System Interrupts Mask */
1377        0x0000,     /* R33  - Interrupt Status 1 Mask */
1378        0x0000,     /* R34  - Interrupt Status 2 Mask */
1379        0x0000,     /* R35 */
1380        0x0000,     /* R36  - Under Voltage Interrupt status Mask */
1381        0x0000,     /* R37  - Over Current Interrupt status Mask */
1382        0x0000,     /* R38  - GPIO Interrupt Status Mask */
1383        0x0000,     /* R39  - Comparator Interrupt Status Mask */
1384        0x0040,     /* R40  - Clock Control 1 */
1385        0x0000,     /* R41  - Clock Control 2 */
1386        0x3A00,     /* R42  - FLL Control 1 */
1387        0x7086,     /* R43  - FLL Control 2 */
1388        0xC226,     /* R44  - FLL Control 3 */
1389        0x0000,     /* R45  - FLL Control 4 */
1390        0x0000,     /* R46 */
1391        0x0000,     /* R47 */
1392        0x0000,     /* R48  - DAC Control */
1393        0x0000,     /* R49 */
1394        0x00C0,     /* R50  - DAC Digital Volume L */
1395        0x00C0,     /* R51  - DAC Digital Volume R */
1396        0x0000,     /* R52 */
1397        0x0040,     /* R53  - DAC LR Rate */
1398        0x0000,     /* R54  - DAC Clock Control */
1399        0x0000,     /* R55 */
1400        0x0000,     /* R56 */
1401        0x0000,     /* R57 */
1402        0x4000,     /* R58  - DAC Mute */
1403        0x0000,     /* R59  - DAC Mute Volume */
1404        0x0000,     /* R60  - DAC Side */
1405        0x0000,     /* R61 */
1406        0x0000,     /* R62 */
1407        0x0000,     /* R63 */
1408        0x8000,     /* R64  - ADC Control */
1409        0x0000,     /* R65 */
1410        0x00C0,     /* R66  - ADC Digital Volume L */
1411        0x00C0,     /* R67  - ADC Digital Volume R */
1412        0x0000,     /* R68  - ADC Divider */
1413        0x0000,     /* R69 */
1414        0x0040,     /* R70  - ADC LR Rate */
1415        0x0000,     /* R71 */
1416        0x0303,     /* R72  - Input Control */
1417        0x0000,     /* R73  - IN3 Input Control */
1418        0x0000,     /* R74  - Mic Bias Control */
1419        0x0000,     /* R75 */
1420        0x0000,     /* R76  - Output Control */
1421        0x0000,     /* R77  - Jack Detect */
1422        0x0000,     /* R78  - Anti Pop Control */
1423        0x0000,     /* R79 */
1424        0x0040,     /* R80  - Left Input Volume */
1425        0x0040,     /* R81  - Right Input Volume */
1426        0x0000,     /* R82 */
1427        0x0000,     /* R83 */
1428        0x0000,     /* R84 */
1429        0x0000,     /* R85 */
1430        0x0000,     /* R86 */
1431        0x0000,     /* R87 */
1432        0x0800,     /* R88  - Left Mixer Control */
1433        0x1000,     /* R89  - Right Mixer Control */
1434        0x0000,     /* R90 */
1435        0x0000,     /* R91 */
1436        0x0000,     /* R92  - OUT3 Mixer Control */
1437        0x0000,     /* R93  - OUT4 Mixer Control */
1438        0x0000,     /* R94 */
1439        0x0000,     /* R95 */
1440        0x0000,     /* R96  - Output Left Mixer Volume */
1441        0x0000,     /* R97  - Output Right Mixer Volume */
1442        0x0000,     /* R98  - Input Mixer Volume L */
1443        0x0000,     /* R99  - Input Mixer Volume R */
1444        0x0000,     /* R100 - Input Mixer Volume */
1445        0x0000,     /* R101 */
1446        0x0000,     /* R102 */
1447        0x0000,     /* R103 */
1448        0x00E4,     /* R104 - OUT1L Volume */
1449        0x00E4,     /* R105 - OUT1R Volume */
1450        0x00E4,     /* R106 - OUT2L Volume */
1451        0x02E4,     /* R107 - OUT2R Volume */
1452        0x0000,     /* R108 */
1453        0x0000,     /* R109 */
1454        0x0000,     /* R110 */
1455        0x0000,     /* R111 - BEEP Volume */
1456        0x0A00,     /* R112 - AI Formating */
1457        0x0000,     /* R113 - ADC DAC COMP */
1458        0x0020,     /* R114 - AI ADC Control */
1459        0x0020,     /* R115 - AI DAC Control */
1460        0x0000,     /* R116 */
1461        0x0000,     /* R117 */
1462        0x0000,     /* R118 */
1463        0x0000,     /* R119 */
1464        0x0000,     /* R120 */
1465        0x0000,     /* R121 */
1466        0x0000,     /* R122 */
1467        0x0000,     /* R123 */
1468        0x0000,     /* R124 */
1469        0x0000,     /* R125 */
1470        0x0000,     /* R126 */
1471        0x0000,     /* R127 */
1472        0x1FFF,     /* R128 - GPIO Debounce */
1473        0x0000,     /* R129 - GPIO Pin pull up Control */
1474        0x0000,     /* R130 - GPIO Pull down Control */
1475        0x0000,     /* R131 - GPIO Interrupt Mode */
1476        0x0000,     /* R132 */
1477        0x0000,     /* R133 - GPIO Control */
1478        0x0CFB,     /* R134 - GPIO Configuration (i/o) */
1479        0x0C1F,     /* R135 - GPIO Pin Polarity / Type */
1480        0x0000,     /* R136 */
1481        0x0000,     /* R137 */
1482        0x0000,     /* R138 */
1483        0x0000,     /* R139 */
1484        0x0300,     /* R140 - GPIO Function Select 1 */
1485        0x1110,     /* R141 - GPIO Function Select 2 */
1486        0x0013,     /* R142 - GPIO Function Select 3 */
1487        0x0003,     /* R143 - GPIO Function Select 4 */
1488        0x0000,     /* R144 - Digitiser Control (1) */
1489        0x0002,     /* R145 - Digitiser Control (2) */
1490        0x0000,     /* R146 */
1491        0x0000,     /* R147 */
1492        0x0000,     /* R148 */
1493        0x0000,     /* R149 */
1494        0x0000,     /* R150 */
1495        0x0000,     /* R151 */
1496        0x7000,     /* R152 - AUX1 Readback */
1497        0x7000,     /* R153 - AUX2 Readback */
1498        0x7000,     /* R154 - AUX3 Readback */
1499        0x7000,     /* R155 - AUX4 Readback */
1500        0x0000,     /* R156 - USB Voltage Readback */
1501        0x0000,     /* R157 - LINE Voltage Readback */
1502        0x0000,     /* R158 - BATT Voltage Readback */
1503        0x0000,     /* R159 - Chip Temp Readback */
1504        0x0000,     /* R160 */
1505        0x0000,     /* R161 */
1506        0x0000,     /* R162 */
1507        0x0000,     /* R163 - Generic Comparator Control */
1508        0x0000,     /* R164 - Generic comparator 1 */
1509        0x0000,     /* R165 - Generic comparator 2 */
1510        0x0000,     /* R166 - Generic comparator 3 */
1511        0x0000,     /* R167 - Generic comparator 4 */
1512        0xA00F,     /* R168 - Battery Charger Control 1 */
1513        0x0B06,     /* R169 - Battery Charger Control 2 */
1514        0x0000,     /* R170 - Battery Charger Control 3 */
1515        0x0000,     /* R171 */
1516        0x0000,     /* R172 - Current Sink Driver A */
1517        0x0000,     /* R173 - CSA Flash control */
1518        0x0000,     /* R174 */
1519        0x0000,     /* R175 */
1520        0x0000,     /* R176 - DCDC/LDO requested */
1521        0x032D,     /* R177 - DCDC Active options */
1522        0x0000,     /* R178 - DCDC Sleep options */
1523        0x0025,     /* R179 - Power-check comparator */
1524        0x000E,     /* R180 - DCDC1 Control */
1525        0x0C00,     /* R181 - DCDC1 Timeouts */
1526        0x1006,     /* R182 - DCDC1 Low Power */
1527        0x0018,     /* R183 - DCDC2 Control */
1528        0x0000,     /* R184 - DCDC2 Timeouts */
1529        0x0000,     /* R185 */
1530        0x0026,     /* R186 - DCDC3 Control */
1531        0x0400,     /* R187 - DCDC3 Timeouts */
1532        0x0006,     /* R188 - DCDC3 Low Power */
1533        0x0062,     /* R189 - DCDC4 Control */
1534        0x0800,     /* R190 - DCDC4 Timeouts */
1535        0x0006,     /* R191 - DCDC4 Low Power */
1536        0x0008,     /* R192 */
1537        0x0000,     /* R193 */
1538        0x0000,     /* R194 */
1539        0x000A,     /* R195 */
1540        0x1000,     /* R196 */
1541        0x0006,     /* R197 */
1542        0x0000,     /* R198 */
1543        0x0003,     /* R199 - Limit Switch Control */
1544        0x0006,     /* R200 - LDO1 Control */
1545        0x0000,     /* R201 - LDO1 Timeouts */
1546        0x001C,     /* R202 - LDO1 Low Power */
1547        0x0010,     /* R203 - LDO2 Control */
1548        0x0C00,     /* R204 - LDO2 Timeouts */
1549        0x001C,     /* R205 - LDO2 Low Power */
1550        0x001F,     /* R206 - LDO3 Control */
1551        0x0800,     /* R207 - LDO3 Timeouts */
1552        0x001C,     /* R208 - LDO3 Low Power */
1553        0x000A,     /* R209 - LDO4 Control */
1554        0x0800,     /* R210 - LDO4 Timeouts */
1555        0x001C,     /* R211 - LDO4 Low Power */
1556        0x0000,     /* R212 */
1557        0x0000,     /* R213 */
1558        0x0000,     /* R214 */
1559        0x0000,     /* R215 - VCC_FAULT Masks */
1560        0x001F,     /* R216 - Main Bandgap Control */
1561        0x0000,     /* R217 - OSC Control */
1562        0x9000,     /* R218 - RTC Tick Control */
1563        0x0000,     /* R219 - Security1 */
1564        0x4000,     /* R220 */
1565        0x0000,     /* R221 */
1566        0x0000,     /* R222 */
1567        0x0000,     /* R223 */
1568        0x0000,     /* R224 - Signal overrides */
1569        0x0000,     /* R225 - DCDC/LDO status */
1570        0x0000,     /* R226 - Charger Overides/status */
1571        0x0000,     /* R227 - misc overrides */
1572        0x0000,     /* R228 - Supply overrides/status 1 */
1573        0x0000,     /* R229 - Supply overrides/status 2 */
1574        0xE000,     /* R230 - GPIO Pin Status */
1575        0x0000,     /* R231 - comparotor overrides */
1576        0x0000,     /* R232 */
1577        0x0000,     /* R233 - State Machine status */
1578        0x1200,     /* R234 - FLL Test 1 */
1579        0x0000,     /* R235 */
1580        0x8000,     /* R236 */
1581        0x0000,     /* R237 */
1582        0x0000,     /* R238 */
1583        0x0000,     /* R239 */
1584        0x0003,     /* R240 */
1585        0x0000,     /* R241 */
1586        0x0000,     /* R242 */
1587        0x0004,     /* R243 */
1588        0x0300,     /* R244 */
1589        0x0000,     /* R245 */
1590        0x0200,     /* R246 */
1591        0x1000,     /* R247 */
1592        0x1000,     /* R248 - DCDC1 Test Controls */
1593        0x1000,     /* R249 */
1594        0x1000,     /* R250 - DCDC3 Test Controls */
1595        0x1000,     /* R251 - DCDC4 Test Controls */
1596};
1597#endif
1598
1599#ifdef CONFIG_MFD_WM8351_CONFIG_MODE_2
1600
1601#undef WM8350_HAVE_CONFIG_MODE
1602#define WM8350_HAVE_CONFIG_MODE
1603
1604const u16 wm8351_mode2_defaults[] = {
1605        0x6143,     /* R0   - Reset/ID */
1606        0x0000,     /* R1   - ID */
1607        0x0001,     /* R2   - Revision */
1608        0x1C02,     /* R3   - System Control 1 */
1609        0x0214,     /* R4   - System Control 2 */
1610        0x0000,     /* R5   - System Hibernate */
1611        0x8A00,     /* R6   - Interface Control */
1612        0x0000,     /* R7 */
1613        0x8000,     /* R8   - Power mgmt (1) */
1614        0x0000,     /* R9   - Power mgmt (2) */
1615        0x0000,     /* R10  - Power mgmt (3) */
1616        0x2000,     /* R11  - Power mgmt (4) */
1617        0x0E00,     /* R12  - Power mgmt (5) */
1618        0x0000,     /* R13  - Power mgmt (6) */
1619        0x0000,     /* R14  - Power mgmt (7) */
1620        0x0000,     /* R15 */
1621        0x0000,     /* R16  - RTC Seconds/Minutes */
1622        0x0100,     /* R17  - RTC Hours/Day */
1623        0x0101,     /* R18  - RTC Date/Month */
1624        0x1400,     /* R19  - RTC Year */
1625        0x0000,     /* R20  - Alarm Seconds/Minutes */
1626        0x0000,     /* R21  - Alarm Hours/Day */
1627        0x0000,     /* R22  - Alarm Date/Month */
1628        0x0320,     /* R23  - RTC Time Control */
1629        0x0000,     /* R24  - System Interrupts */
1630        0x0000,     /* R25  - Interrupt Status 1 */
1631        0x0000,     /* R26  - Interrupt Status 2 */
1632        0x0000,     /* R27 */
1633        0x0000,     /* R28  - Under Voltage Interrupt status */
1634        0x0000,     /* R29  - Over Current Interrupt status */
1635        0x0000,     /* R30  - GPIO Interrupt Status */
1636        0x0000,     /* R31  - Comparator Interrupt Status */
1637        0x3FFF,     /* R32  - System Interrupts Mask */
1638        0x0000,     /* R33  - Interrupt Status 1 Mask */
1639        0x0000,     /* R34  - Interrupt Status 2 Mask */
1640        0x0000,     /* R35 */
1641        0x0000,     /* R36  - Under Voltage Interrupt status Mask */
1642        0x0000,     /* R37  - Over Current Interrupt status Mask */
1643        0x0000,     /* R38  - GPIO Interrupt Status Mask */
1644        0x0000,     /* R39  - Comparator Interrupt Status Mask */
1645        0x0040,     /* R40  - Clock Control 1 */
1646        0x0000,     /* R41  - Clock Control 2 */
1647        0x3A00,     /* R42  - FLL Control 1 */
1648        0x7086,     /* R43  - FLL Control 2 */
1649        0xC226,     /* R44  - FLL Control 3 */
1650        0x0000,     /* R45  - FLL Control 4 */
1651        0x0000,     /* R46 */
1652        0x0000,     /* R47 */
1653        0x0000,     /* R48  - DAC Control */
1654        0x0000,     /* R49 */
1655        0x00C0,     /* R50  - DAC Digital Volume L */
1656        0x00C0,     /* R51  - DAC Digital Volume R */
1657        0x0000,     /* R52 */
1658        0x0040,     /* R53  - DAC LR Rate */
1659        0x0000,     /* R54  - DAC Clock Control */
1660        0x0000,     /* R55 */
1661        0x0000,     /* R56 */
1662        0x0000,     /* R57 */
1663        0x4000,     /* R58  - DAC Mute */
1664        0x0000,     /* R59  - DAC Mute Volume */
1665        0x0000,     /* R60  - DAC Side */
1666        0x0000,     /* R61 */
1667        0x0000,     /* R62 */
1668        0x0000,     /* R63 */
1669        0x8000,     /* R64  - ADC Control */
1670        0x0000,     /* R65 */
1671        0x00C0,     /* R66  - ADC Digital Volume L */
1672        0x00C0,     /* R67  - ADC Digital Volume R */
1673        0x0000,     /* R68  - ADC Divider */
1674        0x0000,     /* R69 */
1675        0x0040,     /* R70  - ADC LR Rate */
1676        0x0000,     /* R71 */
1677        0x0303,     /* R72  - Input Control */
1678        0x0000,     /* R73  - IN3 Input Control */
1679        0x0000,     /* R74  - Mic Bias Control */
1680        0x0000,     /* R75 */
1681        0x0000,     /* R76  - Output Control */
1682        0x0000,     /* R77  - Jack Detect */
1683        0x0000,     /* R78  - Anti Pop Control */
1684        0x0000,     /* R79 */
1685        0x0040,     /* R80  - Left Input Volume */
1686        0x0040,     /* R81  - Right Input Volume */
1687        0x0000,     /* R82 */
1688        0x0000,     /* R83 */
1689        0x0000,     /* R84 */
1690        0x0000,     /* R85 */
1691        0x0000,     /* R86 */
1692        0x0000,     /* R87 */
1693        0x0800,     /* R88  - Left Mixer Control */
1694        0x1000,     /* R89  - Right Mixer Control */
1695        0x0000,     /* R90 */
1696        0x0000,     /* R91 */
1697        0x0000,     /* R92  - OUT3 Mixer Control */
1698        0x0000,     /* R93  - OUT4 Mixer Control */
1699        0x0000,     /* R94 */
1700        0x0000,     /* R95 */
1701        0x0000,     /* R96  - Output Left Mixer Volume */
1702        0x0000,     /* R97  - Output Right Mixer Volume */
1703        0x0000,     /* R98  - Input Mixer Volume L */
1704        0x0000,     /* R99  - Input Mixer Volume R */
1705        0x0000,     /* R100 - Input Mixer Volume */
1706        0x0000,     /* R101 */
1707        0x0000,     /* R102 */
1708        0x0000,     /* R103 */
1709        0x00E4,     /* R104 - OUT1L Volume */
1710        0x00E4,     /* R105 - OUT1R Volume */
1711        0x00E4,     /* R106 - OUT2L Volume */
1712        0x02E4,     /* R107 - OUT2R Volume */
1713        0x0000,     /* R108 */
1714        0x0000,     /* R109 */
1715        0x0000,     /* R110 */
1716        0x0000,     /* R111 - BEEP Volume */
1717        0x0A00,     /* R112 - AI Formating */
1718        0x0000,     /* R113 - ADC DAC COMP */
1719        0x0020,     /* R114 - AI ADC Control */
1720        0x0020,     /* R115 - AI DAC Control */
1721        0x0000,     /* R116 */
1722        0x0000,     /* R117 */
1723        0x0000,     /* R118 */
1724        0x0000,     /* R119 */
1725        0x0000,     /* R120 */
1726        0x0000,     /* R121 */
1727        0x0000,     /* R122 */
1728        0x0000,     /* R123 */
1729        0x0000,     /* R124 */
1730        0x0000,     /* R125 */
1731        0x0000,     /* R126 */
1732        0x0000,     /* R127 */
1733        0x1FFF,     /* R128 - GPIO Debounce */
1734        0x0000,     /* R129 - GPIO Pin pull up Control */
1735        0x0110,     /* R130 - GPIO Pull down Control */
1736        0x0000,     /* R131 - GPIO Interrupt Mode */
1737        0x0000,     /* R132 */
1738        0x0000,     /* R133 - GPIO Control */
1739        0x09FA,     /* R134 - GPIO Configuration (i/o) */
1740        0x0DF6,     /* R135 - GPIO Pin Polarity / Type */
1741        0x0000,     /* R136 */
1742        0x0000,     /* R137 */
1743        0x0000,     /* R138 */
1744        0x0000,     /* R139 */
1745        0x1310,     /* R140 - GPIO Function Select 1 */
1746        0x0003,     /* R141 - GPIO Function Select 2 */
1747        0x2000,     /* R142 - GPIO Function Select 3 */
1748        0x0000,     /* R143 - GPIO Function Select 4 */
1749        0x0000,     /* R144 - Digitiser Control (1) */
1750        0x0002,     /* R145 - Digitiser Control (2) */
1751        0x0000,     /* R146 */
1752        0x0000,     /* R147 */
1753        0x0000,     /* R148 */
1754        0x0000,     /* R149 */
1755        0x0000,     /* R150 */
1756        0x0000,     /* R151 */
1757        0x7000,     /* R152 - AUX1 Readback */
1758        0x7000,     /* R153 - AUX2 Readback */
1759        0x7000,     /* R154 - AUX3 Readback */
1760        0x7000,     /* R155 - AUX4 Readback */
1761        0x0000,     /* R156 - USB Voltage Readback */
1762        0x0000,     /* R157 - LINE Voltage Readback */
1763        0x0000,     /* R158 - BATT Voltage Readback */
1764        0x0000,     /* R159 - Chip Temp Readback */
1765        0x0000,     /* R160 */
1766        0x0000,     /* R161 */
1767        0x0000,     /* R162 */
1768        0x0000,     /* R163 - Generic Comparator Control */
1769        0x0000,     /* R164 - Generic comparator 1 */
1770        0x0000,     /* R165 - Generic comparator 2 */
1771        0x0000,     /* R166 - Generic comparator 3 */
1772        0x0000,     /* R167 - Generic comparator 4 */
1773        0xA00F,     /* R168 - Battery Charger Control 1 */
1774        0x0B06,     /* R169 - Battery Charger Control 2 */
1775        0x0000,     /* R170 - Battery Charger Control 3 */
1776        0x0000,     /* R171 */
1777        0x0000,     /* R172 - Current Sink Driver A */
1778        0x0000,     /* R173 - CSA Flash control */
1779        0x0000,     /* R174 */
1780        0x0000,     /* R175 */
1781        0x0000,     /* R176 - DCDC/LDO requested */
1782        0x032D,     /* R177 - DCDC Active options */
1783        0x0000,     /* R178 - DCDC Sleep options */
1784        0x0025,     /* R179 - Power-check comparator */
1785        0x001A,     /* R180 - DCDC1 Control */
1786        0x0800,     /* R181 - DCDC1 Timeouts */
1787        0x1006,     /* R182 - DCDC1 Low Power */
1788        0x0018,     /* R183 - DCDC2 Control */
1789        0x0000,     /* R184 - DCDC2 Timeouts */
1790        0x0000,     /* R185 */
1791        0x0056,     /* R186 - DCDC3 Control */
1792        0x0400,     /* R187 - DCDC3 Timeouts */
1793        0x0006,     /* R188 - DCDC3 Low Power */
1794        0x0026,     /* R189 - DCDC4 Control */
1795        0x0C00,     /* R190 - DCDC4 Timeouts */
1796        0x0006,     /* R191 - DCDC4 Low Power */
1797        0x0008,     /* R192 */
1798        0x0000,     /* R193 */
1799        0x0000,     /* R194 */
1800        0x0026,     /* R195 */
1801        0x0C00,     /* R196 */
1802        0x0006,     /* R197 */
1803        0x0000,     /* R198 */
1804        0x0003,     /* R199 - Limit Switch Control */
1805        0x001C,     /* R200 - LDO1 Control */
1806        0x0400,     /* R201 - LDO1 Timeouts */
1807        0x001C,     /* R202 - LDO1 Low Power */
1808        0x0010,     /* R203 - LDO2 Control */
1809        0x0C00,     /* R204 - LDO2 Timeouts */
1810        0x001C,     /* R205 - LDO2 Low Power */
1811        0x0015,     /* R206 - LDO3 Control */
1812        0x0000,     /* R207 - LDO3 Timeouts */
1813        0x001C,     /* R208 - LDO3 Low Power */
1814        0x001A,     /* R209 - LDO4 Control */
1815        0x0000,     /* R210 - LDO4 Timeouts */
1816        0x001C,     /* R211 - LDO4 Low Power */
1817        0x0000,     /* R212 */
1818        0x0000,     /* R213 */
1819        0x0000,     /* R214 */
1820        0x0000,     /* R215 - VCC_FAULT Masks */
1821        0x001F,     /* R216 - Main Bandgap Control */
1822        0x0000,     /* R217 - OSC Control */
1823        0x9000,     /* R218 - RTC Tick Control */
1824        0x0000,     /* R219 - Security1 */
1825        0x4000,     /* R220 */
1826        0x0000,     /* R221 */
1827        0x0000,     /* R222 */
1828        0x0000,     /* R223 */
1829        0x0000,     /* R224 - Signal overrides */
1830        0x0000,     /* R225 - DCDC/LDO status */
1831        0x0000,     /* R226 - Charger Overides/status */
1832        0x0000,     /* R227 - misc overrides */
1833        0x0000,     /* R228 - Supply overrides/status 1 */
1834        0x0000,     /* R229 - Supply overrides/status 2 */
1835        0xE000,     /* R230 - GPIO Pin Status */
1836        0x0000,     /* R231 - comparotor overrides */
1837        0x0000,     /* R232 */
1838        0x0000,     /* R233 - State Machine status */
1839        0x1200,     /* R234 - FLL Test 1 */
1840        0x0000,     /* R235 */
1841        0x8000,     /* R236 */
1842        0x0000,     /* R237 */
1843        0x0000,     /* R238 */
1844        0x0000,     /* R239 */
1845        0x0003,     /* R240 */
1846        0x0000,     /* R241 */
1847        0x0000,     /* R242 */
1848        0x0004,     /* R243 */
1849        0x0300,     /* R244 */
1850        0x0000,     /* R245 */
1851        0x0200,     /* R246 */
1852        0x0000,     /* R247 */
1853        0x1000,     /* R248 - DCDC1 Test Controls */
1854        0x1000,     /* R249 */
1855        0x1000,     /* R250 - DCDC3 Test Controls */
1856        0x1000,     /* R251 - DCDC4 Test Controls */
1857};
1858#endif
1859
1860#ifdef CONFIG_MFD_WM8351_CONFIG_MODE_3
1861
1862#undef WM8350_HAVE_CONFIG_MODE
1863#define WM8350_HAVE_CONFIG_MODE
1864
1865const u16 wm8351_mode3_defaults[] = {
1866        0x6143,     /* R0   - Reset/ID */
1867        0x0000,     /* R1   - ID */
1868        0x0001,     /* R2   - Revision */
1869        0x1C02,     /* R3   - System Control 1 */
1870        0x0204,     /* R4   - System Control 2 */
1871        0x0000,     /* R5   - System Hibernate */
1872        0x8A00,     /* R6   - Interface Control */
1873        0x0000,     /* R7 */
1874        0x8000,     /* R8   - Power mgmt (1) */
1875        0x0000,     /* R9   - Power mgmt (2) */
1876        0x0000,     /* R10  - Power mgmt (3) */
1877        0x2000,     /* R11  - Power mgmt (4) */
1878        0x0E00,     /* R12  - Power mgmt (5) */
1879        0x0000,     /* R13  - Power mgmt (6) */
1880        0x0000,     /* R14  - Power mgmt (7) */
1881        0x0000,     /* R15 */
1882        0x0000,     /* R16  - RTC Seconds/Minutes */
1883        0x0100,     /* R17  - RTC Hours/Day */
1884        0x0101,     /* R18  - RTC Date/Month */
1885        0x1400,     /* R19  - RTC Year */
1886        0x0000,     /* R20  - Alarm Seconds/Minutes */
1887        0x0000,     /* R21  - Alarm Hours/Day */
1888        0x0000,     /* R22  - Alarm Date/Month */
1889        0x0320,     /* R23  - RTC Time Control */
1890        0x0000,     /* R24  - System Interrupts */
1891        0x0000,     /* R25  - Interrupt Status 1 */
1892        0x0000,     /* R26  - Interrupt Status 2 */
1893        0x0000,     /* R27 */
1894        0x0000,     /* R28  - Under Voltage Interrupt status */
1895        0x0000,     /* R29  - Over Current Interrupt status */
1896        0x0000,     /* R30  - GPIO Interrupt Status */
1897        0x0000,     /* R31  - Comparator Interrupt Status */
1898        0x3FFF,     /* R32  - System Interrupts Mask */
1899        0x0000,     /* R33  - Interrupt Status 1 Mask */
1900        0x0000,     /* R34  - Interrupt Status 2 Mask */
1901        0x0000,     /* R35 */
1902        0x0000,     /* R36  - Under Voltage Interrupt status Mask */
1903        0x0000,     /* R37  - Over Current Interrupt status Mask */
1904        0x0000,     /* R38  - GPIO Interrupt Status Mask */
1905        0x0000,     /* R39  - Comparator Interrupt Status Mask */
1906        0x0040,     /* R40  - Clock Control 1 */
1907        0x0000,     /* R41  - Clock Control 2 */
1908        0x3A00,     /* R42  - FLL Control 1 */
1909        0x7086,     /* R43  - FLL Control 2 */
1910        0xC226,     /* R44  - FLL Control 3 */
1911        0x0000,     /* R45  - FLL Control 4 */
1912        0x0000,     /* R46 */
1913        0x0000,     /* R47 */
1914        0x0000,     /* R48  - DAC Control */
1915        0x0000,     /* R49 */
1916        0x00C0,     /* R50  - DAC Digital Volume L */
1917        0x00C0,     /* R51  - DAC Digital Volume R */
1918        0x0000,     /* R52 */
1919        0x0040,     /* R53  - DAC LR Rate */
1920        0x0000,     /* R54  - DAC Clock Control */
1921        0x0000,     /* R55 */
1922        0x0000,     /* R56 */
1923        0x0000,     /* R57 */
1924        0x4000,     /* R58  - DAC Mute */
1925        0x0000,     /* R59  - DAC Mute Volume */
1926        0x0000,     /* R60  - DAC Side */
1927        0x0000,     /* R61 */
1928        0x0000,     /* R62 */
1929        0x0000,     /* R63 */
1930        0x8000,     /* R64  - ADC Control */
1931        0x0000,     /* R65 */
1932        0x00C0,     /* R66  - ADC Digital Volume L */
1933        0x00C0,     /* R67  - ADC Digital Volume R */
1934        0x0000,     /* R68  - ADC Divider */
1935        0x0000,     /* R69 */
1936        0x0040,     /* R70  - ADC LR Rate */
1937        0x0000,     /* R71 */
1938        0x0303,     /* R72  - Input Control */
1939        0x0000,     /* R73  - IN3 Input Control */
1940        0x0000,     /* R74  - Mic Bias Control */
1941        0x0000,     /* R75 */
1942        0x0000,     /* R76  - Output Control */
1943        0x0000,     /* R77  - Jack Detect */
1944        0x0000,     /* R78  - Anti Pop Control */
1945        0x0000,     /* R79 */
1946        0x0040,     /* R80  - Left Input Volume */
1947        0x0040,     /* R81  - Right Input Volume */
1948        0x0000,     /* R82 */
1949        0x0000,     /* R83 */
1950        0x0000,     /* R84 */
1951        0x0000,     /* R85 */
1952        0x0000,     /* R86 */
1953        0x0000,     /* R87 */
1954        0x0800,     /* R88  - Left Mixer Control */
1955        0x1000,     /* R89  - Right Mixer Control */
1956        0x0000,     /* R90 */
1957        0x0000,     /* R91 */
1958        0x0000,     /* R92  - OUT3 Mixer Control */
1959        0x0000,     /* R93  - OUT4 Mixer Control */
1960        0x0000,     /* R94 */
1961        0x0000,     /* R95 */
1962        0x0000,     /* R96  - Output Left Mixer Volume */
1963        0x0000,     /* R97  - Output Right Mixer Volume */
1964        0x0000,     /* R98  - Input Mixer Volume L */
1965        0x0000,     /* R99  - Input Mixer Volume R */
1966        0x0000,     /* R100 - Input Mixer Volume */
1967        0x0000,     /* R101 */
1968        0x0000,     /* R102 */
1969        0x0000,     /* R103 */
1970        0x00E4,     /* R104 - OUT1L Volume */
1971        0x00E4,     /* R105 - OUT1R Volume */
1972        0x00E4,     /* R106 - OUT2L Volume */
1973        0x02E4,     /* R107 - OUT2R Volume */
1974        0x0000,     /* R108 */
1975        0x0000,     /* R109 */
1976        0x0000,     /* R110 */
1977        0x0000,     /* R111 - BEEP Volume */
1978        0x0A00,     /* R112 - AI Formating */
1979        0x0000,     /* R113 - ADC DAC COMP */
1980        0x0020,     /* R114 - AI ADC Control */
1981        0x0020,     /* R115 - AI DAC Control */
1982        0x0000,     /* R116 */
1983        0x0000,     /* R117 */
1984        0x0000,     /* R118 */
1985        0x0000,     /* R119 */
1986        0x0000,     /* R120 */
1987        0x0000,     /* R121 */
1988        0x0000,     /* R122 */
1989        0x0000,     /* R123 */
1990        0x0000,     /* R124 */
1991        0x0000,     /* R125 */
1992        0x0000,     /* R126 */
1993        0x0000,     /* R127 */
1994        0x1FFF,     /* R128 - GPIO Debounce */
1995        0x0010,     /* R129 - GPIO Pin pull up Control */
1996        0x0000,     /* R130 - GPIO Pull down Control */
1997        0x0000,     /* R131 - GPIO Interrupt Mode */
1998        0x0000,     /* R132 */
1999        0x0000,     /* R133 - GPIO Control */
2000        0x0BFB,     /* R134 - GPIO Configuration (i/o) */
2001        0x0FFD,     /* R135 - GPIO Pin Polarity / Type */
2002        0x0000,     /* R136 */
2003        0x0000,     /* R137 */
2004        0x0000,     /* R138 */
2005        0x0000,     /* R139 */
2006        0x0310,     /* R140 - GPIO Function Select 1 */
2007        0x0001,     /* R141 - GPIO Function Select 2 */
2008        0x2300,     /* R142 - GPIO Function Select 3 */
2009        0x0003,     /* R143 - GPIO Function Select 4 */
2010        0x0000,     /* R144 - Digitiser Control (1) */
2011        0x0002,     /* R145 - Digitiser Control (2) */
2012        0x0000,     /* R146 */
2013        0x0000,     /* R147 */
2014        0x0000,     /* R148 */
2015        0x0000,     /* R149 */
2016        0x0000,     /* R150 */
2017        0x0000,     /* R151 */
2018        0x7000,     /* R152 - AUX1 Readback */
2019        0x7000,     /* R153 - AUX2 Readback */
2020        0x7000,     /* R154 - AUX3 Readback */
2021        0x7000,     /* R155 - AUX4 Readback */
2022        0x0000,     /* R156 - USB Voltage Readback */
2023        0x0000,     /* R157 - LINE Voltage Readback */
2024        0x0000,     /* R158 - BATT Voltage Readback */
2025        0x0000,     /* R159 - Chip Temp Readback */
2026        0x0000,     /* R160 */
2027        0x0000,     /* R161 */
2028        0x0000,     /* R162 */
2029        0x0000,     /* R163 - Generic Comparator Control */
2030        0x0000,     /* R164 - Generic comparator 1 */
2031        0x0000,     /* R165 - Generic comparator 2 */
2032        0x0000,     /* R166 - Generic comparator 3 */
2033        0x0000,     /* R167 - Generic comparator 4 */
2034        0xA00F,     /* R168 - Battery Charger Control 1 */
2035        0x0B06,     /* R169 - Battery Charger Control 2 */
2036        0x0000,     /* R170 - Battery Charger Control 3 */
2037        0x0000,     /* R171 */
2038        0x0000,     /* R172 - Current Sink Driver A */
2039        0x0000,     /* R173 - CSA Flash control */
2040        0x0000,     /* R174 */
2041        0x0000,     /* R175 */
2042        0x0000,     /* R176 - DCDC/LDO requested */
2043        0x032D,     /* R177 - DCDC Active options */
2044        0x0000,     /* R178 - DCDC Sleep options */
2045        0x0025,     /* R179 - Power-check comparator */
2046        0x000E,     /* R180 - DCDC1 Control */
2047        0x0400,     /* R181 - DCDC1 Timeouts */
2048        0x1006,     /* R182 - DCDC1 Low Power */
2049        0x0018,     /* R183 - DCDC2 Control */
2050        0x0000,     /* R184 - DCDC2 Timeouts */
2051        0x0000,     /* R185 */
2052        0x0026,     /* R186 - DCDC3 Control */
2053        0x0800,     /* R187 - DCDC3 Timeouts */
2054        0x0006,     /* R188 - DCDC3 Low Power */
2055        0x0062,     /* R189 - DCDC4 Control */
2056        0x1400,     /* R190 - DCDC4 Timeouts */
2057        0x0006,     /* R191 - DCDC4 Low Power */
2058        0x0008,     /* R192 */
2059        0x0000,     /* R193 */
2060        0x0000,     /* R194 */
2061        0x0026,     /* R195 */
2062        0x0400,     /* R196 */
2063        0x0006,     /* R197 */
2064        0x0000,     /* R198 */
2065        0x0003,     /* R199 - Limit Switch Control */
2066        0x0006,     /* R200 - LDO1 Control */
2067        0x0C00,     /* R201 - LDO1 Timeouts */
2068        0x001C,     /* R202 - LDO1 Low Power */
2069        0x0016,     /* R203 - LDO2 Control */
2070        0x0000,     /* R204 - LDO2 Timeouts */
2071        0x001C,     /* R205 - LDO2 Low Power */
2072        0x0019,     /* R206 - LDO3 Control */
2073        0x0000,     /* R207 - LDO3 Timeouts */
2074        0x001C,     /* R208 - LDO3 Low Power */
2075        0x001A,     /* R209 - LDO4 Control */
2076        0x1000,     /* R210 - LDO4 Timeouts */
2077        0x001C,     /* R211 - LDO4 Low Power */
2078        0x0000,     /* R212 */
2079        0x0000,     /* R213 */
2080        0x0000,     /* R214 */
2081        0x0000,     /* R215 - VCC_FAULT Masks */
2082        0x001F,     /* R216 - Main Bandgap Control */
2083        0x0000,     /* R217 - OSC Control */
2084        0x9000,     /* R218 - RTC Tick Control */
2085        0x0000,     /* R219 - Security1 */
2086        0x4000,     /* R220 */
2087        0x0000,     /* R221 */
2088        0x0000,     /* R222 */
2089        0x0000,     /* R223 */
2090        0x0000,     /* R224 - Signal overrides */
2091        0x0000,     /* R225 - DCDC/LDO status */
2092        0x0000,     /* R226 - Charger Overides/status */
2093        0x0000,     /* R227 - misc overrides */
2094        0x0000,     /* R228 - Supply overrides/status 1 */
2095        0x0000,     /* R229 - Supply overrides/status 2 */
2096        0xE000,     /* R230 - GPIO Pin Status */
2097        0x0000,     /* R231 - comparotor overrides */
2098        0x0000,     /* R232 */
2099        0x0000,     /* R233 - State Machine status */
2100        0x1200,     /* R234 - FLL Test 1 */
2101        0x0000,     /* R235 */
2102        0x8000,     /* R236 */
2103        0x0000,     /* R237 */
2104        0x0000,     /* R238 */
2105        0x0000,     /* R239 */
2106        0x0003,     /* R240 */
2107        0x0000,     /* R241 */
2108        0x0000,     /* R242 */
2109        0x0004,     /* R243 */
2110        0x0300,     /* R244 */
2111        0x0000,     /* R245 */
2112        0x0200,     /* R246 */
2113        0x0000,     /* R247 */
2114        0x1000,     /* R248 - DCDC1 Test Controls */
2115        0x1000,     /* R249 */
2116        0x1000,     /* R250 - DCDC3 Test Controls */
2117        0x1000,     /* R251 - DCDC4 Test Controls */
2118};
2119#endif
2120
2121#ifdef CONFIG_MFD_WM8352_CONFIG_MODE_0
2122
2123#undef WM8350_HAVE_CONFIG_MODE
2124#define WM8350_HAVE_CONFIG_MODE
2125
2126const u16 wm8352_mode0_defaults[] = {
2127        0x6143,     /* R0   - Reset/ID */
2128        0x0000,     /* R1   - ID */
2129        0x0002,     /* R2   - Revision */
2130        0x1C02,     /* R3   - System Control 1 */
2131        0x0004,     /* R4   - System Control 2 */
2132        0x0000,     /* R5   - System Hibernate */
2133        0x8A00,     /* R6   - Interface Control */
2134        0x0000,     /* R7 */
2135        0x8000,     /* R8   - Power mgmt (1) */
2136        0x0000,     /* R9   - Power mgmt (2) */
2137        0x0000,     /* R10  - Power mgmt (3) */
2138        0x2000,     /* R11  - Power mgmt (4) */
2139        0x0E00,     /* R12  - Power mgmt (5) */
2140        0x0000,     /* R13  - Power mgmt (6) */
2141        0x0000,     /* R14  - Power mgmt (7) */
2142        0x0000,     /* R15 */
2143        0x0000,     /* R16  - RTC Seconds/Minutes */
2144        0x0100,     /* R17  - RTC Hours/Day */
2145        0x0101,     /* R18  - RTC Date/Month */
2146        0x1400,     /* R19  - RTC Year */
2147        0x0000,     /* R20  - Alarm Seconds/Minutes */
2148        0x0000,     /* R21  - Alarm Hours/Day */
2149        0x0000,     /* R22  - Alarm Date/Month */
2150        0x0320,     /* R23  - RTC Time Control */
2151        0x0000,     /* R24  - System Interrupts */
2152        0x0000,     /* R25  - Interrupt Status 1 */
2153        0x0000,     /* R26  - Interrupt Status 2 */
2154        0x0000,     /* R27 */
2155        0x0000,     /* R28  - Under Voltage Interrupt status */
2156        0x0000,     /* R29  - Over Current Interrupt status */
2157        0x0000,     /* R30  - GPIO Interrupt Status */
2158        0x0000,     /* R31  - Comparator Interrupt Status */
2159        0x3FFF,     /* R32  - System Interrupts Mask */
2160        0x0000,     /* R33  - Interrupt Status 1 Mask */
2161        0x0000,     /* R34  - Interrupt Status 2 Mask */
2162        0x0000,     /* R35 */
2163        0x0000,     /* R36  - Under Voltage Interrupt status Mask */
2164        0x0000,     /* R37  - Over Current Interrupt status Mask */
2165        0x0000,     /* R38  - GPIO Interrupt Status Mask */
2166        0x0000,     /* R39  - Comparator Interrupt Status Mask */
2167        0x0040,     /* R40  - Clock Control 1 */
2168        0x0000,     /* R41  - Clock Control 2 */
2169        0x3A00,     /* R42  - FLL Control 1 */
2170        0x7086,     /* R43  - FLL Control 2 */
2171        0xC226,     /* R44  - FLL Control 3 */
2172        0x0000,     /* R45  - FLL Control 4 */
2173        0x0000,     /* R46 */
2174        0x0000,     /* R47 */
2175        0x0000,     /* R48  - DAC Control */
2176        0x0000,     /* R49 */
2177        0x00C0,     /* R50  - DAC Digital Volume L */
2178        0x00C0,     /* R51  - DAC Digital Volume R */
2179        0x0000,     /* R52 */
2180        0x0040,     /* R53  - DAC LR Rate */
2181        0x0000,     /* R54  - DAC Clock Control */
2182        0x0000,     /* R55 */
2183        0x0000,     /* R56 */
2184        0x0000,     /* R57 */
2185        0x4000,     /* R58  - DAC Mute */
2186        0x0000,     /* R59  - DAC Mute Volume */
2187        0x0000,     /* R60  - DAC Side */
2188        0x0000,     /* R61 */
2189        0x0000,     /* R62 */
2190        0x0000,     /* R63 */
2191        0x8000,     /* R64  - ADC Control */
2192        0x0000,     /* R65 */
2193        0x00C0,     /* R66  - ADC Digital Volume L */
2194        0x00C0,     /* R67  - ADC Digital Volume R */
2195        0x0000,     /* R68  - ADC Divider */
2196        0x0000,     /* R69 */
2197        0x0040,     /* R70  - ADC LR Rate */
2198        0x0000,     /* R71 */
2199        0x0303,     /* R72  - Input Control */
2200        0x0000,     /* R73  - IN3 Input Control */
2201        0x0000,     /* R74  - Mic Bias Control */
2202        0x0000,     /* R75 */
2203        0x0000,     /* R76  - Output Control */
2204        0x0000,     /* R77  - Jack Detect */
2205        0x0000,     /* R78  - Anti Pop Control */
2206        0x0000,     /* R79 */
2207        0x0040,     /* R80  - Left Input Volume */
2208        0x0040,     /* R81  - Right Input Volume */
2209        0x0000,     /* R82 */
2210        0x0000,     /* R83 */
2211        0x0000,     /* R84 */
2212        0x0000,     /* R85 */
2213        0x0000,     /* R86 */
2214        0x0000,     /* R87 */
2215        0x0800,     /* R88  - Left Mixer Control */
2216        0x1000,     /* R89  - Right Mixer Control */
2217        0x0000,     /* R90 */
2218        0x0000,     /* R91 */
2219        0x0000,     /* R92  - OUT3 Mixer Control */
2220        0x0000,     /* R93  - OUT4 Mixer Control */
2221        0x0000,     /* R94 */
2222        0x0000,     /* R95 */
2223        0x0000,     /* R96  - Output Left Mixer Volume */
2224        0x0000,     /* R97  - Output Right Mixer Volume */
2225        0x0000,     /* R98  - Input Mixer Volume L */
2226        0x0000,     /* R99  - Input Mixer Volume R */
2227        0x0000,     /* R100 - Input Mixer Volume */
2228        0x0000,     /* R101 */
2229        0x0000,     /* R102 */
2230        0x0000,     /* R103 */
2231        0x00E4,     /* R104 - OUT1L Volume */
2232        0x00E4,     /* R105 - OUT1R Volume */
2233        0x00E4,     /* R106 - OUT2L Volume */
2234        0x02E4,     /* R107 - OUT2R Volume */
2235        0x0000,     /* R108 */
2236        0x0000,     /* R109 */
2237        0x0000,     /* R110 */
2238        0x0000,     /* R111 - BEEP Volume */
2239        0x0A00,     /* R112 - AI Formating */
2240        0x0000,     /* R113 - ADC DAC COMP */
2241        0x0020,     /* R114 - AI ADC Control */
2242        0x0020,     /* R115 - AI DAC Control */
2243        0x0000,     /* R116 */
2244        0x0000,     /* R117 */
2245        0x0000,     /* R118 */
2246        0x0000,     /* R119 */
2247        0x0000,     /* R120 */
2248        0x0000,     /* R121 */
2249        0x0000,     /* R122 */
2250        0x0000,     /* R123 */
2251        0x0000,     /* R124 */
2252        0x0000,     /* R125 */
2253        0x0000,     /* R126 */
2254        0x0000,     /* R127 */
2255        0x1FFF,     /* R128 - GPIO Debounce */
2256        0x0000,     /* R129 - GPIO Pin pull up Control */
2257        0x0000,     /* R130 - GPIO Pull down Control */
2258        0x0000,     /* R131 - GPIO Interrupt Mode */
2259        0x0000,     /* R132 */
2260        0x0000,     /* R133 - GPIO Control */
2261        0x0FFC,     /* R134 - GPIO Configuration (i/o) */
2262        0x0FFC,     /* R135 - GPIO Pin Polarity / Type */
2263        0x0000,     /* R136 */
2264        0x0000,     /* R137 */
2265        0x0000,     /* R138 */
2266        0x0000,     /* R139 */
2267        0x0013,     /* R140 - GPIO Function Select 1 */
2268        0x0000,     /* R141 - GPIO Function Select 2 */
2269        0x0000,     /* R142 - GPIO Function Select 3 */
2270        0x0003,     /* R143 - GPIO Function Select 4 */
2271        0x0000,     /* R144 - Digitiser Control (1) */
2272        0x0002,     /* R145 - Digitiser Control (2) */
2273        0x0000,     /* R146 */
2274        0x0000,     /* R147 */
2275        0x0000,     /* R148 */
2276        0x0000,     /* R149 */
2277        0x0000,     /* R150 */
2278        0x0000,     /* R151 */
2279        0x7000,     /* R152 - AUX1 Readback */
2280        0x7000,     /* R153 - AUX2 Readback */
2281        0x7000,     /* R154 - AUX3 Readback */
2282        0x7000,     /* R155 - AUX4 Readback */
2283        0x0000,     /* R156 - USB Voltage Readback */
2284        0x0000,     /* R157 - LINE Voltage Readback */
2285        0x0000,     /* R158 - BATT Voltage Readback */
2286        0x0000,     /* R159 - Chip Temp Readback */
2287        0x0000,     /* R160 */
2288        0x0000,     /* R161 */
2289        0x0000,     /* R162 */
2290        0x0000,     /* R163 - Generic Comparator Control */
2291        0x0000,     /* R164 - Generic comparator 1 */
2292        0x0000,     /* R165 - Generic comparator 2 */
2293        0x0000,     /* R166 - Generic comparator 3 */
2294        0x0000,     /* R167 - Generic comparator 4 */
2295        0xA00F,     /* R168 - Battery Charger Control 1 */
2296        0x0B06,     /* R169 - Battery Charger Control 2 */
2297        0x0000,     /* R170 - Battery Charger Control 3 */
2298        0x0000,     /* R171 */
2299        0x0000,     /* R172 - Current Sink Driver A */
2300        0x0000,     /* R173 - CSA Flash control */
2301        0x0000,     /* R174 - Current Sink Driver B */
2302        0x0000,     /* R175 - CSB Flash control */
2303        0x0000,     /* R176 - DCDC/LDO requested */
2304        0x032D,     /* R177 - DCDC Active options */
2305        0x0000,     /* R178 - DCDC Sleep options */
2306        0x0025,     /* R179 - Power-check comparator */
2307        0x000E,     /* R180 - DCDC1 Control */
2308        0x0000,     /* R181 - DCDC1 Timeouts */
2309        0x1006,     /* R182 - DCDC1 Low Power */
2310        0x0018,     /* R183 - DCDC2 Control */
2311        0x0000,     /* R184 - DCDC2 Timeouts */
2312        0x0000,     /* R185 */
2313        0x0000,     /* R186 - DCDC3 Control */
2314        0x0000,     /* R187 - DCDC3 Timeouts */
2315        0x0006,     /* R188 - DCDC3 Low Power */
2316        0x0000,     /* R189 - DCDC4 Control */
2317        0x0000,     /* R190 - DCDC4 Timeouts */
2318        0x0006,     /* R191 - DCDC4 Low Power */
2319        0x0008,     /* R192 - DCDC5 Control */
2320        0x0000,     /* R193 - DCDC5 Timeouts */
2321        0x0000,     /* R194 */
2322        0x0000,     /* R195 - DCDC6 Control */
2323        0x0000,     /* R196 - DCDC6 Timeouts */
2324        0x0006,     /* R197 - DCDC6 Low Power */
2325        0x0000,     /* R198 */
2326        0x0003,     /* R199 - Limit Switch Control */
2327        0x001C,     /* R200 - LDO1 Control */
2328        0x0000,     /* R201 - LDO1 Timeouts */
2329        0x001C,     /* R202 - LDO1 Low Power */
2330        0x001B,     /* R203 - LDO2 Control */
2331        0x0000,     /* R204 - LDO2 Timeouts */
2332        0x001C,     /* R205 - LDO2 Low Power */
2333        0x001B,     /* R206 - LDO3 Control */
2334        0x0000,     /* R207 - LDO3 Timeouts */
2335        0x001C,     /* R208 - LDO3 Low Power */
2336        0x001B,     /* R209 - LDO4 Control */
2337        0x0000,     /* R210 - LDO4 Timeouts */
2338        0x001C,     /* R211 - LDO4 Low Power */
2339        0x0000,     /* R212 */
2340        0x0000,     /* R213 */
2341        0x0000,     /* R214 */
2342        0x0000,     /* R215 - VCC_FAULT Masks */
2343        0x001F,     /* R216 - Main Bandgap Control */
2344        0x0000,     /* R217 - OSC Control */
2345        0x9000,     /* R218 - RTC Tick Control */
2346        0x0000,     /* R219 - Security1 */
2347        0x4000,     /* R220 */
2348        0x0000,     /* R221 */
2349        0x0000,     /* R222 */
2350        0x0000,     /* R223 */
2351        0x0000,     /* R224 - Signal overrides */
2352        0x0000,     /* R225 - DCDC/LDO status */
2353        0x0000,     /* R226 - Charger Overides/status */
2354        0x0000,     /* R227 - misc overrides */
2355        0x0000,     /* R228 - Supply overrides/status 1 */
2356        0x0000,     /* R229 - Supply overrides/status 2 */
2357        0xE000,     /* R230 - GPIO Pin Status */
2358        0x0000,     /* R231 - comparotor overrides */
2359        0x0000,     /* R232 */
2360        0x0000,     /* R233 - State Machine status */
2361        0x1200,     /* R234 */
2362        0x0000,     /* R235 */
2363        0x8000,     /* R236 */
2364        0x0000,     /* R237 */
2365        0x0000,     /* R238 */
2366        0x0000,     /* R239 */
2367        0x0003,     /* R240 */
2368        0x0000,     /* R241 */
2369        0x0000,     /* R242 */
2370        0x0004,     /* R243 */
2371        0x0300,     /* R244 */
2372        0x0000,     /* R245 */
2373        0x0200,     /* R246 */
2374        0x0000,     /* R247 */
2375        0x1000,     /* R248 - DCDC1 Test Controls */
2376        0x5000,     /* R249 */
2377        0x1000,     /* R250 - DCDC3 Test Controls */
2378        0x1000,     /* R251 - DCDC4 Test Controls */
2379        0x5100,     /* R252 */
2380        0x1000,     /* R253 - DCDC6 Test Controls */
2381};
2382#endif
2383
2384#ifdef CONFIG_MFD_WM8352_CONFIG_MODE_1
2385
2386#undef WM8350_HAVE_CONFIG_MODE
2387#define WM8350_HAVE_CONFIG_MODE
2388
2389const u16 wm8352_mode1_defaults[] = {
2390        0x6143,     /* R0   - Reset/ID */
2391        0x0000,     /* R1   - ID */
2392        0x0002,     /* R2   - Revision */
2393        0x1C02,     /* R3   - System Control 1 */
2394        0x0204,     /* R4   - System Control 2 */
2395        0x0000,     /* R5   - System Hibernate */
2396        0x8A00,     /* R6   - Interface Control */
2397        0x0000,     /* R7 */
2398        0x8000,     /* R8   - Power mgmt (1) */
2399        0x0000,     /* R9   - Power mgmt (2) */
2400        0x0000,     /* R10  - Power mgmt (3) */
2401        0x2000,     /* R11  - Power mgmt (4) */
2402        0x0E00,     /* R12  - Power mgmt (5) */
2403        0x0000,     /* R13  - Power mgmt (6) */
2404        0x0000,     /* R14  - Power mgmt (7) */
2405        0x0000,     /* R15 */
2406        0x0000,     /* R16  - RTC Seconds/Minutes */
2407        0x0100,     /* R17  - RTC Hours/Day */
2408        0x0101,     /* R18  - RTC Date/Month */
2409        0x1400,     /* R19  - RTC Year */
2410        0x0000,     /* R20  - Alarm Seconds/Minutes */
2411        0x0000,     /* R21  - Alarm Hours/Day */
2412        0x0000,     /* R22  - Alarm Date/Month */
2413        0x0320,     /* R23  - RTC Time Control */
2414        0x0000,     /* R24  - System Interrupts */
2415        0x0000,     /* R25  - Interrupt Status 1 */
2416        0x0000,     /* R26  - Interrupt Status 2 */
2417        0x0000,     /* R27 */
2418        0x0000,     /* R28  - Under Voltage Interrupt status */
2419        0x0000,     /* R29  - Over Current Interrupt status */
2420        0x0000,     /* R30  - GPIO Interrupt Status */
2421        0x0000,     /* R31  - Comparator Interrupt Status */
2422        0x3FFF,     /* R32  - System Interrupts Mask */
2423        0x0000,     /* R33  - Interrupt Status 1 Mask */
2424        0x0000,     /* R34  - Interrupt Status 2 Mask */
2425        0x0000,     /* R35 */
2426        0x0000,     /* R36  - Under Voltage Interrupt status Mask */
2427        0x0000,     /* R37  - Over Current Interrupt status Mask */
2428        0x0000,     /* R38  - GPIO Interrupt Status Mask */
2429        0x0000,     /* R39  - Comparator Interrupt Status Mask */
2430        0x0040,     /* R40  - Clock Control 1 */
2431        0x0000,     /* R41  - Clock Control 2 */
2432        0x3A00,     /* R42  - FLL Control 1 */
2433        0x7086,     /* R43  - FLL Control 2 */
2434        0xC226,     /* R44  - FLL Control 3 */
2435        0x0000,     /* R45  - FLL Control 4 */
2436        0x0000,     /* R46 */
2437        0x0000,     /* R47 */
2438        0x0000,     /* R48  - DAC Control */
2439        0x0000,     /* R49 */
2440        0x00C0,     /* R50  - DAC Digital Volume L */
2441        0x00C0,     /* R51  - DAC Digital Volume R */
2442        0x0000,     /* R52 */
2443        0x0040,     /* R53  - DAC LR Rate */
2444        0x0000,     /* R54  - DAC Clock Control */
2445        0x0000,     /* R55 */
2446        0x0000,     /* R56 */
2447        0x0000,     /* R57 */
2448        0x4000,     /* R58  - DAC Mute */
2449        0x0000,     /* R59  - DAC Mute Volume */
2450        0x0000,     /* R60  - DAC Side */
2451        0x0000,     /* R61 */
2452        0x0000,     /* R62 */
2453        0x0000,     /* R63 */
2454        0x8000,     /* R64  - ADC Control */
2455        0x0000,     /* R65 */
2456        0x00C0,     /* R66  - ADC Digital Volume L */
2457        0x00C0,     /* R67  - ADC Digital Volume R */
2458        0x0000,     /* R68  - ADC Divider */
2459        0x0000,     /* R69 */
2460        0x0040,     /* R70  - ADC LR Rate */
2461        0x0000,     /* R71 */
2462        0x0303,     /* R72  - Input Control */
2463        0x0000,     /* R73  - IN3 Input Control */
2464        0x0000,     /* R74  - Mic Bias Control */
2465        0x0000,     /* R75 */
2466        0x0000,     /* R76  - Output Control */
2467        0x0000,     /* R77  - Jack Detect */
2468        0x0000,     /* R78  - Anti Pop Control */
2469        0x0000,     /* R79 */
2470        0x0040,     /* R80  - Left Input Volume */
2471        0x0040,     /* R81  - Right Input Volume */
2472        0x0000,     /* R82 */
2473        0x0000,     /* R83 */
2474        0x0000,     /* R84 */
2475        0x0000,     /* R85 */
2476        0x0000,     /* R86 */
2477        0x0000,     /* R87 */
2478        0x0800,     /* R88  - Left Mixer Control */
2479        0x1000,     /* R89  - Right Mixer Control */
2480        0x0000,     /* R90 */
2481        0x0000,     /* R91 */
2482        0x0000,     /* R92  - OUT3 Mixer Control */
2483        0x0000,     /* R93  - OUT4 Mixer Control */
2484        0x0000,     /* R94 */
2485        0x0000,     /* R95 */
2486        0x0000,     /* R96  - Output Left Mixer Volume */
2487        0x0000,     /* R97  - Output Right Mixer Volume */
2488        0x0000,     /* R98  - Input Mixer Volume L */
2489        0x0000,     /* R99  - Input Mixer Volume R */
2490        0x0000,     /* R100 - Input Mixer Volume */
2491        0x0000,     /* R101 */
2492        0x0000,     /* R102 */
2493        0x0000,     /* R103 */
2494        0x00E4,     /* R104 - OUT1L Volume */
2495        0x00E4,     /* R105 - OUT1R Volume */
2496        0x00E4,     /* R106 - OUT2L Volume */
2497        0x02E4,     /* R107 - OUT2R Volume */
2498        0x0000,     /* R108 */
2499        0x0000,     /* R109 */
2500        0x0000,     /* R110 */
2501        0x0000,     /* R111 - BEEP Volume */
2502        0x0A00,     /* R112 - AI Formating */
2503        0x0000,     /* R113 - ADC DAC COMP */
2504        0x0020,     /* R114 - AI ADC Control */
2505        0x0020,     /* R115 - AI DAC Control */
2506        0x0000,     /* R116 */
2507        0x0000,     /* R117 */
2508        0x0000,     /* R118 */
2509        0x0000,     /* R119 */
2510        0x0000,     /* R120 */
2511        0x0000,     /* R121 */
2512        0x0000,     /* R122 */
2513        0x0000,     /* R123 */
2514        0x0000,     /* R124 */
2515        0x0000,     /* R125 */
2516        0x0000,     /* R126 */
2517        0x0000,     /* R127 */
2518        0x1FFF,     /* R128 - GPIO Debounce */
2519        0x0000,     /* R129 - GPIO Pin pull up Control */
2520        0x0000,     /* R130 - GPIO Pull down Control */
2521        0x0000,     /* R131 - GPIO Interrupt Mode */
2522        0x0000,     /* R132 */
2523        0x0000,     /* R133 - GPIO Control */
2524        0x0BFB,     /* R134 - GPIO Configuration (i/o) */
2525        0x0FFF,     /* R135 - GPIO Pin Polarity / Type */
2526        0x0000,     /* R136 */
2527        0x0000,     /* R137 */
2528        0x0000,     /* R138 */
2529        0x0000,     /* R139 */
2530        0x0300,     /* R140 - GPIO Function Select 1 */
2531        0x0000,     /* R141 - GPIO Function Select 2 */
2532        0x2300,     /* R142 - GPIO Function Select 3 */
2533        0x0003,     /* R143 - GPIO Function Select 4 */
2534        0x0000,     /* R144 - Digitiser Control (1) */
2535        0x0002,     /* R145 - Digitiser Control (2) */
2536        0x0000,     /* R146 */
2537        0x0000,     /* R147 */
2538        0x0000,     /* R148 */
2539        0x0000,     /* R149 */
2540        0x0000,     /* R150 */
2541        0x0000,     /* R151 */
2542        0x7000,     /* R152 - AUX1 Readback */
2543        0x7000,     /* R153 - AUX2 Readback */
2544        0x7000,     /* R154 - AUX3 Readback */
2545        0x7000,     /* R155 - AUX4 Readback */
2546        0x0000,     /* R156 - USB Voltage Readback */
2547        0x0000,     /* R157 - LINE Voltage Readback */
2548        0x0000,     /* R158 - BATT Voltage Readback */
2549        0x0000,     /* R159 - Chip Temp Readback */
2550        0x0000,     /* R160 */
2551        0x0000,     /* R161 */
2552        0x0000,     /* R162 */
2553        0x0000,     /* R163 - Generic Comparator Control */
2554        0x0000,     /* R164 - Generic comparator 1 */
2555        0x0000,     /* R165 - Generic comparator 2 */
2556        0x0000,     /* R166 - Generic comparator 3 */
2557        0x0000,     /* R167 - Generic comparator 4 */
2558        0xA00F,     /* R168 - Battery Charger Control 1 */
2559        0x0B06,     /* R169 - Battery Charger Control 2 */
2560        0x0000,     /* R170 - Battery Charger Control 3 */
2561        0x0000,     /* R171 */
2562        0x0000,     /* R172 - Current Sink Driver A */
2563        0x0000,     /* R173 - CSA Flash control */
2564        0x0000,     /* R174 - Current Sink Driver B */
2565        0x0000,     /* R175 - CSB Flash control */
2566        0x0000,     /* R176 - DCDC/LDO requested */
2567        0x032D,     /* R177 - DCDC Active options */
2568        0x0000,     /* R178 - DCDC Sleep options */
2569        0x0025,     /* R179 - Power-check comparator */
2570        0x0062,     /* R180 - DCDC1 Control */
2571        0x0400,     /* R181 - DCDC1 Timeouts */
2572        0x1006,     /* R182 - DCDC1 Low Power */
2573        0x0018,     /* R183 - DCDC2 Control */
2574        0x0000,     /* R184 - DCDC2 Timeouts */
2575        0x0000,     /* R185 */
2576        0x0006,     /* R186 - DCDC3 Control */
2577        0x0800,     /* R187 - DCDC3 Timeouts */
2578        0x0006,     /* R188 - DCDC3 Low Power */
2579        0x0006,     /* R189 - DCDC4 Control */
2580        0x0C00,     /* R190 - DCDC4 Timeouts */
2581        0x0006,     /* R191 - DCDC4 Low Power */
2582        0x0008,     /* R192 - DCDC5 Control */
2583        0x0000,     /* R193 - DCDC5 Timeouts */
2584        0x0000,     /* R194 */
2585        0x0026,     /* R195 - DCDC6 Control */
2586        0x1000,     /* R196 - DCDC6 Timeouts */
2587        0x0006,     /* R197 - DCDC6 Low Power */
2588        0x0000,     /* R198 */
2589        0x0003,     /* R199 - Limit Switch Control */
2590        0x0002,     /* R200 - LDO1 Control */
2591        0x0000,     /* R201 - LDO1 Timeouts */
2592        0x001C,     /* R202 - LDO1 Low Power */
2593        0x001A,     /* R203 - LDO2 Control */
2594        0x0000,     /* R204 - LDO2 Timeouts */
2595        0x001C,     /* R205 - LDO2 Low Power */
2596        0x001F,     /* R206 - LDO3 Control */
2597        0x0000,     /* R207 - LDO3 Timeouts */
2598        0x001C,     /* R208 - LDO3 Low Power */
2599        0x001F,     /* R209 - LDO4 Control */
2600        0x0000,     /* R210 - LDO4 Timeouts */
2601        0x001C,     /* R211 - LDO4 Low Power */
2602        0x0000,     /* R212 */
2603        0x0000,     /* R213 */
2604        0x0000,     /* R214 */
2605        0x0000,     /* R215 - VCC_FAULT Masks */
2606        0x001F,     /* R216 - Main Bandgap Control */
2607        0x0000,     /* R217 - OSC Control */
2608        0x9000,     /* R218 - RTC Tick Control */
2609        0x0000,     /* R219 - Security1 */
2610        0x4000,     /* R220 */
2611        0x0000,     /* R221 */
2612        0x0000,     /* R222 */
2613        0x0000,     /* R223 */
2614        0x0000,     /* R224 - Signal overrides */
2615        0x0000,     /* R225 - DCDC/LDO status */
2616        0x0000,     /* R226 - Charger Overides/status */
2617        0x0000,     /* R227 - misc overrides */
2618        0x0000,     /* R228 - Supply overrides/status 1 */
2619        0x0000,     /* R229 - Supply overrides/status 2 */
2620        0xE000,     /* R230 - GPIO Pin Status */
2621        0x0000,     /* R231 - comparotor overrides */
2622        0x0000,     /* R232 */
2623        0x0000,     /* R233 - State Machine status */
2624        0x1200,     /* R234 */
2625        0x0000,     /* R235 */
2626        0x8000,     /* R236 */
2627        0x0000,     /* R237 */
2628        0x0000,     /* R238 */
2629        0x0000,     /* R239 */
2630        0x0003,     /* R240 */
2631        0x0000,     /* R241 */
2632        0x0000,     /* R242 */
2633        0x0004,     /* R243 */
2634        0x0300,     /* R244 */
2635        0x0000,     /* R245 */
2636        0x0200,     /* R246 */
2637        0x0000,     /* R247 */
2638        0x1000,     /* R248 - DCDC1 Test Controls */
2639        0x5000,     /* R249 */
2640        0x1000,     /* R250 - DCDC3 Test Controls */
2641        0x1000,     /* R251 - DCDC4 Test Controls */
2642        0x5100,     /* R252 */
2643        0x1000,     /* R253 - DCDC6 Test Controls */
2644};
2645#endif
2646
2647#ifdef CONFIG_MFD_WM8352_CONFIG_MODE_2
2648
2649#undef WM8350_HAVE_CONFIG_MODE
2650#define WM8350_HAVE_CONFIG_MODE
2651
2652const u16 wm8352_mode2_defaults[] = {
2653        0x6143,     /* R0   - Reset/ID */
2654        0x0000,     /* R1   - ID */
2655        0x0002,     /* R2   - Revision */
2656        0x1C02,     /* R3   - System Control 1 */
2657        0x0204,     /* R4   - System Control 2 */
2658        0x0000,     /* R5   - System Hibernate */
2659        0x8A00,     /* R6   - Interface Control */
2660        0x0000,     /* R7 */
2661        0x8000,     /* R8   - Power mgmt (1) */
2662        0x0000,     /* R9   - Power mgmt (2) */
2663        0x0000,     /* R10  - Power mgmt (3) */
2664        0x2000,     /* R11  - Power mgmt (4) */
2665        0x0E00,     /* R12  - Power mgmt (5) */
2666        0x0000,     /* R13  - Power mgmt (6) */
2667        0x0000,     /* R14  - Power mgmt (7) */
2668        0x0000,     /* R15 */
2669        0x0000,     /* R16  - RTC Seconds/Minutes */
2670        0x0100,     /* R17  - RTC Hours/Day */
2671        0x0101,     /* R18  - RTC Date/Month */
2672        0x1400,     /* R19  - RTC Year */
2673        0x0000,     /* R20  - Alarm Seconds/Minutes */
2674        0x0000,     /* R21  - Alarm Hours/Day */
2675        0x0000,     /* R22  - Alarm Date/Month */
2676        0x0320,     /* R23  - RTC Time Control */
2677        0x0000,     /* R24  - System Interrupts */
2678        0x0000,     /* R25  - Interrupt Status 1 */
2679        0x0000,     /* R26  - Interrupt Status 2 */
2680        0x0000,     /* R27 */
2681        0x0000,     /* R28  - Under Voltage Interrupt status */
2682        0x0000,     /* R29  - Over Current Interrupt status */
2683        0x0000,     /* R30  - GPIO Interrupt Status */
2684        0x0000,     /* R31  - Comparator Interrupt Status */
2685        0x3FFF,     /* R32  - System Interrupts Mask */
2686        0x0000,     /* R33  - Interrupt Status 1 Mask */
2687        0x0000,     /* R34  - Interrupt Status 2 Mask */
2688        0x0000,     /* R35 */
2689        0x0000,     /* R36  - Under Voltage Interrupt status Mask */
2690        0x0000,     /* R37  - Over Current Interrupt status Mask */
2691        0x0000,     /* R38  - GPIO Interrupt Status Mask */
2692        0x0000,     /* R39  - Comparator Interrupt Status Mask */
2693        0x0040,     /* R40  - Clock Control 1 */
2694        0x0000,     /* R41  - Clock Control 2 */
2695        0x3A00,     /* R42  - FLL Control 1 */
2696        0x7086,     /* R43  - FLL Control 2 */
2697        0xC226,     /* R44  - FLL Control 3 */
2698        0x0000,     /* R45  - FLL Control 4 */
2699        0x0000,     /* R46 */
2700        0x0000,     /* R47 */
2701        0x0000,     /* R48  - DAC Control */
2702        0x0000,     /* R49 */
2703        0x00C0,     /* R50  - DAC Digital Volume L */
2704        0x00C0,     /* R51  - DAC Digital Volume R */
2705        0x0000,     /* R52 */
2706        0x0040,     /* R53  - DAC LR Rate */
2707        0x0000,     /* R54  - DAC Clock Control */
2708        0x0000,     /* R55 */
2709        0x0000,     /* R56 */
2710        0x0000,     /* R57 */
2711        0x4000,     /* R58  - DAC Mute */
2712        0x0000,     /* R59  - DAC Mute Volume */
2713        0x0000,     /* R60  - DAC Side */
2714        0x0000,     /* R61 */
2715        0x0000,     /* R62 */
2716        0x0000,     /* R63 */
2717        0x8000,     /* R64  - ADC Control */
2718        0x0000,     /* R65 */
2719        0x00C0,     /* R66  - ADC Digital Volume L */
2720        0x00C0,     /* R67  - ADC Digital Volume R */
2721        0x0000,     /* R68  - ADC Divider */
2722        0x0000,     /* R69 */
2723        0x0040,     /* R70  - ADC LR Rate */
2724        0x0000,     /* R71 */
2725        0x0303,     /* R72  - Input Control */
2726        0x0000,     /* R73  - IN3 Input Control */
2727        0x0000,     /* R74  - Mic Bias Control */
2728        0x0000,     /* R75 */
2729        0x0000,     /* R76  - Output Control */
2730        0x0000,     /* R77  - Jack Detect */
2731        0x0000,     /* R78  - Anti Pop Control */
2732        0x0000,     /* R79 */
2733        0x0040,     /* R80  - Left Input Volume */
2734        0x0040,     /* R81  - Right Input Volume */
2735        0x0000,     /* R82 */
2736        0x0000,     /* R83 */
2737        0x0000,     /* R84 */
2738        0x0000,     /* R85 */
2739        0x0000,     /* R86 */
2740        0x0000,     /* R87 */
2741        0x0800,     /* R88  - Left Mixer Control */
2742        0x1000,     /* R89  - Right Mixer Control */
2743        0x0000,     /* R90 */
2744        0x0000,     /* R91 */
2745        0x0000,     /* R92  - OUT3 Mixer Control */
2746        0x0000,     /* R93  - OUT4 Mixer Control */
2747        0x0000,     /* R94 */
2748        0x0000,     /* R95 */
2749        0x0000,     /* R96  - Output Left Mixer Volume */
2750        0x0000,     /* R97  - Output Right Mixer Volume */
2751        0x0000,     /* R98  - Input Mixer Volume L */
2752        0x0000,     /* R99  - Input Mixer Volume R */
2753        0x0000,     /* R100 - Input Mixer Volume */
2754        0x0000,     /* R101 */
2755        0x0000,     /* R102 */
2756        0x0000,     /* R103 */
2757        0x00E4,     /* R104 - OUT1L Volume */
2758        0x00E4,     /* R105 - OUT1R Volume */
2759        0x00E4,     /* R106 - OUT2L Volume */
2760        0x02E4,     /* R107 - OUT2R Volume */
2761        0x0000,     /* R108 */
2762        0x0000,     /* R109 */
2763        0x0000,     /* R110 */
2764        0x0000,     /* R111 - BEEP Volume */
2765        0x0A00,     /* R112 - AI Formating */
2766        0x0000,     /* R113 - ADC DAC COMP */
2767        0x0020,     /* R114 - AI ADC Control */
2768        0x0020,     /* R115 - AI DAC Control */
2769        0x0000,     /* R116 */
2770        0x0000,     /* R117 */
2771        0x0000,     /* R118 */
2772        0x0000,     /* R119 */
2773        0x0000,     /* R120 */
2774        0x0000,     /* R121 */
2775        0x0000,     /* R122 */
2776        0x0000,     /* R123 */
2777        0x0000,     /* R124 */
2778        0x0000,     /* R125 */
2779        0x0000,     /* R126 */
2780        0x0000,     /* R127 */
2781        0x1FFF,     /* R128 - GPIO Debounce */
2782        0x0000,     /* R129 - GPIO Pin pull up Control */
2783        0x0110,     /* R130 - GPIO Pull down Control */
2784        0x0000,     /* R131 - GPIO Interrupt Mode */
2785        0x0000,     /* R132 */
2786        0x0000,     /* R133 - GPIO Control */
2787        0x09DA,     /* R134 - GPIO Configuration (i/o) */
2788        0x0DD6,     /* R135 - GPIO Pin Polarity / Type */
2789        0x0000,     /* R136 */
2790        0x0000,     /* R137 */
2791        0x0000,     /* R138 */
2792        0x0000,     /* R139 */
2793        0x1310,     /* R140 - GPIO Function Select 1 */
2794        0x0033,     /* R141 - GPIO Function Select 2 */
2795        0x2000,     /* R142 - GPIO Function Select 3 */
2796        0x0000,     /* R143 - GPIO Function Select 4 */
2797        0x0000,     /* R144 - Digitiser Control (1) */
2798        0x0002,     /* R145 - Digitiser Control (2) */
2799        0x0000,     /* R146 */
2800        0x0000,     /* R147 */
2801        0x0000,     /* R148 */
2802        0x0000,     /* R149 */
2803        0x0000,     /* R150 */
2804        0x0000,     /* R151 */
2805        0x7000,     /* R152 - AUX1 Readback */
2806        0x7000,     /* R153 - AUX2 Readback */
2807        0x7000,     /* R154 - AUX3 Readback */
2808        0x7000,     /* R155 - AUX4 Readback */
2809        0x0000,     /* R156 - USB Voltage Readback */
2810        0x0000,     /* R157 - LINE Voltage Readback */
2811        0x0000,     /* R158 - BATT Voltage Readback */
2812        0x0000,     /* R159 - Chip Temp Readback */
2813        0x0000,     /* R160 */
2814        0x0000,     /* R161 */
2815        0x0000,     /* R162 */
2816        0x0000,     /* R163 - Generic Comparator Control */
2817        0x0000,     /* R164 - Generic comparator 1 */
2818        0x0000,     /* R165 - Generic comparator 2 */
2819        0x0000,     /* R166 - Generic comparator 3 */
2820        0x0000,     /* R167 - Generic comparator 4 */
2821        0xA00F,     /* R168 - Battery Charger Control 1 */
2822        0x0B06,     /* R169 - Battery Charger Control 2 */
2823        0x0000,     /* R170 - Battery Charger Control 3 */
2824        0x0000,     /* R171 */
2825        0x0000,     /* R172 - Current Sink Driver A */
2826        0x0000,     /* R173 - CSA Flash control */
2827        0x0000,     /* R174 - Current Sink Driver B */
2828        0x0000,     /* R175 - CSB Flash control */
2829        0x0000,     /* R176 - DCDC/LDO requested */
2830        0x032D,     /* R177 - DCDC Active options */
2831        0x0000,     /* R178 - DCDC Sleep options */
2832        0x0025,     /* R179 - Power-check comparator */
2833        0x000E,     /* R180 - DCDC1 Control */
2834        0x0800,     /* R181 - DCDC1 Timeouts */
2835        0x1006,     /* R182 - DCDC1 Low Power */
2836        0x0018,     /* R183 - DCDC2 Control */
2837        0x0000,     /* R184 - DCDC2 Timeouts */
2838        0x0000,     /* R185 */
2839        0x0056,     /* R186 - DCDC3 Control */
2840        0x1800,     /* R187 - DCDC3 Timeouts */
2841        0x0006,     /* R188 - DCDC3 Low Power */
2842        0x000E,     /* R189 - DCDC4 Control */
2843        0x1000,     /* R190 - DCDC4 Timeouts */
2844        0x0006,     /* R191 - DCDC4 Low Power */
2845        0x0008,     /* R192 - DCDC5 Control */
2846        0x0000,     /* R193 - DCDC5 Timeouts */
2847        0x0000,     /* R194 */
2848        0x0026,     /* R195 - DCDC6 Control */
2849        0x0C00,     /* R196 - DCDC6 Timeouts */
2850        0x0006,     /* R197 - DCDC6 Low Power */
2851        0x0000,     /* R198 */
2852        0x0003,     /* R199 - Limit Switch Control */
2853        0x001C,     /* R200 - LDO1 Control */
2854        0x0000,     /* R201 - LDO1 Timeouts */
2855        0x001C,     /* R202 - LDO1 Low Power */
2856        0x0006,     /* R203 - LDO2 Control */
2857        0x0400,     /* R204 - LDO2 Timeouts */
2858        0x001C,     /* R205 - LDO2 Low Power */
2859        0x001C,     /* R206 - LDO3 Control */
2860        0x1400,     /* R207 - LDO3 Timeouts */
2861        0x001C,     /* R208 - LDO3 Low Power */
2862        0x001A,     /* R209 - LDO4 Control */
2863        0x0000,     /* R210 - LDO4 Timeouts */
2864        0x001C,     /* R211 - LDO4 Low Power */
2865        0x0000,     /* R212 */
2866        0x0000,     /* R213 */
2867        0x0000,     /* R214 */
2868        0x0000,     /* R215 - VCC_FAULT Masks */
2869        0x001F,     /* R216 - Main Bandgap Control */
2870        0x0000,     /* R217 - OSC Control */
2871        0x9000,     /* R218 - RTC Tick Control */
2872        0x0000,     /* R219 - Security1 */
2873        0x4000,     /* R220 */
2874        0x0000,     /* R221 */
2875        0x0000,     /* R222 */
2876        0x0000,     /* R223 */
2877        0x0000,     /* R224 - Signal overrides */
2878        0x0000,     /* R225 - DCDC/LDO status */
2879        0x0000,     /* R226 - Charger Overides/status */
2880        0x0000,     /* R227 - misc overrides */
2881        0x0000,     /* R228 - Supply overrides/status 1 */
2882        0x0000,     /* R229 - Supply overrides/status 2 */
2883        0xE000,     /* R230 - GPIO Pin Status */
2884        0x0000,     /* R231 - comparotor overrides */
2885        0x0000,     /* R232 */
2886        0x0000,     /* R233 - State Machine status */
2887        0x1200,     /* R234 */
2888        0x0000,     /* R235 */
2889        0x8000,     /* R236 */
2890        0x0000,     /* R237 */
2891        0x0000,     /* R238 */
2892        0x0000,     /* R239 */
2893        0x0003,     /* R240 */
2894        0x0000,     /* R241 */
2895        0x0000,     /* R242 */
2896        0x0004,     /* R243 */
2897        0x0300,     /* R244 */
2898        0x0000,     /* R245 */
2899        0x0200,     /* R246 */
2900        0x0000,     /* R247 */
2901        0x1000,     /* R248 - DCDC1 Test Controls */
2902        0x5000,     /* R249 */
2903        0x1000,     /* R250 - DCDC3 Test Controls */
2904        0x1000,     /* R251 - DCDC4 Test Controls */
2905        0x5100,     /* R252 */
2906        0x1000,     /* R253 - DCDC6 Test Controls */
2907};
2908#endif
2909
2910#ifdef CONFIG_MFD_WM8352_CONFIG_MODE_3
2911
2912#undef WM8350_HAVE_CONFIG_MODE
2913#define WM8350_HAVE_CONFIG_MODE
2914
2915const u16 wm8352_mode3_defaults[] = {
2916        0x6143,     /* R0   - Reset/ID */
2917        0x0000,     /* R1   - ID */
2918        0x0002,     /* R2   - Revision */
2919        0x1C02,     /* R3   - System Control 1 */
2920        0x0204,     /* R4   - System Control 2 */
2921        0x0000,     /* R5   - System Hibernate */
2922        0x8A00,     /* R6   - Interface Control */
2923        0x0000,     /* R7 */
2924        0x8000,     /* R8   - Power mgmt (1) */
2925        0x0000,     /* R9   - Power mgmt (2) */
2926        0x0000,     /* R10  - Power mgmt (3) */
2927        0x2000,     /* R11  - Power mgmt (4) */
2928        0x0E00,     /* R12  - Power mgmt (5) */
2929        0x0000,     /* R13  - Power mgmt (6) */
2930        0x0000,     /* R14  - Power mgmt (7) */
2931        0x0000,     /* R15 */
2932        0x0000,     /* R16  - RTC Seconds/Minutes */
2933        0x0100,     /* R17  - RTC Hours/Day */
2934        0x0101,     /* R18  - RTC Date/Month */
2935        0x1400,     /* R19  - RTC Year */
2936        0x0000,     /* R20  - Alarm Seconds/Minutes */
2937        0x0000,     /* R21  - Alarm Hours/Day */
2938        0x0000,     /* R22  - Alarm Date/Month */
2939        0x0320,     /* R23  - RTC Time Control */
2940        0x0000,     /* R24  - System Interrupts */
2941        0x0000,     /* R25  - Interrupt Status 1 */
2942        0x0000,     /* R26  - Interrupt Status 2 */
2943        0x0000,     /* R27 */
2944        0x0000,     /* R28  - Under Voltage Interrupt status */
2945        0x0000,     /* R29  - Over Current Interrupt status */
2946        0x0000,     /* R30  - GPIO Interrupt Status */
2947        0x0000,     /* R31  - Comparator Interrupt Status */
2948        0x3FFF,     /* R32  - System Interrupts Mask */
2949        0x0000,     /* R33  - Interrupt Status 1 Mask */
2950        0x0000,     /* R34  - Interrupt Status 2 Mask */
2951        0x0000,     /* R35 */
2952        0x0000,     /* R36  - Under Voltage Interrupt status Mask */
2953        0x0000,     /* R37  - Over Current Interrupt status Mask */
2954        0x0000,     /* R38  - GPIO Interrupt Status Mask */
2955        0x0000,     /* R39  - Comparator Interrupt Status Mask */
2956        0x0040,     /* R40  - Clock Control 1 */
2957        0x0000,     /* R41  - Clock Control 2 */
2958        0x3A00,     /* R42  - FLL Control 1 */
2959        0x7086,     /* R43  - FLL Control 2 */
2960        0xC226,     /* R44  - FLL Control 3 */
2961        0x0000,     /* R45  - FLL Control 4 */
2962        0x0000,     /* R46 */
2963        0x0000,     /* R47 */
2964        0x0000,     /* R48  - DAC Control */
2965        0x0000,     /* R49 */
2966        0x00C0,     /* R50  - DAC Digital Volume L */
2967        0x00C0,     /* R51  - DAC Digital Volume R */
2968        0x0000,     /* R52 */
2969        0x0040,     /* R53  - DAC LR Rate */
2970        0x0000,     /* R54  - DAC Clock Control */
2971        0x0000,     /* R55 */
2972        0x0000,     /* R56 */
2973        0x0000,     /* R57 */
2974        0x4000,     /* R58  - DAC Mute */
2975        0x0000,     /* R59  - DAC Mute Volume */
2976        0x0000,     /* R60  - DAC Side */
2977        0x0000,     /* R61 */
2978        0x0000,     /* R62 */
2979        0x0000,     /* R63 */
2980        0x8000,     /* R64  - ADC Control */
2981        0x0000,     /* R65 */
2982        0x00C0,     /* R66  - ADC Digital Volume L */
2983        0x00C0,     /* R67  - ADC Digital Volume R */
2984        0x0000,     /* R68  - ADC Divider */
2985        0x0000,     /* R69 */
2986        0x0040,     /* R70  - ADC LR Rate */
2987        0x0000,     /* R71 */
2988        0x0303,     /* R72  - Input Control */
2989        0x0000,     /* R73  - IN3 Input Control */
2990        0x0000,     /* R74  - Mic Bias Control */
2991        0x0000,     /* R75 */
2992        0x0000,     /* R76  - Output Control */
2993        0x0000,     /* R77  - Jack Detect */
2994        0x0000,     /* R78  - Anti Pop Control */
2995        0x0000,     /* R79 */
2996        0x0040,     /* R80  - Left Input Volume */
2997        0x0040,     /* R81  - Right Input Volume */
2998        0x0000,     /* R82 */
2999        0x0000,     /* R83 */
3000        0x0000,     /* R84 */
3001        0x0000,     /* R85 */
3002        0x0000,     /* R86 */
3003        0x0000,     /* R87 */
3004        0x0800,     /* R88  - Left Mixer Control */
3005        0x1000,     /* R89  - Right Mixer Control */
3006        0x0000,     /* R90 */
3007        0x0000,     /* R91 */
3008        0x0000,     /* R92  - OUT3 Mixer Control */
3009        0x0000,     /* R93  - OUT4 Mixer Control */
3010        0x0000,     /* R94 */
3011        0x0000,     /* R95 */
3012        0x0000,     /* R96  - Output Left Mixer Volume */
3013        0x0000,     /* R97  - Output Right Mixer Volume */
3014        0x0000,     /* R98  - Input Mixer Volume L */
3015        0x0000,     /* R99  - Input Mixer Volume R */
3016        0x0000,     /* R100 - Input Mixer Volume */
3017        0x0000,     /* R101 */
3018        0x0000,     /* R102 */
3019        0x0000,     /* R103 */
3020        0x00E4,     /* R104 - OUT1L Volume */
3021        0x00E4,     /* R105 - OUT1R Volume */
3022        0x00E4,     /* R106 - OUT2L Volume */
3023        0x02E4,     /* R107 - OUT2R Volume */
3024        0x0000,     /* R108 */
3025        0x0000,     /* R109 */
3026        0x0000,     /* R110 */
3027        0x0000,     /* R111 - BEEP Volume */
3028        0x0A00,     /* R112 - AI Formating */
3029        0x0000,     /* R113 - ADC DAC COMP */
3030        0x0020,     /* R114 - AI ADC Control */
3031        0x0020,     /* R115 - AI DAC Control */
3032        0x0000,     /* R116 */
3033        0x0000,     /* R117 */
3034        0x0000,     /* R118 */
3035        0x0000,     /* R119 */
3036        0x0000,     /* R120 */
3037        0x0000,     /* R121 */
3038        0x0000,     /* R122 */
3039        0x0000,     /* R123 */
3040        0x0000,     /* R124 */
3041        0x0000,     /* R125 */
3042        0x0000,     /* R126 */
3043        0x0000,     /* R127 */
3044        0x1FFF,     /* R128 - GPIO Debounce */
3045        0x0010,     /* R129 - GPIO Pin pull up Control */
3046        0x0000,     /* R130 - GPIO Pull down Control */
3047        0x0000,     /* R131 - GPIO Interrupt Mode */
3048        0x0000,     /* R132 */
3049        0x0000,     /* R133 - GPIO Control */
3050        0x0BFB,     /* R134 - GPIO Configuration (i/o) */
3051        0x0FFD,     /* R135 - GPIO Pin Polarity / Type */
3052        0x0000,     /* R136 */
3053        0x0000,     /* R137 */
3054        0x0000,     /* R138 */
3055        0x0000,     /* R139 */
3056        0x0310,     /* R140 - GPIO Function Select 1 */
3057        0x0001,     /* R141 - GPIO Function Select 2 */
3058        0x2300,     /* R142 - GPIO Function Select 3 */
3059        0x0003,     /* R143 - GPIO Function Select 4 */
3060        0x0000,     /* R144 - Digitiser Control (1) */
3061        0x0002,     /* R145 - Digitiser Control (2) */
3062        0x0000,     /* R146 */
3063        0x0000,     /* R147 */
3064        0x0000,     /* R148 */
3065        0x0000,     /* R149 */
3066        0x0000,     /* R150 */
3067        0x0000,     /* R151 */
3068        0x7000,     /* R152 - AUX1 Readback */
3069        0x7000,     /* R153 - AUX2 Readback */
3070        0x7000,     /* R154 - AUX3 Readback */
3071        0x7000,     /* R155 - AUX4 Readback */
3072        0x0000,     /* R156 - USB Voltage Readback */
3073        0x0000,     /* R157 - LINE Voltage Readback */
3074        0x0000,     /* R158 - BATT Voltage Readback */
3075        0x0000,     /* R159 - Chip Temp Readback */
3076        0x0000,     /* R160 */
3077        0x0000,     /* R161 */
3078        0x0000,     /* R162 */
3079        0x0000,     /* R163 - Generic Comparator Control */
3080        0x0000,     /* R164 - Generic comparator 1 */
3081        0x0000,     /* R165 - Generic comparator 2 */
3082        0x0000,     /* R166 - Generic comparator 3 */
3083        0x0000,     /* R167 - Generic comparator 4 */
3084        0xA00F,     /* R168 - Battery Charger Control 1 */
3085        0x0B06,     /* R169 - Battery Charger Control 2 */
3086        0x0000,     /* R170 - Battery Charger Control 3 */
3087        0x0000,     /* R171 */
3088        0x0000,     /* R172 - Current Sink Driver A */
3089        0x0000,     /* R173 - CSA Flash control */
3090        0x0000,     /* R174 - Current Sink Driver B */
3091        0x0000,     /* R175 - CSB Flash control */
3092        0x0000,     /* R176 - DCDC/LDO requested */
3093        0x032D,     /* R177 - DCDC Active options */
3094        0x0000,     /* R178 - DCDC Sleep options */
3095        0x0025,     /* R179 - Power-check comparator */
3096        0x0006,     /* R180 - DCDC1 Control */
3097        0x0400,     /* R181 - DCDC1 Timeouts */
3098        0x1006,     /* R182 - DCDC1 Low Power */
3099        0x0018,     /* R183 - DCDC2 Control */
3100        0x0000,     /* R184 - DCDC2 Timeouts */
3101        0x0000,     /* R185 */
3102        0x0050,     /* R186 - DCDC3 Control */
3103        0x0C00,     /* R187 - DCDC3 Timeouts */
3104        0x0006,     /* R188 - DCDC3 Low Power */
3105        0x000E,     /* R189 - DCDC4 Control */
3106        0x0400,     /* R190 - DCDC4 Timeouts */
3107        0x0006,     /* R191 - DCDC4 Low Power */
3108        0x0008,     /* R192 - DCDC5 Control */
3109        0x0000,     /* R193 - DCDC5 Timeouts */
3110        0x0000,     /* R194 */
3111        0x0029,     /* R195 - DCDC6 Control */
3112        0x0800,     /* R196 - DCDC6 Timeouts */
3113        0x0006,     /* R197 - DCDC6 Low Power */
3114        0x0000,     /* R198 */
3115        0x0003,     /* R199 - Limit Switch Control */
3116        0x001D,     /* R200 - LDO1 Control */
3117        0x1000,     /* R201 - LDO1 Timeouts */
3118        0x001C,     /* R202 - LDO1 Low Power */
3119        0x0017,     /* R203 - LDO2 Control */
3120        0x1000,     /* R204 - LDO2 Timeouts */
3121        0x001C,     /* R205 - LDO2 Low Power */
3122        0x0006,     /* R206 - LDO3 Control */
3123        0x1000,     /* R207 - LDO3 Timeouts */
3124        0x001C,     /* R208 - LDO3 Low Power */
3125        0x0010,     /* R209 - LDO4 Control */
3126        0x1000,     /* R210 - LDO4 Timeouts */
3127        0x001C,     /* R211 - LDO4 Low Power */
3128        0x0000,     /* R212 */
3129        0x0000,     /* R213 */
3130        0x0000,     /* R214 */
3131        0x0000,     /* R215 - VCC_FAULT Masks */
3132        0x001F,     /* R216 - Main Bandgap Control */
3133        0x0000,     /* R217 - OSC Control */
3134        0x9000,     /* R218 - RTC Tick Control */
3135        0x0000,     /* R219 - Security1 */
3136        0x4000,     /* R220 */
3137        0x0000,     /* R221 */
3138        0x0000,     /* R222 */
3139        0x0000,     /* R223 */
3140        0x0000,     /* R224 - Signal overrides */
3141        0x0000,     /* R225 - DCDC/LDO status */
3142        0x0000,     /* R226 - Charger Overides/status */
3143        0x0000,     /* R227 - misc overrides */
3144        0x0000,     /* R228 - Supply overrides/status 1 */
3145        0x0000,     /* R229 - Supply overrides/status 2 */
3146        0xE000,     /* R230 - GPIO Pin Status */
3147        0x0000,     /* R231 - comparotor overrides */
3148        0x0000,     /* R232 */
3149        0x0000,     /* R233 - State Machine status */
3150        0x1200,     /* R234 */
3151        0x0000,     /* R235 */
3152        0x8000,     /* R236 */
3153        0x0000,     /* R237 */
3154        0x0000,     /* R238 */
3155        0x0000,     /* R239 */
3156        0x0003,     /* R240 */
3157        0x0000,     /* R241 */
3158        0x0000,     /* R242 */
3159        0x0004,     /* R243 */
3160        0x0300,     /* R244 */
3161        0x0000,     /* R245 */
3162        0x0200,     /* R246 */
3163        0x0000,     /* R247 */
3164        0x1000,     /* R248 - DCDC1 Test Controls */
3165        0x5000,     /* R249 */
3166        0x1000,     /* R250 - DCDC3 Test Controls */
3167        0x1000,     /* R251 - DCDC4 Test Controls */
3168        0x5100,     /* R252 */
3169        0x1000,     /* R253 - DCDC6 Test Controls */
3170};
3171#endif
3172
3173/*
3174 * Access masks.
3175 */
3176
3177const struct wm8350_reg_access wm8350_reg_io_map[] = {
3178        /*  read    write volatile */
3179        { 0xFFFF, 0xFFFF, 0xFFFF }, /* R0   - Reset/ID */
3180        { 0x7CFF, 0x0C00, 0x7FFF }, /* R1   - ID */
3181        { 0x007F, 0x0000, 0x0000 }, /* R2   - ROM Mask ID */
3182        { 0xBE3B, 0xBE3B, 0x8000 }, /* R3   - System Control 1 */
3183        { 0xFEF7, 0xFEF7, 0xF800 }, /* R4   - System Control 2 */
3184        { 0x80FF, 0x80FF, 0x8000 }, /* R5   - System Hibernate */
3185        { 0xFB0E, 0xFB0E, 0x0000 }, /* R6   - Interface Control */
3186        { 0x0000, 0x0000, 0x0000 }, /* R7 */
3187        { 0xE537, 0xE537, 0xFFFF }, /* R8   - Power mgmt (1) */
3188        { 0x0FF3, 0x0FF3, 0xFFFF }, /* R9   - Power mgmt (2) */
3189        { 0x008F, 0x008F, 0xFFFF }, /* R10  - Power mgmt (3) */
3190        { 0x6D3C, 0x6D3C, 0xFFFF }, /* R11  - Power mgmt (4) */
3191        { 0x1F8F, 0x1F8F, 0xFFFF }, /* R12  - Power mgmt (5) */
3192        { 0x8F3F, 0x8F3F, 0xFFFF }, /* R13  - Power mgmt (6) */
3193        { 0x0003, 0x0003, 0xFFFF }, /* R14  - Power mgmt (7) */
3194        { 0x0000, 0x0000, 0x0000 }, /* R15 */
3195        { 0x7F7F, 0x7F7F, 0xFFFF }, /* R16  - RTC Seconds/Minutes */
3196        { 0x073F, 0x073F, 0xFFFF }, /* R17  - RTC Hours/Day */
3197        { 0x1F3F, 0x1F3F, 0xFFFF }, /* R18  - RTC Date/Month */
3198        { 0x3FFF, 0x00FF, 0xFFFF }, /* R19  - RTC Year */
3199        { 0x7F7F, 0x7F7F, 0x0000 }, /* R20  - Alarm Seconds/Minutes */
3200        { 0x0F3F, 0x0F3F, 0x0000 }, /* R21  - Alarm Hours/Day */
3201        { 0x1F3F, 0x1F3F, 0x0000 }, /* R22  - Alarm Date/Month */
3202        { 0xEF7F, 0xEA7F, 0xFFFF }, /* R23  - RTC Time Control */
3203        { 0x3BFF, 0x0000, 0xFFFF }, /* R24  - System Interrupts */
3204        { 0xFEE7, 0x0000, 0xFFFF }, /* R25  - Interrupt Status 1 */
3205        { 0x35FF, 0x0000, 0xFFFF }, /* R26  - Interrupt Status 2 */
3206        { 0x0F3F, 0x0000, 0xFFFF }, /* R27  - Power Up Interrupt Status */
3207        { 0x0F3F, 0x0000, 0xFFFF }, /* R28  - Under Voltage Interrupt status */
3208        { 0x8000, 0x0000, 0xFFFF }, /* R29  - Over Current Interrupt status */
3209        { 0x1FFF, 0x0000, 0xFFFF }, /* R30  - GPIO Interrupt Status */
3210        { 0xEF7F, 0x0000, 0xFFFF }, /* R31  - Comparator Interrupt Status */
3211        { 0x3FFF, 0x3FFF, 0x0000 }, /* R32  - System Interrupts Mask */
3212        { 0xFEE7, 0xFEE7, 0x0000 }, /* R33  - Interrupt Status 1 Mask */
3213        { 0xF5FF, 0xF5FF, 0x0000 }, /* R34  - Interrupt Status 2 Mask */
3214        { 0x0F3F, 0x0F3F, 0x0000 }, /* R35  - Power Up Interrupt Status Mask */
3215        { 0x0F3F, 0x0F3F, 0x0000 }, /* R36  - Under Voltage Int status Mask */
3216        { 0x8000, 0x8000, 0x0000 }, /* R37  - Over Current Int status Mask */
3217        { 0x1FFF, 0x1FFF, 0x0000 }, /* R38  - GPIO Interrupt Status Mask */
3218        { 0xEF7F, 0xEF7F, 0x0000 }, /* R39  - Comparator IntStatus Mask */
3219        { 0xC9F7, 0xC9F7, 0xFFFF }, /* R40  - Clock Control 1 */
3220        { 0x8001, 0x8001, 0x0000 }, /* R41  - Clock Control 2 */
3221        { 0xFFF7, 0xFFF7, 0xFFFF }, /* R42  - FLL Control 1 */
3222        { 0xFBFF, 0xFBFF, 0x0000 }, /* R43  - FLL Control 2 */
3223        { 0xFFFF, 0xFFFF, 0x0000 }, /* R44  - FLL Control 3 */
3224        { 0x0033, 0x0033, 0x0000 }, /* R45  - FLL Control 4 */
3225        { 0x0000, 0x0000, 0x0000 }, /* R46 */
3226        { 0x0000, 0x0000, 0x0000 }, /* R47 */
3227        { 0x3033, 0x3033, 0x0000 }, /* R48  - DAC Control */
3228        { 0x0000, 0x0000, 0x0000 }, /* R49 */
3229        { 0x81FF, 0x81FF, 0xFFFF }, /* R50  - DAC Digital Volume L */
3230        { 0x81FF, 0x81FF, 0xFFFF }, /* R51  - DAC Digital Volume R */
3231        { 0x0000, 0x0000, 0x0000 }, /* R52 */
3232        { 0x0FFF, 0x0FFF, 0xFFFF }, /* R53  - DAC LR Rate */
3233        { 0x0017, 0x0017, 0x0000 }, /* R54  - DAC Clock Control */
3234        { 0x0000, 0x0000, 0x0000 }, /* R55 */
3235        { 0x0000, 0x0000, 0x0000 }, /* R56 */
3236        { 0x0000, 0x0000, 0x0000 }, /* R57 */
3237        { 0x4000, 0x4000, 0x0000 }, /* R58  - DAC Mute */
3238        { 0x7000, 0x7000, 0x0000 }, /* R59  - DAC Mute Volume */
3239        { 0x3C00, 0x3C00, 0x0000 }, /* R60  - DAC Side */
3240        { 0x0000, 0x0000, 0x0000 }, /* R61 */
3241        { 0x0000, 0x0000, 0x0000 }, /* R62 */
3242        { 0x0000, 0x0000, 0x0000 }, /* R63 */
3243        { 0x8303, 0x8303, 0xFFFF }, /* R64  - ADC Control */
3244        { 0x0000, 0x0000, 0x0000 }, /* R65 */
3245        { 0x81FF, 0x81FF, 0xFFFF }, /* R66  - ADC Digital Volume L */
3246        { 0x81FF, 0x81FF, 0xFFFF }, /* R67  - ADC Digital Volume R */
3247        { 0x0FFF, 0x0FFF, 0x0000 }, /* R68  - ADC Divider */
3248        { 0x0000, 0x0000, 0x0000 }, /* R69 */
3249        { 0x0FFF, 0x0FFF, 0xFFFF }, /* R70  - ADC LR Rate */
3250        { 0x0000, 0x0000, 0x0000 }, /* R71 */
3251        { 0x0707, 0x0707, 0xFFFF }, /* R72  - Input Control */
3252        { 0xC0C0, 0xC0C0, 0xFFFF }, /* R73  - IN3 Input Control */
3253        { 0xC09F, 0xC09F, 0xFFFF }, /* R74  - Mic Bias Control */
3254        { 0x0000, 0x0000, 0x0000 }, /* R75 */
3255        { 0x0F15, 0x0F15, 0xFFFF }, /* R76  - Output Control */
3256        { 0xC000, 0xC000, 0xFFFF }, /* R77  - Jack Detect */
3257        { 0x03FF, 0x03FF, 0x0000 }, /* R78  - Anti Pop Control */
3258        { 0x0000, 0x0000, 0x0000 }, /* R79 */
3259        { 0xE1FC, 0xE1FC, 0x8000 }, /* R80  - Left Input Volume */
3260        { 0xE1FC, 0xE1FC, 0x8000 }, /* R81  - Right Input Volume */
3261        { 0x0000, 0x0000, 0x0000 }, /* R82 */
3262        { 0x0000, 0x0000, 0x0000 }, /* R83 */
3263        { 0x0000, 0x0000, 0x0000 }, /* R84 */
3264        { 0x0000, 0x0000, 0x0000 }, /* R85 */
3265        { 0x0000, 0x0000, 0x0000 }, /* R86 */
3266        { 0x0000, 0x0000, 0x0000 }, /* R87 */
3267        { 0x9807, 0x9807, 0xFFFF }, /* R88  - Left Mixer Control */
3268        { 0x980B, 0x980B, 0xFFFF }, /* R89  - Right Mixer Control */
3269        { 0x0000, 0x0000, 0x0000 }, /* R90 */
3270        { 0x0000, 0x0000, 0x0000 }, /* R91 */
3271        { 0x8909, 0x8909, 0xFFFF }, /* R92  - OUT3 Mixer Control */
3272        { 0x9E07, 0x9E07, 0xFFFF }, /* R93  - OUT4 Mixer Control */
3273        { 0x0000, 0x0000, 0x0000 }, /* R94 */
3274        { 0x0000, 0x0000, 0x0000 }, /* R95 */
3275        { 0x0EEE, 0x0EEE, 0x0000 }, /* R96  - Output Left Mixer Volume */
3276        { 0xE0EE, 0xE0EE, 0x0000 }, /* R97  - Output Right Mixer Volume */
3277        { 0x0E0F, 0x0E0F, 0x0000 }, /* R98  - Input Mixer Volume L */
3278        { 0xE0E1, 0xE0E1, 0x0000 }, /* R99  - Input Mixer Volume R */
3279        { 0x800E, 0x800E, 0x0000 }, /* R100 - Input Mixer Volume */
3280        { 0x0000, 0x0000, 0x0000 }, /* R101 */
3281        { 0x0000, 0x0000, 0x0000 }, /* R102 */
3282        { 0x0000, 0x0000, 0x0000 }, /* R103 */
3283        { 0xE1FC, 0xE1FC, 0xFFFF }, /* R104 - LOUT1 Volume */
3284        { 0xE1FC, 0xE1FC, 0xFFFF }, /* R105 - ROUT1 Volume */
3285        { 0xE1FC, 0xE1FC, 0xFFFF }, /* R106 - LOUT2 Volume */
3286        { 0xE7FC, 0xE7FC, 0xFFFF }, /* R107 - ROUT2 Volume */
3287        { 0x0000, 0x0000, 0x0000 }, /* R108 */
3288        { 0x0000, 0x0000, 0x0000 }, /* R109 */
3289        { 0x0000, 0x0000, 0x0000 }, /* R110 */
3290        { 0x80E0, 0x80E0, 0xFFFF }, /* R111 - BEEP Volume */
3291        { 0xBF00, 0xBF00, 0x0000 }, /* R112 - AI Formating */
3292        { 0x00F1, 0x00F1, 0x0000 }, /* R113 - ADC DAC COMP */
3293        { 0x00F8, 0x00F8, 0x0000 }, /* R114 - AI ADC Control */
3294        { 0x40FB, 0x40FB, 0x0000 }, /* R115 - AI DAC Control */
3295        { 0x7C30, 0x7C30, 0x0000 }, /* R116 - AIF Test */
3296        { 0x0000, 0x0000, 0x0000 }, /* R117 */
3297        { 0x0000, 0x0000, 0x0000 }, /* R118 */
3298        { 0x0000, 0x0000, 0x0000 }, /* R119 */
3299        { 0x0000, 0x0000, 0x0000 }, /* R120 */
3300        { 0x0000, 0x0000, 0x0000 }, /* R121 */
3301        { 0x0000, 0x0000, 0x0000 }, /* R122 */
3302        { 0x0000, 0x0000, 0x0000 }, /* R123 */
3303        { 0x0000, 0x0000, 0x0000 }, /* R124 */
3304        { 0x0000, 0x0000, 0x0000 }, /* R125 */
3305        { 0x0000, 0x0000, 0x0000 }, /* R126 */
3306        { 0x0000, 0x0000, 0x0000 }, /* R127 */
3307        { 0x1FFF, 0x1FFF, 0x0000 }, /* R128 - GPIO Debounce */
3308        { 0x1FFF, 0x1FFF, 0x0000 }, /* R129 - GPIO Pin pull up Control */
3309        { 0x1FFF, 0x1FFF, 0x0000 }, /* R130 - GPIO Pull down Control */
3310        { 0x1FFF, 0x1FFF, 0x0000 }, /* R131 - GPIO Interrupt Mode */
3311        { 0x0000, 0x0000, 0x0000 }, /* R132 */
3312        { 0x00C0, 0x00C0, 0x0000 }, /* R133 - GPIO Control */
3313        { 0x1FFF, 0x1FFF, 0x0000 }, /* R134 - GPIO Configuration (i/o) */
3314        { 0x1FFF, 0x1FFF, 0x0000 }, /* R135 - GPIO Pin Polarity / Type */
3315        { 0x0000, 0x0000, 0x0000 }, /* R136 */
3316        { 0x0000, 0x0000, 0x0000 }, /* R137 */
3317        { 0x0000, 0x0000, 0x0000 }, /* R138 */
3318        { 0x0000, 0x0000, 0x0000 }, /* R139 */
3319        { 0xFFFF, 0xFFFF, 0x0000 }, /* R140 - GPIO Function Select 1 */
3320        { 0xFFFF, 0xFFFF, 0x0000 }, /* R141 - GPIO Function Select 2 */
3321        { 0xFFFF, 0xFFFF, 0x0000 }, /* R142 - GPIO Function Select 3 */
3322        { 0x000F, 0x000F, 0x0000 }, /* R143 - GPIO Function Select 4 */
3323        { 0xF0FF, 0xF0FF, 0xA000 }, /* R144 - Digitiser Control (1) */
3324        { 0x3707, 0x3707, 0x0000 }, /* R145 - Digitiser Control (2) */
3325        { 0x0000, 0x0000, 0x0000 }, /* R146 */
3326        { 0x0000, 0x0000, 0x0000 }, /* R147 */
3327        { 0x0000, 0x0000, 0x0000 }, /* R148 */
3328        { 0x0000, 0x0000, 0x0000 }, /* R149 */
3329        { 0x0000, 0x0000, 0x0000 }, /* R150 */
3330        { 0x0000, 0x0000, 0x0000 }, /* R151 */
3331        { 0x7FFF, 0x7000, 0xFFFF }, /* R152 - AUX1 Readback */
3332        { 0x7FFF, 0x7000, 0xFFFF }, /* R153 - AUX2 Readback */
3333        { 0x7FFF, 0x7000, 0xFFFF }, /* R154 - AUX3 Readback */
3334        { 0x7FFF, 0x7000, 0xFFFF }, /* R155 - AUX4 Readback */
3335        { 0x0FFF, 0x0000, 0xFFFF }, /* R156 - USB Voltage Readback */
3336        { 0x0FFF, 0x0000, 0xFFFF }, /* R157 - LINE Voltage Readback */
3337        { 0x0FFF, 0x0000, 0xFFFF }, /* R158 - BATT Voltage Readback */
3338        { 0x0FFF, 0x0000, 0xFFFF }, /* R159 - Chip Temp Readback */
3339        { 0x0000, 0x0000, 0x0000 }, /* R160 */
3340        { 0x0000, 0x0000, 0x0000 }, /* R161 */
3341        { 0x0000, 0x0000, 0x0000 }, /* R162 */
3342        { 0x000F, 0x000F, 0x0000 }, /* R163 - Generic Comparator Control */
3343        { 0xFFFF, 0xFFFF, 0x0000 }, /* R164 - Generic comparator 1 */
3344        { 0xFFFF, 0xFFFF, 0x0000 }, /* R165 - Generic comparator 2 */
3345        { 0xFFFF, 0xFFFF, 0x0000 }, /* R166 - Generic comparator 3 */
3346        { 0xFFFF, 0xFFFF, 0x0000 }, /* R167 - Generic comparator 4 */
3347        { 0xBFFF, 0xBFFF, 0x8000 }, /* R168 - Battery Charger Control 1 */
3348        { 0xFFFF, 0x4FFF, 0xB000 }, /* R169 - Battery Charger Control 2 */
3349        { 0x007F, 0x007F, 0x0000 }, /* R170 - Battery Charger Control 3 */
3350        { 0x0000, 0x0000, 0x0000 }, /* R171 */
3351        { 0x903F, 0x903F, 0xFFFF }, /* R172 - Current Sink Driver A */
3352        { 0xE333, 0xE333, 0xFFFF }, /* R173 - CSA Flash control */
3353        { 0x903F, 0x903F, 0xFFFF }, /* R174 - Current Sink Driver B */
3354        { 0xE333, 0xE333, 0xFFFF }, /* R175 - CSB Flash control */
3355        { 0x8F3F, 0x8F3F, 0xFFFF }, /* R176 - DCDC/LDO requested */
3356        { 0x332D, 0x332D, 0x0000 }, /* R177 - DCDC Active options */
3357        { 0x002D, 0x002D, 0x0000 }, /* R178 - DCDC Sleep options */
3358        { 0x5177, 0x5177, 0x8000 }, /* R179 - Power-check comparator */
3359        { 0x047F, 0x047F, 0x0000 }, /* R180 - DCDC1 Control */
3360        { 0xFFC0, 0xFFC0, 0x0000 }, /* R181 - DCDC1 Timeouts */
3361        { 0x737F, 0x737F, 0x0000 }, /* R182 - DCDC1 Low Power */
3362        { 0x535B, 0x535B, 0x0000 }, /* R183 - DCDC2 Control */
3363        { 0xFFC0, 0xFFC0, 0x0000 }, /* R184 - DCDC2 Timeouts */
3364        { 0x0000, 0x0000, 0x0000 }, /* R185 */
3365        { 0x047F, 0x047F, 0x0000 }, /* R186 - DCDC3 Control */
3366        { 0xFFC0, 0xFFC0, 0x0000 }, /* R187 - DCDC3 Timeouts */
3367        { 0x737F, 0x737F, 0x0000 }, /* R188 - DCDC3 Low Power */
3368        { 0x047F, 0x047F, 0x0000 }, /* R189 - DCDC4 Control */
3369        { 0xFFC0, 0xFFC0, 0x0000 }, /* R190 - DCDC4 Timeouts */
3370        { 0x737F, 0x737F, 0x0000 }, /* R191 - DCDC4 Low Power */
3371        { 0x535B, 0x535B, 0x0000 }, /* R192 - DCDC5 Control */
3372        { 0xFFC0, 0xFFC0, 0x0000 }, /* R193 - DCDC5 Timeouts */
3373        { 0x0000, 0x0000, 0x0000 }, /* R194 */
3374        { 0x047F, 0x047F, 0x0000 }, /* R195 - DCDC6 Control */
3375        { 0xFFC0, 0xFFC0, 0x0000 }, /* R196 - DCDC6 Timeouts */
3376        { 0x737F, 0x737F, 0x0000 }, /* R197 - DCDC6 Low Power */
3377        { 0x0000, 0x0000, 0x0000 }, /* R198 */
3378        { 0xFFD3, 0xFFD3, 0x0000 }, /* R199 - Limit Switch Control */
3379        { 0x441F, 0x441F, 0x0000 }, /* R200 - LDO1 Control */
3380        { 0xFFC0, 0xFFC0, 0x0000 }, /* R201 - LDO1 Timeouts */
3381        { 0x331F, 0x331F, 0x0000 }, /* R202 - LDO1 Low Power */
3382        { 0x441F, 0x441F, 0x0000 }, /* R203 - LDO2 Control */
3383        { 0xFFC0, 0xFFC0, 0x0000 }, /* R204 - LDO2 Timeouts */
3384        { 0x331F, 0x331F, 0x0000 }, /* R205 - LDO2 Low Power */
3385        { 0x441F, 0x441F, 0x0000 }, /* R206 - LDO3 Control */
3386        { 0xFFC0, 0xFFC0, 0x0000 }, /* R207 - LDO3 Timeouts */
3387        { 0x331F, 0x331F, 0x0000 }, /* R208 - LDO3 Low Power */
3388        { 0x441F, 0x441F, 0x0000 }, /* R209 - LDO4 Control */
3389        { 0xFFC0, 0xFFC0, 0x0000 }, /* R210 - LDO4 Timeouts */
3390        { 0x331F, 0x331F, 0x0000 }, /* R211 - LDO4 Low Power */
3391        { 0x0000, 0x0000, 0x0000 }, /* R212 */
3392        { 0x0000, 0x0000, 0x0000 }, /* R213 */
3393        { 0x0000, 0x0000, 0x0000 }, /* R214 */
3394        { 0x8F3F, 0x8F3F, 0x0000 }, /* R215 - VCC_FAULT Masks */
3395        { 0xFF3F, 0xE03F, 0x0000 }, /* R216 - Main Bandgap Control */
3396        { 0xEF2F, 0xE02F, 0x0000 }, /* R217 - OSC Control */
3397        { 0xF3FF, 0xB3FF, 0xc000 }, /* R218 - RTC Tick Control */
3398        { 0xFFFF, 0xFFFF, 0x0000 }, /* R219 - Security */
3399        { 0x09FF, 0x01FF, 0x0000 }, /* R220 - RAM BIST 1 */
3400        { 0x0000, 0x0000, 0x0000 }, /* R221 */
3401        { 0xFFFF, 0xFFFF, 0xFFFF }, /* R222 */
3402        { 0xFFFF, 0xFFFF, 0xFFFF }, /* R223 */
3403        { 0x0000, 0x0000, 0x0000 }, /* R224 */
3404        { 0x8F3F, 0x0000, 0xFFFF }, /* R225 - DCDC/LDO status */
3405        { 0x0000, 0x0000, 0xFFFF }, /* R226 - Charger status */
3406        { 0x34FE, 0x0000, 0xFFFF }, /* R227 */
3407        { 0x0000, 0x0000, 0x0000 }, /* R228 */
3408        { 0x0000, 0x0000, 0x0000 }, /* R229 */
3409        { 0xFFFF, 0x1FFF, 0xFFFF }, /* R230 - GPIO Pin Status */
3410        { 0xFFFF, 0x1FFF, 0xFFFF }, /* R231 */
3411        { 0xFFFF, 0x1FFF, 0xFFFF }, /* R232 */
3412        { 0xFFFF, 0x1FFF, 0xFFFF }, /* R233 */
3413        { 0x0000, 0x0000, 0x0000 }, /* R234 */
3414        { 0x0000, 0x0000, 0x0000 }, /* R235 */
3415        { 0x0000, 0x0000, 0x0000 }, /* R236 */
3416        { 0x0000, 0x0000, 0x0000 }, /* R237 */
3417        { 0x0000, 0x0000, 0x0000 }, /* R238 */
3418        { 0x0000, 0x0000, 0x0000 }, /* R239 */
3419        { 0x0000, 0x0000, 0x0000 }, /* R240 */
3420        { 0x0000, 0x0000, 0x0000 }, /* R241 */
3421        { 0x0000, 0x0000, 0x0000 }, /* R242 */
3422        { 0x0000, 0x0000, 0x0000 }, /* R243 */
3423        { 0x0000, 0x0000, 0x0000 }, /* R244 */
3424        { 0x0000, 0x0000, 0x0000 }, /* R245 */
3425        { 0x0000, 0x0000, 0x0000 }, /* R246 */
3426        { 0x0000, 0x0000, 0x0000 }, /* R247 */
3427        { 0xFFFF, 0x0010, 0xFFFF }, /* R248 */
3428        { 0x0000, 0x0000, 0x0000 }, /* R249 */
3429        { 0xFFFF, 0x0010, 0xFFFF }, /* R250 */
3430        { 0xFFFF, 0x0010, 0xFFFF }, /* R251 */
3431        { 0x0000, 0x0000, 0x0000 }, /* R252 */
3432        { 0xFFFF, 0x0010, 0xFFFF }, /* R253 */
3433        { 0x0000, 0x0000, 0x0000 }, /* R254 */
3434        { 0x0000, 0x0000, 0x0000 }, /* R255 */
3435};
3436