189b4012bSMark Brown /* 289b4012bSMark Brown * wm8350-regmap.c -- Wolfson Microelectronics WM8350 register map 389b4012bSMark Brown * 489b4012bSMark Brown * This file splits out the tables describing the defaults and access 589b4012bSMark Brown * status of the WM8350 registers since they are rather large. 689b4012bSMark Brown * 789b4012bSMark Brown * Copyright 2007, 2008 Wolfson Microelectronics PLC. 889b4012bSMark Brown * 989b4012bSMark Brown * This program is free software; you can redistribute it and/or modify it 1089b4012bSMark Brown * under the terms of the GNU General Public License as published by the 1189b4012bSMark Brown * Free Software Foundation; either version 2 of the License, or (at your 1289b4012bSMark Brown * option) any later version. 1389b4012bSMark Brown */ 1489b4012bSMark Brown 1589b4012bSMark Brown #include <linux/mfd/wm8350/core.h> 1689b4012bSMark Brown 1789b4012bSMark Brown #ifdef CONFIG_MFD_WM8350_CONFIG_MODE_0 1889b4012bSMark Brown 1989b4012bSMark Brown #undef WM8350_HAVE_CONFIG_MODE 2089b4012bSMark Brown #define WM8350_HAVE_CONFIG_MODE 2189b4012bSMark Brown 2289b4012bSMark Brown const u16 wm8350_mode0_defaults[] = { 2389b4012bSMark Brown 0x17FF, /* R0 - Reset/ID */ 2489b4012bSMark Brown 0x1000, /* R1 - ID */ 2589b4012bSMark Brown 0x0000, /* R2 */ 2689b4012bSMark Brown 0x1002, /* R3 - System Control 1 */ 2789b4012bSMark Brown 0x0004, /* R4 - System Control 2 */ 2889b4012bSMark Brown 0x0000, /* R5 - System Hibernate */ 2989b4012bSMark Brown 0x8A00, /* R6 - Interface Control */ 3089b4012bSMark Brown 0x0000, /* R7 */ 3189b4012bSMark Brown 0x8000, /* R8 - Power mgmt (1) */ 3289b4012bSMark Brown 0x0000, /* R9 - Power mgmt (2) */ 3389b4012bSMark Brown 0x0000, /* R10 - Power mgmt (3) */ 3489b4012bSMark Brown 0x2000, /* R11 - Power mgmt (4) */ 3589b4012bSMark Brown 0x0E00, /* R12 - Power mgmt (5) */ 3689b4012bSMark Brown 0x0000, /* R13 - Power mgmt (6) */ 3789b4012bSMark Brown 0x0000, /* R14 - Power mgmt (7) */ 3889b4012bSMark Brown 0x0000, /* R15 */ 3989b4012bSMark Brown 0x0000, /* R16 - RTC Seconds/Minutes */ 4089b4012bSMark Brown 0x0100, /* R17 - RTC Hours/Day */ 4189b4012bSMark Brown 0x0101, /* R18 - RTC Date/Month */ 4289b4012bSMark Brown 0x1400, /* R19 - RTC Year */ 4389b4012bSMark Brown 0x0000, /* R20 - Alarm Seconds/Minutes */ 4489b4012bSMark Brown 0x0000, /* R21 - Alarm Hours/Day */ 4589b4012bSMark Brown 0x0000, /* R22 - Alarm Date/Month */ 4689b4012bSMark Brown 0x0320, /* R23 - RTC Time Control */ 4789b4012bSMark Brown 0x0000, /* R24 - System Interrupts */ 4889b4012bSMark Brown 0x0000, /* R25 - Interrupt Status 1 */ 4989b4012bSMark Brown 0x0000, /* R26 - Interrupt Status 2 */ 5089b4012bSMark Brown 0x0000, /* R27 - Power Up Interrupt Status */ 5189b4012bSMark Brown 0x0000, /* R28 - Under Voltage Interrupt status */ 5289b4012bSMark Brown 0x0000, /* R29 - Over Current Interrupt status */ 5389b4012bSMark Brown 0x0000, /* R30 - GPIO Interrupt Status */ 5489b4012bSMark Brown 0x0000, /* R31 - Comparator Interrupt Status */ 5589b4012bSMark Brown 0x3FFF, /* R32 - System Interrupts Mask */ 5689b4012bSMark Brown 0x0000, /* R33 - Interrupt Status 1 Mask */ 5789b4012bSMark Brown 0x0000, /* R34 - Interrupt Status 2 Mask */ 5889b4012bSMark Brown 0x0000, /* R35 - Power Up Interrupt Status Mask */ 5989b4012bSMark Brown 0x0000, /* R36 - Under Voltage Interrupt status Mask */ 6089b4012bSMark Brown 0x0000, /* R37 - Over Current Interrupt status Mask */ 6189b4012bSMark Brown 0x0000, /* R38 - GPIO Interrupt Status Mask */ 6289b4012bSMark Brown 0x0000, /* R39 - Comparator Interrupt Status Mask */ 6389b4012bSMark Brown 0x0040, /* R40 - Clock Control 1 */ 6489b4012bSMark Brown 0x0000, /* R41 - Clock Control 2 */ 6589b4012bSMark Brown 0x3B00, /* R42 - FLL Control 1 */ 6689b4012bSMark Brown 0x7086, /* R43 - FLL Control 2 */ 6789b4012bSMark Brown 0xC226, /* R44 - FLL Control 3 */ 6889b4012bSMark Brown 0x0000, /* R45 - FLL Control 4 */ 6989b4012bSMark Brown 0x0000, /* R46 */ 7089b4012bSMark Brown 0x0000, /* R47 */ 7189b4012bSMark Brown 0x0000, /* R48 - DAC Control */ 7289b4012bSMark Brown 0x0000, /* R49 */ 7389b4012bSMark Brown 0x00C0, /* R50 - DAC Digital Volume L */ 7489b4012bSMark Brown 0x00C0, /* R51 - DAC Digital Volume R */ 7589b4012bSMark Brown 0x0000, /* R52 */ 7689b4012bSMark Brown 0x0040, /* R53 - DAC LR Rate */ 7789b4012bSMark Brown 0x0000, /* R54 - DAC Clock Control */ 7889b4012bSMark Brown 0x0000, /* R55 */ 7989b4012bSMark Brown 0x0000, /* R56 */ 8089b4012bSMark Brown 0x0000, /* R57 */ 8189b4012bSMark Brown 0x4000, /* R58 - DAC Mute */ 8289b4012bSMark Brown 0x0000, /* R59 - DAC Mute Volume */ 8389b4012bSMark Brown 0x0000, /* R60 - DAC Side */ 8489b4012bSMark Brown 0x0000, /* R61 */ 8589b4012bSMark Brown 0x0000, /* R62 */ 8689b4012bSMark Brown 0x0000, /* R63 */ 8789b4012bSMark Brown 0x8000, /* R64 - ADC Control */ 8889b4012bSMark Brown 0x0000, /* R65 */ 8989b4012bSMark Brown 0x00C0, /* R66 - ADC Digital Volume L */ 9089b4012bSMark Brown 0x00C0, /* R67 - ADC Digital Volume R */ 9189b4012bSMark Brown 0x0000, /* R68 - ADC Divider */ 9289b4012bSMark Brown 0x0000, /* R69 */ 9389b4012bSMark Brown 0x0040, /* R70 - ADC LR Rate */ 9489b4012bSMark Brown 0x0000, /* R71 */ 9589b4012bSMark Brown 0x0303, /* R72 - Input Control */ 9689b4012bSMark Brown 0x0000, /* R73 - IN3 Input Control */ 9789b4012bSMark Brown 0x0000, /* R74 - Mic Bias Control */ 9889b4012bSMark Brown 0x0000, /* R75 */ 9989b4012bSMark Brown 0x0000, /* R76 - Output Control */ 10089b4012bSMark Brown 0x0000, /* R77 - Jack Detect */ 10189b4012bSMark Brown 0x0000, /* R78 - Anti Pop Control */ 10289b4012bSMark Brown 0x0000, /* R79 */ 10389b4012bSMark Brown 0x0040, /* R80 - Left Input Volume */ 10489b4012bSMark Brown 0x0040, /* R81 - Right Input Volume */ 10589b4012bSMark Brown 0x0000, /* R82 */ 10689b4012bSMark Brown 0x0000, /* R83 */ 10789b4012bSMark Brown 0x0000, /* R84 */ 10889b4012bSMark Brown 0x0000, /* R85 */ 10989b4012bSMark Brown 0x0000, /* R86 */ 11089b4012bSMark Brown 0x0000, /* R87 */ 11189b4012bSMark Brown 0x0800, /* R88 - Left Mixer Control */ 11289b4012bSMark Brown 0x1000, /* R89 - Right Mixer Control */ 11389b4012bSMark Brown 0x0000, /* R90 */ 11489b4012bSMark Brown 0x0000, /* R91 */ 11589b4012bSMark Brown 0x0000, /* R92 - OUT3 Mixer Control */ 11689b4012bSMark Brown 0x0000, /* R93 - OUT4 Mixer Control */ 11789b4012bSMark Brown 0x0000, /* R94 */ 11889b4012bSMark Brown 0x0000, /* R95 */ 11989b4012bSMark Brown 0x0000, /* R96 - Output Left Mixer Volume */ 12089b4012bSMark Brown 0x0000, /* R97 - Output Right Mixer Volume */ 12189b4012bSMark Brown 0x0000, /* R98 - Input Mixer Volume L */ 12289b4012bSMark Brown 0x0000, /* R99 - Input Mixer Volume R */ 12389b4012bSMark Brown 0x0000, /* R100 - Input Mixer Volume */ 12489b4012bSMark Brown 0x0000, /* R101 */ 12589b4012bSMark Brown 0x0000, /* R102 */ 12689b4012bSMark Brown 0x0000, /* R103 */ 12789b4012bSMark Brown 0x00E4, /* R104 - LOUT1 Volume */ 12889b4012bSMark Brown 0x00E4, /* R105 - ROUT1 Volume */ 12989b4012bSMark Brown 0x00E4, /* R106 - LOUT2 Volume */ 13089b4012bSMark Brown 0x02E4, /* R107 - ROUT2 Volume */ 13189b4012bSMark Brown 0x0000, /* R108 */ 13289b4012bSMark Brown 0x0000, /* R109 */ 13389b4012bSMark Brown 0x0000, /* R110 */ 13489b4012bSMark Brown 0x0000, /* R111 - BEEP Volume */ 13589b4012bSMark Brown 0x0A00, /* R112 - AI Formating */ 13689b4012bSMark Brown 0x0000, /* R113 - ADC DAC COMP */ 13789b4012bSMark Brown 0x0020, /* R114 - AI ADC Control */ 13889b4012bSMark Brown 0x0020, /* R115 - AI DAC Control */ 13989b4012bSMark Brown 0x0000, /* R116 - AIF Test */ 14089b4012bSMark Brown 0x0000, /* R117 */ 14189b4012bSMark Brown 0x0000, /* R118 */ 14289b4012bSMark Brown 0x0000, /* R119 */ 14389b4012bSMark Brown 0x0000, /* R120 */ 14489b4012bSMark Brown 0x0000, /* R121 */ 14589b4012bSMark Brown 0x0000, /* R122 */ 14689b4012bSMark Brown 0x0000, /* R123 */ 14789b4012bSMark Brown 0x0000, /* R124 */ 14889b4012bSMark Brown 0x0000, /* R125 */ 14989b4012bSMark Brown 0x0000, /* R126 */ 15089b4012bSMark Brown 0x0000, /* R127 */ 15189b4012bSMark Brown 0x1FFF, /* R128 - GPIO Debounce */ 15289b4012bSMark Brown 0x0000, /* R129 - GPIO Pin pull up Control */ 15389b4012bSMark Brown 0x03FC, /* R130 - GPIO Pull down Control */ 15489b4012bSMark Brown 0x0000, /* R131 - GPIO Interrupt Mode */ 15589b4012bSMark Brown 0x0000, /* R132 */ 15689b4012bSMark Brown 0x0000, /* R133 - GPIO Control */ 15789b4012bSMark Brown 0x0FFC, /* R134 - GPIO Configuration (i/o) */ 15889b4012bSMark Brown 0x0FFC, /* R135 - GPIO Pin Polarity / Type */ 15989b4012bSMark Brown 0x0000, /* R136 */ 16089b4012bSMark Brown 0x0000, /* R137 */ 16189b4012bSMark Brown 0x0000, /* R138 */ 16289b4012bSMark Brown 0x0000, /* R139 */ 16389b4012bSMark Brown 0x0013, /* R140 - GPIO Function Select 1 */ 16489b4012bSMark Brown 0x0000, /* R141 - GPIO Function Select 2 */ 16589b4012bSMark Brown 0x0000, /* R142 - GPIO Function Select 3 */ 16689b4012bSMark Brown 0x0003, /* R143 - GPIO Function Select 4 */ 16789b4012bSMark Brown 0x0000, /* R144 - Digitiser Control (1) */ 16889b4012bSMark Brown 0x0002, /* R145 - Digitiser Control (2) */ 16989b4012bSMark Brown 0x0000, /* R146 */ 17089b4012bSMark Brown 0x0000, /* R147 */ 17189b4012bSMark Brown 0x0000, /* R148 */ 17289b4012bSMark Brown 0x0000, /* R149 */ 17389b4012bSMark Brown 0x0000, /* R150 */ 17489b4012bSMark Brown 0x0000, /* R151 */ 17589b4012bSMark Brown 0x7000, /* R152 - AUX1 Readback */ 17689b4012bSMark Brown 0x7000, /* R153 - AUX2 Readback */ 17789b4012bSMark Brown 0x7000, /* R154 - AUX3 Readback */ 17889b4012bSMark Brown 0x7000, /* R155 - AUX4 Readback */ 17989b4012bSMark Brown 0x0000, /* R156 - USB Voltage Readback */ 18089b4012bSMark Brown 0x0000, /* R157 - LINE Voltage Readback */ 18189b4012bSMark Brown 0x0000, /* R158 - BATT Voltage Readback */ 18289b4012bSMark Brown 0x0000, /* R159 - Chip Temp Readback */ 18389b4012bSMark Brown 0x0000, /* R160 */ 18489b4012bSMark Brown 0x0000, /* R161 */ 18589b4012bSMark Brown 0x0000, /* R162 */ 18689b4012bSMark Brown 0x0000, /* R163 - Generic Comparator Control */ 18789b4012bSMark Brown 0x0000, /* R164 - Generic comparator 1 */ 18889b4012bSMark Brown 0x0000, /* R165 - Generic comparator 2 */ 18989b4012bSMark Brown 0x0000, /* R166 - Generic comparator 3 */ 19089b4012bSMark Brown 0x0000, /* R167 - Generic comparator 4 */ 19189b4012bSMark Brown 0xA00F, /* R168 - Battery Charger Control 1 */ 19289b4012bSMark Brown 0x0B06, /* R169 - Battery Charger Control 2 */ 19389b4012bSMark Brown 0x0000, /* R170 - Battery Charger Control 3 */ 19489b4012bSMark Brown 0x0000, /* R171 */ 19589b4012bSMark Brown 0x0000, /* R172 - Current Sink Driver A */ 19689b4012bSMark Brown 0x0000, /* R173 - CSA Flash control */ 19789b4012bSMark Brown 0x0000, /* R174 - Current Sink Driver B */ 19889b4012bSMark Brown 0x0000, /* R175 - CSB Flash control */ 19989b4012bSMark Brown 0x0000, /* R176 - DCDC/LDO requested */ 20089b4012bSMark Brown 0x002D, /* R177 - DCDC Active options */ 20189b4012bSMark Brown 0x0000, /* R178 - DCDC Sleep options */ 20289b4012bSMark Brown 0x0025, /* R179 - Power-check comparator */ 20389b4012bSMark Brown 0x000E, /* R180 - DCDC1 Control */ 20489b4012bSMark Brown 0x0000, /* R181 - DCDC1 Timeouts */ 20589b4012bSMark Brown 0x1006, /* R182 - DCDC1 Low Power */ 20689b4012bSMark Brown 0x0018, /* R183 - DCDC2 Control */ 20789b4012bSMark Brown 0x0000, /* R184 - DCDC2 Timeouts */ 20889b4012bSMark Brown 0x0000, /* R185 */ 20989b4012bSMark Brown 0x0000, /* R186 - DCDC3 Control */ 21089b4012bSMark Brown 0x0000, /* R187 - DCDC3 Timeouts */ 21189b4012bSMark Brown 0x0006, /* R188 - DCDC3 Low Power */ 21289b4012bSMark Brown 0x0000, /* R189 - DCDC4 Control */ 21389b4012bSMark Brown 0x0000, /* R190 - DCDC4 Timeouts */ 21489b4012bSMark Brown 0x0006, /* R191 - DCDC4 Low Power */ 21589b4012bSMark Brown 0x0008, /* R192 - DCDC5 Control */ 21689b4012bSMark Brown 0x0000, /* R193 - DCDC5 Timeouts */ 21789b4012bSMark Brown 0x0000, /* R194 */ 21889b4012bSMark Brown 0x0000, /* R195 - DCDC6 Control */ 21989b4012bSMark Brown 0x0000, /* R196 - DCDC6 Timeouts */ 22089b4012bSMark Brown 0x0006, /* R197 - DCDC6 Low Power */ 22189b4012bSMark Brown 0x0000, /* R198 */ 22289b4012bSMark Brown 0x0003, /* R199 - Limit Switch Control */ 22389b4012bSMark Brown 0x001C, /* R200 - LDO1 Control */ 22489b4012bSMark Brown 0x0000, /* R201 - LDO1 Timeouts */ 22589b4012bSMark Brown 0x001C, /* R202 - LDO1 Low Power */ 22689b4012bSMark Brown 0x001B, /* R203 - LDO2 Control */ 22789b4012bSMark Brown 0x0000, /* R204 - LDO2 Timeouts */ 22889b4012bSMark Brown 0x001C, /* R205 - LDO2 Low Power */ 22989b4012bSMark Brown 0x001B, /* R206 - LDO3 Control */ 23089b4012bSMark Brown 0x0000, /* R207 - LDO3 Timeouts */ 23189b4012bSMark Brown 0x001C, /* R208 - LDO3 Low Power */ 23289b4012bSMark Brown 0x001B, /* R209 - LDO4 Control */ 23389b4012bSMark Brown 0x0000, /* R210 - LDO4 Timeouts */ 23489b4012bSMark Brown 0x001C, /* R211 - LDO4 Low Power */ 23589b4012bSMark Brown 0x0000, /* R212 */ 23689b4012bSMark Brown 0x0000, /* R213 */ 23789b4012bSMark Brown 0x0000, /* R214 */ 23889b4012bSMark Brown 0x0000, /* R215 - VCC_FAULT Masks */ 23989b4012bSMark Brown 0x001F, /* R216 - Main Bandgap Control */ 24089b4012bSMark Brown 0x0000, /* R217 - OSC Control */ 24189b4012bSMark Brown 0x9000, /* R218 - RTC Tick Control */ 24289b4012bSMark Brown 0x0000, /* R219 */ 24389b4012bSMark Brown 0x4000, /* R220 - RAM BIST 1 */ 24489b4012bSMark Brown 0x0000, /* R221 */ 24589b4012bSMark Brown 0x0000, /* R222 */ 24689b4012bSMark Brown 0x0000, /* R223 */ 24789b4012bSMark Brown 0x0000, /* R224 */ 24889b4012bSMark Brown 0x0000, /* R225 - DCDC/LDO status */ 24989b4012bSMark Brown 0x0000, /* R226 */ 25089b4012bSMark Brown 0x0000, /* R227 */ 25189b4012bSMark Brown 0x0000, /* R228 */ 25289b4012bSMark Brown 0x0000, /* R229 */ 25389b4012bSMark Brown 0xE000, /* R230 - GPIO Pin Status */ 25489b4012bSMark Brown 0x0000, /* R231 */ 25589b4012bSMark Brown 0x0000, /* R232 */ 25689b4012bSMark Brown 0x0000, /* R233 */ 25789b4012bSMark Brown 0x0000, /* R234 */ 25889b4012bSMark Brown 0x0000, /* R235 */ 25989b4012bSMark Brown 0x0000, /* R236 */ 26089b4012bSMark Brown 0x0000, /* R237 */ 26189b4012bSMark Brown 0x0000, /* R238 */ 26289b4012bSMark Brown 0x0000, /* R239 */ 26389b4012bSMark Brown 0x0000, /* R240 */ 26489b4012bSMark Brown 0x0000, /* R241 */ 26589b4012bSMark Brown 0x0000, /* R242 */ 26689b4012bSMark Brown 0x0000, /* R243 */ 26789b4012bSMark Brown 0x0000, /* R244 */ 26889b4012bSMark Brown 0x0000, /* R245 */ 26989b4012bSMark Brown 0x0000, /* R246 */ 27089b4012bSMark Brown 0x0000, /* R247 */ 27189b4012bSMark Brown 0x0000, /* R248 */ 27289b4012bSMark Brown 0x0000, /* R249 */ 27389b4012bSMark Brown 0x0000, /* R250 */ 27489b4012bSMark Brown 0x0000, /* R251 */ 27589b4012bSMark Brown 0x0000, /* R252 */ 27689b4012bSMark Brown 0x0000, /* R253 */ 27789b4012bSMark Brown 0x0000, /* R254 */ 27889b4012bSMark Brown 0x0000, /* R255 */ 27989b4012bSMark Brown }; 28089b4012bSMark Brown #endif 28189b4012bSMark Brown 28289b4012bSMark Brown #ifdef CONFIG_MFD_WM8350_CONFIG_MODE_1 28389b4012bSMark Brown 28489b4012bSMark Brown #undef WM8350_HAVE_CONFIG_MODE 28589b4012bSMark Brown #define WM8350_HAVE_CONFIG_MODE 28689b4012bSMark Brown 28789b4012bSMark Brown const u16 wm8350_mode1_defaults[] = { 28889b4012bSMark Brown 0x17FF, /* R0 - Reset/ID */ 28989b4012bSMark Brown 0x1000, /* R1 - ID */ 29089b4012bSMark Brown 0x0000, /* R2 */ 29189b4012bSMark Brown 0x1002, /* R3 - System Control 1 */ 29289b4012bSMark Brown 0x0014, /* R4 - System Control 2 */ 29389b4012bSMark Brown 0x0000, /* R5 - System Hibernate */ 29489b4012bSMark Brown 0x8A00, /* R6 - Interface Control */ 29589b4012bSMark Brown 0x0000, /* R7 */ 29689b4012bSMark Brown 0x8000, /* R8 - Power mgmt (1) */ 29789b4012bSMark Brown 0x0000, /* R9 - Power mgmt (2) */ 29889b4012bSMark Brown 0x0000, /* R10 - Power mgmt (3) */ 29989b4012bSMark Brown 0x2000, /* R11 - Power mgmt (4) */ 30089b4012bSMark Brown 0x0E00, /* R12 - Power mgmt (5) */ 30189b4012bSMark Brown 0x0000, /* R13 - Power mgmt (6) */ 30289b4012bSMark Brown 0x0000, /* R14 - Power mgmt (7) */ 30389b4012bSMark Brown 0x0000, /* R15 */ 30489b4012bSMark Brown 0x0000, /* R16 - RTC Seconds/Minutes */ 30589b4012bSMark Brown 0x0100, /* R17 - RTC Hours/Day */ 30689b4012bSMark Brown 0x0101, /* R18 - RTC Date/Month */ 30789b4012bSMark Brown 0x1400, /* R19 - RTC Year */ 30889b4012bSMark Brown 0x0000, /* R20 - Alarm Seconds/Minutes */ 30989b4012bSMark Brown 0x0000, /* R21 - Alarm Hours/Day */ 31089b4012bSMark Brown 0x0000, /* R22 - Alarm Date/Month */ 31189b4012bSMark Brown 0x0320, /* R23 - RTC Time Control */ 31289b4012bSMark Brown 0x0000, /* R24 - System Interrupts */ 31389b4012bSMark Brown 0x0000, /* R25 - Interrupt Status 1 */ 31489b4012bSMark Brown 0x0000, /* R26 - Interrupt Status 2 */ 31589b4012bSMark Brown 0x0000, /* R27 - Power Up Interrupt Status */ 31689b4012bSMark Brown 0x0000, /* R28 - Under Voltage Interrupt status */ 31789b4012bSMark Brown 0x0000, /* R29 - Over Current Interrupt status */ 31889b4012bSMark Brown 0x0000, /* R30 - GPIO Interrupt Status */ 31989b4012bSMark Brown 0x0000, /* R31 - Comparator Interrupt Status */ 32089b4012bSMark Brown 0x3FFF, /* R32 - System Interrupts Mask */ 32189b4012bSMark Brown 0x0000, /* R33 - Interrupt Status 1 Mask */ 32289b4012bSMark Brown 0x0000, /* R34 - Interrupt Status 2 Mask */ 32389b4012bSMark Brown 0x0000, /* R35 - Power Up Interrupt Status Mask */ 32489b4012bSMark Brown 0x0000, /* R36 - Under Voltage Interrupt status Mask */ 32589b4012bSMark Brown 0x0000, /* R37 - Over Current Interrupt status Mask */ 32689b4012bSMark Brown 0x0000, /* R38 - GPIO Interrupt Status Mask */ 32789b4012bSMark Brown 0x0000, /* R39 - Comparator Interrupt Status Mask */ 32889b4012bSMark Brown 0x0040, /* R40 - Clock Control 1 */ 32989b4012bSMark Brown 0x0000, /* R41 - Clock Control 2 */ 33089b4012bSMark Brown 0x3B00, /* R42 - FLL Control 1 */ 33189b4012bSMark Brown 0x7086, /* R43 - FLL Control 2 */ 33289b4012bSMark Brown 0xC226, /* R44 - FLL Control 3 */ 33389b4012bSMark Brown 0x0000, /* R45 - FLL Control 4 */ 33489b4012bSMark Brown 0x0000, /* R46 */ 33589b4012bSMark Brown 0x0000, /* R47 */ 33689b4012bSMark Brown 0x0000, /* R48 - DAC Control */ 33789b4012bSMark Brown 0x0000, /* R49 */ 33889b4012bSMark Brown 0x00C0, /* R50 - DAC Digital Volume L */ 33989b4012bSMark Brown 0x00C0, /* R51 - DAC Digital Volume R */ 34089b4012bSMark Brown 0x0000, /* R52 */ 34189b4012bSMark Brown 0x0040, /* R53 - DAC LR Rate */ 34289b4012bSMark Brown 0x0000, /* R54 - DAC Clock Control */ 34389b4012bSMark Brown 0x0000, /* R55 */ 34489b4012bSMark Brown 0x0000, /* R56 */ 34589b4012bSMark Brown 0x0000, /* R57 */ 34689b4012bSMark Brown 0x4000, /* R58 - DAC Mute */ 34789b4012bSMark Brown 0x0000, /* R59 - DAC Mute Volume */ 34889b4012bSMark Brown 0x0000, /* R60 - DAC Side */ 34989b4012bSMark Brown 0x0000, /* R61 */ 35089b4012bSMark Brown 0x0000, /* R62 */ 35189b4012bSMark Brown 0x0000, /* R63 */ 35289b4012bSMark Brown 0x8000, /* R64 - ADC Control */ 35389b4012bSMark Brown 0x0000, /* R65 */ 35489b4012bSMark Brown 0x00C0, /* R66 - ADC Digital Volume L */ 35589b4012bSMark Brown 0x00C0, /* R67 - ADC Digital Volume R */ 35689b4012bSMark Brown 0x0000, /* R68 - ADC Divider */ 35789b4012bSMark Brown 0x0000, /* R69 */ 35889b4012bSMark Brown 0x0040, /* R70 - ADC LR Rate */ 35989b4012bSMark Brown 0x0000, /* R71 */ 36089b4012bSMark Brown 0x0303, /* R72 - Input Control */ 36189b4012bSMark Brown 0x0000, /* R73 - IN3 Input Control */ 36289b4012bSMark Brown 0x0000, /* R74 - Mic Bias Control */ 36389b4012bSMark Brown 0x0000, /* R75 */ 36489b4012bSMark Brown 0x0000, /* R76 - Output Control */ 36589b4012bSMark Brown 0x0000, /* R77 - Jack Detect */ 36689b4012bSMark Brown 0x0000, /* R78 - Anti Pop Control */ 36789b4012bSMark Brown 0x0000, /* R79 */ 36889b4012bSMark Brown 0x0040, /* R80 - Left Input Volume */ 36989b4012bSMark Brown 0x0040, /* R81 - Right Input Volume */ 37089b4012bSMark Brown 0x0000, /* R82 */ 37189b4012bSMark Brown 0x0000, /* R83 */ 37289b4012bSMark Brown 0x0000, /* R84 */ 37389b4012bSMark Brown 0x0000, /* R85 */ 37489b4012bSMark Brown 0x0000, /* R86 */ 37589b4012bSMark Brown 0x0000, /* R87 */ 37689b4012bSMark Brown 0x0800, /* R88 - Left Mixer Control */ 37789b4012bSMark Brown 0x1000, /* R89 - Right Mixer Control */ 37889b4012bSMark Brown 0x0000, /* R90 */ 37989b4012bSMark Brown 0x0000, /* R91 */ 38089b4012bSMark Brown 0x0000, /* R92 - OUT3 Mixer Control */ 38189b4012bSMark Brown 0x0000, /* R93 - OUT4 Mixer Control */ 38289b4012bSMark Brown 0x0000, /* R94 */ 38389b4012bSMark Brown 0x0000, /* R95 */ 38489b4012bSMark Brown 0x0000, /* R96 - Output Left Mixer Volume */ 38589b4012bSMark Brown 0x0000, /* R97 - Output Right Mixer Volume */ 38689b4012bSMark Brown 0x0000, /* R98 - Input Mixer Volume L */ 38789b4012bSMark Brown 0x0000, /* R99 - Input Mixer Volume R */ 38889b4012bSMark Brown 0x0000, /* R100 - Input Mixer Volume */ 38989b4012bSMark Brown 0x0000, /* R101 */ 39089b4012bSMark Brown 0x0000, /* R102 */ 39189b4012bSMark Brown 0x0000, /* R103 */ 39289b4012bSMark Brown 0x00E4, /* R104 - LOUT1 Volume */ 39389b4012bSMark Brown 0x00E4, /* R105 - ROUT1 Volume */ 39489b4012bSMark Brown 0x00E4, /* R106 - LOUT2 Volume */ 39589b4012bSMark Brown 0x02E4, /* R107 - ROUT2 Volume */ 39689b4012bSMark Brown 0x0000, /* R108 */ 39789b4012bSMark Brown 0x0000, /* R109 */ 39889b4012bSMark Brown 0x0000, /* R110 */ 39989b4012bSMark Brown 0x0000, /* R111 - BEEP Volume */ 40089b4012bSMark Brown 0x0A00, /* R112 - AI Formating */ 40189b4012bSMark Brown 0x0000, /* R113 - ADC DAC COMP */ 40289b4012bSMark Brown 0x0020, /* R114 - AI ADC Control */ 40389b4012bSMark Brown 0x0020, /* R115 - AI DAC Control */ 40489b4012bSMark Brown 0x0000, /* R116 - AIF Test */ 40589b4012bSMark Brown 0x0000, /* R117 */ 40689b4012bSMark Brown 0x0000, /* R118 */ 40789b4012bSMark Brown 0x0000, /* R119 */ 40889b4012bSMark Brown 0x0000, /* R120 */ 40989b4012bSMark Brown 0x0000, /* R121 */ 41089b4012bSMark Brown 0x0000, /* R122 */ 41189b4012bSMark Brown 0x0000, /* R123 */ 41289b4012bSMark Brown 0x0000, /* R124 */ 41389b4012bSMark Brown 0x0000, /* R125 */ 41489b4012bSMark Brown 0x0000, /* R126 */ 41589b4012bSMark Brown 0x0000, /* R127 */ 41689b4012bSMark Brown 0x1FFF, /* R128 - GPIO Debounce */ 41789b4012bSMark Brown 0x0000, /* R129 - GPIO Pin pull up Control */ 41889b4012bSMark Brown 0x03FC, /* R130 - GPIO Pull down Control */ 41989b4012bSMark Brown 0x0000, /* R131 - GPIO Interrupt Mode */ 42089b4012bSMark Brown 0x0000, /* R132 */ 42189b4012bSMark Brown 0x0000, /* R133 - GPIO Control */ 42289b4012bSMark Brown 0x00FB, /* R134 - GPIO Configuration (i/o) */ 42389b4012bSMark Brown 0x04FE, /* R135 - GPIO Pin Polarity / Type */ 42489b4012bSMark Brown 0x0000, /* R136 */ 42589b4012bSMark Brown 0x0000, /* R137 */ 42689b4012bSMark Brown 0x0000, /* R138 */ 42789b4012bSMark Brown 0x0000, /* R139 */ 42889b4012bSMark Brown 0x0312, /* R140 - GPIO Function Select 1 */ 42989b4012bSMark Brown 0x1003, /* R141 - GPIO Function Select 2 */ 43089b4012bSMark Brown 0x1331, /* R142 - GPIO Function Select 3 */ 43189b4012bSMark Brown 0x0003, /* R143 - GPIO Function Select 4 */ 43289b4012bSMark Brown 0x0000, /* R144 - Digitiser Control (1) */ 43389b4012bSMark Brown 0x0002, /* R145 - Digitiser Control (2) */ 43489b4012bSMark Brown 0x0000, /* R146 */ 43589b4012bSMark Brown 0x0000, /* R147 */ 43689b4012bSMark Brown 0x0000, /* R148 */ 43789b4012bSMark Brown 0x0000, /* R149 */ 43889b4012bSMark Brown 0x0000, /* R150 */ 43989b4012bSMark Brown 0x0000, /* R151 */ 44089b4012bSMark Brown 0x7000, /* R152 - AUX1 Readback */ 44189b4012bSMark Brown 0x7000, /* R153 - AUX2 Readback */ 44289b4012bSMark Brown 0x7000, /* R154 - AUX3 Readback */ 44389b4012bSMark Brown 0x7000, /* R155 - AUX4 Readback */ 44489b4012bSMark Brown 0x0000, /* R156 - USB Voltage Readback */ 44589b4012bSMark Brown 0x0000, /* R157 - LINE Voltage Readback */ 44689b4012bSMark Brown 0x0000, /* R158 - BATT Voltage Readback */ 44789b4012bSMark Brown 0x0000, /* R159 - Chip Temp Readback */ 44889b4012bSMark Brown 0x0000, /* R160 */ 44989b4012bSMark Brown 0x0000, /* R161 */ 45089b4012bSMark Brown 0x0000, /* R162 */ 45189b4012bSMark Brown 0x0000, /* R163 - Generic Comparator Control */ 45289b4012bSMark Brown 0x0000, /* R164 - Generic comparator 1 */ 45389b4012bSMark Brown 0x0000, /* R165 - Generic comparator 2 */ 45489b4012bSMark Brown 0x0000, /* R166 - Generic comparator 3 */ 45589b4012bSMark Brown 0x0000, /* R167 - Generic comparator 4 */ 45689b4012bSMark Brown 0xA00F, /* R168 - Battery Charger Control 1 */ 45789b4012bSMark Brown 0x0B06, /* R169 - Battery Charger Control 2 */ 45889b4012bSMark Brown 0x0000, /* R170 - Battery Charger Control 3 */ 45989b4012bSMark Brown 0x0000, /* R171 */ 46089b4012bSMark Brown 0x0000, /* R172 - Current Sink Driver A */ 46189b4012bSMark Brown 0x0000, /* R173 - CSA Flash control */ 46289b4012bSMark Brown 0x0000, /* R174 - Current Sink Driver B */ 46389b4012bSMark Brown 0x0000, /* R175 - CSB Flash control */ 46489b4012bSMark Brown 0x0000, /* R176 - DCDC/LDO requested */ 46589b4012bSMark Brown 0x002D, /* R177 - DCDC Active options */ 46689b4012bSMark Brown 0x0000, /* R178 - DCDC Sleep options */ 46789b4012bSMark Brown 0x0025, /* R179 - Power-check comparator */ 46889b4012bSMark Brown 0x0062, /* R180 - DCDC1 Control */ 46989b4012bSMark Brown 0x0400, /* R181 - DCDC1 Timeouts */ 47089b4012bSMark Brown 0x1006, /* R182 - DCDC1 Low Power */ 47189b4012bSMark Brown 0x0018, /* R183 - DCDC2 Control */ 47289b4012bSMark Brown 0x0000, /* R184 - DCDC2 Timeouts */ 47389b4012bSMark Brown 0x0000, /* R185 */ 47489b4012bSMark Brown 0x0026, /* R186 - DCDC3 Control */ 47589b4012bSMark Brown 0x0400, /* R187 - DCDC3 Timeouts */ 47689b4012bSMark Brown 0x0006, /* R188 - DCDC3 Low Power */ 47789b4012bSMark Brown 0x0062, /* R189 - DCDC4 Control */ 47889b4012bSMark Brown 0x0400, /* R190 - DCDC4 Timeouts */ 47989b4012bSMark Brown 0x0006, /* R191 - DCDC4 Low Power */ 48089b4012bSMark Brown 0x0008, /* R192 - DCDC5 Control */ 48189b4012bSMark Brown 0x0000, /* R193 - DCDC5 Timeouts */ 48289b4012bSMark Brown 0x0000, /* R194 */ 48389b4012bSMark Brown 0x0026, /* R195 - DCDC6 Control */ 48489b4012bSMark Brown 0x0800, /* R196 - DCDC6 Timeouts */ 48589b4012bSMark Brown 0x0006, /* R197 - DCDC6 Low Power */ 48689b4012bSMark Brown 0x0000, /* R198 */ 48789b4012bSMark Brown 0x0003, /* R199 - Limit Switch Control */ 48889b4012bSMark Brown 0x0006, /* R200 - LDO1 Control */ 48989b4012bSMark Brown 0x0400, /* R201 - LDO1 Timeouts */ 49089b4012bSMark Brown 0x001C, /* R202 - LDO1 Low Power */ 49189b4012bSMark Brown 0x0006, /* R203 - LDO2 Control */ 49289b4012bSMark Brown 0x0400, /* R204 - LDO2 Timeouts */ 49389b4012bSMark Brown 0x001C, /* R205 - LDO2 Low Power */ 49489b4012bSMark Brown 0x001B, /* R206 - LDO3 Control */ 49589b4012bSMark Brown 0x0000, /* R207 - LDO3 Timeouts */ 49689b4012bSMark Brown 0x001C, /* R208 - LDO3 Low Power */ 49789b4012bSMark Brown 0x001B, /* R209 - LDO4 Control */ 49889b4012bSMark Brown 0x0000, /* R210 - LDO4 Timeouts */ 49989b4012bSMark Brown 0x001C, /* R211 - LDO4 Low Power */ 50089b4012bSMark Brown 0x0000, /* R212 */ 50189b4012bSMark Brown 0x0000, /* R213 */ 50289b4012bSMark Brown 0x0000, /* R214 */ 50389b4012bSMark Brown 0x0000, /* R215 - VCC_FAULT Masks */ 50489b4012bSMark Brown 0x001F, /* R216 - Main Bandgap Control */ 50589b4012bSMark Brown 0x0000, /* R217 - OSC Control */ 50689b4012bSMark Brown 0x9000, /* R218 - RTC Tick Control */ 50789b4012bSMark Brown 0x0000, /* R219 */ 50889b4012bSMark Brown 0x4000, /* R220 - RAM BIST 1 */ 50989b4012bSMark Brown 0x0000, /* R221 */ 51089b4012bSMark Brown 0x0000, /* R222 */ 51189b4012bSMark Brown 0x0000, /* R223 */ 51289b4012bSMark Brown 0x0000, /* R224 */ 51389b4012bSMark Brown 0x0000, /* R225 - DCDC/LDO status */ 51489b4012bSMark Brown 0x0000, /* R226 */ 51589b4012bSMark Brown 0x0000, /* R227 */ 51689b4012bSMark Brown 0x0000, /* R228 */ 51789b4012bSMark Brown 0x0000, /* R229 */ 51889b4012bSMark Brown 0xE000, /* R230 - GPIO Pin Status */ 51989b4012bSMark Brown 0x0000, /* R231 */ 52089b4012bSMark Brown 0x0000, /* R232 */ 52189b4012bSMark Brown 0x0000, /* R233 */ 52289b4012bSMark Brown 0x0000, /* R234 */ 52389b4012bSMark Brown 0x0000, /* R235 */ 52489b4012bSMark Brown 0x0000, /* R236 */ 52589b4012bSMark Brown 0x0000, /* R237 */ 52689b4012bSMark Brown 0x0000, /* R238 */ 52789b4012bSMark Brown 0x0000, /* R239 */ 52889b4012bSMark Brown 0x0000, /* R240 */ 52989b4012bSMark Brown 0x0000, /* R241 */ 53089b4012bSMark Brown 0x0000, /* R242 */ 53189b4012bSMark Brown 0x0000, /* R243 */ 53289b4012bSMark Brown 0x0000, /* R244 */ 53389b4012bSMark Brown 0x0000, /* R245 */ 53489b4012bSMark Brown 0x0000, /* R246 */ 53589b4012bSMark Brown 0x0000, /* R247 */ 53689b4012bSMark Brown 0x0000, /* R248 */ 53789b4012bSMark Brown 0x0000, /* R249 */ 53889b4012bSMark Brown 0x0000, /* R250 */ 53989b4012bSMark Brown 0x0000, /* R251 */ 54089b4012bSMark Brown 0x0000, /* R252 */ 54189b4012bSMark Brown 0x0000, /* R253 */ 54289b4012bSMark Brown 0x0000, /* R254 */ 54389b4012bSMark Brown 0x0000, /* R255 */ 54489b4012bSMark Brown }; 54589b4012bSMark Brown #endif 54689b4012bSMark Brown 54789b4012bSMark Brown #ifdef CONFIG_MFD_WM8350_CONFIG_MODE_2 54889b4012bSMark Brown 54989b4012bSMark Brown #undef WM8350_HAVE_CONFIG_MODE 55089b4012bSMark Brown #define WM8350_HAVE_CONFIG_MODE 55189b4012bSMark Brown 55289b4012bSMark Brown const u16 wm8350_mode2_defaults[] = { 55389b4012bSMark Brown 0x17FF, /* R0 - Reset/ID */ 55489b4012bSMark Brown 0x1000, /* R1 - ID */ 55589b4012bSMark Brown 0x0000, /* R2 */ 55689b4012bSMark Brown 0x1002, /* R3 - System Control 1 */ 55789b4012bSMark Brown 0x0014, /* R4 - System Control 2 */ 55889b4012bSMark Brown 0x0000, /* R5 - System Hibernate */ 55989b4012bSMark Brown 0x8A00, /* R6 - Interface Control */ 56089b4012bSMark Brown 0x0000, /* R7 */ 56189b4012bSMark Brown 0x8000, /* R8 - Power mgmt (1) */ 56289b4012bSMark Brown 0x0000, /* R9 - Power mgmt (2) */ 56389b4012bSMark Brown 0x0000, /* R10 - Power mgmt (3) */ 56489b4012bSMark Brown 0x2000, /* R11 - Power mgmt (4) */ 56589b4012bSMark Brown 0x0E00, /* R12 - Power mgmt (5) */ 56689b4012bSMark Brown 0x0000, /* R13 - Power mgmt (6) */ 56789b4012bSMark Brown 0x0000, /* R14 - Power mgmt (7) */ 56889b4012bSMark Brown 0x0000, /* R15 */ 56989b4012bSMark Brown 0x0000, /* R16 - RTC Seconds/Minutes */ 57089b4012bSMark Brown 0x0100, /* R17 - RTC Hours/Day */ 57189b4012bSMark Brown 0x0101, /* R18 - RTC Date/Month */ 57289b4012bSMark Brown 0x1400, /* R19 - RTC Year */ 57389b4012bSMark Brown 0x0000, /* R20 - Alarm Seconds/Minutes */ 57489b4012bSMark Brown 0x0000, /* R21 - Alarm Hours/Day */ 57589b4012bSMark Brown 0x0000, /* R22 - Alarm Date/Month */ 57689b4012bSMark Brown 0x0320, /* R23 - RTC Time Control */ 57789b4012bSMark Brown 0x0000, /* R24 - System Interrupts */ 57889b4012bSMark Brown 0x0000, /* R25 - Interrupt Status 1 */ 57989b4012bSMark Brown 0x0000, /* R26 - Interrupt Status 2 */ 58089b4012bSMark Brown 0x0000, /* R27 - Power Up Interrupt Status */ 58189b4012bSMark Brown 0x0000, /* R28 - Under Voltage Interrupt status */ 58289b4012bSMark Brown 0x0000, /* R29 - Over Current Interrupt status */ 58389b4012bSMark Brown 0x0000, /* R30 - GPIO Interrupt Status */ 58489b4012bSMark Brown 0x0000, /* R31 - Comparator Interrupt Status */ 58589b4012bSMark Brown 0x3FFF, /* R32 - System Interrupts Mask */ 58689b4012bSMark Brown 0x0000, /* R33 - Interrupt Status 1 Mask */ 58789b4012bSMark Brown 0x0000, /* R34 - Interrupt Status 2 Mask */ 58889b4012bSMark Brown 0x0000, /* R35 - Power Up Interrupt Status Mask */ 58989b4012bSMark Brown 0x0000, /* R36 - Under Voltage Interrupt status Mask */ 59089b4012bSMark Brown 0x0000, /* R37 - Over Current Interrupt status Mask */ 59189b4012bSMark Brown 0x0000, /* R38 - GPIO Interrupt Status Mask */ 59289b4012bSMark Brown 0x0000, /* R39 - Comparator Interrupt Status Mask */ 59389b4012bSMark Brown 0x0040, /* R40 - Clock Control 1 */ 59489b4012bSMark Brown 0x0000, /* R41 - Clock Control 2 */ 59589b4012bSMark Brown 0x3B00, /* R42 - FLL Control 1 */ 59689b4012bSMark Brown 0x7086, /* R43 - FLL Control 2 */ 59789b4012bSMark Brown 0xC226, /* R44 - FLL Control 3 */ 59889b4012bSMark Brown 0x0000, /* R45 - FLL Control 4 */ 59989b4012bSMark Brown 0x0000, /* R46 */ 60089b4012bSMark Brown 0x0000, /* R47 */ 60189b4012bSMark Brown 0x0000, /* R48 - DAC Control */ 60289b4012bSMark Brown 0x0000, /* R49 */ 60389b4012bSMark Brown 0x00C0, /* R50 - DAC Digital Volume L */ 60489b4012bSMark Brown 0x00C0, /* R51 - DAC Digital Volume R */ 60589b4012bSMark Brown 0x0000, /* R52 */ 60689b4012bSMark Brown 0x0040, /* R53 - DAC LR Rate */ 60789b4012bSMark Brown 0x0000, /* R54 - DAC Clock Control */ 60889b4012bSMark Brown 0x0000, /* R55 */ 60989b4012bSMark Brown 0x0000, /* R56 */ 61089b4012bSMark Brown 0x0000, /* R57 */ 61189b4012bSMark Brown 0x4000, /* R58 - DAC Mute */ 61289b4012bSMark Brown 0x0000, /* R59 - DAC Mute Volume */ 61389b4012bSMark Brown 0x0000, /* R60 - DAC Side */ 61489b4012bSMark Brown 0x0000, /* R61 */ 61589b4012bSMark Brown 0x0000, /* R62 */ 61689b4012bSMark Brown 0x0000, /* R63 */ 61789b4012bSMark Brown 0x8000, /* R64 - ADC Control */ 61889b4012bSMark Brown 0x0000, /* R65 */ 61989b4012bSMark Brown 0x00C0, /* R66 - ADC Digital Volume L */ 62089b4012bSMark Brown 0x00C0, /* R67 - ADC Digital Volume R */ 62189b4012bSMark Brown 0x0000, /* R68 - ADC Divider */ 62289b4012bSMark Brown 0x0000, /* R69 */ 62389b4012bSMark Brown 0x0040, /* R70 - ADC LR Rate */ 62489b4012bSMark Brown 0x0000, /* R71 */ 62589b4012bSMark Brown 0x0303, /* R72 - Input Control */ 62689b4012bSMark Brown 0x0000, /* R73 - IN3 Input Control */ 62789b4012bSMark Brown 0x0000, /* R74 - Mic Bias Control */ 62889b4012bSMark Brown 0x0000, /* R75 */ 62989b4012bSMark Brown 0x0000, /* R76 - Output Control */ 63089b4012bSMark Brown 0x0000, /* R77 - Jack Detect */ 63189b4012bSMark Brown 0x0000, /* R78 - Anti Pop Control */ 63289b4012bSMark Brown 0x0000, /* R79 */ 63389b4012bSMark Brown 0x0040, /* R80 - Left Input Volume */ 63489b4012bSMark Brown 0x0040, /* R81 - Right Input Volume */ 63589b4012bSMark Brown 0x0000, /* R82 */ 63689b4012bSMark Brown 0x0000, /* R83 */ 63789b4012bSMark Brown 0x0000, /* R84 */ 63889b4012bSMark Brown 0x0000, /* R85 */ 63989b4012bSMark Brown 0x0000, /* R86 */ 64089b4012bSMark Brown 0x0000, /* R87 */ 64189b4012bSMark Brown 0x0800, /* R88 - Left Mixer Control */ 64289b4012bSMark Brown 0x1000, /* R89 - Right Mixer Control */ 64389b4012bSMark Brown 0x0000, /* R90 */ 64489b4012bSMark Brown 0x0000, /* R91 */ 64589b4012bSMark Brown 0x0000, /* R92 - OUT3 Mixer Control */ 64689b4012bSMark Brown 0x0000, /* R93 - OUT4 Mixer Control */ 64789b4012bSMark Brown 0x0000, /* R94 */ 64889b4012bSMark Brown 0x0000, /* R95 */ 64989b4012bSMark Brown 0x0000, /* R96 - Output Left Mixer Volume */ 65089b4012bSMark Brown 0x0000, /* R97 - Output Right Mixer Volume */ 65189b4012bSMark Brown 0x0000, /* R98 - Input Mixer Volume L */ 65289b4012bSMark Brown 0x0000, /* R99 - Input Mixer Volume R */ 65389b4012bSMark Brown 0x0000, /* R100 - Input Mixer Volume */ 65489b4012bSMark Brown 0x0000, /* R101 */ 65589b4012bSMark Brown 0x0000, /* R102 */ 65689b4012bSMark Brown 0x0000, /* R103 */ 65789b4012bSMark Brown 0x00E4, /* R104 - LOUT1 Volume */ 65889b4012bSMark Brown 0x00E4, /* R105 - ROUT1 Volume */ 65989b4012bSMark Brown 0x00E4, /* R106 - LOUT2 Volume */ 66089b4012bSMark Brown 0x02E4, /* R107 - ROUT2 Volume */ 66189b4012bSMark Brown 0x0000, /* R108 */ 66289b4012bSMark Brown 0x0000, /* R109 */ 66389b4012bSMark Brown 0x0000, /* R110 */ 66489b4012bSMark Brown 0x0000, /* R111 - BEEP Volume */ 66589b4012bSMark Brown 0x0A00, /* R112 - AI Formating */ 66689b4012bSMark Brown 0x0000, /* R113 - ADC DAC COMP */ 66789b4012bSMark Brown 0x0020, /* R114 - AI ADC Control */ 66889b4012bSMark Brown 0x0020, /* R115 - AI DAC Control */ 66989b4012bSMark Brown 0x0000, /* R116 - AIF Test */ 67089b4012bSMark Brown 0x0000, /* R117 */ 67189b4012bSMark Brown 0x0000, /* R118 */ 67289b4012bSMark Brown 0x0000, /* R119 */ 67389b4012bSMark Brown 0x0000, /* R120 */ 67489b4012bSMark Brown 0x0000, /* R121 */ 67589b4012bSMark Brown 0x0000, /* R122 */ 67689b4012bSMark Brown 0x0000, /* R123 */ 67789b4012bSMark Brown 0x0000, /* R124 */ 67889b4012bSMark Brown 0x0000, /* R125 */ 67989b4012bSMark Brown 0x0000, /* R126 */ 68089b4012bSMark Brown 0x0000, /* R127 */ 68189b4012bSMark Brown 0x1FFF, /* R128 - GPIO Debounce */ 68289b4012bSMark Brown 0x0000, /* R129 - GPIO Pin pull up Control */ 68389b4012bSMark Brown 0x03FC, /* R130 - GPIO Pull down Control */ 68489b4012bSMark Brown 0x0000, /* R131 - GPIO Interrupt Mode */ 68589b4012bSMark Brown 0x0000, /* R132 */ 68689b4012bSMark Brown 0x0000, /* R133 - GPIO Control */ 68789b4012bSMark Brown 0x08FB, /* R134 - GPIO Configuration (i/o) */ 68889b4012bSMark Brown 0x0CFE, /* R135 - GPIO Pin Polarity / Type */ 68989b4012bSMark Brown 0x0000, /* R136 */ 69089b4012bSMark Brown 0x0000, /* R137 */ 69189b4012bSMark Brown 0x0000, /* R138 */ 69289b4012bSMark Brown 0x0000, /* R139 */ 69389b4012bSMark Brown 0x0312, /* R140 - GPIO Function Select 1 */ 69489b4012bSMark Brown 0x0003, /* R141 - GPIO Function Select 2 */ 69589b4012bSMark Brown 0x2331, /* R142 - GPIO Function Select 3 */ 69689b4012bSMark Brown 0x0003, /* R143 - GPIO Function Select 4 */ 69789b4012bSMark Brown 0x0000, /* R144 - Digitiser Control (1) */ 69889b4012bSMark Brown 0x0002, /* R145 - Digitiser Control (2) */ 69989b4012bSMark Brown 0x0000, /* R146 */ 70089b4012bSMark Brown 0x0000, /* R147 */ 70189b4012bSMark Brown 0x0000, /* R148 */ 70289b4012bSMark Brown 0x0000, /* R149 */ 70389b4012bSMark Brown 0x0000, /* R150 */ 70489b4012bSMark Brown 0x0000, /* R151 */ 70589b4012bSMark Brown 0x7000, /* R152 - AUX1 Readback */ 70689b4012bSMark Brown 0x7000, /* R153 - AUX2 Readback */ 70789b4012bSMark Brown 0x7000, /* R154 - AUX3 Readback */ 70889b4012bSMark Brown 0x7000, /* R155 - AUX4 Readback */ 70989b4012bSMark Brown 0x0000, /* R156 - USB Voltage Readback */ 71089b4012bSMark Brown 0x0000, /* R157 - LINE Voltage Readback */ 71189b4012bSMark Brown 0x0000, /* R158 - BATT Voltage Readback */ 71289b4012bSMark Brown 0x0000, /* R159 - Chip Temp Readback */ 71389b4012bSMark Brown 0x0000, /* R160 */ 71489b4012bSMark Brown 0x0000, /* R161 */ 71589b4012bSMark Brown 0x0000, /* R162 */ 71689b4012bSMark Brown 0x0000, /* R163 - Generic Comparator Control */ 71789b4012bSMark Brown 0x0000, /* R164 - Generic comparator 1 */ 71889b4012bSMark Brown 0x0000, /* R165 - Generic comparator 2 */ 71989b4012bSMark Brown 0x0000, /* R166 - Generic comparator 3 */ 72089b4012bSMark Brown 0x0000, /* R167 - Generic comparator 4 */ 72189b4012bSMark Brown 0xA00F, /* R168 - Battery Charger Control 1 */ 72289b4012bSMark Brown 0x0B06, /* R169 - Battery Charger Control 2 */ 72389b4012bSMark Brown 0x0000, /* R170 - Battery Charger Control 3 */ 72489b4012bSMark Brown 0x0000, /* R171 */ 72589b4012bSMark Brown 0x0000, /* R172 - Current Sink Driver A */ 72689b4012bSMark Brown 0x0000, /* R173 - CSA Flash control */ 72789b4012bSMark Brown 0x0000, /* R174 - Current Sink Driver B */ 72889b4012bSMark Brown 0x0000, /* R175 - CSB Flash control */ 72989b4012bSMark Brown 0x0000, /* R176 - DCDC/LDO requested */ 73089b4012bSMark Brown 0x002D, /* R177 - DCDC Active options */ 73189b4012bSMark Brown 0x0000, /* R178 - DCDC Sleep options */ 73289b4012bSMark Brown 0x0025, /* R179 - Power-check comparator */ 73389b4012bSMark Brown 0x000E, /* R180 - DCDC1 Control */ 73489b4012bSMark Brown 0x0400, /* R181 - DCDC1 Timeouts */ 73589b4012bSMark Brown 0x1006, /* R182 - DCDC1 Low Power */ 73689b4012bSMark Brown 0x0018, /* R183 - DCDC2 Control */ 73789b4012bSMark Brown 0x0000, /* R184 - DCDC2 Timeouts */ 73889b4012bSMark Brown 0x0000, /* R185 */ 73989b4012bSMark Brown 0x002E, /* R186 - DCDC3 Control */ 74089b4012bSMark Brown 0x0800, /* R187 - DCDC3 Timeouts */ 74189b4012bSMark Brown 0x0006, /* R188 - DCDC3 Low Power */ 74289b4012bSMark Brown 0x000E, /* R189 - DCDC4 Control */ 74389b4012bSMark Brown 0x0800, /* R190 - DCDC4 Timeouts */ 74489b4012bSMark Brown 0x0006, /* R191 - DCDC4 Low Power */ 74589b4012bSMark Brown 0x0008, /* R192 - DCDC5 Control */ 74689b4012bSMark Brown 0x0000, /* R193 - DCDC5 Timeouts */ 74789b4012bSMark Brown 0x0000, /* R194 */ 74889b4012bSMark Brown 0x0026, /* R195 - DCDC6 Control */ 74989b4012bSMark Brown 0x0C00, /* R196 - DCDC6 Timeouts */ 75089b4012bSMark Brown 0x0006, /* R197 - DCDC6 Low Power */ 75189b4012bSMark Brown 0x0000, /* R198 */ 75289b4012bSMark Brown 0x0003, /* R199 - Limit Switch Control */ 75389b4012bSMark Brown 0x001A, /* R200 - LDO1 Control */ 75489b4012bSMark Brown 0x0800, /* R201 - LDO1 Timeouts */ 75589b4012bSMark Brown 0x001C, /* R202 - LDO1 Low Power */ 75689b4012bSMark Brown 0x0010, /* R203 - LDO2 Control */ 75789b4012bSMark Brown 0x0800, /* R204 - LDO2 Timeouts */ 75889b4012bSMark Brown 0x001C, /* R205 - LDO2 Low Power */ 75989b4012bSMark Brown 0x000A, /* R206 - LDO3 Control */ 76089b4012bSMark Brown 0x0C00, /* R207 - LDO3 Timeouts */ 76189b4012bSMark Brown 0x001C, /* R208 - LDO3 Low Power */ 76289b4012bSMark Brown 0x001A, /* R209 - LDO4 Control */ 76389b4012bSMark Brown 0x0800, /* R210 - LDO4 Timeouts */ 76489b4012bSMark Brown 0x001C, /* R211 - LDO4 Low Power */ 76589b4012bSMark Brown 0x0000, /* R212 */ 76689b4012bSMark Brown 0x0000, /* R213 */ 76789b4012bSMark Brown 0x0000, /* R214 */ 76889b4012bSMark Brown 0x0000, /* R215 - VCC_FAULT Masks */ 76989b4012bSMark Brown 0x001F, /* R216 - Main Bandgap Control */ 77089b4012bSMark Brown 0x0000, /* R217 - OSC Control */ 77189b4012bSMark Brown 0x9000, /* R218 - RTC Tick Control */ 77289b4012bSMark Brown 0x0000, /* R219 */ 77389b4012bSMark Brown 0x4000, /* R220 - RAM BIST 1 */ 77489b4012bSMark Brown 0x0000, /* R221 */ 77589b4012bSMark Brown 0x0000, /* R222 */ 77689b4012bSMark Brown 0x0000, /* R223 */ 77789b4012bSMark Brown 0x0000, /* R224 */ 77889b4012bSMark Brown 0x0000, /* R225 - DCDC/LDO status */ 77989b4012bSMark Brown 0x0000, /* R226 */ 78089b4012bSMark Brown 0x0000, /* R227 */ 78189b4012bSMark Brown 0x0000, /* R228 */ 78289b4012bSMark Brown 0x0000, /* R229 */ 78389b4012bSMark Brown 0xE000, /* R230 - GPIO Pin Status */ 78489b4012bSMark Brown 0x0000, /* R231 */ 78589b4012bSMark Brown 0x0000, /* R232 */ 78689b4012bSMark Brown 0x0000, /* R233 */ 78789b4012bSMark Brown 0x0000, /* R234 */ 78889b4012bSMark Brown 0x0000, /* R235 */ 78989b4012bSMark Brown 0x0000, /* R236 */ 79089b4012bSMark Brown 0x0000, /* R237 */ 79189b4012bSMark Brown 0x0000, /* R238 */ 79289b4012bSMark Brown 0x0000, /* R239 */ 79389b4012bSMark Brown 0x0000, /* R240 */ 79489b4012bSMark Brown 0x0000, /* R241 */ 79589b4012bSMark Brown 0x0000, /* R242 */ 79689b4012bSMark Brown 0x0000, /* R243 */ 79789b4012bSMark Brown 0x0000, /* R244 */ 79889b4012bSMark Brown 0x0000, /* R245 */ 79989b4012bSMark Brown 0x0000, /* R246 */ 80089b4012bSMark Brown 0x0000, /* R247 */ 80189b4012bSMark Brown 0x0000, /* R248 */ 80289b4012bSMark Brown 0x0000, /* R249 */ 80389b4012bSMark Brown 0x0000, /* R250 */ 80489b4012bSMark Brown 0x0000, /* R251 */ 80589b4012bSMark Brown 0x0000, /* R252 */ 80689b4012bSMark Brown 0x0000, /* R253 */ 80789b4012bSMark Brown 0x0000, /* R254 */ 80889b4012bSMark Brown 0x0000, /* R255 */ 80989b4012bSMark Brown }; 81089b4012bSMark Brown #endif 81189b4012bSMark Brown 81289b4012bSMark Brown #ifdef CONFIG_MFD_WM8350_CONFIG_MODE_3 81389b4012bSMark Brown 81489b4012bSMark Brown #undef WM8350_HAVE_CONFIG_MODE 81589b4012bSMark Brown #define WM8350_HAVE_CONFIG_MODE 81689b4012bSMark Brown 81789b4012bSMark Brown const u16 wm8350_mode3_defaults[] = { 81889b4012bSMark Brown 0x17FF, /* R0 - Reset/ID */ 81989b4012bSMark Brown 0x1000, /* R1 - ID */ 82089b4012bSMark Brown 0x0000, /* R2 */ 82189b4012bSMark Brown 0x1000, /* R3 - System Control 1 */ 82289b4012bSMark Brown 0x0004, /* R4 - System Control 2 */ 82389b4012bSMark Brown 0x0000, /* R5 - System Hibernate */ 82489b4012bSMark Brown 0x8A00, /* R6 - Interface Control */ 82589b4012bSMark Brown 0x0000, /* R7 */ 82689b4012bSMark Brown 0x8000, /* R8 - Power mgmt (1) */ 82789b4012bSMark Brown 0x0000, /* R9 - Power mgmt (2) */ 82889b4012bSMark Brown 0x0000, /* R10 - Power mgmt (3) */ 82989b4012bSMark Brown 0x2000, /* R11 - Power mgmt (4) */ 83089b4012bSMark Brown 0x0E00, /* R12 - Power mgmt (5) */ 83189b4012bSMark Brown 0x0000, /* R13 - Power mgmt (6) */ 83289b4012bSMark Brown 0x0000, /* R14 - Power mgmt (7) */ 83389b4012bSMark Brown 0x0000, /* R15 */ 83489b4012bSMark Brown 0x0000, /* R16 - RTC Seconds/Minutes */ 83589b4012bSMark Brown 0x0100, /* R17 - RTC Hours/Day */ 83689b4012bSMark Brown 0x0101, /* R18 - RTC Date/Month */ 83789b4012bSMark Brown 0x1400, /* R19 - RTC Year */ 83889b4012bSMark Brown 0x0000, /* R20 - Alarm Seconds/Minutes */ 83989b4012bSMark Brown 0x0000, /* R21 - Alarm Hours/Day */ 84089b4012bSMark Brown 0x0000, /* R22 - Alarm Date/Month */ 84189b4012bSMark Brown 0x0320, /* R23 - RTC Time Control */ 84289b4012bSMark Brown 0x0000, /* R24 - System Interrupts */ 84389b4012bSMark Brown 0x0000, /* R25 - Interrupt Status 1 */ 84489b4012bSMark Brown 0x0000, /* R26 - Interrupt Status 2 */ 84589b4012bSMark Brown 0x0000, /* R27 - Power Up Interrupt Status */ 84689b4012bSMark Brown 0x0000, /* R28 - Under Voltage Interrupt status */ 84789b4012bSMark Brown 0x0000, /* R29 - Over Current Interrupt status */ 84889b4012bSMark Brown 0x0000, /* R30 - GPIO Interrupt Status */ 84989b4012bSMark Brown 0x0000, /* R31 - Comparator Interrupt Status */ 85089b4012bSMark Brown 0x3FFF, /* R32 - System Interrupts Mask */ 85189b4012bSMark Brown 0x0000, /* R33 - Interrupt Status 1 Mask */ 85289b4012bSMark Brown 0x0000, /* R34 - Interrupt Status 2 Mask */ 85389b4012bSMark Brown 0x0000, /* R35 - Power Up Interrupt Status Mask */ 85489b4012bSMark Brown 0x0000, /* R36 - Under Voltage Interrupt status Mask */ 85589b4012bSMark Brown 0x0000, /* R37 - Over Current Interrupt status Mask */ 85689b4012bSMark Brown 0x0000, /* R38 - GPIO Interrupt Status Mask */ 85789b4012bSMark Brown 0x0000, /* R39 - Comparator Interrupt Status Mask */ 85889b4012bSMark Brown 0x0040, /* R40 - Clock Control 1 */ 85989b4012bSMark Brown 0x0000, /* R41 - Clock Control 2 */ 86089b4012bSMark Brown 0x3B00, /* R42 - FLL Control 1 */ 86189b4012bSMark Brown 0x7086, /* R43 - FLL Control 2 */ 86289b4012bSMark Brown 0xC226, /* R44 - FLL Control 3 */ 86389b4012bSMark Brown 0x0000, /* R45 - FLL Control 4 */ 86489b4012bSMark Brown 0x0000, /* R46 */ 86589b4012bSMark Brown 0x0000, /* R47 */ 86689b4012bSMark Brown 0x0000, /* R48 - DAC Control */ 86789b4012bSMark Brown 0x0000, /* R49 */ 86889b4012bSMark Brown 0x00C0, /* R50 - DAC Digital Volume L */ 86989b4012bSMark Brown 0x00C0, /* R51 - DAC Digital Volume R */ 87089b4012bSMark Brown 0x0000, /* R52 */ 87189b4012bSMark Brown 0x0040, /* R53 - DAC LR Rate */ 87289b4012bSMark Brown 0x0000, /* R54 - DAC Clock Control */ 87389b4012bSMark Brown 0x0000, /* R55 */ 87489b4012bSMark Brown 0x0000, /* R56 */ 87589b4012bSMark Brown 0x0000, /* R57 */ 87689b4012bSMark Brown 0x4000, /* R58 - DAC Mute */ 87789b4012bSMark Brown 0x0000, /* R59 - DAC Mute Volume */ 87889b4012bSMark Brown 0x0000, /* R60 - DAC Side */ 87989b4012bSMark Brown 0x0000, /* R61 */ 88089b4012bSMark Brown 0x0000, /* R62 */ 88189b4012bSMark Brown 0x0000, /* R63 */ 88289b4012bSMark Brown 0x8000, /* R64 - ADC Control */ 88389b4012bSMark Brown 0x0000, /* R65 */ 88489b4012bSMark Brown 0x00C0, /* R66 - ADC Digital Volume L */ 88589b4012bSMark Brown 0x00C0, /* R67 - ADC Digital Volume R */ 88689b4012bSMark Brown 0x0000, /* R68 - ADC Divider */ 88789b4012bSMark Brown 0x0000, /* R69 */ 88889b4012bSMark Brown 0x0040, /* R70 - ADC LR Rate */ 88989b4012bSMark Brown 0x0000, /* R71 */ 89089b4012bSMark Brown 0x0303, /* R72 - Input Control */ 89189b4012bSMark Brown 0x0000, /* R73 - IN3 Input Control */ 89289b4012bSMark Brown 0x0000, /* R74 - Mic Bias Control */ 89389b4012bSMark Brown 0x0000, /* R75 */ 89489b4012bSMark Brown 0x0000, /* R76 - Output Control */ 89589b4012bSMark Brown 0x0000, /* R77 - Jack Detect */ 89689b4012bSMark Brown 0x0000, /* R78 - Anti Pop Control */ 89789b4012bSMark Brown 0x0000, /* R79 */ 89889b4012bSMark Brown 0x0040, /* R80 - Left Input Volume */ 89989b4012bSMark Brown 0x0040, /* R81 - Right Input Volume */ 90089b4012bSMark Brown 0x0000, /* R82 */ 90189b4012bSMark Brown 0x0000, /* R83 */ 90289b4012bSMark Brown 0x0000, /* R84 */ 90389b4012bSMark Brown 0x0000, /* R85 */ 90489b4012bSMark Brown 0x0000, /* R86 */ 90589b4012bSMark Brown 0x0000, /* R87 */ 90689b4012bSMark Brown 0x0800, /* R88 - Left Mixer Control */ 90789b4012bSMark Brown 0x1000, /* R89 - Right Mixer Control */ 90889b4012bSMark Brown 0x0000, /* R90 */ 90989b4012bSMark Brown 0x0000, /* R91 */ 91089b4012bSMark Brown 0x0000, /* R92 - OUT3 Mixer Control */ 91189b4012bSMark Brown 0x0000, /* R93 - OUT4 Mixer Control */ 91289b4012bSMark Brown 0x0000, /* R94 */ 91389b4012bSMark Brown 0x0000, /* R95 */ 91489b4012bSMark Brown 0x0000, /* R96 - Output Left Mixer Volume */ 91589b4012bSMark Brown 0x0000, /* R97 - Output Right Mixer Volume */ 91689b4012bSMark Brown 0x0000, /* R98 - Input Mixer Volume L */ 91789b4012bSMark Brown 0x0000, /* R99 - Input Mixer Volume R */ 91889b4012bSMark Brown 0x0000, /* R100 - Input Mixer Volume */ 91989b4012bSMark Brown 0x0000, /* R101 */ 92089b4012bSMark Brown 0x0000, /* R102 */ 92189b4012bSMark Brown 0x0000, /* R103 */ 92289b4012bSMark Brown 0x00E4, /* R104 - LOUT1 Volume */ 92389b4012bSMark Brown 0x00E4, /* R105 - ROUT1 Volume */ 92489b4012bSMark Brown 0x00E4, /* R106 - LOUT2 Volume */ 92589b4012bSMark Brown 0x02E4, /* R107 - ROUT2 Volume */ 92689b4012bSMark Brown 0x0000, /* R108 */ 92789b4012bSMark Brown 0x0000, /* R109 */ 92889b4012bSMark Brown 0x0000, /* R110 */ 92989b4012bSMark Brown 0x0000, /* R111 - BEEP Volume */ 93089b4012bSMark Brown 0x0A00, /* R112 - AI Formating */ 93189b4012bSMark Brown 0x0000, /* R113 - ADC DAC COMP */ 93289b4012bSMark Brown 0x0020, /* R114 - AI ADC Control */ 93389b4012bSMark Brown 0x0020, /* R115 - AI DAC Control */ 93489b4012bSMark Brown 0x0000, /* R116 - AIF Test */ 93589b4012bSMark Brown 0x0000, /* R117 */ 93689b4012bSMark Brown 0x0000, /* R118 */ 93789b4012bSMark Brown 0x0000, /* R119 */ 93889b4012bSMark Brown 0x0000, /* R120 */ 93989b4012bSMark Brown 0x0000, /* R121 */ 94089b4012bSMark Brown 0x0000, /* R122 */ 94189b4012bSMark Brown 0x0000, /* R123 */ 94289b4012bSMark Brown 0x0000, /* R124 */ 94389b4012bSMark Brown 0x0000, /* R125 */ 94489b4012bSMark Brown 0x0000, /* R126 */ 94589b4012bSMark Brown 0x0000, /* R127 */ 94689b4012bSMark Brown 0x1FFF, /* R128 - GPIO Debounce */ 94789b4012bSMark Brown 0x0000, /* R129 - GPIO Pin pull up Control */ 94889b4012bSMark Brown 0x03FC, /* R130 - GPIO Pull down Control */ 94989b4012bSMark Brown 0x0000, /* R131 - GPIO Interrupt Mode */ 95089b4012bSMark Brown 0x0000, /* R132 */ 95189b4012bSMark Brown 0x0000, /* R133 - GPIO Control */ 95289b4012bSMark Brown 0x0A7B, /* R134 - GPIO Configuration (i/o) */ 95389b4012bSMark Brown 0x06FE, /* R135 - GPIO Pin Polarity / Type */ 95489b4012bSMark Brown 0x0000, /* R136 */ 95589b4012bSMark Brown 0x0000, /* R137 */ 95689b4012bSMark Brown 0x0000, /* R138 */ 95789b4012bSMark Brown 0x0000, /* R139 */ 95889b4012bSMark Brown 0x1312, /* R140 - GPIO Function Select 1 */ 95989b4012bSMark Brown 0x1030, /* R141 - GPIO Function Select 2 */ 96089b4012bSMark Brown 0x2231, /* R142 - GPIO Function Select 3 */ 96189b4012bSMark Brown 0x0003, /* R143 - GPIO Function Select 4 */ 96289b4012bSMark Brown 0x0000, /* R144 - Digitiser Control (1) */ 96389b4012bSMark Brown 0x0002, /* R145 - Digitiser Control (2) */ 96489b4012bSMark Brown 0x0000, /* R146 */ 96589b4012bSMark Brown 0x0000, /* R147 */ 96689b4012bSMark Brown 0x0000, /* R148 */ 96789b4012bSMark Brown 0x0000, /* R149 */ 96889b4012bSMark Brown 0x0000, /* R150 */ 96989b4012bSMark Brown 0x0000, /* R151 */ 97089b4012bSMark Brown 0x7000, /* R152 - AUX1 Readback */ 97189b4012bSMark Brown 0x7000, /* R153 - AUX2 Readback */ 97289b4012bSMark Brown 0x7000, /* R154 - AUX3 Readback */ 97389b4012bSMark Brown 0x7000, /* R155 - AUX4 Readback */ 97489b4012bSMark Brown 0x0000, /* R156 - USB Voltage Readback */ 97589b4012bSMark Brown 0x0000, /* R157 - LINE Voltage Readback */ 97689b4012bSMark Brown 0x0000, /* R158 - BATT Voltage Readback */ 97789b4012bSMark Brown 0x0000, /* R159 - Chip Temp Readback */ 97889b4012bSMark Brown 0x0000, /* R160 */ 97989b4012bSMark Brown 0x0000, /* R161 */ 98089b4012bSMark Brown 0x0000, /* R162 */ 98189b4012bSMark Brown 0x0000, /* R163 - Generic Comparator Control */ 98289b4012bSMark Brown 0x0000, /* R164 - Generic comparator 1 */ 98389b4012bSMark Brown 0x0000, /* R165 - Generic comparator 2 */ 98489b4012bSMark Brown 0x0000, /* R166 - Generic comparator 3 */ 98589b4012bSMark Brown 0x0000, /* R167 - Generic comparator 4 */ 98689b4012bSMark Brown 0xA00F, /* R168 - Battery Charger Control 1 */ 98789b4012bSMark Brown 0x0B06, /* R169 - Battery Charger Control 2 */ 98889b4012bSMark Brown 0x0000, /* R170 - Battery Charger Control 3 */ 98989b4012bSMark Brown 0x0000, /* R171 */ 99089b4012bSMark Brown 0x0000, /* R172 - Current Sink Driver A */ 99189b4012bSMark Brown 0x0000, /* R173 - CSA Flash control */ 99289b4012bSMark Brown 0x0000, /* R174 - Current Sink Driver B */ 99389b4012bSMark Brown 0x0000, /* R175 - CSB Flash control */ 99489b4012bSMark Brown 0x0000, /* R176 - DCDC/LDO requested */ 99589b4012bSMark Brown 0x002D, /* R177 - DCDC Active options */ 99689b4012bSMark Brown 0x0000, /* R178 - DCDC Sleep options */ 99789b4012bSMark Brown 0x0025, /* R179 - Power-check comparator */ 99889b4012bSMark Brown 0x000E, /* R180 - DCDC1 Control */ 99989b4012bSMark Brown 0x0400, /* R181 - DCDC1 Timeouts */ 100089b4012bSMark Brown 0x1006, /* R182 - DCDC1 Low Power */ 100189b4012bSMark Brown 0x0018, /* R183 - DCDC2 Control */ 100289b4012bSMark Brown 0x0000, /* R184 - DCDC2 Timeouts */ 100389b4012bSMark Brown 0x0000, /* R185 */ 100489b4012bSMark Brown 0x000E, /* R186 - DCDC3 Control */ 100589b4012bSMark Brown 0x0400, /* R187 - DCDC3 Timeouts */ 100689b4012bSMark Brown 0x0006, /* R188 - DCDC3 Low Power */ 100789b4012bSMark Brown 0x0026, /* R189 - DCDC4 Control */ 100889b4012bSMark Brown 0x0400, /* R190 - DCDC4 Timeouts */ 100989b4012bSMark Brown 0x0006, /* R191 - DCDC4 Low Power */ 101089b4012bSMark Brown 0x0008, /* R192 - DCDC5 Control */ 101189b4012bSMark Brown 0x0000, /* R193 - DCDC5 Timeouts */ 101289b4012bSMark Brown 0x0000, /* R194 */ 101389b4012bSMark Brown 0x0026, /* R195 - DCDC6 Control */ 101489b4012bSMark Brown 0x0400, /* R196 - DCDC6 Timeouts */ 101589b4012bSMark Brown 0x0006, /* R197 - DCDC6 Low Power */ 101689b4012bSMark Brown 0x0000, /* R198 */ 101789b4012bSMark Brown 0x0003, /* R199 - Limit Switch Control */ 101889b4012bSMark Brown 0x001C, /* R200 - LDO1 Control */ 101989b4012bSMark Brown 0x0000, /* R201 - LDO1 Timeouts */ 102089b4012bSMark Brown 0x001C, /* R202 - LDO1 Low Power */ 102189b4012bSMark Brown 0x001C, /* R203 - LDO2 Control */ 102289b4012bSMark Brown 0x0400, /* R204 - LDO2 Timeouts */ 102389b4012bSMark Brown 0x001C, /* R205 - LDO2 Low Power */ 102489b4012bSMark Brown 0x001C, /* R206 - LDO3 Control */ 102589b4012bSMark Brown 0x0400, /* R207 - LDO3 Timeouts */ 102689b4012bSMark Brown 0x001C, /* R208 - LDO3 Low Power */ 102789b4012bSMark Brown 0x001F, /* R209 - LDO4 Control */ 102889b4012bSMark Brown 0x0400, /* R210 - LDO4 Timeouts */ 102989b4012bSMark Brown 0x001C, /* R211 - LDO4 Low Power */ 103089b4012bSMark Brown 0x0000, /* R212 */ 103189b4012bSMark Brown 0x0000, /* R213 */ 103289b4012bSMark Brown 0x0000, /* R214 */ 103389b4012bSMark Brown 0x0000, /* R215 - VCC_FAULT Masks */ 103489b4012bSMark Brown 0x001F, /* R216 - Main Bandgap Control */ 103589b4012bSMark Brown 0x0000, /* R217 - OSC Control */ 103689b4012bSMark Brown 0x9000, /* R218 - RTC Tick Control */ 103789b4012bSMark Brown 0x0000, /* R219 */ 103889b4012bSMark Brown 0x4000, /* R220 - RAM BIST 1 */ 103989b4012bSMark Brown 0x0000, /* R221 */ 104089b4012bSMark Brown 0x0000, /* R222 */ 104189b4012bSMark Brown 0x0000, /* R223 */ 104289b4012bSMark Brown 0x0000, /* R224 */ 104389b4012bSMark Brown 0x0000, /* R225 - DCDC/LDO status */ 104489b4012bSMark Brown 0x0000, /* R226 */ 104589b4012bSMark Brown 0x0000, /* R227 */ 104689b4012bSMark Brown 0x0000, /* R228 */ 104789b4012bSMark Brown 0x0000, /* R229 */ 104889b4012bSMark Brown 0xE000, /* R230 - GPIO Pin Status */ 104989b4012bSMark Brown 0x0000, /* R231 */ 105089b4012bSMark Brown 0x0000, /* R232 */ 105189b4012bSMark Brown 0x0000, /* R233 */ 105289b4012bSMark Brown 0x0000, /* R234 */ 105389b4012bSMark Brown 0x0000, /* R235 */ 105489b4012bSMark Brown 0x0000, /* R236 */ 105589b4012bSMark Brown 0x0000, /* R237 */ 105689b4012bSMark Brown 0x0000, /* R238 */ 105789b4012bSMark Brown 0x0000, /* R239 */ 105889b4012bSMark Brown 0x0000, /* R240 */ 105989b4012bSMark Brown 0x0000, /* R241 */ 106089b4012bSMark Brown 0x0000, /* R242 */ 106189b4012bSMark Brown 0x0000, /* R243 */ 106289b4012bSMark Brown 0x0000, /* R244 */ 106389b4012bSMark Brown 0x0000, /* R245 */ 106489b4012bSMark Brown 0x0000, /* R246 */ 106589b4012bSMark Brown 0x0000, /* R247 */ 106689b4012bSMark Brown 0x0000, /* R248 */ 106789b4012bSMark Brown 0x0000, /* R249 */ 106889b4012bSMark Brown 0x0000, /* R250 */ 106989b4012bSMark Brown 0x0000, /* R251 */ 107089b4012bSMark Brown 0x0000, /* R252 */ 107189b4012bSMark Brown 0x0000, /* R253 */ 107289b4012bSMark Brown 0x0000, /* R254 */ 107389b4012bSMark Brown 0x0000, /* R255 */ 107489b4012bSMark Brown }; 107589b4012bSMark Brown #endif 107689b4012bSMark Brown 1077ca23f8c1SMark Brown #ifdef CONFIG_MFD_WM8351_CONFIG_MODE_0 1078ca23f8c1SMark Brown 1079ca23f8c1SMark Brown #undef WM8350_HAVE_CONFIG_MODE 1080ca23f8c1SMark Brown #define WM8350_HAVE_CONFIG_MODE 1081ca23f8c1SMark Brown 1082ca23f8c1SMark Brown const u16 wm8351_mode0_defaults[] = { 1083ca23f8c1SMark Brown 0x6143, /* R0 - Reset/ID */ 1084ca23f8c1SMark Brown 0x0000, /* R1 - ID */ 1085ca23f8c1SMark Brown 0x0001, /* R2 - Revision */ 1086ca23f8c1SMark Brown 0x1C02, /* R3 - System Control 1 */ 1087ca23f8c1SMark Brown 0x0004, /* R4 - System Control 2 */ 1088ca23f8c1SMark Brown 0x0000, /* R5 - System Hibernate */ 1089ca23f8c1SMark Brown 0x8A00, /* R6 - Interface Control */ 1090ca23f8c1SMark Brown 0x0000, /* R7 */ 1091ca23f8c1SMark Brown 0x8000, /* R8 - Power mgmt (1) */ 1092ca23f8c1SMark Brown 0x0000, /* R9 - Power mgmt (2) */ 1093ca23f8c1SMark Brown 0x0000, /* R10 - Power mgmt (3) */ 1094ca23f8c1SMark Brown 0x2000, /* R11 - Power mgmt (4) */ 1095ca23f8c1SMark Brown 0x0E00, /* R12 - Power mgmt (5) */ 1096ca23f8c1SMark Brown 0x0000, /* R13 - Power mgmt (6) */ 1097ca23f8c1SMark Brown 0x0000, /* R14 - Power mgmt (7) */ 1098ca23f8c1SMark Brown 0x0000, /* R15 */ 1099ca23f8c1SMark Brown 0x0000, /* R16 - RTC Seconds/Minutes */ 1100ca23f8c1SMark Brown 0x0100, /* R17 - RTC Hours/Day */ 1101ca23f8c1SMark Brown 0x0101, /* R18 - RTC Date/Month */ 1102ca23f8c1SMark Brown 0x1400, /* R19 - RTC Year */ 1103ca23f8c1SMark Brown 0x0000, /* R20 - Alarm Seconds/Minutes */ 1104ca23f8c1SMark Brown 0x0000, /* R21 - Alarm Hours/Day */ 1105ca23f8c1SMark Brown 0x0000, /* R22 - Alarm Date/Month */ 1106ca23f8c1SMark Brown 0x0320, /* R23 - RTC Time Control */ 1107ca23f8c1SMark Brown 0x0000, /* R24 - System Interrupts */ 1108ca23f8c1SMark Brown 0x0000, /* R25 - Interrupt Status 1 */ 1109ca23f8c1SMark Brown 0x0000, /* R26 - Interrupt Status 2 */ 1110ca23f8c1SMark Brown 0x0000, /* R27 */ 1111ca23f8c1SMark Brown 0x0000, /* R28 - Under Voltage Interrupt status */ 1112ca23f8c1SMark Brown 0x0000, /* R29 - Over Current Interrupt status */ 1113ca23f8c1SMark Brown 0x0000, /* R30 - GPIO Interrupt Status */ 1114ca23f8c1SMark Brown 0x0000, /* R31 - Comparator Interrupt Status */ 1115ca23f8c1SMark Brown 0x3FFF, /* R32 - System Interrupts Mask */ 1116ca23f8c1SMark Brown 0x0000, /* R33 - Interrupt Status 1 Mask */ 1117ca23f8c1SMark Brown 0x0000, /* R34 - Interrupt Status 2 Mask */ 1118ca23f8c1SMark Brown 0x0000, /* R35 */ 1119ca23f8c1SMark Brown 0x0000, /* R36 - Under Voltage Interrupt status Mask */ 1120ca23f8c1SMark Brown 0x0000, /* R37 - Over Current Interrupt status Mask */ 1121ca23f8c1SMark Brown 0x0000, /* R38 - GPIO Interrupt Status Mask */ 1122ca23f8c1SMark Brown 0x0000, /* R39 - Comparator Interrupt Status Mask */ 1123ca23f8c1SMark Brown 0x0040, /* R40 - Clock Control 1 */ 1124ca23f8c1SMark Brown 0x0000, /* R41 - Clock Control 2 */ 1125ca23f8c1SMark Brown 0x3A00, /* R42 - FLL Control 1 */ 1126ca23f8c1SMark Brown 0x7086, /* R43 - FLL Control 2 */ 1127ca23f8c1SMark Brown 0xC226, /* R44 - FLL Control 3 */ 1128ca23f8c1SMark Brown 0x0000, /* R45 - FLL Control 4 */ 1129ca23f8c1SMark Brown 0x0000, /* R46 */ 1130ca23f8c1SMark Brown 0x0000, /* R47 */ 1131ca23f8c1SMark Brown 0x0000, /* R48 - DAC Control */ 1132ca23f8c1SMark Brown 0x0000, /* R49 */ 1133ca23f8c1SMark Brown 0x00C0, /* R50 - DAC Digital Volume L */ 1134ca23f8c1SMark Brown 0x00C0, /* R51 - DAC Digital Volume R */ 1135ca23f8c1SMark Brown 0x0000, /* R52 */ 1136ca23f8c1SMark Brown 0x0040, /* R53 - DAC LR Rate */ 1137ca23f8c1SMark Brown 0x0000, /* R54 - DAC Clock Control */ 1138ca23f8c1SMark Brown 0x0000, /* R55 */ 1139ca23f8c1SMark Brown 0x0000, /* R56 */ 1140ca23f8c1SMark Brown 0x0000, /* R57 */ 1141ca23f8c1SMark Brown 0x4000, /* R58 - DAC Mute */ 1142ca23f8c1SMark Brown 0x0000, /* R59 - DAC Mute Volume */ 1143ca23f8c1SMark Brown 0x0000, /* R60 - DAC Side */ 1144ca23f8c1SMark Brown 0x0000, /* R61 */ 1145ca23f8c1SMark Brown 0x0000, /* R62 */ 1146ca23f8c1SMark Brown 0x0000, /* R63 */ 1147ca23f8c1SMark Brown 0x8000, /* R64 - ADC Control */ 1148ca23f8c1SMark Brown 0x0000, /* R65 */ 1149ca23f8c1SMark Brown 0x00C0, /* R66 - ADC Digital Volume L */ 1150ca23f8c1SMark Brown 0x00C0, /* R67 - ADC Digital Volume R */ 1151ca23f8c1SMark Brown 0x0000, /* R68 - ADC Divider */ 1152ca23f8c1SMark Brown 0x0000, /* R69 */ 1153ca23f8c1SMark Brown 0x0040, /* R70 - ADC LR Rate */ 1154ca23f8c1SMark Brown 0x0000, /* R71 */ 1155ca23f8c1SMark Brown 0x0303, /* R72 - Input Control */ 1156ca23f8c1SMark Brown 0x0000, /* R73 - IN3 Input Control */ 1157ca23f8c1SMark Brown 0x0000, /* R74 - Mic Bias Control */ 1158ca23f8c1SMark Brown 0x0000, /* R75 */ 1159ca23f8c1SMark Brown 0x0000, /* R76 - Output Control */ 1160ca23f8c1SMark Brown 0x0000, /* R77 - Jack Detect */ 1161ca23f8c1SMark Brown 0x0000, /* R78 - Anti Pop Control */ 1162ca23f8c1SMark Brown 0x0000, /* R79 */ 1163ca23f8c1SMark Brown 0x0040, /* R80 - Left Input Volume */ 1164ca23f8c1SMark Brown 0x0040, /* R81 - Right Input Volume */ 1165ca23f8c1SMark Brown 0x0000, /* R82 */ 1166ca23f8c1SMark Brown 0x0000, /* R83 */ 1167ca23f8c1SMark Brown 0x0000, /* R84 */ 1168ca23f8c1SMark Brown 0x0000, /* R85 */ 1169ca23f8c1SMark Brown 0x0000, /* R86 */ 1170ca23f8c1SMark Brown 0x0000, /* R87 */ 1171ca23f8c1SMark Brown 0x0800, /* R88 - Left Mixer Control */ 1172ca23f8c1SMark Brown 0x1000, /* R89 - Right Mixer Control */ 1173ca23f8c1SMark Brown 0x0000, /* R90 */ 1174ca23f8c1SMark Brown 0x0000, /* R91 */ 1175ca23f8c1SMark Brown 0x0000, /* R92 - OUT3 Mixer Control */ 1176ca23f8c1SMark Brown 0x0000, /* R93 - OUT4 Mixer Control */ 1177ca23f8c1SMark Brown 0x0000, /* R94 */ 1178ca23f8c1SMark Brown 0x0000, /* R95 */ 1179ca23f8c1SMark Brown 0x0000, /* R96 - Output Left Mixer Volume */ 1180ca23f8c1SMark Brown 0x0000, /* R97 - Output Right Mixer Volume */ 1181ca23f8c1SMark Brown 0x0000, /* R98 - Input Mixer Volume L */ 1182ca23f8c1SMark Brown 0x0000, /* R99 - Input Mixer Volume R */ 1183ca23f8c1SMark Brown 0x0000, /* R100 - Input Mixer Volume */ 1184ca23f8c1SMark Brown 0x0000, /* R101 */ 1185ca23f8c1SMark Brown 0x0000, /* R102 */ 1186ca23f8c1SMark Brown 0x0000, /* R103 */ 1187ca23f8c1SMark Brown 0x00E4, /* R104 - OUT1L Volume */ 1188ca23f8c1SMark Brown 0x00E4, /* R105 - OUT1R Volume */ 1189ca23f8c1SMark Brown 0x00E4, /* R106 - OUT2L Volume */ 1190ca23f8c1SMark Brown 0x02E4, /* R107 - OUT2R Volume */ 1191ca23f8c1SMark Brown 0x0000, /* R108 */ 1192ca23f8c1SMark Brown 0x0000, /* R109 */ 1193ca23f8c1SMark Brown 0x0000, /* R110 */ 1194ca23f8c1SMark Brown 0x0000, /* R111 - BEEP Volume */ 1195ca23f8c1SMark Brown 0x0A00, /* R112 - AI Formating */ 1196ca23f8c1SMark Brown 0x0000, /* R113 - ADC DAC COMP */ 1197ca23f8c1SMark Brown 0x0020, /* R114 - AI ADC Control */ 1198ca23f8c1SMark Brown 0x0020, /* R115 - AI DAC Control */ 1199ca23f8c1SMark Brown 0x0000, /* R116 */ 1200ca23f8c1SMark Brown 0x0000, /* R117 */ 1201ca23f8c1SMark Brown 0x0000, /* R118 */ 1202ca23f8c1SMark Brown 0x0000, /* R119 */ 1203ca23f8c1SMark Brown 0x0000, /* R120 */ 1204ca23f8c1SMark Brown 0x0000, /* R121 */ 1205ca23f8c1SMark Brown 0x0000, /* R122 */ 1206ca23f8c1SMark Brown 0x0000, /* R123 */ 1207ca23f8c1SMark Brown 0x0000, /* R124 */ 1208ca23f8c1SMark Brown 0x0000, /* R125 */ 1209ca23f8c1SMark Brown 0x0000, /* R126 */ 1210ca23f8c1SMark Brown 0x0000, /* R127 */ 1211ca23f8c1SMark Brown 0x1FFF, /* R128 - GPIO Debounce */ 1212ca23f8c1SMark Brown 0x0000, /* R129 - GPIO Pin pull up Control */ 1213ca23f8c1SMark Brown 0x0000, /* R130 - GPIO Pull down Control */ 1214ca23f8c1SMark Brown 0x0000, /* R131 - GPIO Interrupt Mode */ 1215ca23f8c1SMark Brown 0x0000, /* R132 */ 1216ca23f8c1SMark Brown 0x0000, /* R133 - GPIO Control */ 1217ca23f8c1SMark Brown 0x0FFC, /* R134 - GPIO Configuration (i/o) */ 1218ca23f8c1SMark Brown 0x0FFC, /* R135 - GPIO Pin Polarity / Type */ 1219ca23f8c1SMark Brown 0x0000, /* R136 */ 1220ca23f8c1SMark Brown 0x0000, /* R137 */ 1221ca23f8c1SMark Brown 0x0000, /* R138 */ 1222ca23f8c1SMark Brown 0x0000, /* R139 */ 1223ca23f8c1SMark Brown 0x0013, /* R140 - GPIO Function Select 1 */ 1224ca23f8c1SMark Brown 0x0000, /* R141 - GPIO Function Select 2 */ 1225ca23f8c1SMark Brown 0x0000, /* R142 - GPIO Function Select 3 */ 1226ca23f8c1SMark Brown 0x0003, /* R143 - GPIO Function Select 4 */ 1227ca23f8c1SMark Brown 0x0000, /* R144 - Digitiser Control (1) */ 1228ca23f8c1SMark Brown 0x0002, /* R145 - Digitiser Control (2) */ 1229ca23f8c1SMark Brown 0x0000, /* R146 */ 1230ca23f8c1SMark Brown 0x0000, /* R147 */ 1231ca23f8c1SMark Brown 0x0000, /* R148 */ 1232ca23f8c1SMark Brown 0x0000, /* R149 */ 1233ca23f8c1SMark Brown 0x0000, /* R150 */ 1234ca23f8c1SMark Brown 0x0000, /* R151 */ 1235ca23f8c1SMark Brown 0x7000, /* R152 - AUX1 Readback */ 1236ca23f8c1SMark Brown 0x7000, /* R153 - AUX2 Readback */ 1237ca23f8c1SMark Brown 0x7000, /* R154 - AUX3 Readback */ 1238ca23f8c1SMark Brown 0x7000, /* R155 - AUX4 Readback */ 1239ca23f8c1SMark Brown 0x0000, /* R156 - USB Voltage Readback */ 1240ca23f8c1SMark Brown 0x0000, /* R157 - LINE Voltage Readback */ 1241ca23f8c1SMark Brown 0x0000, /* R158 - BATT Voltage Readback */ 1242ca23f8c1SMark Brown 0x0000, /* R159 - Chip Temp Readback */ 1243ca23f8c1SMark Brown 0x0000, /* R160 */ 1244ca23f8c1SMark Brown 0x0000, /* R161 */ 1245ca23f8c1SMark Brown 0x0000, /* R162 */ 1246ca23f8c1SMark Brown 0x0000, /* R163 - Generic Comparator Control */ 1247ca23f8c1SMark Brown 0x0000, /* R164 - Generic comparator 1 */ 1248ca23f8c1SMark Brown 0x0000, /* R165 - Generic comparator 2 */ 1249ca23f8c1SMark Brown 0x0000, /* R166 - Generic comparator 3 */ 1250ca23f8c1SMark Brown 0x0000, /* R167 - Generic comparator 4 */ 1251ca23f8c1SMark Brown 0xA00F, /* R168 - Battery Charger Control 1 */ 1252ca23f8c1SMark Brown 0x0B06, /* R169 - Battery Charger Control 2 */ 1253ca23f8c1SMark Brown 0x0000, /* R170 - Battery Charger Control 3 */ 1254ca23f8c1SMark Brown 0x0000, /* R171 */ 1255ca23f8c1SMark Brown 0x0000, /* R172 - Current Sink Driver A */ 1256ca23f8c1SMark Brown 0x0000, /* R173 - CSA Flash control */ 1257ca23f8c1SMark Brown 0x0000, /* R174 */ 1258ca23f8c1SMark Brown 0x0000, /* R175 */ 1259ca23f8c1SMark Brown 0x0000, /* R176 - DCDC/LDO requested */ 1260ca23f8c1SMark Brown 0x032D, /* R177 - DCDC Active options */ 1261ca23f8c1SMark Brown 0x0000, /* R178 - DCDC Sleep options */ 1262ca23f8c1SMark Brown 0x0025, /* R179 - Power-check comparator */ 1263ca23f8c1SMark Brown 0x000E, /* R180 - DCDC1 Control */ 1264ca23f8c1SMark Brown 0x0000, /* R181 - DCDC1 Timeouts */ 1265ca23f8c1SMark Brown 0x1006, /* R182 - DCDC1 Low Power */ 1266ca23f8c1SMark Brown 0x0018, /* R183 - DCDC2 Control */ 1267ca23f8c1SMark Brown 0x0000, /* R184 - DCDC2 Timeouts */ 1268ca23f8c1SMark Brown 0x0000, /* R185 */ 1269ca23f8c1SMark Brown 0x0000, /* R186 - DCDC3 Control */ 1270ca23f8c1SMark Brown 0x0000, /* R187 - DCDC3 Timeouts */ 1271ca23f8c1SMark Brown 0x0006, /* R188 - DCDC3 Low Power */ 1272ca23f8c1SMark Brown 0x0000, /* R189 - DCDC4 Control */ 1273ca23f8c1SMark Brown 0x0000, /* R190 - DCDC4 Timeouts */ 1274ca23f8c1SMark Brown 0x0006, /* R191 - DCDC4 Low Power */ 1275ca23f8c1SMark Brown 0x0008, /* R192 */ 1276ca23f8c1SMark Brown 0x0000, /* R193 */ 1277ca23f8c1SMark Brown 0x0000, /* R194 */ 1278ca23f8c1SMark Brown 0x0000, /* R195 */ 1279ca23f8c1SMark Brown 0x0000, /* R196 */ 1280ca23f8c1SMark Brown 0x0006, /* R197 */ 1281ca23f8c1SMark Brown 0x0000, /* R198 */ 1282ca23f8c1SMark Brown 0x0003, /* R199 - Limit Switch Control */ 1283ca23f8c1SMark Brown 0x001C, /* R200 - LDO1 Control */ 1284ca23f8c1SMark Brown 0x0000, /* R201 - LDO1 Timeouts */ 1285ca23f8c1SMark Brown 0x001C, /* R202 - LDO1 Low Power */ 1286ca23f8c1SMark Brown 0x001B, /* R203 - LDO2 Control */ 1287ca23f8c1SMark Brown 0x0000, /* R204 - LDO2 Timeouts */ 1288ca23f8c1SMark Brown 0x001C, /* R205 - LDO2 Low Power */ 1289ca23f8c1SMark Brown 0x001B, /* R206 - LDO3 Control */ 1290ca23f8c1SMark Brown 0x0000, /* R207 - LDO3 Timeouts */ 1291ca23f8c1SMark Brown 0x001C, /* R208 - LDO3 Low Power */ 1292ca23f8c1SMark Brown 0x001B, /* R209 - LDO4 Control */ 1293ca23f8c1SMark Brown 0x0000, /* R210 - LDO4 Timeouts */ 1294ca23f8c1SMark Brown 0x001C, /* R211 - LDO4 Low Power */ 1295ca23f8c1SMark Brown 0x0000, /* R212 */ 1296ca23f8c1SMark Brown 0x0000, /* R213 */ 1297ca23f8c1SMark Brown 0x0000, /* R214 */ 1298ca23f8c1SMark Brown 0x0000, /* R215 - VCC_FAULT Masks */ 1299ca23f8c1SMark Brown 0x001F, /* R216 - Main Bandgap Control */ 1300ca23f8c1SMark Brown 0x0000, /* R217 - OSC Control */ 1301ca23f8c1SMark Brown 0x9000, /* R218 - RTC Tick Control */ 1302ca23f8c1SMark Brown 0x0000, /* R219 - Security1 */ 1303ca23f8c1SMark Brown 0x4000, /* R220 */ 1304ca23f8c1SMark Brown 0x0000, /* R221 */ 1305ca23f8c1SMark Brown 0x0000, /* R222 */ 1306ca23f8c1SMark Brown 0x0000, /* R223 */ 1307ca23f8c1SMark Brown 0x0000, /* R224 - Signal overrides */ 1308ca23f8c1SMark Brown 0x0000, /* R225 - DCDC/LDO status */ 1309ca23f8c1SMark Brown 0x0000, /* R226 - Charger Overides/status */ 1310ca23f8c1SMark Brown 0x0000, /* R227 - misc overrides */ 1311ca23f8c1SMark Brown 0x0000, /* R228 - Supply overrides/status 1 */ 1312ca23f8c1SMark Brown 0x0000, /* R229 - Supply overrides/status 2 */ 1313ca23f8c1SMark Brown 0xE000, /* R230 - GPIO Pin Status */ 1314ca23f8c1SMark Brown 0x0000, /* R231 - comparotor overrides */ 1315ca23f8c1SMark Brown 0x0000, /* R232 */ 1316ca23f8c1SMark Brown 0x0000, /* R233 - State Machine status */ 1317ca23f8c1SMark Brown 0x1200, /* R234 - FLL Test 1 */ 1318ca23f8c1SMark Brown 0x0000, /* R235 */ 1319ca23f8c1SMark Brown 0x8000, /* R236 */ 1320ca23f8c1SMark Brown 0x0000, /* R237 */ 1321ca23f8c1SMark Brown 0x0000, /* R238 */ 1322ca23f8c1SMark Brown 0x0000, /* R239 */ 1323ca23f8c1SMark Brown 0x0003, /* R240 */ 1324ca23f8c1SMark Brown 0x0000, /* R241 */ 1325ca23f8c1SMark Brown 0x0000, /* R242 */ 1326ca23f8c1SMark Brown 0x0004, /* R243 */ 1327ca23f8c1SMark Brown 0x0300, /* R244 */ 1328ca23f8c1SMark Brown 0x0000, /* R245 */ 1329ca23f8c1SMark Brown 0x0200, /* R246 */ 1330ca23f8c1SMark Brown 0x0000, /* R247 */ 1331ca23f8c1SMark Brown 0x1000, /* R248 - DCDC1 Test Controls */ 1332ca23f8c1SMark Brown 0x1000, /* R249 */ 1333ca23f8c1SMark Brown 0x1000, /* R250 - DCDC3 Test Controls */ 1334ca23f8c1SMark Brown 0x1000, /* R251 - DCDC4 Test Controls */ 1335ca23f8c1SMark Brown }; 1336ca23f8c1SMark Brown #endif 1337ca23f8c1SMark Brown 1338ca23f8c1SMark Brown #ifdef CONFIG_MFD_WM8351_CONFIG_MODE_1 1339ca23f8c1SMark Brown 1340ca23f8c1SMark Brown #undef WM8350_HAVE_CONFIG_MODE 1341ca23f8c1SMark Brown #define WM8350_HAVE_CONFIG_MODE 1342ca23f8c1SMark Brown 1343ca23f8c1SMark Brown const u16 wm8351_mode1_defaults[] = { 1344ca23f8c1SMark Brown 0x6143, /* R0 - Reset/ID */ 1345ca23f8c1SMark Brown 0x0000, /* R1 - ID */ 1346ca23f8c1SMark Brown 0x0001, /* R2 - Revision */ 1347ca23f8c1SMark Brown 0x1C02, /* R3 - System Control 1 */ 1348ca23f8c1SMark Brown 0x0204, /* R4 - System Control 2 */ 1349ca23f8c1SMark Brown 0x0000, /* R5 - System Hibernate */ 1350ca23f8c1SMark Brown 0x8A00, /* R6 - Interface Control */ 1351ca23f8c1SMark Brown 0x0000, /* R7 */ 1352ca23f8c1SMark Brown 0x8000, /* R8 - Power mgmt (1) */ 1353ca23f8c1SMark Brown 0x0000, /* R9 - Power mgmt (2) */ 1354ca23f8c1SMark Brown 0x0000, /* R10 - Power mgmt (3) */ 1355ca23f8c1SMark Brown 0x2000, /* R11 - Power mgmt (4) */ 1356ca23f8c1SMark Brown 0x0E00, /* R12 - Power mgmt (5) */ 1357ca23f8c1SMark Brown 0x0000, /* R13 - Power mgmt (6) */ 1358ca23f8c1SMark Brown 0x0000, /* R14 - Power mgmt (7) */ 1359ca23f8c1SMark Brown 0x0000, /* R15 */ 1360ca23f8c1SMark Brown 0x0000, /* R16 - RTC Seconds/Minutes */ 1361ca23f8c1SMark Brown 0x0100, /* R17 - RTC Hours/Day */ 1362ca23f8c1SMark Brown 0x0101, /* R18 - RTC Date/Month */ 1363ca23f8c1SMark Brown 0x1400, /* R19 - RTC Year */ 1364ca23f8c1SMark Brown 0x0000, /* R20 - Alarm Seconds/Minutes */ 1365ca23f8c1SMark Brown 0x0000, /* R21 - Alarm Hours/Day */ 1366ca23f8c1SMark Brown 0x0000, /* R22 - Alarm Date/Month */ 1367ca23f8c1SMark Brown 0x0320, /* R23 - RTC Time Control */ 1368ca23f8c1SMark Brown 0x0000, /* R24 - System Interrupts */ 1369ca23f8c1SMark Brown 0x0000, /* R25 - Interrupt Status 1 */ 1370ca23f8c1SMark Brown 0x0000, /* R26 - Interrupt Status 2 */ 1371ca23f8c1SMark Brown 0x0000, /* R27 */ 1372ca23f8c1SMark Brown 0x0000, /* R28 - Under Voltage Interrupt status */ 1373ca23f8c1SMark Brown 0x0000, /* R29 - Over Current Interrupt status */ 1374ca23f8c1SMark Brown 0x0000, /* R30 - GPIO Interrupt Status */ 1375ca23f8c1SMark Brown 0x0000, /* R31 - Comparator Interrupt Status */ 1376ca23f8c1SMark Brown 0x3FFF, /* R32 - System Interrupts Mask */ 1377ca23f8c1SMark Brown 0x0000, /* R33 - Interrupt Status 1 Mask */ 1378ca23f8c1SMark Brown 0x0000, /* R34 - Interrupt Status 2 Mask */ 1379ca23f8c1SMark Brown 0x0000, /* R35 */ 1380ca23f8c1SMark Brown 0x0000, /* R36 - Under Voltage Interrupt status Mask */ 1381ca23f8c1SMark Brown 0x0000, /* R37 - Over Current Interrupt status Mask */ 1382ca23f8c1SMark Brown 0x0000, /* R38 - GPIO Interrupt Status Mask */ 1383ca23f8c1SMark Brown 0x0000, /* R39 - Comparator Interrupt Status Mask */ 1384ca23f8c1SMark Brown 0x0040, /* R40 - Clock Control 1 */ 1385ca23f8c1SMark Brown 0x0000, /* R41 - Clock Control 2 */ 1386ca23f8c1SMark Brown 0x3A00, /* R42 - FLL Control 1 */ 1387ca23f8c1SMark Brown 0x7086, /* R43 - FLL Control 2 */ 1388ca23f8c1SMark Brown 0xC226, /* R44 - FLL Control 3 */ 1389ca23f8c1SMark Brown 0x0000, /* R45 - FLL Control 4 */ 1390ca23f8c1SMark Brown 0x0000, /* R46 */ 1391ca23f8c1SMark Brown 0x0000, /* R47 */ 1392ca23f8c1SMark Brown 0x0000, /* R48 - DAC Control */ 1393ca23f8c1SMark Brown 0x0000, /* R49 */ 1394ca23f8c1SMark Brown 0x00C0, /* R50 - DAC Digital Volume L */ 1395ca23f8c1SMark Brown 0x00C0, /* R51 - DAC Digital Volume R */ 1396ca23f8c1SMark Brown 0x0000, /* R52 */ 1397ca23f8c1SMark Brown 0x0040, /* R53 - DAC LR Rate */ 1398ca23f8c1SMark Brown 0x0000, /* R54 - DAC Clock Control */ 1399ca23f8c1SMark Brown 0x0000, /* R55 */ 1400ca23f8c1SMark Brown 0x0000, /* R56 */ 1401ca23f8c1SMark Brown 0x0000, /* R57 */ 1402ca23f8c1SMark Brown 0x4000, /* R58 - DAC Mute */ 1403ca23f8c1SMark Brown 0x0000, /* R59 - DAC Mute Volume */ 1404ca23f8c1SMark Brown 0x0000, /* R60 - DAC Side */ 1405ca23f8c1SMark Brown 0x0000, /* R61 */ 1406ca23f8c1SMark Brown 0x0000, /* R62 */ 1407ca23f8c1SMark Brown 0x0000, /* R63 */ 1408ca23f8c1SMark Brown 0x8000, /* R64 - ADC Control */ 1409ca23f8c1SMark Brown 0x0000, /* R65 */ 1410ca23f8c1SMark Brown 0x00C0, /* R66 - ADC Digital Volume L */ 1411ca23f8c1SMark Brown 0x00C0, /* R67 - ADC Digital Volume R */ 1412ca23f8c1SMark Brown 0x0000, /* R68 - ADC Divider */ 1413ca23f8c1SMark Brown 0x0000, /* R69 */ 1414ca23f8c1SMark Brown 0x0040, /* R70 - ADC LR Rate */ 1415ca23f8c1SMark Brown 0x0000, /* R71 */ 1416ca23f8c1SMark Brown 0x0303, /* R72 - Input Control */ 1417ca23f8c1SMark Brown 0x0000, /* R73 - IN3 Input Control */ 1418ca23f8c1SMark Brown 0x0000, /* R74 - Mic Bias Control */ 1419ca23f8c1SMark Brown 0x0000, /* R75 */ 1420ca23f8c1SMark Brown 0x0000, /* R76 - Output Control */ 1421ca23f8c1SMark Brown 0x0000, /* R77 - Jack Detect */ 1422ca23f8c1SMark Brown 0x0000, /* R78 - Anti Pop Control */ 1423ca23f8c1SMark Brown 0x0000, /* R79 */ 1424ca23f8c1SMark Brown 0x0040, /* R80 - Left Input Volume */ 1425ca23f8c1SMark Brown 0x0040, /* R81 - Right Input Volume */ 1426ca23f8c1SMark Brown 0x0000, /* R82 */ 1427ca23f8c1SMark Brown 0x0000, /* R83 */ 1428ca23f8c1SMark Brown 0x0000, /* R84 */ 1429ca23f8c1SMark Brown 0x0000, /* R85 */ 1430ca23f8c1SMark Brown 0x0000, /* R86 */ 1431ca23f8c1SMark Brown 0x0000, /* R87 */ 1432ca23f8c1SMark Brown 0x0800, /* R88 - Left Mixer Control */ 1433ca23f8c1SMark Brown 0x1000, /* R89 - Right Mixer Control */ 1434ca23f8c1SMark Brown 0x0000, /* R90 */ 1435ca23f8c1SMark Brown 0x0000, /* R91 */ 1436ca23f8c1SMark Brown 0x0000, /* R92 - OUT3 Mixer Control */ 1437ca23f8c1SMark Brown 0x0000, /* R93 - OUT4 Mixer Control */ 1438ca23f8c1SMark Brown 0x0000, /* R94 */ 1439ca23f8c1SMark Brown 0x0000, /* R95 */ 1440ca23f8c1SMark Brown 0x0000, /* R96 - Output Left Mixer Volume */ 1441ca23f8c1SMark Brown 0x0000, /* R97 - Output Right Mixer Volume */ 1442ca23f8c1SMark Brown 0x0000, /* R98 - Input Mixer Volume L */ 1443ca23f8c1SMark Brown 0x0000, /* R99 - Input Mixer Volume R */ 1444ca23f8c1SMark Brown 0x0000, /* R100 - Input Mixer Volume */ 1445ca23f8c1SMark Brown 0x0000, /* R101 */ 1446ca23f8c1SMark Brown 0x0000, /* R102 */ 1447ca23f8c1SMark Brown 0x0000, /* R103 */ 1448ca23f8c1SMark Brown 0x00E4, /* R104 - OUT1L Volume */ 1449ca23f8c1SMark Brown 0x00E4, /* R105 - OUT1R Volume */ 1450ca23f8c1SMark Brown 0x00E4, /* R106 - OUT2L Volume */ 1451ca23f8c1SMark Brown 0x02E4, /* R107 - OUT2R Volume */ 1452ca23f8c1SMark Brown 0x0000, /* R108 */ 1453ca23f8c1SMark Brown 0x0000, /* R109 */ 1454ca23f8c1SMark Brown 0x0000, /* R110 */ 1455ca23f8c1SMark Brown 0x0000, /* R111 - BEEP Volume */ 1456ca23f8c1SMark Brown 0x0A00, /* R112 - AI Formating */ 1457ca23f8c1SMark Brown 0x0000, /* R113 - ADC DAC COMP */ 1458ca23f8c1SMark Brown 0x0020, /* R114 - AI ADC Control */ 1459ca23f8c1SMark Brown 0x0020, /* R115 - AI DAC Control */ 1460ca23f8c1SMark Brown 0x0000, /* R116 */ 1461ca23f8c1SMark Brown 0x0000, /* R117 */ 1462ca23f8c1SMark Brown 0x0000, /* R118 */ 1463ca23f8c1SMark Brown 0x0000, /* R119 */ 1464ca23f8c1SMark Brown 0x0000, /* R120 */ 1465ca23f8c1SMark Brown 0x0000, /* R121 */ 1466ca23f8c1SMark Brown 0x0000, /* R122 */ 1467ca23f8c1SMark Brown 0x0000, /* R123 */ 1468ca23f8c1SMark Brown 0x0000, /* R124 */ 1469ca23f8c1SMark Brown 0x0000, /* R125 */ 1470ca23f8c1SMark Brown 0x0000, /* R126 */ 1471ca23f8c1SMark Brown 0x0000, /* R127 */ 1472ca23f8c1SMark Brown 0x1FFF, /* R128 - GPIO Debounce */ 1473ca23f8c1SMark Brown 0x0000, /* R129 - GPIO Pin pull up Control */ 1474ca23f8c1SMark Brown 0x0000, /* R130 - GPIO Pull down Control */ 1475ca23f8c1SMark Brown 0x0000, /* R131 - GPIO Interrupt Mode */ 1476ca23f8c1SMark Brown 0x0000, /* R132 */ 1477ca23f8c1SMark Brown 0x0000, /* R133 - GPIO Control */ 1478ca23f8c1SMark Brown 0x0CFB, /* R134 - GPIO Configuration (i/o) */ 1479ca23f8c1SMark Brown 0x0C1F, /* R135 - GPIO Pin Polarity / Type */ 1480ca23f8c1SMark Brown 0x0000, /* R136 */ 1481ca23f8c1SMark Brown 0x0000, /* R137 */ 1482ca23f8c1SMark Brown 0x0000, /* R138 */ 1483ca23f8c1SMark Brown 0x0000, /* R139 */ 1484ca23f8c1SMark Brown 0x0300, /* R140 - GPIO Function Select 1 */ 1485ca23f8c1SMark Brown 0x1110, /* R141 - GPIO Function Select 2 */ 1486ca23f8c1SMark Brown 0x0013, /* R142 - GPIO Function Select 3 */ 1487ca23f8c1SMark Brown 0x0003, /* R143 - GPIO Function Select 4 */ 1488ca23f8c1SMark Brown 0x0000, /* R144 - Digitiser Control (1) */ 1489ca23f8c1SMark Brown 0x0002, /* R145 - Digitiser Control (2) */ 1490ca23f8c1SMark Brown 0x0000, /* R146 */ 1491ca23f8c1SMark Brown 0x0000, /* R147 */ 1492ca23f8c1SMark Brown 0x0000, /* R148 */ 1493ca23f8c1SMark Brown 0x0000, /* R149 */ 1494ca23f8c1SMark Brown 0x0000, /* R150 */ 1495ca23f8c1SMark Brown 0x0000, /* R151 */ 1496ca23f8c1SMark Brown 0x7000, /* R152 - AUX1 Readback */ 1497ca23f8c1SMark Brown 0x7000, /* R153 - AUX2 Readback */ 1498ca23f8c1SMark Brown 0x7000, /* R154 - AUX3 Readback */ 1499ca23f8c1SMark Brown 0x7000, /* R155 - AUX4 Readback */ 1500ca23f8c1SMark Brown 0x0000, /* R156 - USB Voltage Readback */ 1501ca23f8c1SMark Brown 0x0000, /* R157 - LINE Voltage Readback */ 1502ca23f8c1SMark Brown 0x0000, /* R158 - BATT Voltage Readback */ 1503ca23f8c1SMark Brown 0x0000, /* R159 - Chip Temp Readback */ 1504ca23f8c1SMark Brown 0x0000, /* R160 */ 1505ca23f8c1SMark Brown 0x0000, /* R161 */ 1506ca23f8c1SMark Brown 0x0000, /* R162 */ 1507ca23f8c1SMark Brown 0x0000, /* R163 - Generic Comparator Control */ 1508ca23f8c1SMark Brown 0x0000, /* R164 - Generic comparator 1 */ 1509ca23f8c1SMark Brown 0x0000, /* R165 - Generic comparator 2 */ 1510ca23f8c1SMark Brown 0x0000, /* R166 - Generic comparator 3 */ 1511ca23f8c1SMark Brown 0x0000, /* R167 - Generic comparator 4 */ 1512ca23f8c1SMark Brown 0xA00F, /* R168 - Battery Charger Control 1 */ 1513ca23f8c1SMark Brown 0x0B06, /* R169 - Battery Charger Control 2 */ 1514ca23f8c1SMark Brown 0x0000, /* R170 - Battery Charger Control 3 */ 1515ca23f8c1SMark Brown 0x0000, /* R171 */ 1516ca23f8c1SMark Brown 0x0000, /* R172 - Current Sink Driver A */ 1517ca23f8c1SMark Brown 0x0000, /* R173 - CSA Flash control */ 1518ca23f8c1SMark Brown 0x0000, /* R174 */ 1519ca23f8c1SMark Brown 0x0000, /* R175 */ 1520ca23f8c1SMark Brown 0x0000, /* R176 - DCDC/LDO requested */ 1521ca23f8c1SMark Brown 0x032D, /* R177 - DCDC Active options */ 1522ca23f8c1SMark Brown 0x0000, /* R178 - DCDC Sleep options */ 1523ca23f8c1SMark Brown 0x0025, /* R179 - Power-check comparator */ 1524ca23f8c1SMark Brown 0x000E, /* R180 - DCDC1 Control */ 1525ca23f8c1SMark Brown 0x0C00, /* R181 - DCDC1 Timeouts */ 1526ca23f8c1SMark Brown 0x1006, /* R182 - DCDC1 Low Power */ 1527ca23f8c1SMark Brown 0x0018, /* R183 - DCDC2 Control */ 1528ca23f8c1SMark Brown 0x0000, /* R184 - DCDC2 Timeouts */ 1529ca23f8c1SMark Brown 0x0000, /* R185 */ 1530ca23f8c1SMark Brown 0x0026, /* R186 - DCDC3 Control */ 1531ca23f8c1SMark Brown 0x0400, /* R187 - DCDC3 Timeouts */ 1532ca23f8c1SMark Brown 0x0006, /* R188 - DCDC3 Low Power */ 1533ca23f8c1SMark Brown 0x0062, /* R189 - DCDC4 Control */ 1534ca23f8c1SMark Brown 0x0800, /* R190 - DCDC4 Timeouts */ 1535ca23f8c1SMark Brown 0x0006, /* R191 - DCDC4 Low Power */ 1536ca23f8c1SMark Brown 0x0008, /* R192 */ 1537ca23f8c1SMark Brown 0x0000, /* R193 */ 1538ca23f8c1SMark Brown 0x0000, /* R194 */ 1539ca23f8c1SMark Brown 0x000A, /* R195 */ 1540ca23f8c1SMark Brown 0x1000, /* R196 */ 1541ca23f8c1SMark Brown 0x0006, /* R197 */ 1542ca23f8c1SMark Brown 0x0000, /* R198 */ 1543ca23f8c1SMark Brown 0x0003, /* R199 - Limit Switch Control */ 1544ca23f8c1SMark Brown 0x0006, /* R200 - LDO1 Control */ 1545ca23f8c1SMark Brown 0x0000, /* R201 - LDO1 Timeouts */ 1546ca23f8c1SMark Brown 0x001C, /* R202 - LDO1 Low Power */ 1547ca23f8c1SMark Brown 0x0010, /* R203 - LDO2 Control */ 1548ca23f8c1SMark Brown 0x0C00, /* R204 - LDO2 Timeouts */ 1549ca23f8c1SMark Brown 0x001C, /* R205 - LDO2 Low Power */ 1550ca23f8c1SMark Brown 0x001F, /* R206 - LDO3 Control */ 1551ca23f8c1SMark Brown 0x0800, /* R207 - LDO3 Timeouts */ 1552ca23f8c1SMark Brown 0x001C, /* R208 - LDO3 Low Power */ 1553ca23f8c1SMark Brown 0x000A, /* R209 - LDO4 Control */ 1554ca23f8c1SMark Brown 0x0800, /* R210 - LDO4 Timeouts */ 1555ca23f8c1SMark Brown 0x001C, /* R211 - LDO4 Low Power */ 1556ca23f8c1SMark Brown 0x0000, /* R212 */ 1557ca23f8c1SMark Brown 0x0000, /* R213 */ 1558ca23f8c1SMark Brown 0x0000, /* R214 */ 1559ca23f8c1SMark Brown 0x0000, /* R215 - VCC_FAULT Masks */ 1560ca23f8c1SMark Brown 0x001F, /* R216 - Main Bandgap Control */ 1561ca23f8c1SMark Brown 0x0000, /* R217 - OSC Control */ 1562ca23f8c1SMark Brown 0x9000, /* R218 - RTC Tick Control */ 1563ca23f8c1SMark Brown 0x0000, /* R219 - Security1 */ 1564ca23f8c1SMark Brown 0x4000, /* R220 */ 1565ca23f8c1SMark Brown 0x0000, /* R221 */ 1566ca23f8c1SMark Brown 0x0000, /* R222 */ 1567ca23f8c1SMark Brown 0x0000, /* R223 */ 1568ca23f8c1SMark Brown 0x0000, /* R224 - Signal overrides */ 1569ca23f8c1SMark Brown 0x0000, /* R225 - DCDC/LDO status */ 1570ca23f8c1SMark Brown 0x0000, /* R226 - Charger Overides/status */ 1571ca23f8c1SMark Brown 0x0000, /* R227 - misc overrides */ 1572ca23f8c1SMark Brown 0x0000, /* R228 - Supply overrides/status 1 */ 1573ca23f8c1SMark Brown 0x0000, /* R229 - Supply overrides/status 2 */ 1574ca23f8c1SMark Brown 0xE000, /* R230 - GPIO Pin Status */ 1575ca23f8c1SMark Brown 0x0000, /* R231 - comparotor overrides */ 1576ca23f8c1SMark Brown 0x0000, /* R232 */ 1577ca23f8c1SMark Brown 0x0000, /* R233 - State Machine status */ 1578ca23f8c1SMark Brown 0x1200, /* R234 - FLL Test 1 */ 1579ca23f8c1SMark Brown 0x0000, /* R235 */ 1580ca23f8c1SMark Brown 0x8000, /* R236 */ 1581ca23f8c1SMark Brown 0x0000, /* R237 */ 1582ca23f8c1SMark Brown 0x0000, /* R238 */ 1583ca23f8c1SMark Brown 0x0000, /* R239 */ 1584ca23f8c1SMark Brown 0x0003, /* R240 */ 1585ca23f8c1SMark Brown 0x0000, /* R241 */ 1586ca23f8c1SMark Brown 0x0000, /* R242 */ 1587ca23f8c1SMark Brown 0x0004, /* R243 */ 1588ca23f8c1SMark Brown 0x0300, /* R244 */ 1589ca23f8c1SMark Brown 0x0000, /* R245 */ 1590ca23f8c1SMark Brown 0x0200, /* R246 */ 1591ca23f8c1SMark Brown 0x1000, /* R247 */ 1592ca23f8c1SMark Brown 0x1000, /* R248 - DCDC1 Test Controls */ 1593ca23f8c1SMark Brown 0x1000, /* R249 */ 1594ca23f8c1SMark Brown 0x1000, /* R250 - DCDC3 Test Controls */ 1595ca23f8c1SMark Brown 0x1000, /* R251 - DCDC4 Test Controls */ 1596ca23f8c1SMark Brown }; 1597ca23f8c1SMark Brown #endif 1598ca23f8c1SMark Brown 1599ca23f8c1SMark Brown #ifdef CONFIG_MFD_WM8351_CONFIG_MODE_2 1600ca23f8c1SMark Brown 1601ca23f8c1SMark Brown #undef WM8350_HAVE_CONFIG_MODE 1602ca23f8c1SMark Brown #define WM8350_HAVE_CONFIG_MODE 1603ca23f8c1SMark Brown 1604ca23f8c1SMark Brown const u16 wm8351_mode2_defaults[] = { 1605ca23f8c1SMark Brown 0x6143, /* R0 - Reset/ID */ 1606ca23f8c1SMark Brown 0x0000, /* R1 - ID */ 1607ca23f8c1SMark Brown 0x0001, /* R2 - Revision */ 1608ca23f8c1SMark Brown 0x1C02, /* R3 - System Control 1 */ 1609ca23f8c1SMark Brown 0x0214, /* R4 - System Control 2 */ 1610ca23f8c1SMark Brown 0x0000, /* R5 - System Hibernate */ 1611ca23f8c1SMark Brown 0x8A00, /* R6 - Interface Control */ 1612ca23f8c1SMark Brown 0x0000, /* R7 */ 1613ca23f8c1SMark Brown 0x8000, /* R8 - Power mgmt (1) */ 1614ca23f8c1SMark Brown 0x0000, /* R9 - Power mgmt (2) */ 1615ca23f8c1SMark Brown 0x0000, /* R10 - Power mgmt (3) */ 1616ca23f8c1SMark Brown 0x2000, /* R11 - Power mgmt (4) */ 1617ca23f8c1SMark Brown 0x0E00, /* R12 - Power mgmt (5) */ 1618ca23f8c1SMark Brown 0x0000, /* R13 - Power mgmt (6) */ 1619ca23f8c1SMark Brown 0x0000, /* R14 - Power mgmt (7) */ 1620ca23f8c1SMark Brown 0x0000, /* R15 */ 1621ca23f8c1SMark Brown 0x0000, /* R16 - RTC Seconds/Minutes */ 1622ca23f8c1SMark Brown 0x0100, /* R17 - RTC Hours/Day */ 1623ca23f8c1SMark Brown 0x0101, /* R18 - RTC Date/Month */ 1624ca23f8c1SMark Brown 0x1400, /* R19 - RTC Year */ 1625ca23f8c1SMark Brown 0x0000, /* R20 - Alarm Seconds/Minutes */ 1626ca23f8c1SMark Brown 0x0000, /* R21 - Alarm Hours/Day */ 1627ca23f8c1SMark Brown 0x0000, /* R22 - Alarm Date/Month */ 1628ca23f8c1SMark Brown 0x0320, /* R23 - RTC Time Control */ 1629ca23f8c1SMark Brown 0x0000, /* R24 - System Interrupts */ 1630ca23f8c1SMark Brown 0x0000, /* R25 - Interrupt Status 1 */ 1631ca23f8c1SMark Brown 0x0000, /* R26 - Interrupt Status 2 */ 1632ca23f8c1SMark Brown 0x0000, /* R27 */ 1633ca23f8c1SMark Brown 0x0000, /* R28 - Under Voltage Interrupt status */ 1634ca23f8c1SMark Brown 0x0000, /* R29 - Over Current Interrupt status */ 1635ca23f8c1SMark Brown 0x0000, /* R30 - GPIO Interrupt Status */ 1636ca23f8c1SMark Brown 0x0000, /* R31 - Comparator Interrupt Status */ 1637ca23f8c1SMark Brown 0x3FFF, /* R32 - System Interrupts Mask */ 1638ca23f8c1SMark Brown 0x0000, /* R33 - Interrupt Status 1 Mask */ 1639ca23f8c1SMark Brown 0x0000, /* R34 - Interrupt Status 2 Mask */ 1640ca23f8c1SMark Brown 0x0000, /* R35 */ 1641ca23f8c1SMark Brown 0x0000, /* R36 - Under Voltage Interrupt status Mask */ 1642ca23f8c1SMark Brown 0x0000, /* R37 - Over Current Interrupt status Mask */ 1643ca23f8c1SMark Brown 0x0000, /* R38 - GPIO Interrupt Status Mask */ 1644ca23f8c1SMark Brown 0x0000, /* R39 - Comparator Interrupt Status Mask */ 1645ca23f8c1SMark Brown 0x0040, /* R40 - Clock Control 1 */ 1646ca23f8c1SMark Brown 0x0000, /* R41 - Clock Control 2 */ 1647ca23f8c1SMark Brown 0x3A00, /* R42 - FLL Control 1 */ 1648ca23f8c1SMark Brown 0x7086, /* R43 - FLL Control 2 */ 1649ca23f8c1SMark Brown 0xC226, /* R44 - FLL Control 3 */ 1650ca23f8c1SMark Brown 0x0000, /* R45 - FLL Control 4 */ 1651ca23f8c1SMark Brown 0x0000, /* R46 */ 1652ca23f8c1SMark Brown 0x0000, /* R47 */ 1653ca23f8c1SMark Brown 0x0000, /* R48 - DAC Control */ 1654ca23f8c1SMark Brown 0x0000, /* R49 */ 1655ca23f8c1SMark Brown 0x00C0, /* R50 - DAC Digital Volume L */ 1656ca23f8c1SMark Brown 0x00C0, /* R51 - DAC Digital Volume R */ 1657ca23f8c1SMark Brown 0x0000, /* R52 */ 1658ca23f8c1SMark Brown 0x0040, /* R53 - DAC LR Rate */ 1659ca23f8c1SMark Brown 0x0000, /* R54 - DAC Clock Control */ 1660ca23f8c1SMark Brown 0x0000, /* R55 */ 1661ca23f8c1SMark Brown 0x0000, /* R56 */ 1662ca23f8c1SMark Brown 0x0000, /* R57 */ 1663ca23f8c1SMark Brown 0x4000, /* R58 - DAC Mute */ 1664ca23f8c1SMark Brown 0x0000, /* R59 - DAC Mute Volume */ 1665ca23f8c1SMark Brown 0x0000, /* R60 - DAC Side */ 1666ca23f8c1SMark Brown 0x0000, /* R61 */ 1667ca23f8c1SMark Brown 0x0000, /* R62 */ 1668ca23f8c1SMark Brown 0x0000, /* R63 */ 1669ca23f8c1SMark Brown 0x8000, /* R64 - ADC Control */ 1670ca23f8c1SMark Brown 0x0000, /* R65 */ 1671ca23f8c1SMark Brown 0x00C0, /* R66 - ADC Digital Volume L */ 1672ca23f8c1SMark Brown 0x00C0, /* R67 - ADC Digital Volume R */ 1673ca23f8c1SMark Brown 0x0000, /* R68 - ADC Divider */ 1674ca23f8c1SMark Brown 0x0000, /* R69 */ 1675ca23f8c1SMark Brown 0x0040, /* R70 - ADC LR Rate */ 1676ca23f8c1SMark Brown 0x0000, /* R71 */ 1677ca23f8c1SMark Brown 0x0303, /* R72 - Input Control */ 1678ca23f8c1SMark Brown 0x0000, /* R73 - IN3 Input Control */ 1679ca23f8c1SMark Brown 0x0000, /* R74 - Mic Bias Control */ 1680ca23f8c1SMark Brown 0x0000, /* R75 */ 1681ca23f8c1SMark Brown 0x0000, /* R76 - Output Control */ 1682ca23f8c1SMark Brown 0x0000, /* R77 - Jack Detect */ 1683ca23f8c1SMark Brown 0x0000, /* R78 - Anti Pop Control */ 1684ca23f8c1SMark Brown 0x0000, /* R79 */ 1685ca23f8c1SMark Brown 0x0040, /* R80 - Left Input Volume */ 1686ca23f8c1SMark Brown 0x0040, /* R81 - Right Input Volume */ 1687ca23f8c1SMark Brown 0x0000, /* R82 */ 1688ca23f8c1SMark Brown 0x0000, /* R83 */ 1689ca23f8c1SMark Brown 0x0000, /* R84 */ 1690ca23f8c1SMark Brown 0x0000, /* R85 */ 1691ca23f8c1SMark Brown 0x0000, /* R86 */ 1692ca23f8c1SMark Brown 0x0000, /* R87 */ 1693ca23f8c1SMark Brown 0x0800, /* R88 - Left Mixer Control */ 1694ca23f8c1SMark Brown 0x1000, /* R89 - Right Mixer Control */ 1695ca23f8c1SMark Brown 0x0000, /* R90 */ 1696ca23f8c1SMark Brown 0x0000, /* R91 */ 1697ca23f8c1SMark Brown 0x0000, /* R92 - OUT3 Mixer Control */ 1698ca23f8c1SMark Brown 0x0000, /* R93 - OUT4 Mixer Control */ 1699ca23f8c1SMark Brown 0x0000, /* R94 */ 1700ca23f8c1SMark Brown 0x0000, /* R95 */ 1701ca23f8c1SMark Brown 0x0000, /* R96 - Output Left Mixer Volume */ 1702ca23f8c1SMark Brown 0x0000, /* R97 - Output Right Mixer Volume */ 1703ca23f8c1SMark Brown 0x0000, /* R98 - Input Mixer Volume L */ 1704ca23f8c1SMark Brown 0x0000, /* R99 - Input Mixer Volume R */ 1705ca23f8c1SMark Brown 0x0000, /* R100 - Input Mixer Volume */ 1706ca23f8c1SMark Brown 0x0000, /* R101 */ 1707ca23f8c1SMark Brown 0x0000, /* R102 */ 1708ca23f8c1SMark Brown 0x0000, /* R103 */ 1709ca23f8c1SMark Brown 0x00E4, /* R104 - OUT1L Volume */ 1710ca23f8c1SMark Brown 0x00E4, /* R105 - OUT1R Volume */ 1711ca23f8c1SMark Brown 0x00E4, /* R106 - OUT2L Volume */ 1712ca23f8c1SMark Brown 0x02E4, /* R107 - OUT2R Volume */ 1713ca23f8c1SMark Brown 0x0000, /* R108 */ 1714ca23f8c1SMark Brown 0x0000, /* R109 */ 1715ca23f8c1SMark Brown 0x0000, /* R110 */ 1716ca23f8c1SMark Brown 0x0000, /* R111 - BEEP Volume */ 1717ca23f8c1SMark Brown 0x0A00, /* R112 - AI Formating */ 1718ca23f8c1SMark Brown 0x0000, /* R113 - ADC DAC COMP */ 1719ca23f8c1SMark Brown 0x0020, /* R114 - AI ADC Control */ 1720ca23f8c1SMark Brown 0x0020, /* R115 - AI DAC Control */ 1721ca23f8c1SMark Brown 0x0000, /* R116 */ 1722ca23f8c1SMark Brown 0x0000, /* R117 */ 1723ca23f8c1SMark Brown 0x0000, /* R118 */ 1724ca23f8c1SMark Brown 0x0000, /* R119 */ 1725ca23f8c1SMark Brown 0x0000, /* R120 */ 1726ca23f8c1SMark Brown 0x0000, /* R121 */ 1727ca23f8c1SMark Brown 0x0000, /* R122 */ 1728ca23f8c1SMark Brown 0x0000, /* R123 */ 1729ca23f8c1SMark Brown 0x0000, /* R124 */ 1730ca23f8c1SMark Brown 0x0000, /* R125 */ 1731ca23f8c1SMark Brown 0x0000, /* R126 */ 1732ca23f8c1SMark Brown 0x0000, /* R127 */ 1733ca23f8c1SMark Brown 0x1FFF, /* R128 - GPIO Debounce */ 1734ca23f8c1SMark Brown 0x0000, /* R129 - GPIO Pin pull up Control */ 1735ca23f8c1SMark Brown 0x0110, /* R130 - GPIO Pull down Control */ 1736ca23f8c1SMark Brown 0x0000, /* R131 - GPIO Interrupt Mode */ 1737ca23f8c1SMark Brown 0x0000, /* R132 */ 1738ca23f8c1SMark Brown 0x0000, /* R133 - GPIO Control */ 1739ca23f8c1SMark Brown 0x09FA, /* R134 - GPIO Configuration (i/o) */ 1740ca23f8c1SMark Brown 0x0DF6, /* R135 - GPIO Pin Polarity / Type */ 1741ca23f8c1SMark Brown 0x0000, /* R136 */ 1742ca23f8c1SMark Brown 0x0000, /* R137 */ 1743ca23f8c1SMark Brown 0x0000, /* R138 */ 1744ca23f8c1SMark Brown 0x0000, /* R139 */ 1745ca23f8c1SMark Brown 0x1310, /* R140 - GPIO Function Select 1 */ 1746ca23f8c1SMark Brown 0x0003, /* R141 - GPIO Function Select 2 */ 1747ca23f8c1SMark Brown 0x2000, /* R142 - GPIO Function Select 3 */ 1748ca23f8c1SMark Brown 0x0000, /* R143 - GPIO Function Select 4 */ 1749ca23f8c1SMark Brown 0x0000, /* R144 - Digitiser Control (1) */ 1750ca23f8c1SMark Brown 0x0002, /* R145 - Digitiser Control (2) */ 1751ca23f8c1SMark Brown 0x0000, /* R146 */ 1752ca23f8c1SMark Brown 0x0000, /* R147 */ 1753ca23f8c1SMark Brown 0x0000, /* R148 */ 1754ca23f8c1SMark Brown 0x0000, /* R149 */ 1755ca23f8c1SMark Brown 0x0000, /* R150 */ 1756ca23f8c1SMark Brown 0x0000, /* R151 */ 1757ca23f8c1SMark Brown 0x7000, /* R152 - AUX1 Readback */ 1758ca23f8c1SMark Brown 0x7000, /* R153 - AUX2 Readback */ 1759ca23f8c1SMark Brown 0x7000, /* R154 - AUX3 Readback */ 1760ca23f8c1SMark Brown 0x7000, /* R155 - AUX4 Readback */ 1761ca23f8c1SMark Brown 0x0000, /* R156 - USB Voltage Readback */ 1762ca23f8c1SMark Brown 0x0000, /* R157 - LINE Voltage Readback */ 1763ca23f8c1SMark Brown 0x0000, /* R158 - BATT Voltage Readback */ 1764ca23f8c1SMark Brown 0x0000, /* R159 - Chip Temp Readback */ 1765ca23f8c1SMark Brown 0x0000, /* R160 */ 1766ca23f8c1SMark Brown 0x0000, /* R161 */ 1767ca23f8c1SMark Brown 0x0000, /* R162 */ 1768ca23f8c1SMark Brown 0x0000, /* R163 - Generic Comparator Control */ 1769ca23f8c1SMark Brown 0x0000, /* R164 - Generic comparator 1 */ 1770ca23f8c1SMark Brown 0x0000, /* R165 - Generic comparator 2 */ 1771ca23f8c1SMark Brown 0x0000, /* R166 - Generic comparator 3 */ 1772ca23f8c1SMark Brown 0x0000, /* R167 - Generic comparator 4 */ 1773ca23f8c1SMark Brown 0xA00F, /* R168 - Battery Charger Control 1 */ 1774ca23f8c1SMark Brown 0x0B06, /* R169 - Battery Charger Control 2 */ 1775ca23f8c1SMark Brown 0x0000, /* R170 - Battery Charger Control 3 */ 1776ca23f8c1SMark Brown 0x0000, /* R171 */ 1777ca23f8c1SMark Brown 0x0000, /* R172 - Current Sink Driver A */ 1778ca23f8c1SMark Brown 0x0000, /* R173 - CSA Flash control */ 1779ca23f8c1SMark Brown 0x0000, /* R174 */ 1780ca23f8c1SMark Brown 0x0000, /* R175 */ 1781ca23f8c1SMark Brown 0x0000, /* R176 - DCDC/LDO requested */ 1782ca23f8c1SMark Brown 0x032D, /* R177 - DCDC Active options */ 1783ca23f8c1SMark Brown 0x0000, /* R178 - DCDC Sleep options */ 1784ca23f8c1SMark Brown 0x0025, /* R179 - Power-check comparator */ 1785ca23f8c1SMark Brown 0x001A, /* R180 - DCDC1 Control */ 1786ca23f8c1SMark Brown 0x0800, /* R181 - DCDC1 Timeouts */ 1787ca23f8c1SMark Brown 0x1006, /* R182 - DCDC1 Low Power */ 1788ca23f8c1SMark Brown 0x0018, /* R183 - DCDC2 Control */ 1789ca23f8c1SMark Brown 0x0000, /* R184 - DCDC2 Timeouts */ 1790ca23f8c1SMark Brown 0x0000, /* R185 */ 1791ca23f8c1SMark Brown 0x0056, /* R186 - DCDC3 Control */ 1792ca23f8c1SMark Brown 0x0400, /* R187 - DCDC3 Timeouts */ 1793ca23f8c1SMark Brown 0x0006, /* R188 - DCDC3 Low Power */ 1794ca23f8c1SMark Brown 0x0026, /* R189 - DCDC4 Control */ 1795ca23f8c1SMark Brown 0x0C00, /* R190 - DCDC4 Timeouts */ 1796ca23f8c1SMark Brown 0x0006, /* R191 - DCDC4 Low Power */ 1797ca23f8c1SMark Brown 0x0008, /* R192 */ 1798ca23f8c1SMark Brown 0x0000, /* R193 */ 1799ca23f8c1SMark Brown 0x0000, /* R194 */ 1800ca23f8c1SMark Brown 0x0026, /* R195 */ 1801ca23f8c1SMark Brown 0x0C00, /* R196 */ 1802ca23f8c1SMark Brown 0x0006, /* R197 */ 1803ca23f8c1SMark Brown 0x0000, /* R198 */ 1804ca23f8c1SMark Brown 0x0003, /* R199 - Limit Switch Control */ 1805ca23f8c1SMark Brown 0x001C, /* R200 - LDO1 Control */ 1806ca23f8c1SMark Brown 0x0400, /* R201 - LDO1 Timeouts */ 1807ca23f8c1SMark Brown 0x001C, /* R202 - LDO1 Low Power */ 1808ca23f8c1SMark Brown 0x0010, /* R203 - LDO2 Control */ 1809ca23f8c1SMark Brown 0x0C00, /* R204 - LDO2 Timeouts */ 1810ca23f8c1SMark Brown 0x001C, /* R205 - LDO2 Low Power */ 1811ca23f8c1SMark Brown 0x0015, /* R206 - LDO3 Control */ 1812ca23f8c1SMark Brown 0x0000, /* R207 - LDO3 Timeouts */ 1813ca23f8c1SMark Brown 0x001C, /* R208 - LDO3 Low Power */ 1814ca23f8c1SMark Brown 0x001A, /* R209 - LDO4 Control */ 1815ca23f8c1SMark Brown 0x0000, /* R210 - LDO4 Timeouts */ 1816ca23f8c1SMark Brown 0x001C, /* R211 - LDO4 Low Power */ 1817ca23f8c1SMark Brown 0x0000, /* R212 */ 1818ca23f8c1SMark Brown 0x0000, /* R213 */ 1819ca23f8c1SMark Brown 0x0000, /* R214 */ 1820ca23f8c1SMark Brown 0x0000, /* R215 - VCC_FAULT Masks */ 1821ca23f8c1SMark Brown 0x001F, /* R216 - Main Bandgap Control */ 1822ca23f8c1SMark Brown 0x0000, /* R217 - OSC Control */ 1823ca23f8c1SMark Brown 0x9000, /* R218 - RTC Tick Control */ 1824ca23f8c1SMark Brown 0x0000, /* R219 - Security1 */ 1825ca23f8c1SMark Brown 0x4000, /* R220 */ 1826ca23f8c1SMark Brown 0x0000, /* R221 */ 1827ca23f8c1SMark Brown 0x0000, /* R222 */ 1828ca23f8c1SMark Brown 0x0000, /* R223 */ 1829ca23f8c1SMark Brown 0x0000, /* R224 - Signal overrides */ 1830ca23f8c1SMark Brown 0x0000, /* R225 - DCDC/LDO status */ 1831ca23f8c1SMark Brown 0x0000, /* R226 - Charger Overides/status */ 1832ca23f8c1SMark Brown 0x0000, /* R227 - misc overrides */ 1833ca23f8c1SMark Brown 0x0000, /* R228 - Supply overrides/status 1 */ 1834ca23f8c1SMark Brown 0x0000, /* R229 - Supply overrides/status 2 */ 1835ca23f8c1SMark Brown 0xE000, /* R230 - GPIO Pin Status */ 1836ca23f8c1SMark Brown 0x0000, /* R231 - comparotor overrides */ 1837ca23f8c1SMark Brown 0x0000, /* R232 */ 1838ca23f8c1SMark Brown 0x0000, /* R233 - State Machine status */ 1839ca23f8c1SMark Brown 0x1200, /* R234 - FLL Test 1 */ 1840ca23f8c1SMark Brown 0x0000, /* R235 */ 1841ca23f8c1SMark Brown 0x8000, /* R236 */ 1842ca23f8c1SMark Brown 0x0000, /* R237 */ 1843ca23f8c1SMark Brown 0x0000, /* R238 */ 1844ca23f8c1SMark Brown 0x0000, /* R239 */ 1845ca23f8c1SMark Brown 0x0003, /* R240 */ 1846ca23f8c1SMark Brown 0x0000, /* R241 */ 1847ca23f8c1SMark Brown 0x0000, /* R242 */ 1848ca23f8c1SMark Brown 0x0004, /* R243 */ 1849ca23f8c1SMark Brown 0x0300, /* R244 */ 1850ca23f8c1SMark Brown 0x0000, /* R245 */ 1851ca23f8c1SMark Brown 0x0200, /* R246 */ 1852ca23f8c1SMark Brown 0x0000, /* R247 */ 1853ca23f8c1SMark Brown 0x1000, /* R248 - DCDC1 Test Controls */ 1854ca23f8c1SMark Brown 0x1000, /* R249 */ 1855ca23f8c1SMark Brown 0x1000, /* R250 - DCDC3 Test Controls */ 1856ca23f8c1SMark Brown 0x1000, /* R251 - DCDC4 Test Controls */ 1857ca23f8c1SMark Brown }; 1858ca23f8c1SMark Brown #endif 1859ca23f8c1SMark Brown 1860ca23f8c1SMark Brown #ifdef CONFIG_MFD_WM8351_CONFIG_MODE_3 1861ca23f8c1SMark Brown 1862ca23f8c1SMark Brown #undef WM8350_HAVE_CONFIG_MODE 1863ca23f8c1SMark Brown #define WM8350_HAVE_CONFIG_MODE 1864ca23f8c1SMark Brown 1865ca23f8c1SMark Brown const u16 wm8351_mode3_defaults[] = { 1866ca23f8c1SMark Brown 0x6143, /* R0 - Reset/ID */ 1867ca23f8c1SMark Brown 0x0000, /* R1 - ID */ 1868ca23f8c1SMark Brown 0x0001, /* R2 - Revision */ 1869ca23f8c1SMark Brown 0x1C02, /* R3 - System Control 1 */ 1870ca23f8c1SMark Brown 0x0204, /* R4 - System Control 2 */ 1871ca23f8c1SMark Brown 0x0000, /* R5 - System Hibernate */ 1872ca23f8c1SMark Brown 0x8A00, /* R6 - Interface Control */ 1873ca23f8c1SMark Brown 0x0000, /* R7 */ 1874ca23f8c1SMark Brown 0x8000, /* R8 - Power mgmt (1) */ 1875ca23f8c1SMark Brown 0x0000, /* R9 - Power mgmt (2) */ 1876ca23f8c1SMark Brown 0x0000, /* R10 - Power mgmt (3) */ 1877ca23f8c1SMark Brown 0x2000, /* R11 - Power mgmt (4) */ 1878ca23f8c1SMark Brown 0x0E00, /* R12 - Power mgmt (5) */ 1879ca23f8c1SMark Brown 0x0000, /* R13 - Power mgmt (6) */ 1880ca23f8c1SMark Brown 0x0000, /* R14 - Power mgmt (7) */ 1881ca23f8c1SMark Brown 0x0000, /* R15 */ 1882ca23f8c1SMark Brown 0x0000, /* R16 - RTC Seconds/Minutes */ 1883ca23f8c1SMark Brown 0x0100, /* R17 - RTC Hours/Day */ 1884ca23f8c1SMark Brown 0x0101, /* R18 - RTC Date/Month */ 1885ca23f8c1SMark Brown 0x1400, /* R19 - RTC Year */ 1886ca23f8c1SMark Brown 0x0000, /* R20 - Alarm Seconds/Minutes */ 1887ca23f8c1SMark Brown 0x0000, /* R21 - Alarm Hours/Day */ 1888ca23f8c1SMark Brown 0x0000, /* R22 - Alarm Date/Month */ 1889ca23f8c1SMark Brown 0x0320, /* R23 - RTC Time Control */ 1890ca23f8c1SMark Brown 0x0000, /* R24 - System Interrupts */ 1891ca23f8c1SMark Brown 0x0000, /* R25 - Interrupt Status 1 */ 1892ca23f8c1SMark Brown 0x0000, /* R26 - Interrupt Status 2 */ 1893ca23f8c1SMark Brown 0x0000, /* R27 */ 1894ca23f8c1SMark Brown 0x0000, /* R28 - Under Voltage Interrupt status */ 1895ca23f8c1SMark Brown 0x0000, /* R29 - Over Current Interrupt status */ 1896ca23f8c1SMark Brown 0x0000, /* R30 - GPIO Interrupt Status */ 1897ca23f8c1SMark Brown 0x0000, /* R31 - Comparator Interrupt Status */ 1898ca23f8c1SMark Brown 0x3FFF, /* R32 - System Interrupts Mask */ 1899ca23f8c1SMark Brown 0x0000, /* R33 - Interrupt Status 1 Mask */ 1900ca23f8c1SMark Brown 0x0000, /* R34 - Interrupt Status 2 Mask */ 1901ca23f8c1SMark Brown 0x0000, /* R35 */ 1902ca23f8c1SMark Brown 0x0000, /* R36 - Under Voltage Interrupt status Mask */ 1903ca23f8c1SMark Brown 0x0000, /* R37 - Over Current Interrupt status Mask */ 1904ca23f8c1SMark Brown 0x0000, /* R38 - GPIO Interrupt Status Mask */ 1905ca23f8c1SMark Brown 0x0000, /* R39 - Comparator Interrupt Status Mask */ 1906ca23f8c1SMark Brown 0x0040, /* R40 - Clock Control 1 */ 1907ca23f8c1SMark Brown 0x0000, /* R41 - Clock Control 2 */ 1908ca23f8c1SMark Brown 0x3A00, /* R42 - FLL Control 1 */ 1909ca23f8c1SMark Brown 0x7086, /* R43 - FLL Control 2 */ 1910ca23f8c1SMark Brown 0xC226, /* R44 - FLL Control 3 */ 1911ca23f8c1SMark Brown 0x0000, /* R45 - FLL Control 4 */ 1912ca23f8c1SMark Brown 0x0000, /* R46 */ 1913ca23f8c1SMark Brown 0x0000, /* R47 */ 1914ca23f8c1SMark Brown 0x0000, /* R48 - DAC Control */ 1915ca23f8c1SMark Brown 0x0000, /* R49 */ 1916ca23f8c1SMark Brown 0x00C0, /* R50 - DAC Digital Volume L */ 1917ca23f8c1SMark Brown 0x00C0, /* R51 - DAC Digital Volume R */ 1918ca23f8c1SMark Brown 0x0000, /* R52 */ 1919ca23f8c1SMark Brown 0x0040, /* R53 - DAC LR Rate */ 1920ca23f8c1SMark Brown 0x0000, /* R54 - DAC Clock Control */ 1921ca23f8c1SMark Brown 0x0000, /* R55 */ 1922ca23f8c1SMark Brown 0x0000, /* R56 */ 1923ca23f8c1SMark Brown 0x0000, /* R57 */ 1924ca23f8c1SMark Brown 0x4000, /* R58 - DAC Mute */ 1925ca23f8c1SMark Brown 0x0000, /* R59 - DAC Mute Volume */ 1926ca23f8c1SMark Brown 0x0000, /* R60 - DAC Side */ 1927ca23f8c1SMark Brown 0x0000, /* R61 */ 1928ca23f8c1SMark Brown 0x0000, /* R62 */ 1929ca23f8c1SMark Brown 0x0000, /* R63 */ 1930ca23f8c1SMark Brown 0x8000, /* R64 - ADC Control */ 1931ca23f8c1SMark Brown 0x0000, /* R65 */ 1932ca23f8c1SMark Brown 0x00C0, /* R66 - ADC Digital Volume L */ 1933ca23f8c1SMark Brown 0x00C0, /* R67 - ADC Digital Volume R */ 1934ca23f8c1SMark Brown 0x0000, /* R68 - ADC Divider */ 1935ca23f8c1SMark Brown 0x0000, /* R69 */ 1936ca23f8c1SMark Brown 0x0040, /* R70 - ADC LR Rate */ 1937ca23f8c1SMark Brown 0x0000, /* R71 */ 1938ca23f8c1SMark Brown 0x0303, /* R72 - Input Control */ 1939ca23f8c1SMark Brown 0x0000, /* R73 - IN3 Input Control */ 1940ca23f8c1SMark Brown 0x0000, /* R74 - Mic Bias Control */ 1941ca23f8c1SMark Brown 0x0000, /* R75 */ 1942ca23f8c1SMark Brown 0x0000, /* R76 - Output Control */ 1943ca23f8c1SMark Brown 0x0000, /* R77 - Jack Detect */ 1944ca23f8c1SMark Brown 0x0000, /* R78 - Anti Pop Control */ 1945ca23f8c1SMark Brown 0x0000, /* R79 */ 1946ca23f8c1SMark Brown 0x0040, /* R80 - Left Input Volume */ 1947ca23f8c1SMark Brown 0x0040, /* R81 - Right Input Volume */ 1948ca23f8c1SMark Brown 0x0000, /* R82 */ 1949ca23f8c1SMark Brown 0x0000, /* R83 */ 1950ca23f8c1SMark Brown 0x0000, /* R84 */ 1951ca23f8c1SMark Brown 0x0000, /* R85 */ 1952ca23f8c1SMark Brown 0x0000, /* R86 */ 1953ca23f8c1SMark Brown 0x0000, /* R87 */ 1954ca23f8c1SMark Brown 0x0800, /* R88 - Left Mixer Control */ 1955ca23f8c1SMark Brown 0x1000, /* R89 - Right Mixer Control */ 1956ca23f8c1SMark Brown 0x0000, /* R90 */ 1957ca23f8c1SMark Brown 0x0000, /* R91 */ 1958ca23f8c1SMark Brown 0x0000, /* R92 - OUT3 Mixer Control */ 1959ca23f8c1SMark Brown 0x0000, /* R93 - OUT4 Mixer Control */ 1960ca23f8c1SMark Brown 0x0000, /* R94 */ 1961ca23f8c1SMark Brown 0x0000, /* R95 */ 1962ca23f8c1SMark Brown 0x0000, /* R96 - Output Left Mixer Volume */ 1963ca23f8c1SMark Brown 0x0000, /* R97 - Output Right Mixer Volume */ 1964ca23f8c1SMark Brown 0x0000, /* R98 - Input Mixer Volume L */ 1965ca23f8c1SMark Brown 0x0000, /* R99 - Input Mixer Volume R */ 1966ca23f8c1SMark Brown 0x0000, /* R100 - Input Mixer Volume */ 1967ca23f8c1SMark Brown 0x0000, /* R101 */ 1968ca23f8c1SMark Brown 0x0000, /* R102 */ 1969ca23f8c1SMark Brown 0x0000, /* R103 */ 1970ca23f8c1SMark Brown 0x00E4, /* R104 - OUT1L Volume */ 1971ca23f8c1SMark Brown 0x00E4, /* R105 - OUT1R Volume */ 1972ca23f8c1SMark Brown 0x00E4, /* R106 - OUT2L Volume */ 1973ca23f8c1SMark Brown 0x02E4, /* R107 - OUT2R Volume */ 1974ca23f8c1SMark Brown 0x0000, /* R108 */ 1975ca23f8c1SMark Brown 0x0000, /* R109 */ 1976ca23f8c1SMark Brown 0x0000, /* R110 */ 1977ca23f8c1SMark Brown 0x0000, /* R111 - BEEP Volume */ 1978ca23f8c1SMark Brown 0x0A00, /* R112 - AI Formating */ 1979ca23f8c1SMark Brown 0x0000, /* R113 - ADC DAC COMP */ 1980ca23f8c1SMark Brown 0x0020, /* R114 - AI ADC Control */ 1981ca23f8c1SMark Brown 0x0020, /* R115 - AI DAC Control */ 1982ca23f8c1SMark Brown 0x0000, /* R116 */ 1983ca23f8c1SMark Brown 0x0000, /* R117 */ 1984ca23f8c1SMark Brown 0x0000, /* R118 */ 1985ca23f8c1SMark Brown 0x0000, /* R119 */ 1986ca23f8c1SMark Brown 0x0000, /* R120 */ 1987ca23f8c1SMark Brown 0x0000, /* R121 */ 1988ca23f8c1SMark Brown 0x0000, /* R122 */ 1989ca23f8c1SMark Brown 0x0000, /* R123 */ 1990ca23f8c1SMark Brown 0x0000, /* R124 */ 1991ca23f8c1SMark Brown 0x0000, /* R125 */ 1992ca23f8c1SMark Brown 0x0000, /* R126 */ 1993ca23f8c1SMark Brown 0x0000, /* R127 */ 1994ca23f8c1SMark Brown 0x1FFF, /* R128 - GPIO Debounce */ 1995ca23f8c1SMark Brown 0x0010, /* R129 - GPIO Pin pull up Control */ 1996ca23f8c1SMark Brown 0x0000, /* R130 - GPIO Pull down Control */ 1997ca23f8c1SMark Brown 0x0000, /* R131 - GPIO Interrupt Mode */ 1998ca23f8c1SMark Brown 0x0000, /* R132 */ 1999ca23f8c1SMark Brown 0x0000, /* R133 - GPIO Control */ 2000ca23f8c1SMark Brown 0x0BFB, /* R134 - GPIO Configuration (i/o) */ 2001ca23f8c1SMark Brown 0x0FFD, /* R135 - GPIO Pin Polarity / Type */ 2002ca23f8c1SMark Brown 0x0000, /* R136 */ 2003ca23f8c1SMark Brown 0x0000, /* R137 */ 2004ca23f8c1SMark Brown 0x0000, /* R138 */ 2005ca23f8c1SMark Brown 0x0000, /* R139 */ 2006ca23f8c1SMark Brown 0x0310, /* R140 - GPIO Function Select 1 */ 2007ca23f8c1SMark Brown 0x0001, /* R141 - GPIO Function Select 2 */ 2008ca23f8c1SMark Brown 0x2300, /* R142 - GPIO Function Select 3 */ 2009ca23f8c1SMark Brown 0x0003, /* R143 - GPIO Function Select 4 */ 2010ca23f8c1SMark Brown 0x0000, /* R144 - Digitiser Control (1) */ 2011ca23f8c1SMark Brown 0x0002, /* R145 - Digitiser Control (2) */ 2012ca23f8c1SMark Brown 0x0000, /* R146 */ 2013ca23f8c1SMark Brown 0x0000, /* R147 */ 2014ca23f8c1SMark Brown 0x0000, /* R148 */ 2015ca23f8c1SMark Brown 0x0000, /* R149 */ 2016ca23f8c1SMark Brown 0x0000, /* R150 */ 2017ca23f8c1SMark Brown 0x0000, /* R151 */ 2018ca23f8c1SMark Brown 0x7000, /* R152 - AUX1 Readback */ 2019ca23f8c1SMark Brown 0x7000, /* R153 - AUX2 Readback */ 2020ca23f8c1SMark Brown 0x7000, /* R154 - AUX3 Readback */ 2021ca23f8c1SMark Brown 0x7000, /* R155 - AUX4 Readback */ 2022ca23f8c1SMark Brown 0x0000, /* R156 - USB Voltage Readback */ 2023ca23f8c1SMark Brown 0x0000, /* R157 - LINE Voltage Readback */ 2024ca23f8c1SMark Brown 0x0000, /* R158 - BATT Voltage Readback */ 2025ca23f8c1SMark Brown 0x0000, /* R159 - Chip Temp Readback */ 2026ca23f8c1SMark Brown 0x0000, /* R160 */ 2027ca23f8c1SMark Brown 0x0000, /* R161 */ 2028ca23f8c1SMark Brown 0x0000, /* R162 */ 2029ca23f8c1SMark Brown 0x0000, /* R163 - Generic Comparator Control */ 2030ca23f8c1SMark Brown 0x0000, /* R164 - Generic comparator 1 */ 2031ca23f8c1SMark Brown 0x0000, /* R165 - Generic comparator 2 */ 2032ca23f8c1SMark Brown 0x0000, /* R166 - Generic comparator 3 */ 2033ca23f8c1SMark Brown 0x0000, /* R167 - Generic comparator 4 */ 2034ca23f8c1SMark Brown 0xA00F, /* R168 - Battery Charger Control 1 */ 2035ca23f8c1SMark Brown 0x0B06, /* R169 - Battery Charger Control 2 */ 2036ca23f8c1SMark Brown 0x0000, /* R170 - Battery Charger Control 3 */ 2037ca23f8c1SMark Brown 0x0000, /* R171 */ 2038ca23f8c1SMark Brown 0x0000, /* R172 - Current Sink Driver A */ 2039ca23f8c1SMark Brown 0x0000, /* R173 - CSA Flash control */ 2040ca23f8c1SMark Brown 0x0000, /* R174 */ 2041ca23f8c1SMark Brown 0x0000, /* R175 */ 2042ca23f8c1SMark Brown 0x0000, /* R176 - DCDC/LDO requested */ 2043ca23f8c1SMark Brown 0x032D, /* R177 - DCDC Active options */ 2044ca23f8c1SMark Brown 0x0000, /* R178 - DCDC Sleep options */ 2045ca23f8c1SMark Brown 0x0025, /* R179 - Power-check comparator */ 2046ca23f8c1SMark Brown 0x000E, /* R180 - DCDC1 Control */ 2047ca23f8c1SMark Brown 0x0400, /* R181 - DCDC1 Timeouts */ 2048ca23f8c1SMark Brown 0x1006, /* R182 - DCDC1 Low Power */ 2049ca23f8c1SMark Brown 0x0018, /* R183 - DCDC2 Control */ 2050ca23f8c1SMark Brown 0x0000, /* R184 - DCDC2 Timeouts */ 2051ca23f8c1SMark Brown 0x0000, /* R185 */ 2052ca23f8c1SMark Brown 0x0026, /* R186 - DCDC3 Control */ 2053ca23f8c1SMark Brown 0x0800, /* R187 - DCDC3 Timeouts */ 2054ca23f8c1SMark Brown 0x0006, /* R188 - DCDC3 Low Power */ 2055ca23f8c1SMark Brown 0x0062, /* R189 - DCDC4 Control */ 2056ca23f8c1SMark Brown 0x1400, /* R190 - DCDC4 Timeouts */ 2057ca23f8c1SMark Brown 0x0006, /* R191 - DCDC4 Low Power */ 2058ca23f8c1SMark Brown 0x0008, /* R192 */ 2059ca23f8c1SMark Brown 0x0000, /* R193 */ 2060ca23f8c1SMark Brown 0x0000, /* R194 */ 2061ca23f8c1SMark Brown 0x0026, /* R195 */ 2062ca23f8c1SMark Brown 0x0400, /* R196 */ 2063ca23f8c1SMark Brown 0x0006, /* R197 */ 2064ca23f8c1SMark Brown 0x0000, /* R198 */ 2065ca23f8c1SMark Brown 0x0003, /* R199 - Limit Switch Control */ 2066ca23f8c1SMark Brown 0x0006, /* R200 - LDO1 Control */ 2067ca23f8c1SMark Brown 0x0C00, /* R201 - LDO1 Timeouts */ 2068ca23f8c1SMark Brown 0x001C, /* R202 - LDO1 Low Power */ 2069ca23f8c1SMark Brown 0x0016, /* R203 - LDO2 Control */ 2070ca23f8c1SMark Brown 0x0000, /* R204 - LDO2 Timeouts */ 2071ca23f8c1SMark Brown 0x001C, /* R205 - LDO2 Low Power */ 2072ca23f8c1SMark Brown 0x0019, /* R206 - LDO3 Control */ 2073ca23f8c1SMark Brown 0x0000, /* R207 - LDO3 Timeouts */ 2074ca23f8c1SMark Brown 0x001C, /* R208 - LDO3 Low Power */ 2075ca23f8c1SMark Brown 0x001A, /* R209 - LDO4 Control */ 2076ca23f8c1SMark Brown 0x1000, /* R210 - LDO4 Timeouts */ 2077ca23f8c1SMark Brown 0x001C, /* R211 - LDO4 Low Power */ 2078ca23f8c1SMark Brown 0x0000, /* R212 */ 2079ca23f8c1SMark Brown 0x0000, /* R213 */ 2080ca23f8c1SMark Brown 0x0000, /* R214 */ 2081ca23f8c1SMark Brown 0x0000, /* R215 - VCC_FAULT Masks */ 2082ca23f8c1SMark Brown 0x001F, /* R216 - Main Bandgap Control */ 2083ca23f8c1SMark Brown 0x0000, /* R217 - OSC Control */ 2084ca23f8c1SMark Brown 0x9000, /* R218 - RTC Tick Control */ 2085ca23f8c1SMark Brown 0x0000, /* R219 - Security1 */ 2086ca23f8c1SMark Brown 0x4000, /* R220 */ 2087ca23f8c1SMark Brown 0x0000, /* R221 */ 2088ca23f8c1SMark Brown 0x0000, /* R222 */ 2089ca23f8c1SMark Brown 0x0000, /* R223 */ 2090ca23f8c1SMark Brown 0x0000, /* R224 - Signal overrides */ 2091ca23f8c1SMark Brown 0x0000, /* R225 - DCDC/LDO status */ 2092ca23f8c1SMark Brown 0x0000, /* R226 - Charger Overides/status */ 2093ca23f8c1SMark Brown 0x0000, /* R227 - misc overrides */ 2094ca23f8c1SMark Brown 0x0000, /* R228 - Supply overrides/status 1 */ 2095ca23f8c1SMark Brown 0x0000, /* R229 - Supply overrides/status 2 */ 2096ca23f8c1SMark Brown 0xE000, /* R230 - GPIO Pin Status */ 2097ca23f8c1SMark Brown 0x0000, /* R231 - comparotor overrides */ 2098ca23f8c1SMark Brown 0x0000, /* R232 */ 2099ca23f8c1SMark Brown 0x0000, /* R233 - State Machine status */ 2100ca23f8c1SMark Brown 0x1200, /* R234 - FLL Test 1 */ 2101ca23f8c1SMark Brown 0x0000, /* R235 */ 2102ca23f8c1SMark Brown 0x8000, /* R236 */ 2103ca23f8c1SMark Brown 0x0000, /* R237 */ 2104ca23f8c1SMark Brown 0x0000, /* R238 */ 2105ca23f8c1SMark Brown 0x0000, /* R239 */ 2106ca23f8c1SMark Brown 0x0003, /* R240 */ 2107ca23f8c1SMark Brown 0x0000, /* R241 */ 2108ca23f8c1SMark Brown 0x0000, /* R242 */ 2109ca23f8c1SMark Brown 0x0004, /* R243 */ 2110ca23f8c1SMark Brown 0x0300, /* R244 */ 2111ca23f8c1SMark Brown 0x0000, /* R245 */ 2112ca23f8c1SMark Brown 0x0200, /* R246 */ 2113ca23f8c1SMark Brown 0x0000, /* R247 */ 2114ca23f8c1SMark Brown 0x1000, /* R248 - DCDC1 Test Controls */ 2115ca23f8c1SMark Brown 0x1000, /* R249 */ 2116ca23f8c1SMark Brown 0x1000, /* R250 - DCDC3 Test Controls */ 2117ca23f8c1SMark Brown 0x1000, /* R251 - DCDC4 Test Controls */ 2118ca23f8c1SMark Brown }; 2119ca23f8c1SMark Brown #endif 2120ca23f8c1SMark Brown 212196920630SMark Brown #ifdef CONFIG_MFD_WM8352_CONFIG_MODE_0 212296920630SMark Brown 212396920630SMark Brown #undef WM8350_HAVE_CONFIG_MODE 212496920630SMark Brown #define WM8350_HAVE_CONFIG_MODE 212596920630SMark Brown 212696920630SMark Brown const u16 wm8352_mode0_defaults[] = { 212796920630SMark Brown 0x6143, /* R0 - Reset/ID */ 212896920630SMark Brown 0x0000, /* R1 - ID */ 212996920630SMark Brown 0x0002, /* R2 - Revision */ 213096920630SMark Brown 0x1C02, /* R3 - System Control 1 */ 213196920630SMark Brown 0x0004, /* R4 - System Control 2 */ 213296920630SMark Brown 0x0000, /* R5 - System Hibernate */ 213396920630SMark Brown 0x8A00, /* R6 - Interface Control */ 213496920630SMark Brown 0x0000, /* R7 */ 213596920630SMark Brown 0x8000, /* R8 - Power mgmt (1) */ 213696920630SMark Brown 0x0000, /* R9 - Power mgmt (2) */ 213796920630SMark Brown 0x0000, /* R10 - Power mgmt (3) */ 213896920630SMark Brown 0x2000, /* R11 - Power mgmt (4) */ 213996920630SMark Brown 0x0E00, /* R12 - Power mgmt (5) */ 214096920630SMark Brown 0x0000, /* R13 - Power mgmt (6) */ 214196920630SMark Brown 0x0000, /* R14 - Power mgmt (7) */ 214296920630SMark Brown 0x0000, /* R15 */ 214396920630SMark Brown 0x0000, /* R16 - RTC Seconds/Minutes */ 214496920630SMark Brown 0x0100, /* R17 - RTC Hours/Day */ 214596920630SMark Brown 0x0101, /* R18 - RTC Date/Month */ 214696920630SMark Brown 0x1400, /* R19 - RTC Year */ 214796920630SMark Brown 0x0000, /* R20 - Alarm Seconds/Minutes */ 214896920630SMark Brown 0x0000, /* R21 - Alarm Hours/Day */ 214996920630SMark Brown 0x0000, /* R22 - Alarm Date/Month */ 215096920630SMark Brown 0x0320, /* R23 - RTC Time Control */ 215196920630SMark Brown 0x0000, /* R24 - System Interrupts */ 215296920630SMark Brown 0x0000, /* R25 - Interrupt Status 1 */ 215396920630SMark Brown 0x0000, /* R26 - Interrupt Status 2 */ 215496920630SMark Brown 0x0000, /* R27 */ 215596920630SMark Brown 0x0000, /* R28 - Under Voltage Interrupt status */ 215696920630SMark Brown 0x0000, /* R29 - Over Current Interrupt status */ 215796920630SMark Brown 0x0000, /* R30 - GPIO Interrupt Status */ 215896920630SMark Brown 0x0000, /* R31 - Comparator Interrupt Status */ 215996920630SMark Brown 0x3FFF, /* R32 - System Interrupts Mask */ 216096920630SMark Brown 0x0000, /* R33 - Interrupt Status 1 Mask */ 216196920630SMark Brown 0x0000, /* R34 - Interrupt Status 2 Mask */ 216296920630SMark Brown 0x0000, /* R35 */ 216396920630SMark Brown 0x0000, /* R36 - Under Voltage Interrupt status Mask */ 216496920630SMark Brown 0x0000, /* R37 - Over Current Interrupt status Mask */ 216596920630SMark Brown 0x0000, /* R38 - GPIO Interrupt Status Mask */ 216696920630SMark Brown 0x0000, /* R39 - Comparator Interrupt Status Mask */ 216796920630SMark Brown 0x0040, /* R40 - Clock Control 1 */ 216896920630SMark Brown 0x0000, /* R41 - Clock Control 2 */ 216996920630SMark Brown 0x3A00, /* R42 - FLL Control 1 */ 217096920630SMark Brown 0x7086, /* R43 - FLL Control 2 */ 217196920630SMark Brown 0xC226, /* R44 - FLL Control 3 */ 217296920630SMark Brown 0x0000, /* R45 - FLL Control 4 */ 217396920630SMark Brown 0x0000, /* R46 */ 217496920630SMark Brown 0x0000, /* R47 */ 217596920630SMark Brown 0x0000, /* R48 - DAC Control */ 217696920630SMark Brown 0x0000, /* R49 */ 217796920630SMark Brown 0x00C0, /* R50 - DAC Digital Volume L */ 217896920630SMark Brown 0x00C0, /* R51 - DAC Digital Volume R */ 217996920630SMark Brown 0x0000, /* R52 */ 218096920630SMark Brown 0x0040, /* R53 - DAC LR Rate */ 218196920630SMark Brown 0x0000, /* R54 - DAC Clock Control */ 218296920630SMark Brown 0x0000, /* R55 */ 218396920630SMark Brown 0x0000, /* R56 */ 218496920630SMark Brown 0x0000, /* R57 */ 218596920630SMark Brown 0x4000, /* R58 - DAC Mute */ 218696920630SMark Brown 0x0000, /* R59 - DAC Mute Volume */ 218796920630SMark Brown 0x0000, /* R60 - DAC Side */ 218896920630SMark Brown 0x0000, /* R61 */ 218996920630SMark Brown 0x0000, /* R62 */ 219096920630SMark Brown 0x0000, /* R63 */ 219196920630SMark Brown 0x8000, /* R64 - ADC Control */ 219296920630SMark Brown 0x0000, /* R65 */ 219396920630SMark Brown 0x00C0, /* R66 - ADC Digital Volume L */ 219496920630SMark Brown 0x00C0, /* R67 - ADC Digital Volume R */ 219596920630SMark Brown 0x0000, /* R68 - ADC Divider */ 219696920630SMark Brown 0x0000, /* R69 */ 219796920630SMark Brown 0x0040, /* R70 - ADC LR Rate */ 219896920630SMark Brown 0x0000, /* R71 */ 219996920630SMark Brown 0x0303, /* R72 - Input Control */ 220096920630SMark Brown 0x0000, /* R73 - IN3 Input Control */ 220196920630SMark Brown 0x0000, /* R74 - Mic Bias Control */ 220296920630SMark Brown 0x0000, /* R75 */ 220396920630SMark Brown 0x0000, /* R76 - Output Control */ 220496920630SMark Brown 0x0000, /* R77 - Jack Detect */ 220596920630SMark Brown 0x0000, /* R78 - Anti Pop Control */ 220696920630SMark Brown 0x0000, /* R79 */ 220796920630SMark Brown 0x0040, /* R80 - Left Input Volume */ 220896920630SMark Brown 0x0040, /* R81 - Right Input Volume */ 220996920630SMark Brown 0x0000, /* R82 */ 221096920630SMark Brown 0x0000, /* R83 */ 221196920630SMark Brown 0x0000, /* R84 */ 221296920630SMark Brown 0x0000, /* R85 */ 221396920630SMark Brown 0x0000, /* R86 */ 221496920630SMark Brown 0x0000, /* R87 */ 221596920630SMark Brown 0x0800, /* R88 - Left Mixer Control */ 221696920630SMark Brown 0x1000, /* R89 - Right Mixer Control */ 221796920630SMark Brown 0x0000, /* R90 */ 221896920630SMark Brown 0x0000, /* R91 */ 221996920630SMark Brown 0x0000, /* R92 - OUT3 Mixer Control */ 222096920630SMark Brown 0x0000, /* R93 - OUT4 Mixer Control */ 222196920630SMark Brown 0x0000, /* R94 */ 222296920630SMark Brown 0x0000, /* R95 */ 222396920630SMark Brown 0x0000, /* R96 - Output Left Mixer Volume */ 222496920630SMark Brown 0x0000, /* R97 - Output Right Mixer Volume */ 222596920630SMark Brown 0x0000, /* R98 - Input Mixer Volume L */ 222696920630SMark Brown 0x0000, /* R99 - Input Mixer Volume R */ 222796920630SMark Brown 0x0000, /* R100 - Input Mixer Volume */ 222896920630SMark Brown 0x0000, /* R101 */ 222996920630SMark Brown 0x0000, /* R102 */ 223096920630SMark Brown 0x0000, /* R103 */ 223196920630SMark Brown 0x00E4, /* R104 - OUT1L Volume */ 223296920630SMark Brown 0x00E4, /* R105 - OUT1R Volume */ 223396920630SMark Brown 0x00E4, /* R106 - OUT2L Volume */ 223496920630SMark Brown 0x02E4, /* R107 - OUT2R Volume */ 223596920630SMark Brown 0x0000, /* R108 */ 223696920630SMark Brown 0x0000, /* R109 */ 223796920630SMark Brown 0x0000, /* R110 */ 223896920630SMark Brown 0x0000, /* R111 - BEEP Volume */ 223996920630SMark Brown 0x0A00, /* R112 - AI Formating */ 224096920630SMark Brown 0x0000, /* R113 - ADC DAC COMP */ 224196920630SMark Brown 0x0020, /* R114 - AI ADC Control */ 224296920630SMark Brown 0x0020, /* R115 - AI DAC Control */ 224396920630SMark Brown 0x0000, /* R116 */ 224496920630SMark Brown 0x0000, /* R117 */ 224596920630SMark Brown 0x0000, /* R118 */ 224696920630SMark Brown 0x0000, /* R119 */ 224796920630SMark Brown 0x0000, /* R120 */ 224896920630SMark Brown 0x0000, /* R121 */ 224996920630SMark Brown 0x0000, /* R122 */ 225096920630SMark Brown 0x0000, /* R123 */ 225196920630SMark Brown 0x0000, /* R124 */ 225296920630SMark Brown 0x0000, /* R125 */ 225396920630SMark Brown 0x0000, /* R126 */ 225496920630SMark Brown 0x0000, /* R127 */ 225596920630SMark Brown 0x1FFF, /* R128 - GPIO Debounce */ 225696920630SMark Brown 0x0000, /* R129 - GPIO Pin pull up Control */ 225796920630SMark Brown 0x0000, /* R130 - GPIO Pull down Control */ 225896920630SMark Brown 0x0000, /* R131 - GPIO Interrupt Mode */ 225996920630SMark Brown 0x0000, /* R132 */ 226096920630SMark Brown 0x0000, /* R133 - GPIO Control */ 226196920630SMark Brown 0x0FFC, /* R134 - GPIO Configuration (i/o) */ 226296920630SMark Brown 0x0FFC, /* R135 - GPIO Pin Polarity / Type */ 226396920630SMark Brown 0x0000, /* R136 */ 226496920630SMark Brown 0x0000, /* R137 */ 226596920630SMark Brown 0x0000, /* R138 */ 226696920630SMark Brown 0x0000, /* R139 */ 226796920630SMark Brown 0x0013, /* R140 - GPIO Function Select 1 */ 226896920630SMark Brown 0x0000, /* R141 - GPIO Function Select 2 */ 226996920630SMark Brown 0x0000, /* R142 - GPIO Function Select 3 */ 227096920630SMark Brown 0x0003, /* R143 - GPIO Function Select 4 */ 227196920630SMark Brown 0x0000, /* R144 - Digitiser Control (1) */ 227296920630SMark Brown 0x0002, /* R145 - Digitiser Control (2) */ 227396920630SMark Brown 0x0000, /* R146 */ 227496920630SMark Brown 0x0000, /* R147 */ 227596920630SMark Brown 0x0000, /* R148 */ 227696920630SMark Brown 0x0000, /* R149 */ 227796920630SMark Brown 0x0000, /* R150 */ 227896920630SMark Brown 0x0000, /* R151 */ 227996920630SMark Brown 0x7000, /* R152 - AUX1 Readback */ 228096920630SMark Brown 0x7000, /* R153 - AUX2 Readback */ 228196920630SMark Brown 0x7000, /* R154 - AUX3 Readback */ 228296920630SMark Brown 0x7000, /* R155 - AUX4 Readback */ 228396920630SMark Brown 0x0000, /* R156 - USB Voltage Readback */ 228496920630SMark Brown 0x0000, /* R157 - LINE Voltage Readback */ 228596920630SMark Brown 0x0000, /* R158 - BATT Voltage Readback */ 228696920630SMark Brown 0x0000, /* R159 - Chip Temp Readback */ 228796920630SMark Brown 0x0000, /* R160 */ 228896920630SMark Brown 0x0000, /* R161 */ 228996920630SMark Brown 0x0000, /* R162 */ 229096920630SMark Brown 0x0000, /* R163 - Generic Comparator Control */ 229196920630SMark Brown 0x0000, /* R164 - Generic comparator 1 */ 229296920630SMark Brown 0x0000, /* R165 - Generic comparator 2 */ 229396920630SMark Brown 0x0000, /* R166 - Generic comparator 3 */ 229496920630SMark Brown 0x0000, /* R167 - Generic comparator 4 */ 229596920630SMark Brown 0xA00F, /* R168 - Battery Charger Control 1 */ 229696920630SMark Brown 0x0B06, /* R169 - Battery Charger Control 2 */ 229796920630SMark Brown 0x0000, /* R170 - Battery Charger Control 3 */ 229896920630SMark Brown 0x0000, /* R171 */ 229996920630SMark Brown 0x0000, /* R172 - Current Sink Driver A */ 230096920630SMark Brown 0x0000, /* R173 - CSA Flash control */ 230196920630SMark Brown 0x0000, /* R174 - Current Sink Driver B */ 230296920630SMark Brown 0x0000, /* R175 - CSB Flash control */ 230396920630SMark Brown 0x0000, /* R176 - DCDC/LDO requested */ 230496920630SMark Brown 0x032D, /* R177 - DCDC Active options */ 230596920630SMark Brown 0x0000, /* R178 - DCDC Sleep options */ 230696920630SMark Brown 0x0025, /* R179 - Power-check comparator */ 230796920630SMark Brown 0x000E, /* R180 - DCDC1 Control */ 230896920630SMark Brown 0x0000, /* R181 - DCDC1 Timeouts */ 230996920630SMark Brown 0x1006, /* R182 - DCDC1 Low Power */ 231096920630SMark Brown 0x0018, /* R183 - DCDC2 Control */ 231196920630SMark Brown 0x0000, /* R184 - DCDC2 Timeouts */ 231296920630SMark Brown 0x0000, /* R185 */ 231396920630SMark Brown 0x0000, /* R186 - DCDC3 Control */ 231496920630SMark Brown 0x0000, /* R187 - DCDC3 Timeouts */ 231596920630SMark Brown 0x0006, /* R188 - DCDC3 Low Power */ 231696920630SMark Brown 0x0000, /* R189 - DCDC4 Control */ 231796920630SMark Brown 0x0000, /* R190 - DCDC4 Timeouts */ 231896920630SMark Brown 0x0006, /* R191 - DCDC4 Low Power */ 231996920630SMark Brown 0x0008, /* R192 - DCDC5 Control */ 232096920630SMark Brown 0x0000, /* R193 - DCDC5 Timeouts */ 232196920630SMark Brown 0x0000, /* R194 */ 232296920630SMark Brown 0x0000, /* R195 - DCDC6 Control */ 232396920630SMark Brown 0x0000, /* R196 - DCDC6 Timeouts */ 232496920630SMark Brown 0x0006, /* R197 - DCDC6 Low Power */ 232596920630SMark Brown 0x0000, /* R198 */ 232696920630SMark Brown 0x0003, /* R199 - Limit Switch Control */ 232796920630SMark Brown 0x001C, /* R200 - LDO1 Control */ 232896920630SMark Brown 0x0000, /* R201 - LDO1 Timeouts */ 232996920630SMark Brown 0x001C, /* R202 - LDO1 Low Power */ 233096920630SMark Brown 0x001B, /* R203 - LDO2 Control */ 233196920630SMark Brown 0x0000, /* R204 - LDO2 Timeouts */ 233296920630SMark Brown 0x001C, /* R205 - LDO2 Low Power */ 233396920630SMark Brown 0x001B, /* R206 - LDO3 Control */ 233496920630SMark Brown 0x0000, /* R207 - LDO3 Timeouts */ 233596920630SMark Brown 0x001C, /* R208 - LDO3 Low Power */ 233696920630SMark Brown 0x001B, /* R209 - LDO4 Control */ 233796920630SMark Brown 0x0000, /* R210 - LDO4 Timeouts */ 233896920630SMark Brown 0x001C, /* R211 - LDO4 Low Power */ 233996920630SMark Brown 0x0000, /* R212 */ 234096920630SMark Brown 0x0000, /* R213 */ 234196920630SMark Brown 0x0000, /* R214 */ 234296920630SMark Brown 0x0000, /* R215 - VCC_FAULT Masks */ 234396920630SMark Brown 0x001F, /* R216 - Main Bandgap Control */ 234496920630SMark Brown 0x0000, /* R217 - OSC Control */ 234596920630SMark Brown 0x9000, /* R218 - RTC Tick Control */ 234696920630SMark Brown 0x0000, /* R219 - Security1 */ 234796920630SMark Brown 0x4000, /* R220 */ 234896920630SMark Brown 0x0000, /* R221 */ 234996920630SMark Brown 0x0000, /* R222 */ 235096920630SMark Brown 0x0000, /* R223 */ 235196920630SMark Brown 0x0000, /* R224 - Signal overrides */ 235296920630SMark Brown 0x0000, /* R225 - DCDC/LDO status */ 235396920630SMark Brown 0x0000, /* R226 - Charger Overides/status */ 235496920630SMark Brown 0x0000, /* R227 - misc overrides */ 235596920630SMark Brown 0x0000, /* R228 - Supply overrides/status 1 */ 235696920630SMark Brown 0x0000, /* R229 - Supply overrides/status 2 */ 235796920630SMark Brown 0xE000, /* R230 - GPIO Pin Status */ 235896920630SMark Brown 0x0000, /* R231 - comparotor overrides */ 235996920630SMark Brown 0x0000, /* R232 */ 236096920630SMark Brown 0x0000, /* R233 - State Machine status */ 236196920630SMark Brown 0x1200, /* R234 */ 236296920630SMark Brown 0x0000, /* R235 */ 236396920630SMark Brown 0x8000, /* R236 */ 236496920630SMark Brown 0x0000, /* R237 */ 236596920630SMark Brown 0x0000, /* R238 */ 236696920630SMark Brown 0x0000, /* R239 */ 236796920630SMark Brown 0x0003, /* R240 */ 236896920630SMark Brown 0x0000, /* R241 */ 236996920630SMark Brown 0x0000, /* R242 */ 237096920630SMark Brown 0x0004, /* R243 */ 237196920630SMark Brown 0x0300, /* R244 */ 237296920630SMark Brown 0x0000, /* R245 */ 237396920630SMark Brown 0x0200, /* R246 */ 237496920630SMark Brown 0x0000, /* R247 */ 237596920630SMark Brown 0x1000, /* R248 - DCDC1 Test Controls */ 237696920630SMark Brown 0x5000, /* R249 */ 237796920630SMark Brown 0x1000, /* R250 - DCDC3 Test Controls */ 237896920630SMark Brown 0x1000, /* R251 - DCDC4 Test Controls */ 237996920630SMark Brown 0x5100, /* R252 */ 238096920630SMark Brown 0x1000, /* R253 - DCDC6 Test Controls */ 238196920630SMark Brown }; 238296920630SMark Brown #endif 238396920630SMark Brown 238496920630SMark Brown #ifdef CONFIG_MFD_WM8352_CONFIG_MODE_1 238596920630SMark Brown 238696920630SMark Brown #undef WM8350_HAVE_CONFIG_MODE 238796920630SMark Brown #define WM8350_HAVE_CONFIG_MODE 238896920630SMark Brown 238996920630SMark Brown const u16 wm8352_mode1_defaults[] = { 239096920630SMark Brown 0x6143, /* R0 - Reset/ID */ 239196920630SMark Brown 0x0000, /* R1 - ID */ 239296920630SMark Brown 0x0002, /* R2 - Revision */ 239396920630SMark Brown 0x1C02, /* R3 - System Control 1 */ 239496920630SMark Brown 0x0204, /* R4 - System Control 2 */ 239596920630SMark Brown 0x0000, /* R5 - System Hibernate */ 239696920630SMark Brown 0x8A00, /* R6 - Interface Control */ 239796920630SMark Brown 0x0000, /* R7 */ 239896920630SMark Brown 0x8000, /* R8 - Power mgmt (1) */ 239996920630SMark Brown 0x0000, /* R9 - Power mgmt (2) */ 240096920630SMark Brown 0x0000, /* R10 - Power mgmt (3) */ 240196920630SMark Brown 0x2000, /* R11 - Power mgmt (4) */ 240296920630SMark Brown 0x0E00, /* R12 - Power mgmt (5) */ 240396920630SMark Brown 0x0000, /* R13 - Power mgmt (6) */ 240496920630SMark Brown 0x0000, /* R14 - Power mgmt (7) */ 240596920630SMark Brown 0x0000, /* R15 */ 240696920630SMark Brown 0x0000, /* R16 - RTC Seconds/Minutes */ 240796920630SMark Brown 0x0100, /* R17 - RTC Hours/Day */ 240896920630SMark Brown 0x0101, /* R18 - RTC Date/Month */ 240996920630SMark Brown 0x1400, /* R19 - RTC Year */ 241096920630SMark Brown 0x0000, /* R20 - Alarm Seconds/Minutes */ 241196920630SMark Brown 0x0000, /* R21 - Alarm Hours/Day */ 241296920630SMark Brown 0x0000, /* R22 - Alarm Date/Month */ 241396920630SMark Brown 0x0320, /* R23 - RTC Time Control */ 241496920630SMark Brown 0x0000, /* R24 - System Interrupts */ 241596920630SMark Brown 0x0000, /* R25 - Interrupt Status 1 */ 241696920630SMark Brown 0x0000, /* R26 - Interrupt Status 2 */ 241796920630SMark Brown 0x0000, /* R27 */ 241896920630SMark Brown 0x0000, /* R28 - Under Voltage Interrupt status */ 241996920630SMark Brown 0x0000, /* R29 - Over Current Interrupt status */ 242096920630SMark Brown 0x0000, /* R30 - GPIO Interrupt Status */ 242196920630SMark Brown 0x0000, /* R31 - Comparator Interrupt Status */ 242296920630SMark Brown 0x3FFF, /* R32 - System Interrupts Mask */ 242396920630SMark Brown 0x0000, /* R33 - Interrupt Status 1 Mask */ 242496920630SMark Brown 0x0000, /* R34 - Interrupt Status 2 Mask */ 242596920630SMark Brown 0x0000, /* R35 */ 242696920630SMark Brown 0x0000, /* R36 - Under Voltage Interrupt status Mask */ 242796920630SMark Brown 0x0000, /* R37 - Over Current Interrupt status Mask */ 242896920630SMark Brown 0x0000, /* R38 - GPIO Interrupt Status Mask */ 242996920630SMark Brown 0x0000, /* R39 - Comparator Interrupt Status Mask */ 243096920630SMark Brown 0x0040, /* R40 - Clock Control 1 */ 243196920630SMark Brown 0x0000, /* R41 - Clock Control 2 */ 243296920630SMark Brown 0x3A00, /* R42 - FLL Control 1 */ 243396920630SMark Brown 0x7086, /* R43 - FLL Control 2 */ 243496920630SMark Brown 0xC226, /* R44 - FLL Control 3 */ 243596920630SMark Brown 0x0000, /* R45 - FLL Control 4 */ 243696920630SMark Brown 0x0000, /* R46 */ 243796920630SMark Brown 0x0000, /* R47 */ 243896920630SMark Brown 0x0000, /* R48 - DAC Control */ 243996920630SMark Brown 0x0000, /* R49 */ 244096920630SMark Brown 0x00C0, /* R50 - DAC Digital Volume L */ 244196920630SMark Brown 0x00C0, /* R51 - DAC Digital Volume R */ 244296920630SMark Brown 0x0000, /* R52 */ 244396920630SMark Brown 0x0040, /* R53 - DAC LR Rate */ 244496920630SMark Brown 0x0000, /* R54 - DAC Clock Control */ 244596920630SMark Brown 0x0000, /* R55 */ 244696920630SMark Brown 0x0000, /* R56 */ 244796920630SMark Brown 0x0000, /* R57 */ 244896920630SMark Brown 0x4000, /* R58 - DAC Mute */ 244996920630SMark Brown 0x0000, /* R59 - DAC Mute Volume */ 245096920630SMark Brown 0x0000, /* R60 - DAC Side */ 245196920630SMark Brown 0x0000, /* R61 */ 245296920630SMark Brown 0x0000, /* R62 */ 245396920630SMark Brown 0x0000, /* R63 */ 245496920630SMark Brown 0x8000, /* R64 - ADC Control */ 245596920630SMark Brown 0x0000, /* R65 */ 245696920630SMark Brown 0x00C0, /* R66 - ADC Digital Volume L */ 245796920630SMark Brown 0x00C0, /* R67 - ADC Digital Volume R */ 245896920630SMark Brown 0x0000, /* R68 - ADC Divider */ 245996920630SMark Brown 0x0000, /* R69 */ 246096920630SMark Brown 0x0040, /* R70 - ADC LR Rate */ 246196920630SMark Brown 0x0000, /* R71 */ 246296920630SMark Brown 0x0303, /* R72 - Input Control */ 246396920630SMark Brown 0x0000, /* R73 - IN3 Input Control */ 246496920630SMark Brown 0x0000, /* R74 - Mic Bias Control */ 246596920630SMark Brown 0x0000, /* R75 */ 246696920630SMark Brown 0x0000, /* R76 - Output Control */ 246796920630SMark Brown 0x0000, /* R77 - Jack Detect */ 246896920630SMark Brown 0x0000, /* R78 - Anti Pop Control */ 246996920630SMark Brown 0x0000, /* R79 */ 247096920630SMark Brown 0x0040, /* R80 - Left Input Volume */ 247196920630SMark Brown 0x0040, /* R81 - Right Input Volume */ 247296920630SMark Brown 0x0000, /* R82 */ 247396920630SMark Brown 0x0000, /* R83 */ 247496920630SMark Brown 0x0000, /* R84 */ 247596920630SMark Brown 0x0000, /* R85 */ 247696920630SMark Brown 0x0000, /* R86 */ 247796920630SMark Brown 0x0000, /* R87 */ 247896920630SMark Brown 0x0800, /* R88 - Left Mixer Control */ 247996920630SMark Brown 0x1000, /* R89 - Right Mixer Control */ 248096920630SMark Brown 0x0000, /* R90 */ 248196920630SMark Brown 0x0000, /* R91 */ 248296920630SMark Brown 0x0000, /* R92 - OUT3 Mixer Control */ 248396920630SMark Brown 0x0000, /* R93 - OUT4 Mixer Control */ 248496920630SMark Brown 0x0000, /* R94 */ 248596920630SMark Brown 0x0000, /* R95 */ 248696920630SMark Brown 0x0000, /* R96 - Output Left Mixer Volume */ 248796920630SMark Brown 0x0000, /* R97 - Output Right Mixer Volume */ 248896920630SMark Brown 0x0000, /* R98 - Input Mixer Volume L */ 248996920630SMark Brown 0x0000, /* R99 - Input Mixer Volume R */ 249096920630SMark Brown 0x0000, /* R100 - Input Mixer Volume */ 249196920630SMark Brown 0x0000, /* R101 */ 249296920630SMark Brown 0x0000, /* R102 */ 249396920630SMark Brown 0x0000, /* R103 */ 249496920630SMark Brown 0x00E4, /* R104 - OUT1L Volume */ 249596920630SMark Brown 0x00E4, /* R105 - OUT1R Volume */ 249696920630SMark Brown 0x00E4, /* R106 - OUT2L Volume */ 249796920630SMark Brown 0x02E4, /* R107 - OUT2R Volume */ 249896920630SMark Brown 0x0000, /* R108 */ 249996920630SMark Brown 0x0000, /* R109 */ 250096920630SMark Brown 0x0000, /* R110 */ 250196920630SMark Brown 0x0000, /* R111 - BEEP Volume */ 250296920630SMark Brown 0x0A00, /* R112 - AI Formating */ 250396920630SMark Brown 0x0000, /* R113 - ADC DAC COMP */ 250496920630SMark Brown 0x0020, /* R114 - AI ADC Control */ 250596920630SMark Brown 0x0020, /* R115 - AI DAC Control */ 250696920630SMark Brown 0x0000, /* R116 */ 250796920630SMark Brown 0x0000, /* R117 */ 250896920630SMark Brown 0x0000, /* R118 */ 250996920630SMark Brown 0x0000, /* R119 */ 251096920630SMark Brown 0x0000, /* R120 */ 251196920630SMark Brown 0x0000, /* R121 */ 251296920630SMark Brown 0x0000, /* R122 */ 251396920630SMark Brown 0x0000, /* R123 */ 251496920630SMark Brown 0x0000, /* R124 */ 251596920630SMark Brown 0x0000, /* R125 */ 251696920630SMark Brown 0x0000, /* R126 */ 251796920630SMark Brown 0x0000, /* R127 */ 251896920630SMark Brown 0x1FFF, /* R128 - GPIO Debounce */ 251996920630SMark Brown 0x0000, /* R129 - GPIO Pin pull up Control */ 252096920630SMark Brown 0x0000, /* R130 - GPIO Pull down Control */ 252196920630SMark Brown 0x0000, /* R131 - GPIO Interrupt Mode */ 252296920630SMark Brown 0x0000, /* R132 */ 252396920630SMark Brown 0x0000, /* R133 - GPIO Control */ 252496920630SMark Brown 0x0BFB, /* R134 - GPIO Configuration (i/o) */ 252596920630SMark Brown 0x0FFF, /* R135 - GPIO Pin Polarity / Type */ 252696920630SMark Brown 0x0000, /* R136 */ 252796920630SMark Brown 0x0000, /* R137 */ 252896920630SMark Brown 0x0000, /* R138 */ 252996920630SMark Brown 0x0000, /* R139 */ 253096920630SMark Brown 0x0300, /* R140 - GPIO Function Select 1 */ 253196920630SMark Brown 0x0000, /* R141 - GPIO Function Select 2 */ 253296920630SMark Brown 0x2300, /* R142 - GPIO Function Select 3 */ 253396920630SMark Brown 0x0003, /* R143 - GPIO Function Select 4 */ 253496920630SMark Brown 0x0000, /* R144 - Digitiser Control (1) */ 253596920630SMark Brown 0x0002, /* R145 - Digitiser Control (2) */ 253696920630SMark Brown 0x0000, /* R146 */ 253796920630SMark Brown 0x0000, /* R147 */ 253896920630SMark Brown 0x0000, /* R148 */ 253996920630SMark Brown 0x0000, /* R149 */ 254096920630SMark Brown 0x0000, /* R150 */ 254196920630SMark Brown 0x0000, /* R151 */ 254296920630SMark Brown 0x7000, /* R152 - AUX1 Readback */ 254396920630SMark Brown 0x7000, /* R153 - AUX2 Readback */ 254496920630SMark Brown 0x7000, /* R154 - AUX3 Readback */ 254596920630SMark Brown 0x7000, /* R155 - AUX4 Readback */ 254696920630SMark Brown 0x0000, /* R156 - USB Voltage Readback */ 254796920630SMark Brown 0x0000, /* R157 - LINE Voltage Readback */ 254896920630SMark Brown 0x0000, /* R158 - BATT Voltage Readback */ 254996920630SMark Brown 0x0000, /* R159 - Chip Temp Readback */ 255096920630SMark Brown 0x0000, /* R160 */ 255196920630SMark Brown 0x0000, /* R161 */ 255296920630SMark Brown 0x0000, /* R162 */ 255396920630SMark Brown 0x0000, /* R163 - Generic Comparator Control */ 255496920630SMark Brown 0x0000, /* R164 - Generic comparator 1 */ 255596920630SMark Brown 0x0000, /* R165 - Generic comparator 2 */ 255696920630SMark Brown 0x0000, /* R166 - Generic comparator 3 */ 255796920630SMark Brown 0x0000, /* R167 - Generic comparator 4 */ 255896920630SMark Brown 0xA00F, /* R168 - Battery Charger Control 1 */ 255996920630SMark Brown 0x0B06, /* R169 - Battery Charger Control 2 */ 256096920630SMark Brown 0x0000, /* R170 - Battery Charger Control 3 */ 256196920630SMark Brown 0x0000, /* R171 */ 256296920630SMark Brown 0x0000, /* R172 - Current Sink Driver A */ 256396920630SMark Brown 0x0000, /* R173 - CSA Flash control */ 256496920630SMark Brown 0x0000, /* R174 - Current Sink Driver B */ 256596920630SMark Brown 0x0000, /* R175 - CSB Flash control */ 256696920630SMark Brown 0x0000, /* R176 - DCDC/LDO requested */ 256796920630SMark Brown 0x032D, /* R177 - DCDC Active options */ 256896920630SMark Brown 0x0000, /* R178 - DCDC Sleep options */ 256996920630SMark Brown 0x0025, /* R179 - Power-check comparator */ 257096920630SMark Brown 0x0062, /* R180 - DCDC1 Control */ 257196920630SMark Brown 0x0400, /* R181 - DCDC1 Timeouts */ 257296920630SMark Brown 0x1006, /* R182 - DCDC1 Low Power */ 257396920630SMark Brown 0x0018, /* R183 - DCDC2 Control */ 257496920630SMark Brown 0x0000, /* R184 - DCDC2 Timeouts */ 257596920630SMark Brown 0x0000, /* R185 */ 257696920630SMark Brown 0x0006, /* R186 - DCDC3 Control */ 257796920630SMark Brown 0x0800, /* R187 - DCDC3 Timeouts */ 257896920630SMark Brown 0x0006, /* R188 - DCDC3 Low Power */ 257996920630SMark Brown 0x0006, /* R189 - DCDC4 Control */ 258096920630SMark Brown 0x0C00, /* R190 - DCDC4 Timeouts */ 258196920630SMark Brown 0x0006, /* R191 - DCDC4 Low Power */ 258296920630SMark Brown 0x0008, /* R192 - DCDC5 Control */ 258396920630SMark Brown 0x0000, /* R193 - DCDC5 Timeouts */ 258496920630SMark Brown 0x0000, /* R194 */ 258596920630SMark Brown 0x0026, /* R195 - DCDC6 Control */ 258696920630SMark Brown 0x1000, /* R196 - DCDC6 Timeouts */ 258796920630SMark Brown 0x0006, /* R197 - DCDC6 Low Power */ 258896920630SMark Brown 0x0000, /* R198 */ 258996920630SMark Brown 0x0003, /* R199 - Limit Switch Control */ 259096920630SMark Brown 0x0002, /* R200 - LDO1 Control */ 259196920630SMark Brown 0x0000, /* R201 - LDO1 Timeouts */ 259296920630SMark Brown 0x001C, /* R202 - LDO1 Low Power */ 259396920630SMark Brown 0x001A, /* R203 - LDO2 Control */ 259496920630SMark Brown 0x0000, /* R204 - LDO2 Timeouts */ 259596920630SMark Brown 0x001C, /* R205 - LDO2 Low Power */ 259696920630SMark Brown 0x001F, /* R206 - LDO3 Control */ 259796920630SMark Brown 0x0000, /* R207 - LDO3 Timeouts */ 259896920630SMark Brown 0x001C, /* R208 - LDO3 Low Power */ 259996920630SMark Brown 0x001F, /* R209 - LDO4 Control */ 260096920630SMark Brown 0x0000, /* R210 - LDO4 Timeouts */ 260196920630SMark Brown 0x001C, /* R211 - LDO4 Low Power */ 260296920630SMark Brown 0x0000, /* R212 */ 260396920630SMark Brown 0x0000, /* R213 */ 260496920630SMark Brown 0x0000, /* R214 */ 260596920630SMark Brown 0x0000, /* R215 - VCC_FAULT Masks */ 260696920630SMark Brown 0x001F, /* R216 - Main Bandgap Control */ 260796920630SMark Brown 0x0000, /* R217 - OSC Control */ 260896920630SMark Brown 0x9000, /* R218 - RTC Tick Control */ 260996920630SMark Brown 0x0000, /* R219 - Security1 */ 261096920630SMark Brown 0x4000, /* R220 */ 261196920630SMark Brown 0x0000, /* R221 */ 261296920630SMark Brown 0x0000, /* R222 */ 261396920630SMark Brown 0x0000, /* R223 */ 261496920630SMark Brown 0x0000, /* R224 - Signal overrides */ 261596920630SMark Brown 0x0000, /* R225 - DCDC/LDO status */ 261696920630SMark Brown 0x0000, /* R226 - Charger Overides/status */ 261796920630SMark Brown 0x0000, /* R227 - misc overrides */ 261896920630SMark Brown 0x0000, /* R228 - Supply overrides/status 1 */ 261996920630SMark Brown 0x0000, /* R229 - Supply overrides/status 2 */ 262096920630SMark Brown 0xE000, /* R230 - GPIO Pin Status */ 262196920630SMark Brown 0x0000, /* R231 - comparotor overrides */ 262296920630SMark Brown 0x0000, /* R232 */ 262396920630SMark Brown 0x0000, /* R233 - State Machine status */ 262496920630SMark Brown 0x1200, /* R234 */ 262596920630SMark Brown 0x0000, /* R235 */ 262696920630SMark Brown 0x8000, /* R236 */ 262796920630SMark Brown 0x0000, /* R237 */ 262896920630SMark Brown 0x0000, /* R238 */ 262996920630SMark Brown 0x0000, /* R239 */ 263096920630SMark Brown 0x0003, /* R240 */ 263196920630SMark Brown 0x0000, /* R241 */ 263296920630SMark Brown 0x0000, /* R242 */ 263396920630SMark Brown 0x0004, /* R243 */ 263496920630SMark Brown 0x0300, /* R244 */ 263596920630SMark Brown 0x0000, /* R245 */ 263696920630SMark Brown 0x0200, /* R246 */ 263796920630SMark Brown 0x0000, /* R247 */ 263896920630SMark Brown 0x1000, /* R248 - DCDC1 Test Controls */ 263996920630SMark Brown 0x5000, /* R249 */ 264096920630SMark Brown 0x1000, /* R250 - DCDC3 Test Controls */ 264196920630SMark Brown 0x1000, /* R251 - DCDC4 Test Controls */ 264296920630SMark Brown 0x5100, /* R252 */ 264396920630SMark Brown 0x1000, /* R253 - DCDC6 Test Controls */ 264496920630SMark Brown }; 264596920630SMark Brown #endif 264696920630SMark Brown 264796920630SMark Brown #ifdef CONFIG_MFD_WM8352_CONFIG_MODE_2 264896920630SMark Brown 264996920630SMark Brown #undef WM8350_HAVE_CONFIG_MODE 265096920630SMark Brown #define WM8350_HAVE_CONFIG_MODE 265196920630SMark Brown 265296920630SMark Brown const u16 wm8352_mode2_defaults[] = { 265396920630SMark Brown 0x6143, /* R0 - Reset/ID */ 265496920630SMark Brown 0x0000, /* R1 - ID */ 265596920630SMark Brown 0x0002, /* R2 - Revision */ 265696920630SMark Brown 0x1C02, /* R3 - System Control 1 */ 265796920630SMark Brown 0x0204, /* R4 - System Control 2 */ 265896920630SMark Brown 0x0000, /* R5 - System Hibernate */ 265996920630SMark Brown 0x8A00, /* R6 - Interface Control */ 266096920630SMark Brown 0x0000, /* R7 */ 266196920630SMark Brown 0x8000, /* R8 - Power mgmt (1) */ 266296920630SMark Brown 0x0000, /* R9 - Power mgmt (2) */ 266396920630SMark Brown 0x0000, /* R10 - Power mgmt (3) */ 266496920630SMark Brown 0x2000, /* R11 - Power mgmt (4) */ 266596920630SMark Brown 0x0E00, /* R12 - Power mgmt (5) */ 266696920630SMark Brown 0x0000, /* R13 - Power mgmt (6) */ 266796920630SMark Brown 0x0000, /* R14 - Power mgmt (7) */ 266896920630SMark Brown 0x0000, /* R15 */ 266996920630SMark Brown 0x0000, /* R16 - RTC Seconds/Minutes */ 267096920630SMark Brown 0x0100, /* R17 - RTC Hours/Day */ 267196920630SMark Brown 0x0101, /* R18 - RTC Date/Month */ 267296920630SMark Brown 0x1400, /* R19 - RTC Year */ 267396920630SMark Brown 0x0000, /* R20 - Alarm Seconds/Minutes */ 267496920630SMark Brown 0x0000, /* R21 - Alarm Hours/Day */ 267596920630SMark Brown 0x0000, /* R22 - Alarm Date/Month */ 267696920630SMark Brown 0x0320, /* R23 - RTC Time Control */ 267796920630SMark Brown 0x0000, /* R24 - System Interrupts */ 267896920630SMark Brown 0x0000, /* R25 - Interrupt Status 1 */ 267996920630SMark Brown 0x0000, /* R26 - Interrupt Status 2 */ 268096920630SMark Brown 0x0000, /* R27 */ 268196920630SMark Brown 0x0000, /* R28 - Under Voltage Interrupt status */ 268296920630SMark Brown 0x0000, /* R29 - Over Current Interrupt status */ 268396920630SMark Brown 0x0000, /* R30 - GPIO Interrupt Status */ 268496920630SMark Brown 0x0000, /* R31 - Comparator Interrupt Status */ 268596920630SMark Brown 0x3FFF, /* R32 - System Interrupts Mask */ 268696920630SMark Brown 0x0000, /* R33 - Interrupt Status 1 Mask */ 268796920630SMark Brown 0x0000, /* R34 - Interrupt Status 2 Mask */ 268896920630SMark Brown 0x0000, /* R35 */ 268996920630SMark Brown 0x0000, /* R36 - Under Voltage Interrupt status Mask */ 269096920630SMark Brown 0x0000, /* R37 - Over Current Interrupt status Mask */ 269196920630SMark Brown 0x0000, /* R38 - GPIO Interrupt Status Mask */ 269296920630SMark Brown 0x0000, /* R39 - Comparator Interrupt Status Mask */ 269396920630SMark Brown 0x0040, /* R40 - Clock Control 1 */ 269496920630SMark Brown 0x0000, /* R41 - Clock Control 2 */ 269596920630SMark Brown 0x3A00, /* R42 - FLL Control 1 */ 269696920630SMark Brown 0x7086, /* R43 - FLL Control 2 */ 269796920630SMark Brown 0xC226, /* R44 - FLL Control 3 */ 269896920630SMark Brown 0x0000, /* R45 - FLL Control 4 */ 269996920630SMark Brown 0x0000, /* R46 */ 270096920630SMark Brown 0x0000, /* R47 */ 270196920630SMark Brown 0x0000, /* R48 - DAC Control */ 270296920630SMark Brown 0x0000, /* R49 */ 270396920630SMark Brown 0x00C0, /* R50 - DAC Digital Volume L */ 270496920630SMark Brown 0x00C0, /* R51 - DAC Digital Volume R */ 270596920630SMark Brown 0x0000, /* R52 */ 270696920630SMark Brown 0x0040, /* R53 - DAC LR Rate */ 270796920630SMark Brown 0x0000, /* R54 - DAC Clock Control */ 270896920630SMark Brown 0x0000, /* R55 */ 270996920630SMark Brown 0x0000, /* R56 */ 271096920630SMark Brown 0x0000, /* R57 */ 271196920630SMark Brown 0x4000, /* R58 - DAC Mute */ 271296920630SMark Brown 0x0000, /* R59 - DAC Mute Volume */ 271396920630SMark Brown 0x0000, /* R60 - DAC Side */ 271496920630SMark Brown 0x0000, /* R61 */ 271596920630SMark Brown 0x0000, /* R62 */ 271696920630SMark Brown 0x0000, /* R63 */ 271796920630SMark Brown 0x8000, /* R64 - ADC Control */ 271896920630SMark Brown 0x0000, /* R65 */ 271996920630SMark Brown 0x00C0, /* R66 - ADC Digital Volume L */ 272096920630SMark Brown 0x00C0, /* R67 - ADC Digital Volume R */ 272196920630SMark Brown 0x0000, /* R68 - ADC Divider */ 272296920630SMark Brown 0x0000, /* R69 */ 272396920630SMark Brown 0x0040, /* R70 - ADC LR Rate */ 272496920630SMark Brown 0x0000, /* R71 */ 272596920630SMark Brown 0x0303, /* R72 - Input Control */ 272696920630SMark Brown 0x0000, /* R73 - IN3 Input Control */ 272796920630SMark Brown 0x0000, /* R74 - Mic Bias Control */ 272896920630SMark Brown 0x0000, /* R75 */ 272996920630SMark Brown 0x0000, /* R76 - Output Control */ 273096920630SMark Brown 0x0000, /* R77 - Jack Detect */ 273196920630SMark Brown 0x0000, /* R78 - Anti Pop Control */ 273296920630SMark Brown 0x0000, /* R79 */ 273396920630SMark Brown 0x0040, /* R80 - Left Input Volume */ 273496920630SMark Brown 0x0040, /* R81 - Right Input Volume */ 273596920630SMark Brown 0x0000, /* R82 */ 273696920630SMark Brown 0x0000, /* R83 */ 273796920630SMark Brown 0x0000, /* R84 */ 273896920630SMark Brown 0x0000, /* R85 */ 273996920630SMark Brown 0x0000, /* R86 */ 274096920630SMark Brown 0x0000, /* R87 */ 274196920630SMark Brown 0x0800, /* R88 - Left Mixer Control */ 274296920630SMark Brown 0x1000, /* R89 - Right Mixer Control */ 274396920630SMark Brown 0x0000, /* R90 */ 274496920630SMark Brown 0x0000, /* R91 */ 274596920630SMark Brown 0x0000, /* R92 - OUT3 Mixer Control */ 274696920630SMark Brown 0x0000, /* R93 - OUT4 Mixer Control */ 274796920630SMark Brown 0x0000, /* R94 */ 274896920630SMark Brown 0x0000, /* R95 */ 274996920630SMark Brown 0x0000, /* R96 - Output Left Mixer Volume */ 275096920630SMark Brown 0x0000, /* R97 - Output Right Mixer Volume */ 275196920630SMark Brown 0x0000, /* R98 - Input Mixer Volume L */ 275296920630SMark Brown 0x0000, /* R99 - Input Mixer Volume R */ 275396920630SMark Brown 0x0000, /* R100 - Input Mixer Volume */ 275496920630SMark Brown 0x0000, /* R101 */ 275596920630SMark Brown 0x0000, /* R102 */ 275696920630SMark Brown 0x0000, /* R103 */ 275796920630SMark Brown 0x00E4, /* R104 - OUT1L Volume */ 275896920630SMark Brown 0x00E4, /* R105 - OUT1R Volume */ 275996920630SMark Brown 0x00E4, /* R106 - OUT2L Volume */ 276096920630SMark Brown 0x02E4, /* R107 - OUT2R Volume */ 276196920630SMark Brown 0x0000, /* R108 */ 276296920630SMark Brown 0x0000, /* R109 */ 276396920630SMark Brown 0x0000, /* R110 */ 276496920630SMark Brown 0x0000, /* R111 - BEEP Volume */ 276596920630SMark Brown 0x0A00, /* R112 - AI Formating */ 276696920630SMark Brown 0x0000, /* R113 - ADC DAC COMP */ 276796920630SMark Brown 0x0020, /* R114 - AI ADC Control */ 276896920630SMark Brown 0x0020, /* R115 - AI DAC Control */ 276996920630SMark Brown 0x0000, /* R116 */ 277096920630SMark Brown 0x0000, /* R117 */ 277196920630SMark Brown 0x0000, /* R118 */ 277296920630SMark Brown 0x0000, /* R119 */ 277396920630SMark Brown 0x0000, /* R120 */ 277496920630SMark Brown 0x0000, /* R121 */ 277596920630SMark Brown 0x0000, /* R122 */ 277696920630SMark Brown 0x0000, /* R123 */ 277796920630SMark Brown 0x0000, /* R124 */ 277896920630SMark Brown 0x0000, /* R125 */ 277996920630SMark Brown 0x0000, /* R126 */ 278096920630SMark Brown 0x0000, /* R127 */ 278196920630SMark Brown 0x1FFF, /* R128 - GPIO Debounce */ 278296920630SMark Brown 0x0000, /* R129 - GPIO Pin pull up Control */ 278396920630SMark Brown 0x0110, /* R130 - GPIO Pull down Control */ 278496920630SMark Brown 0x0000, /* R131 - GPIO Interrupt Mode */ 278596920630SMark Brown 0x0000, /* R132 */ 278696920630SMark Brown 0x0000, /* R133 - GPIO Control */ 278796920630SMark Brown 0x09DA, /* R134 - GPIO Configuration (i/o) */ 278896920630SMark Brown 0x0DD6, /* R135 - GPIO Pin Polarity / Type */ 278996920630SMark Brown 0x0000, /* R136 */ 279096920630SMark Brown 0x0000, /* R137 */ 279196920630SMark Brown 0x0000, /* R138 */ 279296920630SMark Brown 0x0000, /* R139 */ 279396920630SMark Brown 0x1310, /* R140 - GPIO Function Select 1 */ 279496920630SMark Brown 0x0033, /* R141 - GPIO Function Select 2 */ 279596920630SMark Brown 0x2000, /* R142 - GPIO Function Select 3 */ 279696920630SMark Brown 0x0000, /* R143 - GPIO Function Select 4 */ 279796920630SMark Brown 0x0000, /* R144 - Digitiser Control (1) */ 279896920630SMark Brown 0x0002, /* R145 - Digitiser Control (2) */ 279996920630SMark Brown 0x0000, /* R146 */ 280096920630SMark Brown 0x0000, /* R147 */ 280196920630SMark Brown 0x0000, /* R148 */ 280296920630SMark Brown 0x0000, /* R149 */ 280396920630SMark Brown 0x0000, /* R150 */ 280496920630SMark Brown 0x0000, /* R151 */ 280596920630SMark Brown 0x7000, /* R152 - AUX1 Readback */ 280696920630SMark Brown 0x7000, /* R153 - AUX2 Readback */ 280796920630SMark Brown 0x7000, /* R154 - AUX3 Readback */ 280896920630SMark Brown 0x7000, /* R155 - AUX4 Readback */ 280996920630SMark Brown 0x0000, /* R156 - USB Voltage Readback */ 281096920630SMark Brown 0x0000, /* R157 - LINE Voltage Readback */ 281196920630SMark Brown 0x0000, /* R158 - BATT Voltage Readback */ 281296920630SMark Brown 0x0000, /* R159 - Chip Temp Readback */ 281396920630SMark Brown 0x0000, /* R160 */ 281496920630SMark Brown 0x0000, /* R161 */ 281596920630SMark Brown 0x0000, /* R162 */ 281696920630SMark Brown 0x0000, /* R163 - Generic Comparator Control */ 281796920630SMark Brown 0x0000, /* R164 - Generic comparator 1 */ 281896920630SMark Brown 0x0000, /* R165 - Generic comparator 2 */ 281996920630SMark Brown 0x0000, /* R166 - Generic comparator 3 */ 282096920630SMark Brown 0x0000, /* R167 - Generic comparator 4 */ 282196920630SMark Brown 0xA00F, /* R168 - Battery Charger Control 1 */ 282296920630SMark Brown 0x0B06, /* R169 - Battery Charger Control 2 */ 282396920630SMark Brown 0x0000, /* R170 - Battery Charger Control 3 */ 282496920630SMark Brown 0x0000, /* R171 */ 282596920630SMark Brown 0x0000, /* R172 - Current Sink Driver A */ 282696920630SMark Brown 0x0000, /* R173 - CSA Flash control */ 282796920630SMark Brown 0x0000, /* R174 - Current Sink Driver B */ 282896920630SMark Brown 0x0000, /* R175 - CSB Flash control */ 282996920630SMark Brown 0x0000, /* R176 - DCDC/LDO requested */ 283096920630SMark Brown 0x032D, /* R177 - DCDC Active options */ 283196920630SMark Brown 0x0000, /* R178 - DCDC Sleep options */ 283296920630SMark Brown 0x0025, /* R179 - Power-check comparator */ 283396920630SMark Brown 0x000E, /* R180 - DCDC1 Control */ 283496920630SMark Brown 0x0800, /* R181 - DCDC1 Timeouts */ 283596920630SMark Brown 0x1006, /* R182 - DCDC1 Low Power */ 283696920630SMark Brown 0x0018, /* R183 - DCDC2 Control */ 283796920630SMark Brown 0x0000, /* R184 - DCDC2 Timeouts */ 283896920630SMark Brown 0x0000, /* R185 */ 283996920630SMark Brown 0x0056, /* R186 - DCDC3 Control */ 284096920630SMark Brown 0x1800, /* R187 - DCDC3 Timeouts */ 284196920630SMark Brown 0x0006, /* R188 - DCDC3 Low Power */ 284296920630SMark Brown 0x000E, /* R189 - DCDC4 Control */ 284396920630SMark Brown 0x1000, /* R190 - DCDC4 Timeouts */ 284496920630SMark Brown 0x0006, /* R191 - DCDC4 Low Power */ 284596920630SMark Brown 0x0008, /* R192 - DCDC5 Control */ 284696920630SMark Brown 0x0000, /* R193 - DCDC5 Timeouts */ 284796920630SMark Brown 0x0000, /* R194 */ 284896920630SMark Brown 0x0026, /* R195 - DCDC6 Control */ 284996920630SMark Brown 0x0C00, /* R196 - DCDC6 Timeouts */ 285096920630SMark Brown 0x0006, /* R197 - DCDC6 Low Power */ 285196920630SMark Brown 0x0000, /* R198 */ 285296920630SMark Brown 0x0003, /* R199 - Limit Switch Control */ 285396920630SMark Brown 0x001C, /* R200 - LDO1 Control */ 285496920630SMark Brown 0x0000, /* R201 - LDO1 Timeouts */ 285596920630SMark Brown 0x001C, /* R202 - LDO1 Low Power */ 285696920630SMark Brown 0x0006, /* R203 - LDO2 Control */ 285796920630SMark Brown 0x0400, /* R204 - LDO2 Timeouts */ 285896920630SMark Brown 0x001C, /* R205 - LDO2 Low Power */ 285996920630SMark Brown 0x001C, /* R206 - LDO3 Control */ 286096920630SMark Brown 0x1400, /* R207 - LDO3 Timeouts */ 286196920630SMark Brown 0x001C, /* R208 - LDO3 Low Power */ 286296920630SMark Brown 0x001A, /* R209 - LDO4 Control */ 286396920630SMark Brown 0x0000, /* R210 - LDO4 Timeouts */ 286496920630SMark Brown 0x001C, /* R211 - LDO4 Low Power */ 286596920630SMark Brown 0x0000, /* R212 */ 286696920630SMark Brown 0x0000, /* R213 */ 286796920630SMark Brown 0x0000, /* R214 */ 286896920630SMark Brown 0x0000, /* R215 - VCC_FAULT Masks */ 286996920630SMark Brown 0x001F, /* R216 - Main Bandgap Control */ 287096920630SMark Brown 0x0000, /* R217 - OSC Control */ 287196920630SMark Brown 0x9000, /* R218 - RTC Tick Control */ 287296920630SMark Brown 0x0000, /* R219 - Security1 */ 287396920630SMark Brown 0x4000, /* R220 */ 287496920630SMark Brown 0x0000, /* R221 */ 287596920630SMark Brown 0x0000, /* R222 */ 287696920630SMark Brown 0x0000, /* R223 */ 287796920630SMark Brown 0x0000, /* R224 - Signal overrides */ 287896920630SMark Brown 0x0000, /* R225 - DCDC/LDO status */ 287996920630SMark Brown 0x0000, /* R226 - Charger Overides/status */ 288096920630SMark Brown 0x0000, /* R227 - misc overrides */ 288196920630SMark Brown 0x0000, /* R228 - Supply overrides/status 1 */ 288296920630SMark Brown 0x0000, /* R229 - Supply overrides/status 2 */ 288396920630SMark Brown 0xE000, /* R230 - GPIO Pin Status */ 288496920630SMark Brown 0x0000, /* R231 - comparotor overrides */ 288596920630SMark Brown 0x0000, /* R232 */ 288696920630SMark Brown 0x0000, /* R233 - State Machine status */ 288796920630SMark Brown 0x1200, /* R234 */ 288896920630SMark Brown 0x0000, /* R235 */ 288996920630SMark Brown 0x8000, /* R236 */ 289096920630SMark Brown 0x0000, /* R237 */ 289196920630SMark Brown 0x0000, /* R238 */ 289296920630SMark Brown 0x0000, /* R239 */ 289396920630SMark Brown 0x0003, /* R240 */ 289496920630SMark Brown 0x0000, /* R241 */ 289596920630SMark Brown 0x0000, /* R242 */ 289696920630SMark Brown 0x0004, /* R243 */ 289796920630SMark Brown 0x0300, /* R244 */ 289896920630SMark Brown 0x0000, /* R245 */ 289996920630SMark Brown 0x0200, /* R246 */ 290096920630SMark Brown 0x0000, /* R247 */ 290196920630SMark Brown 0x1000, /* R248 - DCDC1 Test Controls */ 290296920630SMark Brown 0x5000, /* R249 */ 290396920630SMark Brown 0x1000, /* R250 - DCDC3 Test Controls */ 290496920630SMark Brown 0x1000, /* R251 - DCDC4 Test Controls */ 290596920630SMark Brown 0x5100, /* R252 */ 290696920630SMark Brown 0x1000, /* R253 - DCDC6 Test Controls */ 290796920630SMark Brown }; 290896920630SMark Brown #endif 290996920630SMark Brown 291096920630SMark Brown #ifdef CONFIG_MFD_WM8352_CONFIG_MODE_3 291196920630SMark Brown 291296920630SMark Brown #undef WM8350_HAVE_CONFIG_MODE 291396920630SMark Brown #define WM8350_HAVE_CONFIG_MODE 291496920630SMark Brown 291596920630SMark Brown const u16 wm8352_mode3_defaults[] = { 291696920630SMark Brown 0x6143, /* R0 - Reset/ID */ 291796920630SMark Brown 0x0000, /* R1 - ID */ 291896920630SMark Brown 0x0002, /* R2 - Revision */ 291996920630SMark Brown 0x1C02, /* R3 - System Control 1 */ 292096920630SMark Brown 0x0204, /* R4 - System Control 2 */ 292196920630SMark Brown 0x0000, /* R5 - System Hibernate */ 292296920630SMark Brown 0x8A00, /* R6 - Interface Control */ 292396920630SMark Brown 0x0000, /* R7 */ 292496920630SMark Brown 0x8000, /* R8 - Power mgmt (1) */ 292596920630SMark Brown 0x0000, /* R9 - Power mgmt (2) */ 292696920630SMark Brown 0x0000, /* R10 - Power mgmt (3) */ 292796920630SMark Brown 0x2000, /* R11 - Power mgmt (4) */ 292896920630SMark Brown 0x0E00, /* R12 - Power mgmt (5) */ 292996920630SMark Brown 0x0000, /* R13 - Power mgmt (6) */ 293096920630SMark Brown 0x0000, /* R14 - Power mgmt (7) */ 293196920630SMark Brown 0x0000, /* R15 */ 293296920630SMark Brown 0x0000, /* R16 - RTC Seconds/Minutes */ 293396920630SMark Brown 0x0100, /* R17 - RTC Hours/Day */ 293496920630SMark Brown 0x0101, /* R18 - RTC Date/Month */ 293596920630SMark Brown 0x1400, /* R19 - RTC Year */ 293696920630SMark Brown 0x0000, /* R20 - Alarm Seconds/Minutes */ 293796920630SMark Brown 0x0000, /* R21 - Alarm Hours/Day */ 293896920630SMark Brown 0x0000, /* R22 - Alarm Date/Month */ 293996920630SMark Brown 0x0320, /* R23 - RTC Time Control */ 294096920630SMark Brown 0x0000, /* R24 - System Interrupts */ 294196920630SMark Brown 0x0000, /* R25 - Interrupt Status 1 */ 294296920630SMark Brown 0x0000, /* R26 - Interrupt Status 2 */ 294396920630SMark Brown 0x0000, /* R27 */ 294496920630SMark Brown 0x0000, /* R28 - Under Voltage Interrupt status */ 294596920630SMark Brown 0x0000, /* R29 - Over Current Interrupt status */ 294696920630SMark Brown 0x0000, /* R30 - GPIO Interrupt Status */ 294796920630SMark Brown 0x0000, /* R31 - Comparator Interrupt Status */ 294896920630SMark Brown 0x3FFF, /* R32 - System Interrupts Mask */ 294996920630SMark Brown 0x0000, /* R33 - Interrupt Status 1 Mask */ 295096920630SMark Brown 0x0000, /* R34 - Interrupt Status 2 Mask */ 295196920630SMark Brown 0x0000, /* R35 */ 295296920630SMark Brown 0x0000, /* R36 - Under Voltage Interrupt status Mask */ 295396920630SMark Brown 0x0000, /* R37 - Over Current Interrupt status Mask */ 295496920630SMark Brown 0x0000, /* R38 - GPIO Interrupt Status Mask */ 295596920630SMark Brown 0x0000, /* R39 - Comparator Interrupt Status Mask */ 295696920630SMark Brown 0x0040, /* R40 - Clock Control 1 */ 295796920630SMark Brown 0x0000, /* R41 - Clock Control 2 */ 295896920630SMark Brown 0x3A00, /* R42 - FLL Control 1 */ 295996920630SMark Brown 0x7086, /* R43 - FLL Control 2 */ 296096920630SMark Brown 0xC226, /* R44 - FLL Control 3 */ 296196920630SMark Brown 0x0000, /* R45 - FLL Control 4 */ 296296920630SMark Brown 0x0000, /* R46 */ 296396920630SMark Brown 0x0000, /* R47 */ 296496920630SMark Brown 0x0000, /* R48 - DAC Control */ 296596920630SMark Brown 0x0000, /* R49 */ 296696920630SMark Brown 0x00C0, /* R50 - DAC Digital Volume L */ 296796920630SMark Brown 0x00C0, /* R51 - DAC Digital Volume R */ 296896920630SMark Brown 0x0000, /* R52 */ 296996920630SMark Brown 0x0040, /* R53 - DAC LR Rate */ 297096920630SMark Brown 0x0000, /* R54 - DAC Clock Control */ 297196920630SMark Brown 0x0000, /* R55 */ 297296920630SMark Brown 0x0000, /* R56 */ 297396920630SMark Brown 0x0000, /* R57 */ 297496920630SMark Brown 0x4000, /* R58 - DAC Mute */ 297596920630SMark Brown 0x0000, /* R59 - DAC Mute Volume */ 297696920630SMark Brown 0x0000, /* R60 - DAC Side */ 297796920630SMark Brown 0x0000, /* R61 */ 297896920630SMark Brown 0x0000, /* R62 */ 297996920630SMark Brown 0x0000, /* R63 */ 298096920630SMark Brown 0x8000, /* R64 - ADC Control */ 298196920630SMark Brown 0x0000, /* R65 */ 298296920630SMark Brown 0x00C0, /* R66 - ADC Digital Volume L */ 298396920630SMark Brown 0x00C0, /* R67 - ADC Digital Volume R */ 298496920630SMark Brown 0x0000, /* R68 - ADC Divider */ 298596920630SMark Brown 0x0000, /* R69 */ 298696920630SMark Brown 0x0040, /* R70 - ADC LR Rate */ 298796920630SMark Brown 0x0000, /* R71 */ 298896920630SMark Brown 0x0303, /* R72 - Input Control */ 298996920630SMark Brown 0x0000, /* R73 - IN3 Input Control */ 299096920630SMark Brown 0x0000, /* R74 - Mic Bias Control */ 299196920630SMark Brown 0x0000, /* R75 */ 299296920630SMark Brown 0x0000, /* R76 - Output Control */ 299396920630SMark Brown 0x0000, /* R77 - Jack Detect */ 299496920630SMark Brown 0x0000, /* R78 - Anti Pop Control */ 299596920630SMark Brown 0x0000, /* R79 */ 299696920630SMark Brown 0x0040, /* R80 - Left Input Volume */ 299796920630SMark Brown 0x0040, /* R81 - Right Input Volume */ 299896920630SMark Brown 0x0000, /* R82 */ 299996920630SMark Brown 0x0000, /* R83 */ 300096920630SMark Brown 0x0000, /* R84 */ 300196920630SMark Brown 0x0000, /* R85 */ 300296920630SMark Brown 0x0000, /* R86 */ 300396920630SMark Brown 0x0000, /* R87 */ 300496920630SMark Brown 0x0800, /* R88 - Left Mixer Control */ 300596920630SMark Brown 0x1000, /* R89 - Right Mixer Control */ 300696920630SMark Brown 0x0000, /* R90 */ 300796920630SMark Brown 0x0000, /* R91 */ 300896920630SMark Brown 0x0000, /* R92 - OUT3 Mixer Control */ 300996920630SMark Brown 0x0000, /* R93 - OUT4 Mixer Control */ 301096920630SMark Brown 0x0000, /* R94 */ 301196920630SMark Brown 0x0000, /* R95 */ 301296920630SMark Brown 0x0000, /* R96 - Output Left Mixer Volume */ 301396920630SMark Brown 0x0000, /* R97 - Output Right Mixer Volume */ 301496920630SMark Brown 0x0000, /* R98 - Input Mixer Volume L */ 301596920630SMark Brown 0x0000, /* R99 - Input Mixer Volume R */ 301696920630SMark Brown 0x0000, /* R100 - Input Mixer Volume */ 301796920630SMark Brown 0x0000, /* R101 */ 301896920630SMark Brown 0x0000, /* R102 */ 301996920630SMark Brown 0x0000, /* R103 */ 302096920630SMark Brown 0x00E4, /* R104 - OUT1L Volume */ 302196920630SMark Brown 0x00E4, /* R105 - OUT1R Volume */ 302296920630SMark Brown 0x00E4, /* R106 - OUT2L Volume */ 302396920630SMark Brown 0x02E4, /* R107 - OUT2R Volume */ 302496920630SMark Brown 0x0000, /* R108 */ 302596920630SMark Brown 0x0000, /* R109 */ 302696920630SMark Brown 0x0000, /* R110 */ 302796920630SMark Brown 0x0000, /* R111 - BEEP Volume */ 302896920630SMark Brown 0x0A00, /* R112 - AI Formating */ 302996920630SMark Brown 0x0000, /* R113 - ADC DAC COMP */ 303096920630SMark Brown 0x0020, /* R114 - AI ADC Control */ 303196920630SMark Brown 0x0020, /* R115 - AI DAC Control */ 303296920630SMark Brown 0x0000, /* R116 */ 303396920630SMark Brown 0x0000, /* R117 */ 303496920630SMark Brown 0x0000, /* R118 */ 303596920630SMark Brown 0x0000, /* R119 */ 303696920630SMark Brown 0x0000, /* R120 */ 303796920630SMark Brown 0x0000, /* R121 */ 303896920630SMark Brown 0x0000, /* R122 */ 303996920630SMark Brown 0x0000, /* R123 */ 304096920630SMark Brown 0x0000, /* R124 */ 304196920630SMark Brown 0x0000, /* R125 */ 304296920630SMark Brown 0x0000, /* R126 */ 304396920630SMark Brown 0x0000, /* R127 */ 304496920630SMark Brown 0x1FFF, /* R128 - GPIO Debounce */ 304596920630SMark Brown 0x0010, /* R129 - GPIO Pin pull up Control */ 304696920630SMark Brown 0x0000, /* R130 - GPIO Pull down Control */ 304796920630SMark Brown 0x0000, /* R131 - GPIO Interrupt Mode */ 304896920630SMark Brown 0x0000, /* R132 */ 304996920630SMark Brown 0x0000, /* R133 - GPIO Control */ 305096920630SMark Brown 0x0BFB, /* R134 - GPIO Configuration (i/o) */ 305196920630SMark Brown 0x0FFD, /* R135 - GPIO Pin Polarity / Type */ 305296920630SMark Brown 0x0000, /* R136 */ 305396920630SMark Brown 0x0000, /* R137 */ 305496920630SMark Brown 0x0000, /* R138 */ 305596920630SMark Brown 0x0000, /* R139 */ 305696920630SMark Brown 0x0310, /* R140 - GPIO Function Select 1 */ 305796920630SMark Brown 0x0001, /* R141 - GPIO Function Select 2 */ 305896920630SMark Brown 0x2300, /* R142 - GPIO Function Select 3 */ 305996920630SMark Brown 0x0003, /* R143 - GPIO Function Select 4 */ 306096920630SMark Brown 0x0000, /* R144 - Digitiser Control (1) */ 306196920630SMark Brown 0x0002, /* R145 - Digitiser Control (2) */ 306296920630SMark Brown 0x0000, /* R146 */ 306396920630SMark Brown 0x0000, /* R147 */ 306496920630SMark Brown 0x0000, /* R148 */ 306596920630SMark Brown 0x0000, /* R149 */ 306696920630SMark Brown 0x0000, /* R150 */ 306796920630SMark Brown 0x0000, /* R151 */ 306896920630SMark Brown 0x7000, /* R152 - AUX1 Readback */ 306996920630SMark Brown 0x7000, /* R153 - AUX2 Readback */ 307096920630SMark Brown 0x7000, /* R154 - AUX3 Readback */ 307196920630SMark Brown 0x7000, /* R155 - AUX4 Readback */ 307296920630SMark Brown 0x0000, /* R156 - USB Voltage Readback */ 307396920630SMark Brown 0x0000, /* R157 - LINE Voltage Readback */ 307496920630SMark Brown 0x0000, /* R158 - BATT Voltage Readback */ 307596920630SMark Brown 0x0000, /* R159 - Chip Temp Readback */ 307696920630SMark Brown 0x0000, /* R160 */ 307796920630SMark Brown 0x0000, /* R161 */ 307896920630SMark Brown 0x0000, /* R162 */ 307996920630SMark Brown 0x0000, /* R163 - Generic Comparator Control */ 308096920630SMark Brown 0x0000, /* R164 - Generic comparator 1 */ 308196920630SMark Brown 0x0000, /* R165 - Generic comparator 2 */ 308296920630SMark Brown 0x0000, /* R166 - Generic comparator 3 */ 308396920630SMark Brown 0x0000, /* R167 - Generic comparator 4 */ 308496920630SMark Brown 0xA00F, /* R168 - Battery Charger Control 1 */ 308596920630SMark Brown 0x0B06, /* R169 - Battery Charger Control 2 */ 308696920630SMark Brown 0x0000, /* R170 - Battery Charger Control 3 */ 308796920630SMark Brown 0x0000, /* R171 */ 308896920630SMark Brown 0x0000, /* R172 - Current Sink Driver A */ 308996920630SMark Brown 0x0000, /* R173 - CSA Flash control */ 309096920630SMark Brown 0x0000, /* R174 - Current Sink Driver B */ 309196920630SMark Brown 0x0000, /* R175 - CSB Flash control */ 309296920630SMark Brown 0x0000, /* R176 - DCDC/LDO requested */ 309396920630SMark Brown 0x032D, /* R177 - DCDC Active options */ 309496920630SMark Brown 0x0000, /* R178 - DCDC Sleep options */ 309596920630SMark Brown 0x0025, /* R179 - Power-check comparator */ 309696920630SMark Brown 0x0006, /* R180 - DCDC1 Control */ 309796920630SMark Brown 0x0400, /* R181 - DCDC1 Timeouts */ 309896920630SMark Brown 0x1006, /* R182 - DCDC1 Low Power */ 309996920630SMark Brown 0x0018, /* R183 - DCDC2 Control */ 310096920630SMark Brown 0x0000, /* R184 - DCDC2 Timeouts */ 310196920630SMark Brown 0x0000, /* R185 */ 310296920630SMark Brown 0x0050, /* R186 - DCDC3 Control */ 310396920630SMark Brown 0x0C00, /* R187 - DCDC3 Timeouts */ 310496920630SMark Brown 0x0006, /* R188 - DCDC3 Low Power */ 310596920630SMark Brown 0x000E, /* R189 - DCDC4 Control */ 310696920630SMark Brown 0x0400, /* R190 - DCDC4 Timeouts */ 310796920630SMark Brown 0x0006, /* R191 - DCDC4 Low Power */ 310896920630SMark Brown 0x0008, /* R192 - DCDC5 Control */ 310996920630SMark Brown 0x0000, /* R193 - DCDC5 Timeouts */ 311096920630SMark Brown 0x0000, /* R194 */ 311196920630SMark Brown 0x0029, /* R195 - DCDC6 Control */ 311296920630SMark Brown 0x0800, /* R196 - DCDC6 Timeouts */ 311396920630SMark Brown 0x0006, /* R197 - DCDC6 Low Power */ 311496920630SMark Brown 0x0000, /* R198 */ 311596920630SMark Brown 0x0003, /* R199 - Limit Switch Control */ 311696920630SMark Brown 0x001D, /* R200 - LDO1 Control */ 311796920630SMark Brown 0x1000, /* R201 - LDO1 Timeouts */ 311896920630SMark Brown 0x001C, /* R202 - LDO1 Low Power */ 311996920630SMark Brown 0x0017, /* R203 - LDO2 Control */ 312096920630SMark Brown 0x1000, /* R204 - LDO2 Timeouts */ 312196920630SMark Brown 0x001C, /* R205 - LDO2 Low Power */ 312296920630SMark Brown 0x0006, /* R206 - LDO3 Control */ 312396920630SMark Brown 0x1000, /* R207 - LDO3 Timeouts */ 312496920630SMark Brown 0x001C, /* R208 - LDO3 Low Power */ 312596920630SMark Brown 0x0010, /* R209 - LDO4 Control */ 312696920630SMark Brown 0x1000, /* R210 - LDO4 Timeouts */ 312796920630SMark Brown 0x001C, /* R211 - LDO4 Low Power */ 312896920630SMark Brown 0x0000, /* R212 */ 312996920630SMark Brown 0x0000, /* R213 */ 313096920630SMark Brown 0x0000, /* R214 */ 313196920630SMark Brown 0x0000, /* R215 - VCC_FAULT Masks */ 313296920630SMark Brown 0x001F, /* R216 - Main Bandgap Control */ 313396920630SMark Brown 0x0000, /* R217 - OSC Control */ 313496920630SMark Brown 0x9000, /* R218 - RTC Tick Control */ 313596920630SMark Brown 0x0000, /* R219 - Security1 */ 313696920630SMark Brown 0x4000, /* R220 */ 313796920630SMark Brown 0x0000, /* R221 */ 313896920630SMark Brown 0x0000, /* R222 */ 313996920630SMark Brown 0x0000, /* R223 */ 314096920630SMark Brown 0x0000, /* R224 - Signal overrides */ 314196920630SMark Brown 0x0000, /* R225 - DCDC/LDO status */ 314296920630SMark Brown 0x0000, /* R226 - Charger Overides/status */ 314396920630SMark Brown 0x0000, /* R227 - misc overrides */ 314496920630SMark Brown 0x0000, /* R228 - Supply overrides/status 1 */ 314596920630SMark Brown 0x0000, /* R229 - Supply overrides/status 2 */ 314696920630SMark Brown 0xE000, /* R230 - GPIO Pin Status */ 314796920630SMark Brown 0x0000, /* R231 - comparotor overrides */ 314896920630SMark Brown 0x0000, /* R232 */ 314996920630SMark Brown 0x0000, /* R233 - State Machine status */ 315096920630SMark Brown 0x1200, /* R234 */ 315196920630SMark Brown 0x0000, /* R235 */ 315296920630SMark Brown 0x8000, /* R236 */ 315396920630SMark Brown 0x0000, /* R237 */ 315496920630SMark Brown 0x0000, /* R238 */ 315596920630SMark Brown 0x0000, /* R239 */ 315696920630SMark Brown 0x0003, /* R240 */ 315796920630SMark Brown 0x0000, /* R241 */ 315896920630SMark Brown 0x0000, /* R242 */ 315996920630SMark Brown 0x0004, /* R243 */ 316096920630SMark Brown 0x0300, /* R244 */ 316196920630SMark Brown 0x0000, /* R245 */ 316296920630SMark Brown 0x0200, /* R246 */ 316396920630SMark Brown 0x0000, /* R247 */ 316496920630SMark Brown 0x1000, /* R248 - DCDC1 Test Controls */ 316596920630SMark Brown 0x5000, /* R249 */ 316696920630SMark Brown 0x1000, /* R250 - DCDC3 Test Controls */ 316796920630SMark Brown 0x1000, /* R251 - DCDC4 Test Controls */ 316896920630SMark Brown 0x5100, /* R252 */ 316996920630SMark Brown 0x1000, /* R253 - DCDC6 Test Controls */ 317096920630SMark Brown }; 317196920630SMark Brown #endif 317296920630SMark Brown 317389b4012bSMark Brown /* The register defaults for the config mode used must be compiled in but 317489b4012bSMark Brown * due to the impact on kernel size it is possible to disable 317589b4012bSMark Brown */ 317689b4012bSMark Brown #ifndef WM8350_HAVE_CONFIG_MODE 317789b4012bSMark Brown #warning No WM8350 config modes supported - select at least one of the 317889b4012bSMark Brown #warning MFD_WM8350_CONFIG_MODE_n options from the board driver. 317989b4012bSMark Brown #endif 318089b4012bSMark Brown 318189b4012bSMark Brown /* 318289b4012bSMark Brown * Access masks. 318389b4012bSMark Brown */ 318489b4012bSMark Brown 318589b4012bSMark Brown const struct wm8350_reg_access wm8350_reg_io_map[] = { 318689b4012bSMark Brown /* read write volatile */ 318789b4012bSMark Brown { 0xFFFF, 0xFFFF, 0xFFFF }, /* R0 - Reset/ID */ 318889b4012bSMark Brown { 0x7CFF, 0x0C00, 0x7FFF }, /* R1 - ID */ 318989b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R2 */ 319089b4012bSMark Brown { 0xBE3B, 0xBE3B, 0x8000 }, /* R3 - System Control 1 */ 3191a39a021fSMark Brown { 0xFEF7, 0xFEF7, 0xF800 }, /* R4 - System Control 2 */ 319289b4012bSMark Brown { 0x80FF, 0x80FF, 0x8000 }, /* R5 - System Hibernate */ 319389b4012bSMark Brown { 0xFB0E, 0xFB0E, 0x0000 }, /* R6 - Interface Control */ 319489b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R7 */ 319589b4012bSMark Brown { 0xE537, 0xE537, 0xFFFF }, /* R8 - Power mgmt (1) */ 319689b4012bSMark Brown { 0x0FF3, 0x0FF3, 0xFFFF }, /* R9 - Power mgmt (2) */ 319789b4012bSMark Brown { 0x008F, 0x008F, 0xFFFF }, /* R10 - Power mgmt (3) */ 319889b4012bSMark Brown { 0x6D3C, 0x6D3C, 0xFFFF }, /* R11 - Power mgmt (4) */ 319989b4012bSMark Brown { 0x1F8F, 0x1F8F, 0xFFFF }, /* R12 - Power mgmt (5) */ 320089b4012bSMark Brown { 0x8F3F, 0x8F3F, 0xFFFF }, /* R13 - Power mgmt (6) */ 320189b4012bSMark Brown { 0x0003, 0x0003, 0xFFFF }, /* R14 - Power mgmt (7) */ 320289b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R15 */ 320389b4012bSMark Brown { 0x7F7F, 0x7F7F, 0xFFFF }, /* R16 - RTC Seconds/Minutes */ 320489b4012bSMark Brown { 0x073F, 0x073F, 0xFFFF }, /* R17 - RTC Hours/Day */ 320589b4012bSMark Brown { 0x1F3F, 0x1F3F, 0xFFFF }, /* R18 - RTC Date/Month */ 320689b4012bSMark Brown { 0x3FFF, 0x00FF, 0xFFFF }, /* R19 - RTC Year */ 320789b4012bSMark Brown { 0x7F7F, 0x7F7F, 0x0000 }, /* R20 - Alarm Seconds/Minutes */ 320889b4012bSMark Brown { 0x0F3F, 0x0F3F, 0x0000 }, /* R21 - Alarm Hours/Day */ 320989b4012bSMark Brown { 0x1F3F, 0x1F3F, 0x0000 }, /* R22 - Alarm Date/Month */ 321089b4012bSMark Brown { 0xEF7F, 0xEA7F, 0xFFFF }, /* R23 - RTC Time Control */ 321189b4012bSMark Brown { 0x3BFF, 0x0000, 0xFFFF }, /* R24 - System Interrupts */ 321289b4012bSMark Brown { 0xFEE7, 0x0000, 0xFFFF }, /* R25 - Interrupt Status 1 */ 321389b4012bSMark Brown { 0x35FF, 0x0000, 0xFFFF }, /* R26 - Interrupt Status 2 */ 321489b4012bSMark Brown { 0x0F3F, 0x0000, 0xFFFF }, /* R27 - Power Up Interrupt Status */ 321589b4012bSMark Brown { 0x0F3F, 0x0000, 0xFFFF }, /* R28 - Under Voltage Interrupt status */ 321689b4012bSMark Brown { 0x8000, 0x0000, 0xFFFF }, /* R29 - Over Current Interrupt status */ 321789b4012bSMark Brown { 0x1FFF, 0x0000, 0xFFFF }, /* R30 - GPIO Interrupt Status */ 321889b4012bSMark Brown { 0xEF7F, 0x0000, 0xFFFF }, /* R31 - Comparator Interrupt Status */ 321989b4012bSMark Brown { 0x3FFF, 0x3FFF, 0x0000 }, /* R32 - System Interrupts Mask */ 322089b4012bSMark Brown { 0xFEE7, 0xFEE7, 0x0000 }, /* R33 - Interrupt Status 1 Mask */ 322189b4012bSMark Brown { 0xF5FF, 0xF5FF, 0x0000 }, /* R34 - Interrupt Status 2 Mask */ 322289b4012bSMark Brown { 0x0F3F, 0x0F3F, 0x0000 }, /* R35 - Power Up Interrupt Status Mask */ 322389b4012bSMark Brown { 0x0F3F, 0x0F3F, 0x0000 }, /* R36 - Under Voltage Int status Mask */ 322489b4012bSMark Brown { 0x8000, 0x8000, 0x0000 }, /* R37 - Over Current Int status Mask */ 322589b4012bSMark Brown { 0x1FFF, 0x1FFF, 0x0000 }, /* R38 - GPIO Interrupt Status Mask */ 322689b4012bSMark Brown { 0xEF7F, 0xEF7F, 0x0000 }, /* R39 - Comparator IntStatus Mask */ 322789b4012bSMark Brown { 0xC9F7, 0xC9F7, 0xFFFF }, /* R40 - Clock Control 1 */ 322889b4012bSMark Brown { 0x8001, 0x8001, 0x0000 }, /* R41 - Clock Control 2 */ 322989b4012bSMark Brown { 0xFFF7, 0xFFF7, 0xFFFF }, /* R42 - FLL Control 1 */ 323089b4012bSMark Brown { 0xFBFF, 0xFBFF, 0x0000 }, /* R43 - FLL Control 2 */ 323189b4012bSMark Brown { 0xFFFF, 0xFFFF, 0x0000 }, /* R44 - FLL Control 3 */ 323289b4012bSMark Brown { 0x0033, 0x0033, 0x0000 }, /* R45 - FLL Control 4 */ 323389b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R46 */ 323489b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R47 */ 323589b4012bSMark Brown { 0x3033, 0x3033, 0x0000 }, /* R48 - DAC Control */ 323689b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R49 */ 323789b4012bSMark Brown { 0x81FF, 0x81FF, 0xFFFF }, /* R50 - DAC Digital Volume L */ 323889b4012bSMark Brown { 0x81FF, 0x81FF, 0xFFFF }, /* R51 - DAC Digital Volume R */ 323989b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R52 */ 324089b4012bSMark Brown { 0x0FFF, 0x0FFF, 0xFFFF }, /* R53 - DAC LR Rate */ 324189b4012bSMark Brown { 0x0017, 0x0017, 0x0000 }, /* R54 - DAC Clock Control */ 324289b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R55 */ 324389b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R56 */ 324489b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R57 */ 324589b4012bSMark Brown { 0x4000, 0x4000, 0x0000 }, /* R58 - DAC Mute */ 324689b4012bSMark Brown { 0x7000, 0x7000, 0x0000 }, /* R59 - DAC Mute Volume */ 324789b4012bSMark Brown { 0x3C00, 0x3C00, 0x0000 }, /* R60 - DAC Side */ 324889b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R61 */ 324989b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R62 */ 325089b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R63 */ 325189b4012bSMark Brown { 0x8303, 0x8303, 0xFFFF }, /* R64 - ADC Control */ 325289b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R65 */ 325389b4012bSMark Brown { 0x81FF, 0x81FF, 0xFFFF }, /* R66 - ADC Digital Volume L */ 325489b4012bSMark Brown { 0x81FF, 0x81FF, 0xFFFF }, /* R67 - ADC Digital Volume R */ 325589b4012bSMark Brown { 0x0FFF, 0x0FFF, 0x0000 }, /* R68 - ADC Divider */ 325689b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R69 */ 325789b4012bSMark Brown { 0x0FFF, 0x0FFF, 0xFFFF }, /* R70 - ADC LR Rate */ 325889b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R71 */ 325989b4012bSMark Brown { 0x0707, 0x0707, 0xFFFF }, /* R72 - Input Control */ 326089b4012bSMark Brown { 0xC0C0, 0xC0C0, 0xFFFF }, /* R73 - IN3 Input Control */ 326189b4012bSMark Brown { 0xC09F, 0xC09F, 0xFFFF }, /* R74 - Mic Bias Control */ 326289b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R75 */ 326389b4012bSMark Brown { 0x0F15, 0x0F15, 0xFFFF }, /* R76 - Output Control */ 326489b4012bSMark Brown { 0xC000, 0xC000, 0xFFFF }, /* R77 - Jack Detect */ 326589b4012bSMark Brown { 0x03FF, 0x03FF, 0x0000 }, /* R78 - Anti Pop Control */ 326689b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R79 */ 326789b4012bSMark Brown { 0xE1FC, 0xE1FC, 0x8000 }, /* R80 - Left Input Volume */ 326889b4012bSMark Brown { 0xE1FC, 0xE1FC, 0x8000 }, /* R81 - Right Input Volume */ 326989b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R82 */ 327089b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R83 */ 327189b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R84 */ 327289b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R85 */ 327389b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R86 */ 327489b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R87 */ 327589b4012bSMark Brown { 0x9807, 0x9807, 0xFFFF }, /* R88 - Left Mixer Control */ 327689b4012bSMark Brown { 0x980B, 0x980B, 0xFFFF }, /* R89 - Right Mixer Control */ 327789b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R90 */ 327889b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R91 */ 327989b4012bSMark Brown { 0x8909, 0x8909, 0xFFFF }, /* R92 - OUT3 Mixer Control */ 328089b4012bSMark Brown { 0x9E07, 0x9E07, 0xFFFF }, /* R93 - OUT4 Mixer Control */ 328189b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R94 */ 328289b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R95 */ 328389b4012bSMark Brown { 0x0EEE, 0x0EEE, 0x0000 }, /* R96 - Output Left Mixer Volume */ 328489b4012bSMark Brown { 0xE0EE, 0xE0EE, 0x0000 }, /* R97 - Output Right Mixer Volume */ 328589b4012bSMark Brown { 0x0E0F, 0x0E0F, 0x0000 }, /* R98 - Input Mixer Volume L */ 328689b4012bSMark Brown { 0xE0E1, 0xE0E1, 0x0000 }, /* R99 - Input Mixer Volume R */ 328789b4012bSMark Brown { 0x800E, 0x800E, 0x0000 }, /* R100 - Input Mixer Volume */ 328889b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R101 */ 328989b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R102 */ 329089b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R103 */ 329189b4012bSMark Brown { 0xE1FC, 0xE1FC, 0xFFFF }, /* R104 - LOUT1 Volume */ 329289b4012bSMark Brown { 0xE1FC, 0xE1FC, 0xFFFF }, /* R105 - ROUT1 Volume */ 329389b4012bSMark Brown { 0xE1FC, 0xE1FC, 0xFFFF }, /* R106 - LOUT2 Volume */ 329489b4012bSMark Brown { 0xE7FC, 0xE7FC, 0xFFFF }, /* R107 - ROUT2 Volume */ 329589b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R108 */ 329689b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R109 */ 329789b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R110 */ 329889b4012bSMark Brown { 0x80E0, 0x80E0, 0xFFFF }, /* R111 - BEEP Volume */ 329989b4012bSMark Brown { 0xBF00, 0xBF00, 0x0000 }, /* R112 - AI Formating */ 330089b4012bSMark Brown { 0x00F1, 0x00F1, 0x0000 }, /* R113 - ADC DAC COMP */ 330189b4012bSMark Brown { 0x00F8, 0x00F8, 0x0000 }, /* R114 - AI ADC Control */ 330289b4012bSMark Brown { 0x40FB, 0x40FB, 0x0000 }, /* R115 - AI DAC Control */ 330389b4012bSMark Brown { 0x7C30, 0x7C30, 0x0000 }, /* R116 - AIF Test */ 330489b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R117 */ 330589b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R118 */ 330689b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R119 */ 330789b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R120 */ 330889b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R121 */ 330989b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R122 */ 331089b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R123 */ 331189b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R124 */ 331289b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R125 */ 331389b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R126 */ 331489b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R127 */ 331589b4012bSMark Brown { 0x1FFF, 0x1FFF, 0x0000 }, /* R128 - GPIO Debounce */ 331689b4012bSMark Brown { 0x1FFF, 0x1FFF, 0x0000 }, /* R129 - GPIO Pin pull up Control */ 331789b4012bSMark Brown { 0x1FFF, 0x1FFF, 0x0000 }, /* R130 - GPIO Pull down Control */ 331889b4012bSMark Brown { 0x1FFF, 0x1FFF, 0x0000 }, /* R131 - GPIO Interrupt Mode */ 331989b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R132 */ 332089b4012bSMark Brown { 0x00C0, 0x00C0, 0x0000 }, /* R133 - GPIO Control */ 332189b4012bSMark Brown { 0x1FFF, 0x1FFF, 0x0000 }, /* R134 - GPIO Configuration (i/o) */ 332289b4012bSMark Brown { 0x1FFF, 0x1FFF, 0x0000 }, /* R135 - GPIO Pin Polarity / Type */ 332389b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R136 */ 332489b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R137 */ 332589b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R138 */ 332689b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R139 */ 332789b4012bSMark Brown { 0xFFFF, 0xFFFF, 0x0000 }, /* R140 - GPIO Function Select 1 */ 332889b4012bSMark Brown { 0xFFFF, 0xFFFF, 0x0000 }, /* R141 - GPIO Function Select 2 */ 332989b4012bSMark Brown { 0xFFFF, 0xFFFF, 0x0000 }, /* R142 - GPIO Function Select 3 */ 333089b4012bSMark Brown { 0x000F, 0x000F, 0x0000 }, /* R143 - GPIO Function Select 4 */ 333189b4012bSMark Brown { 0xF0FF, 0xF0FF, 0xA000 }, /* R144 - Digitiser Control (1) */ 333289b4012bSMark Brown { 0x3707, 0x3707, 0x0000 }, /* R145 - Digitiser Control (2) */ 333389b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R146 */ 333489b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R147 */ 333589b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R148 */ 333689b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R149 */ 333789b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R150 */ 333889b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R151 */ 333989b4012bSMark Brown { 0x7FFF, 0x7000, 0xFFFF }, /* R152 - AUX1 Readback */ 334089b4012bSMark Brown { 0x7FFF, 0x7000, 0xFFFF }, /* R153 - AUX2 Readback */ 334189b4012bSMark Brown { 0x7FFF, 0x7000, 0xFFFF }, /* R154 - AUX3 Readback */ 334289b4012bSMark Brown { 0x7FFF, 0x7000, 0xFFFF }, /* R155 - AUX4 Readback */ 334389b4012bSMark Brown { 0x0FFF, 0x0000, 0xFFFF }, /* R156 - USB Voltage Readback */ 334489b4012bSMark Brown { 0x0FFF, 0x0000, 0xFFFF }, /* R157 - LINE Voltage Readback */ 334589b4012bSMark Brown { 0x0FFF, 0x0000, 0xFFFF }, /* R158 - BATT Voltage Readback */ 334689b4012bSMark Brown { 0x0FFF, 0x0000, 0xFFFF }, /* R159 - Chip Temp Readback */ 334789b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R160 */ 334889b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R161 */ 334989b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R162 */ 335089b4012bSMark Brown { 0x000F, 0x000F, 0x0000 }, /* R163 - Generic Comparator Control */ 335189b4012bSMark Brown { 0xFFFF, 0xFFFF, 0x0000 }, /* R164 - Generic comparator 1 */ 335289b4012bSMark Brown { 0xFFFF, 0xFFFF, 0x0000 }, /* R165 - Generic comparator 2 */ 335389b4012bSMark Brown { 0xFFFF, 0xFFFF, 0x0000 }, /* R166 - Generic comparator 3 */ 335489b4012bSMark Brown { 0xFFFF, 0xFFFF, 0x0000 }, /* R167 - Generic comparator 4 */ 335589b4012bSMark Brown { 0xBFFF, 0xBFFF, 0x8000 }, /* R168 - Battery Charger Control 1 */ 335689b4012bSMark Brown { 0xFFFF, 0x4FFF, 0xB000 }, /* R169 - Battery Charger Control 2 */ 335789b4012bSMark Brown { 0x007F, 0x007F, 0x0000 }, /* R170 - Battery Charger Control 3 */ 335889b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R171 */ 335989b4012bSMark Brown { 0x903F, 0x903F, 0xFFFF }, /* R172 - Current Sink Driver A */ 336089b4012bSMark Brown { 0xE333, 0xE333, 0xFFFF }, /* R173 - CSA Flash control */ 336189b4012bSMark Brown { 0x903F, 0x903F, 0xFFFF }, /* R174 - Current Sink Driver B */ 336289b4012bSMark Brown { 0xE333, 0xE333, 0xFFFF }, /* R175 - CSB Flash control */ 336389b4012bSMark Brown { 0x8F3F, 0x8F3F, 0xFFFF }, /* R176 - DCDC/LDO requested */ 336489b4012bSMark Brown { 0x332D, 0x332D, 0x0000 }, /* R177 - DCDC Active options */ 336589b4012bSMark Brown { 0x002D, 0x002D, 0x0000 }, /* R178 - DCDC Sleep options */ 336689b4012bSMark Brown { 0x5177, 0x5177, 0x8000 }, /* R179 - Power-check comparator */ 336789b4012bSMark Brown { 0x047F, 0x047F, 0x0000 }, /* R180 - DCDC1 Control */ 336889b4012bSMark Brown { 0xFFC0, 0xFFC0, 0x0000 }, /* R181 - DCDC1 Timeouts */ 336989b4012bSMark Brown { 0x737F, 0x737F, 0x0000 }, /* R182 - DCDC1 Low Power */ 337089b4012bSMark Brown { 0x535B, 0x535B, 0x0000 }, /* R183 - DCDC2 Control */ 337189b4012bSMark Brown { 0xFFC0, 0xFFC0, 0x0000 }, /* R184 - DCDC2 Timeouts */ 337289b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R185 */ 337389b4012bSMark Brown { 0x047F, 0x047F, 0x0000 }, /* R186 - DCDC3 Control */ 337489b4012bSMark Brown { 0xFFC0, 0xFFC0, 0x0000 }, /* R187 - DCDC3 Timeouts */ 337589b4012bSMark Brown { 0x737F, 0x737F, 0x0000 }, /* R188 - DCDC3 Low Power */ 337689b4012bSMark Brown { 0x047F, 0x047F, 0x0000 }, /* R189 - DCDC4 Control */ 337789b4012bSMark Brown { 0xFFC0, 0xFFC0, 0x0000 }, /* R190 - DCDC4 Timeouts */ 337889b4012bSMark Brown { 0x737F, 0x737F, 0x0000 }, /* R191 - DCDC4 Low Power */ 337989b4012bSMark Brown { 0x535B, 0x535B, 0x0000 }, /* R192 - DCDC5 Control */ 338089b4012bSMark Brown { 0xFFC0, 0xFFC0, 0x0000 }, /* R193 - DCDC5 Timeouts */ 338189b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R194 */ 338289b4012bSMark Brown { 0x047F, 0x047F, 0x0000 }, /* R195 - DCDC6 Control */ 338389b4012bSMark Brown { 0xFFC0, 0xFFC0, 0x0000 }, /* R196 - DCDC6 Timeouts */ 338489b4012bSMark Brown { 0x737F, 0x737F, 0x0000 }, /* R197 - DCDC6 Low Power */ 338589b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R198 */ 338689b4012bSMark Brown { 0xFFD3, 0xFFD3, 0x0000 }, /* R199 - Limit Switch Control */ 338789b4012bSMark Brown { 0x441F, 0x441F, 0x0000 }, /* R200 - LDO1 Control */ 338889b4012bSMark Brown { 0xFFC0, 0xFFC0, 0x0000 }, /* R201 - LDO1 Timeouts */ 338989b4012bSMark Brown { 0x331F, 0x331F, 0x0000 }, /* R202 - LDO1 Low Power */ 339089b4012bSMark Brown { 0x441F, 0x441F, 0x0000 }, /* R203 - LDO2 Control */ 339189b4012bSMark Brown { 0xFFC0, 0xFFC0, 0x0000 }, /* R204 - LDO2 Timeouts */ 339289b4012bSMark Brown { 0x331F, 0x331F, 0x0000 }, /* R205 - LDO2 Low Power */ 339389b4012bSMark Brown { 0x441F, 0x441F, 0x0000 }, /* R206 - LDO3 Control */ 339489b4012bSMark Brown { 0xFFC0, 0xFFC0, 0x0000 }, /* R207 - LDO3 Timeouts */ 339589b4012bSMark Brown { 0x331F, 0x331F, 0x0000 }, /* R208 - LDO3 Low Power */ 339689b4012bSMark Brown { 0x441F, 0x441F, 0x0000 }, /* R209 - LDO4 Control */ 339789b4012bSMark Brown { 0xFFC0, 0xFFC0, 0x0000 }, /* R210 - LDO4 Timeouts */ 339889b4012bSMark Brown { 0x331F, 0x331F, 0x0000 }, /* R211 - LDO4 Low Power */ 339989b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R212 */ 340089b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R213 */ 340189b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R214 */ 340289b4012bSMark Brown { 0x8F3F, 0x8F3F, 0x0000 }, /* R215 - VCC_FAULT Masks */ 340389b4012bSMark Brown { 0xFF3F, 0xE03F, 0x0000 }, /* R216 - Main Bandgap Control */ 340489b4012bSMark Brown { 0xEF2F, 0xE02F, 0x0000 }, /* R217 - OSC Control */ 340589b4012bSMark Brown { 0xF3FF, 0xB3FF, 0xc000 }, /* R218 - RTC Tick Control */ 34066cd99b78SMark Brown { 0xFFFF, 0xFFFF, 0x0000 }, /* R219 - Security */ 340789b4012bSMark Brown { 0x09FF, 0x01FF, 0x0000 }, /* R220 - RAM BIST 1 */ 340889b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R221 */ 340989b4012bSMark Brown { 0xFFFF, 0xFFFF, 0xFFFF }, /* R222 */ 341089b4012bSMark Brown { 0xFFFF, 0xFFFF, 0xFFFF }, /* R223 */ 341189b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R224 */ 341289b4012bSMark Brown { 0x8F3F, 0x0000, 0xFFFF }, /* R225 - DCDC/LDO status */ 34134008e879SMark Brown { 0x0000, 0x0000, 0xFFFF }, /* R226 - Charger status */ 341489b4012bSMark Brown { 0x0000, 0x0000, 0xFFFF }, /* R227 */ 341589b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R228 */ 341689b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R229 */ 341789b4012bSMark Brown { 0xFFFF, 0x1FFF, 0xFFFF }, /* R230 - GPIO Pin Status */ 341889b4012bSMark Brown { 0xFFFF, 0x1FFF, 0xFFFF }, /* R231 */ 341989b4012bSMark Brown { 0xFFFF, 0x1FFF, 0xFFFF }, /* R232 */ 342089b4012bSMark Brown { 0xFFFF, 0x1FFF, 0xFFFF }, /* R233 */ 342189b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R234 */ 342289b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R235 */ 342389b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R236 */ 342489b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R237 */ 342589b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R238 */ 342689b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R239 */ 342789b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R240 */ 342889b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R241 */ 342989b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R242 */ 343089b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R243 */ 343189b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R244 */ 343289b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R245 */ 343389b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R246 */ 343489b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R247 */ 343589b4012bSMark Brown { 0xFFFF, 0x0010, 0xFFFF }, /* R248 */ 343689b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R249 */ 343789b4012bSMark Brown { 0xFFFF, 0x0010, 0xFFFF }, /* R250 */ 343889b4012bSMark Brown { 0xFFFF, 0x0010, 0xFFFF }, /* R251 */ 343989b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R252 */ 344089b4012bSMark Brown { 0xFFFF, 0x0010, 0xFFFF }, /* R253 */ 344189b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R254 */ 344289b4012bSMark Brown { 0x0000, 0x0000, 0x0000 }, /* R255 */ 344389b4012bSMark Brown }; 3444