1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * linux/mfd/wm831x/regulator.h -- Regulator definitons for wm831x 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright 2009 Wolfson Microelectronics PLC. 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * Author: Mark Brown <broonie@opensource.wolfsonmicro.com> 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #ifndef __MFD_WM831X_REGULATOR_H__ 11*4882a593Smuzhiyun #define __MFD_WM831X_REGULATOR_H__ 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun /* 14*4882a593Smuzhiyun * R16462 (0x404E) - Current Sink 1 15*4882a593Smuzhiyun */ 16*4882a593Smuzhiyun #define WM831X_CS1_ENA 0x8000 /* CS1_ENA */ 17*4882a593Smuzhiyun #define WM831X_CS1_ENA_MASK 0x8000 /* CS1_ENA */ 18*4882a593Smuzhiyun #define WM831X_CS1_ENA_SHIFT 15 /* CS1_ENA */ 19*4882a593Smuzhiyun #define WM831X_CS1_ENA_WIDTH 1 /* CS1_ENA */ 20*4882a593Smuzhiyun #define WM831X_CS1_DRIVE 0x4000 /* CS1_DRIVE */ 21*4882a593Smuzhiyun #define WM831X_CS1_DRIVE_MASK 0x4000 /* CS1_DRIVE */ 22*4882a593Smuzhiyun #define WM831X_CS1_DRIVE_SHIFT 14 /* CS1_DRIVE */ 23*4882a593Smuzhiyun #define WM831X_CS1_DRIVE_WIDTH 1 /* CS1_DRIVE */ 24*4882a593Smuzhiyun #define WM831X_CS1_SLPENA 0x1000 /* CS1_SLPENA */ 25*4882a593Smuzhiyun #define WM831X_CS1_SLPENA_MASK 0x1000 /* CS1_SLPENA */ 26*4882a593Smuzhiyun #define WM831X_CS1_SLPENA_SHIFT 12 /* CS1_SLPENA */ 27*4882a593Smuzhiyun #define WM831X_CS1_SLPENA_WIDTH 1 /* CS1_SLPENA */ 28*4882a593Smuzhiyun #define WM831X_CS1_OFF_RAMP_MASK 0x0C00 /* CS1_OFF_RAMP - [11:10] */ 29*4882a593Smuzhiyun #define WM831X_CS1_OFF_RAMP_SHIFT 10 /* CS1_OFF_RAMP - [11:10] */ 30*4882a593Smuzhiyun #define WM831X_CS1_OFF_RAMP_WIDTH 2 /* CS1_OFF_RAMP - [11:10] */ 31*4882a593Smuzhiyun #define WM831X_CS1_ON_RAMP_MASK 0x0300 /* CS1_ON_RAMP - [9:8] */ 32*4882a593Smuzhiyun #define WM831X_CS1_ON_RAMP_SHIFT 8 /* CS1_ON_RAMP - [9:8] */ 33*4882a593Smuzhiyun #define WM831X_CS1_ON_RAMP_WIDTH 2 /* CS1_ON_RAMP - [9:8] */ 34*4882a593Smuzhiyun #define WM831X_CS1_ISEL_MASK 0x003F /* CS1_ISEL - [5:0] */ 35*4882a593Smuzhiyun #define WM831X_CS1_ISEL_SHIFT 0 /* CS1_ISEL - [5:0] */ 36*4882a593Smuzhiyun #define WM831X_CS1_ISEL_WIDTH 6 /* CS1_ISEL - [5:0] */ 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun /* 39*4882a593Smuzhiyun * R16463 (0x404F) - Current Sink 2 40*4882a593Smuzhiyun */ 41*4882a593Smuzhiyun #define WM831X_CS2_ENA 0x8000 /* CS2_ENA */ 42*4882a593Smuzhiyun #define WM831X_CS2_ENA_MASK 0x8000 /* CS2_ENA */ 43*4882a593Smuzhiyun #define WM831X_CS2_ENA_SHIFT 15 /* CS2_ENA */ 44*4882a593Smuzhiyun #define WM831X_CS2_ENA_WIDTH 1 /* CS2_ENA */ 45*4882a593Smuzhiyun #define WM831X_CS2_DRIVE 0x4000 /* CS2_DRIVE */ 46*4882a593Smuzhiyun #define WM831X_CS2_DRIVE_MASK 0x4000 /* CS2_DRIVE */ 47*4882a593Smuzhiyun #define WM831X_CS2_DRIVE_SHIFT 14 /* CS2_DRIVE */ 48*4882a593Smuzhiyun #define WM831X_CS2_DRIVE_WIDTH 1 /* CS2_DRIVE */ 49*4882a593Smuzhiyun #define WM831X_CS2_SLPENA 0x1000 /* CS2_SLPENA */ 50*4882a593Smuzhiyun #define WM831X_CS2_SLPENA_MASK 0x1000 /* CS2_SLPENA */ 51*4882a593Smuzhiyun #define WM831X_CS2_SLPENA_SHIFT 12 /* CS2_SLPENA */ 52*4882a593Smuzhiyun #define WM831X_CS2_SLPENA_WIDTH 1 /* CS2_SLPENA */ 53*4882a593Smuzhiyun #define WM831X_CS2_OFF_RAMP_MASK 0x0C00 /* CS2_OFF_RAMP - [11:10] */ 54*4882a593Smuzhiyun #define WM831X_CS2_OFF_RAMP_SHIFT 10 /* CS2_OFF_RAMP - [11:10] */ 55*4882a593Smuzhiyun #define WM831X_CS2_OFF_RAMP_WIDTH 2 /* CS2_OFF_RAMP - [11:10] */ 56*4882a593Smuzhiyun #define WM831X_CS2_ON_RAMP_MASK 0x0300 /* CS2_ON_RAMP - [9:8] */ 57*4882a593Smuzhiyun #define WM831X_CS2_ON_RAMP_SHIFT 8 /* CS2_ON_RAMP - [9:8] */ 58*4882a593Smuzhiyun #define WM831X_CS2_ON_RAMP_WIDTH 2 /* CS2_ON_RAMP - [9:8] */ 59*4882a593Smuzhiyun #define WM831X_CS2_ISEL_MASK 0x003F /* CS2_ISEL - [5:0] */ 60*4882a593Smuzhiyun #define WM831X_CS2_ISEL_SHIFT 0 /* CS2_ISEL - [5:0] */ 61*4882a593Smuzhiyun #define WM831X_CS2_ISEL_WIDTH 6 /* CS2_ISEL - [5:0] */ 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun /* 64*4882a593Smuzhiyun * R16464 (0x4050) - DCDC Enable 65*4882a593Smuzhiyun */ 66*4882a593Smuzhiyun #define WM831X_EPE2_ENA 0x0080 /* EPE2_ENA */ 67*4882a593Smuzhiyun #define WM831X_EPE2_ENA_MASK 0x0080 /* EPE2_ENA */ 68*4882a593Smuzhiyun #define WM831X_EPE2_ENA_SHIFT 7 /* EPE2_ENA */ 69*4882a593Smuzhiyun #define WM831X_EPE2_ENA_WIDTH 1 /* EPE2_ENA */ 70*4882a593Smuzhiyun #define WM831X_EPE1_ENA 0x0040 /* EPE1_ENA */ 71*4882a593Smuzhiyun #define WM831X_EPE1_ENA_MASK 0x0040 /* EPE1_ENA */ 72*4882a593Smuzhiyun #define WM831X_EPE1_ENA_SHIFT 6 /* EPE1_ENA */ 73*4882a593Smuzhiyun #define WM831X_EPE1_ENA_WIDTH 1 /* EPE1_ENA */ 74*4882a593Smuzhiyun #define WM831X_DC4_ENA 0x0008 /* DC4_ENA */ 75*4882a593Smuzhiyun #define WM831X_DC4_ENA_MASK 0x0008 /* DC4_ENA */ 76*4882a593Smuzhiyun #define WM831X_DC4_ENA_SHIFT 3 /* DC4_ENA */ 77*4882a593Smuzhiyun #define WM831X_DC4_ENA_WIDTH 1 /* DC4_ENA */ 78*4882a593Smuzhiyun #define WM831X_DC3_ENA 0x0004 /* DC3_ENA */ 79*4882a593Smuzhiyun #define WM831X_DC3_ENA_MASK 0x0004 /* DC3_ENA */ 80*4882a593Smuzhiyun #define WM831X_DC3_ENA_SHIFT 2 /* DC3_ENA */ 81*4882a593Smuzhiyun #define WM831X_DC3_ENA_WIDTH 1 /* DC3_ENA */ 82*4882a593Smuzhiyun #define WM831X_DC2_ENA 0x0002 /* DC2_ENA */ 83*4882a593Smuzhiyun #define WM831X_DC2_ENA_MASK 0x0002 /* DC2_ENA */ 84*4882a593Smuzhiyun #define WM831X_DC2_ENA_SHIFT 1 /* DC2_ENA */ 85*4882a593Smuzhiyun #define WM831X_DC2_ENA_WIDTH 1 /* DC2_ENA */ 86*4882a593Smuzhiyun #define WM831X_DC1_ENA 0x0001 /* DC1_ENA */ 87*4882a593Smuzhiyun #define WM831X_DC1_ENA_MASK 0x0001 /* DC1_ENA */ 88*4882a593Smuzhiyun #define WM831X_DC1_ENA_SHIFT 0 /* DC1_ENA */ 89*4882a593Smuzhiyun #define WM831X_DC1_ENA_WIDTH 1 /* DC1_ENA */ 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun /* 92*4882a593Smuzhiyun * R16465 (0x4051) - LDO Enable 93*4882a593Smuzhiyun */ 94*4882a593Smuzhiyun #define WM831X_LDO11_ENA 0x0400 /* LDO11_ENA */ 95*4882a593Smuzhiyun #define WM831X_LDO11_ENA_MASK 0x0400 /* LDO11_ENA */ 96*4882a593Smuzhiyun #define WM831X_LDO11_ENA_SHIFT 10 /* LDO11_ENA */ 97*4882a593Smuzhiyun #define WM831X_LDO11_ENA_WIDTH 1 /* LDO11_ENA */ 98*4882a593Smuzhiyun #define WM831X_LDO10_ENA 0x0200 /* LDO10_ENA */ 99*4882a593Smuzhiyun #define WM831X_LDO10_ENA_MASK 0x0200 /* LDO10_ENA */ 100*4882a593Smuzhiyun #define WM831X_LDO10_ENA_SHIFT 9 /* LDO10_ENA */ 101*4882a593Smuzhiyun #define WM831X_LDO10_ENA_WIDTH 1 /* LDO10_ENA */ 102*4882a593Smuzhiyun #define WM831X_LDO9_ENA 0x0100 /* LDO9_ENA */ 103*4882a593Smuzhiyun #define WM831X_LDO9_ENA_MASK 0x0100 /* LDO9_ENA */ 104*4882a593Smuzhiyun #define WM831X_LDO9_ENA_SHIFT 8 /* LDO9_ENA */ 105*4882a593Smuzhiyun #define WM831X_LDO9_ENA_WIDTH 1 /* LDO9_ENA */ 106*4882a593Smuzhiyun #define WM831X_LDO8_ENA 0x0080 /* LDO8_ENA */ 107*4882a593Smuzhiyun #define WM831X_LDO8_ENA_MASK 0x0080 /* LDO8_ENA */ 108*4882a593Smuzhiyun #define WM831X_LDO8_ENA_SHIFT 7 /* LDO8_ENA */ 109*4882a593Smuzhiyun #define WM831X_LDO8_ENA_WIDTH 1 /* LDO8_ENA */ 110*4882a593Smuzhiyun #define WM831X_LDO7_ENA 0x0040 /* LDO7_ENA */ 111*4882a593Smuzhiyun #define WM831X_LDO7_ENA_MASK 0x0040 /* LDO7_ENA */ 112*4882a593Smuzhiyun #define WM831X_LDO7_ENA_SHIFT 6 /* LDO7_ENA */ 113*4882a593Smuzhiyun #define WM831X_LDO7_ENA_WIDTH 1 /* LDO7_ENA */ 114*4882a593Smuzhiyun #define WM831X_LDO6_ENA 0x0020 /* LDO6_ENA */ 115*4882a593Smuzhiyun #define WM831X_LDO6_ENA_MASK 0x0020 /* LDO6_ENA */ 116*4882a593Smuzhiyun #define WM831X_LDO6_ENA_SHIFT 5 /* LDO6_ENA */ 117*4882a593Smuzhiyun #define WM831X_LDO6_ENA_WIDTH 1 /* LDO6_ENA */ 118*4882a593Smuzhiyun #define WM831X_LDO5_ENA 0x0010 /* LDO5_ENA */ 119*4882a593Smuzhiyun #define WM831X_LDO5_ENA_MASK 0x0010 /* LDO5_ENA */ 120*4882a593Smuzhiyun #define WM831X_LDO5_ENA_SHIFT 4 /* LDO5_ENA */ 121*4882a593Smuzhiyun #define WM831X_LDO5_ENA_WIDTH 1 /* LDO5_ENA */ 122*4882a593Smuzhiyun #define WM831X_LDO4_ENA 0x0008 /* LDO4_ENA */ 123*4882a593Smuzhiyun #define WM831X_LDO4_ENA_MASK 0x0008 /* LDO4_ENA */ 124*4882a593Smuzhiyun #define WM831X_LDO4_ENA_SHIFT 3 /* LDO4_ENA */ 125*4882a593Smuzhiyun #define WM831X_LDO4_ENA_WIDTH 1 /* LDO4_ENA */ 126*4882a593Smuzhiyun #define WM831X_LDO3_ENA 0x0004 /* LDO3_ENA */ 127*4882a593Smuzhiyun #define WM831X_LDO3_ENA_MASK 0x0004 /* LDO3_ENA */ 128*4882a593Smuzhiyun #define WM831X_LDO3_ENA_SHIFT 2 /* LDO3_ENA */ 129*4882a593Smuzhiyun #define WM831X_LDO3_ENA_WIDTH 1 /* LDO3_ENA */ 130*4882a593Smuzhiyun #define WM831X_LDO2_ENA 0x0002 /* LDO2_ENA */ 131*4882a593Smuzhiyun #define WM831X_LDO2_ENA_MASK 0x0002 /* LDO2_ENA */ 132*4882a593Smuzhiyun #define WM831X_LDO2_ENA_SHIFT 1 /* LDO2_ENA */ 133*4882a593Smuzhiyun #define WM831X_LDO2_ENA_WIDTH 1 /* LDO2_ENA */ 134*4882a593Smuzhiyun #define WM831X_LDO1_ENA 0x0001 /* LDO1_ENA */ 135*4882a593Smuzhiyun #define WM831X_LDO1_ENA_MASK 0x0001 /* LDO1_ENA */ 136*4882a593Smuzhiyun #define WM831X_LDO1_ENA_SHIFT 0 /* LDO1_ENA */ 137*4882a593Smuzhiyun #define WM831X_LDO1_ENA_WIDTH 1 /* LDO1_ENA */ 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun /* 140*4882a593Smuzhiyun * R16466 (0x4052) - DCDC Status 141*4882a593Smuzhiyun */ 142*4882a593Smuzhiyun #define WM831X_EPE2_STS 0x0080 /* EPE2_STS */ 143*4882a593Smuzhiyun #define WM831X_EPE2_STS_MASK 0x0080 /* EPE2_STS */ 144*4882a593Smuzhiyun #define WM831X_EPE2_STS_SHIFT 7 /* EPE2_STS */ 145*4882a593Smuzhiyun #define WM831X_EPE2_STS_WIDTH 1 /* EPE2_STS */ 146*4882a593Smuzhiyun #define WM831X_EPE1_STS 0x0040 /* EPE1_STS */ 147*4882a593Smuzhiyun #define WM831X_EPE1_STS_MASK 0x0040 /* EPE1_STS */ 148*4882a593Smuzhiyun #define WM831X_EPE1_STS_SHIFT 6 /* EPE1_STS */ 149*4882a593Smuzhiyun #define WM831X_EPE1_STS_WIDTH 1 /* EPE1_STS */ 150*4882a593Smuzhiyun #define WM831X_DC4_STS 0x0008 /* DC4_STS */ 151*4882a593Smuzhiyun #define WM831X_DC4_STS_MASK 0x0008 /* DC4_STS */ 152*4882a593Smuzhiyun #define WM831X_DC4_STS_SHIFT 3 /* DC4_STS */ 153*4882a593Smuzhiyun #define WM831X_DC4_STS_WIDTH 1 /* DC4_STS */ 154*4882a593Smuzhiyun #define WM831X_DC3_STS 0x0004 /* DC3_STS */ 155*4882a593Smuzhiyun #define WM831X_DC3_STS_MASK 0x0004 /* DC3_STS */ 156*4882a593Smuzhiyun #define WM831X_DC3_STS_SHIFT 2 /* DC3_STS */ 157*4882a593Smuzhiyun #define WM831X_DC3_STS_WIDTH 1 /* DC3_STS */ 158*4882a593Smuzhiyun #define WM831X_DC2_STS 0x0002 /* DC2_STS */ 159*4882a593Smuzhiyun #define WM831X_DC2_STS_MASK 0x0002 /* DC2_STS */ 160*4882a593Smuzhiyun #define WM831X_DC2_STS_SHIFT 1 /* DC2_STS */ 161*4882a593Smuzhiyun #define WM831X_DC2_STS_WIDTH 1 /* DC2_STS */ 162*4882a593Smuzhiyun #define WM831X_DC1_STS 0x0001 /* DC1_STS */ 163*4882a593Smuzhiyun #define WM831X_DC1_STS_MASK 0x0001 /* DC1_STS */ 164*4882a593Smuzhiyun #define WM831X_DC1_STS_SHIFT 0 /* DC1_STS */ 165*4882a593Smuzhiyun #define WM831X_DC1_STS_WIDTH 1 /* DC1_STS */ 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun /* 168*4882a593Smuzhiyun * R16467 (0x4053) - LDO Status 169*4882a593Smuzhiyun */ 170*4882a593Smuzhiyun #define WM831X_LDO11_STS 0x0400 /* LDO11_STS */ 171*4882a593Smuzhiyun #define WM831X_LDO11_STS_MASK 0x0400 /* LDO11_STS */ 172*4882a593Smuzhiyun #define WM831X_LDO11_STS_SHIFT 10 /* LDO11_STS */ 173*4882a593Smuzhiyun #define WM831X_LDO11_STS_WIDTH 1 /* LDO11_STS */ 174*4882a593Smuzhiyun #define WM831X_LDO10_STS 0x0200 /* LDO10_STS */ 175*4882a593Smuzhiyun #define WM831X_LDO10_STS_MASK 0x0200 /* LDO10_STS */ 176*4882a593Smuzhiyun #define WM831X_LDO10_STS_SHIFT 9 /* LDO10_STS */ 177*4882a593Smuzhiyun #define WM831X_LDO10_STS_WIDTH 1 /* LDO10_STS */ 178*4882a593Smuzhiyun #define WM831X_LDO9_STS 0x0100 /* LDO9_STS */ 179*4882a593Smuzhiyun #define WM831X_LDO9_STS_MASK 0x0100 /* LDO9_STS */ 180*4882a593Smuzhiyun #define WM831X_LDO9_STS_SHIFT 8 /* LDO9_STS */ 181*4882a593Smuzhiyun #define WM831X_LDO9_STS_WIDTH 1 /* LDO9_STS */ 182*4882a593Smuzhiyun #define WM831X_LDO8_STS 0x0080 /* LDO8_STS */ 183*4882a593Smuzhiyun #define WM831X_LDO8_STS_MASK 0x0080 /* LDO8_STS */ 184*4882a593Smuzhiyun #define WM831X_LDO8_STS_SHIFT 7 /* LDO8_STS */ 185*4882a593Smuzhiyun #define WM831X_LDO8_STS_WIDTH 1 /* LDO8_STS */ 186*4882a593Smuzhiyun #define WM831X_LDO7_STS 0x0040 /* LDO7_STS */ 187*4882a593Smuzhiyun #define WM831X_LDO7_STS_MASK 0x0040 /* LDO7_STS */ 188*4882a593Smuzhiyun #define WM831X_LDO7_STS_SHIFT 6 /* LDO7_STS */ 189*4882a593Smuzhiyun #define WM831X_LDO7_STS_WIDTH 1 /* LDO7_STS */ 190*4882a593Smuzhiyun #define WM831X_LDO6_STS 0x0020 /* LDO6_STS */ 191*4882a593Smuzhiyun #define WM831X_LDO6_STS_MASK 0x0020 /* LDO6_STS */ 192*4882a593Smuzhiyun #define WM831X_LDO6_STS_SHIFT 5 /* LDO6_STS */ 193*4882a593Smuzhiyun #define WM831X_LDO6_STS_WIDTH 1 /* LDO6_STS */ 194*4882a593Smuzhiyun #define WM831X_LDO5_STS 0x0010 /* LDO5_STS */ 195*4882a593Smuzhiyun #define WM831X_LDO5_STS_MASK 0x0010 /* LDO5_STS */ 196*4882a593Smuzhiyun #define WM831X_LDO5_STS_SHIFT 4 /* LDO5_STS */ 197*4882a593Smuzhiyun #define WM831X_LDO5_STS_WIDTH 1 /* LDO5_STS */ 198*4882a593Smuzhiyun #define WM831X_LDO4_STS 0x0008 /* LDO4_STS */ 199*4882a593Smuzhiyun #define WM831X_LDO4_STS_MASK 0x0008 /* LDO4_STS */ 200*4882a593Smuzhiyun #define WM831X_LDO4_STS_SHIFT 3 /* LDO4_STS */ 201*4882a593Smuzhiyun #define WM831X_LDO4_STS_WIDTH 1 /* LDO4_STS */ 202*4882a593Smuzhiyun #define WM831X_LDO3_STS 0x0004 /* LDO3_STS */ 203*4882a593Smuzhiyun #define WM831X_LDO3_STS_MASK 0x0004 /* LDO3_STS */ 204*4882a593Smuzhiyun #define WM831X_LDO3_STS_SHIFT 2 /* LDO3_STS */ 205*4882a593Smuzhiyun #define WM831X_LDO3_STS_WIDTH 1 /* LDO3_STS */ 206*4882a593Smuzhiyun #define WM831X_LDO2_STS 0x0002 /* LDO2_STS */ 207*4882a593Smuzhiyun #define WM831X_LDO2_STS_MASK 0x0002 /* LDO2_STS */ 208*4882a593Smuzhiyun #define WM831X_LDO2_STS_SHIFT 1 /* LDO2_STS */ 209*4882a593Smuzhiyun #define WM831X_LDO2_STS_WIDTH 1 /* LDO2_STS */ 210*4882a593Smuzhiyun #define WM831X_LDO1_STS 0x0001 /* LDO1_STS */ 211*4882a593Smuzhiyun #define WM831X_LDO1_STS_MASK 0x0001 /* LDO1_STS */ 212*4882a593Smuzhiyun #define WM831X_LDO1_STS_SHIFT 0 /* LDO1_STS */ 213*4882a593Smuzhiyun #define WM831X_LDO1_STS_WIDTH 1 /* LDO1_STS */ 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun /* 216*4882a593Smuzhiyun * R16468 (0x4054) - DCDC UV Status 217*4882a593Smuzhiyun */ 218*4882a593Smuzhiyun #define WM831X_DC2_OV_STS 0x2000 /* DC2_OV_STS */ 219*4882a593Smuzhiyun #define WM831X_DC2_OV_STS_MASK 0x2000 /* DC2_OV_STS */ 220*4882a593Smuzhiyun #define WM831X_DC2_OV_STS_SHIFT 13 /* DC2_OV_STS */ 221*4882a593Smuzhiyun #define WM831X_DC2_OV_STS_WIDTH 1 /* DC2_OV_STS */ 222*4882a593Smuzhiyun #define WM831X_DC1_OV_STS 0x1000 /* DC1_OV_STS */ 223*4882a593Smuzhiyun #define WM831X_DC1_OV_STS_MASK 0x1000 /* DC1_OV_STS */ 224*4882a593Smuzhiyun #define WM831X_DC1_OV_STS_SHIFT 12 /* DC1_OV_STS */ 225*4882a593Smuzhiyun #define WM831X_DC1_OV_STS_WIDTH 1 /* DC1_OV_STS */ 226*4882a593Smuzhiyun #define WM831X_DC2_HC_STS 0x0200 /* DC2_HC_STS */ 227*4882a593Smuzhiyun #define WM831X_DC2_HC_STS_MASK 0x0200 /* DC2_HC_STS */ 228*4882a593Smuzhiyun #define WM831X_DC2_HC_STS_SHIFT 9 /* DC2_HC_STS */ 229*4882a593Smuzhiyun #define WM831X_DC2_HC_STS_WIDTH 1 /* DC2_HC_STS */ 230*4882a593Smuzhiyun #define WM831X_DC1_HC_STS 0x0100 /* DC1_HC_STS */ 231*4882a593Smuzhiyun #define WM831X_DC1_HC_STS_MASK 0x0100 /* DC1_HC_STS */ 232*4882a593Smuzhiyun #define WM831X_DC1_HC_STS_SHIFT 8 /* DC1_HC_STS */ 233*4882a593Smuzhiyun #define WM831X_DC1_HC_STS_WIDTH 1 /* DC1_HC_STS */ 234*4882a593Smuzhiyun #define WM831X_DC4_UV_STS 0x0008 /* DC4_UV_STS */ 235*4882a593Smuzhiyun #define WM831X_DC4_UV_STS_MASK 0x0008 /* DC4_UV_STS */ 236*4882a593Smuzhiyun #define WM831X_DC4_UV_STS_SHIFT 3 /* DC4_UV_STS */ 237*4882a593Smuzhiyun #define WM831X_DC4_UV_STS_WIDTH 1 /* DC4_UV_STS */ 238*4882a593Smuzhiyun #define WM831X_DC3_UV_STS 0x0004 /* DC3_UV_STS */ 239*4882a593Smuzhiyun #define WM831X_DC3_UV_STS_MASK 0x0004 /* DC3_UV_STS */ 240*4882a593Smuzhiyun #define WM831X_DC3_UV_STS_SHIFT 2 /* DC3_UV_STS */ 241*4882a593Smuzhiyun #define WM831X_DC3_UV_STS_WIDTH 1 /* DC3_UV_STS */ 242*4882a593Smuzhiyun #define WM831X_DC2_UV_STS 0x0002 /* DC2_UV_STS */ 243*4882a593Smuzhiyun #define WM831X_DC2_UV_STS_MASK 0x0002 /* DC2_UV_STS */ 244*4882a593Smuzhiyun #define WM831X_DC2_UV_STS_SHIFT 1 /* DC2_UV_STS */ 245*4882a593Smuzhiyun #define WM831X_DC2_UV_STS_WIDTH 1 /* DC2_UV_STS */ 246*4882a593Smuzhiyun #define WM831X_DC1_UV_STS 0x0001 /* DC1_UV_STS */ 247*4882a593Smuzhiyun #define WM831X_DC1_UV_STS_MASK 0x0001 /* DC1_UV_STS */ 248*4882a593Smuzhiyun #define WM831X_DC1_UV_STS_SHIFT 0 /* DC1_UV_STS */ 249*4882a593Smuzhiyun #define WM831X_DC1_UV_STS_WIDTH 1 /* DC1_UV_STS */ 250*4882a593Smuzhiyun 251*4882a593Smuzhiyun /* 252*4882a593Smuzhiyun * R16469 (0x4055) - LDO UV Status 253*4882a593Smuzhiyun */ 254*4882a593Smuzhiyun #define WM831X_INTLDO_UV_STS 0x8000 /* INTLDO_UV_STS */ 255*4882a593Smuzhiyun #define WM831X_INTLDO_UV_STS_MASK 0x8000 /* INTLDO_UV_STS */ 256*4882a593Smuzhiyun #define WM831X_INTLDO_UV_STS_SHIFT 15 /* INTLDO_UV_STS */ 257*4882a593Smuzhiyun #define WM831X_INTLDO_UV_STS_WIDTH 1 /* INTLDO_UV_STS */ 258*4882a593Smuzhiyun #define WM831X_LDO10_UV_STS 0x0200 /* LDO10_UV_STS */ 259*4882a593Smuzhiyun #define WM831X_LDO10_UV_STS_MASK 0x0200 /* LDO10_UV_STS */ 260*4882a593Smuzhiyun #define WM831X_LDO10_UV_STS_SHIFT 9 /* LDO10_UV_STS */ 261*4882a593Smuzhiyun #define WM831X_LDO10_UV_STS_WIDTH 1 /* LDO10_UV_STS */ 262*4882a593Smuzhiyun #define WM831X_LDO9_UV_STS 0x0100 /* LDO9_UV_STS */ 263*4882a593Smuzhiyun #define WM831X_LDO9_UV_STS_MASK 0x0100 /* LDO9_UV_STS */ 264*4882a593Smuzhiyun #define WM831X_LDO9_UV_STS_SHIFT 8 /* LDO9_UV_STS */ 265*4882a593Smuzhiyun #define WM831X_LDO9_UV_STS_WIDTH 1 /* LDO9_UV_STS */ 266*4882a593Smuzhiyun #define WM831X_LDO8_UV_STS 0x0080 /* LDO8_UV_STS */ 267*4882a593Smuzhiyun #define WM831X_LDO8_UV_STS_MASK 0x0080 /* LDO8_UV_STS */ 268*4882a593Smuzhiyun #define WM831X_LDO8_UV_STS_SHIFT 7 /* LDO8_UV_STS */ 269*4882a593Smuzhiyun #define WM831X_LDO8_UV_STS_WIDTH 1 /* LDO8_UV_STS */ 270*4882a593Smuzhiyun #define WM831X_LDO7_UV_STS 0x0040 /* LDO7_UV_STS */ 271*4882a593Smuzhiyun #define WM831X_LDO7_UV_STS_MASK 0x0040 /* LDO7_UV_STS */ 272*4882a593Smuzhiyun #define WM831X_LDO7_UV_STS_SHIFT 6 /* LDO7_UV_STS */ 273*4882a593Smuzhiyun #define WM831X_LDO7_UV_STS_WIDTH 1 /* LDO7_UV_STS */ 274*4882a593Smuzhiyun #define WM831X_LDO6_UV_STS 0x0020 /* LDO6_UV_STS */ 275*4882a593Smuzhiyun #define WM831X_LDO6_UV_STS_MASK 0x0020 /* LDO6_UV_STS */ 276*4882a593Smuzhiyun #define WM831X_LDO6_UV_STS_SHIFT 5 /* LDO6_UV_STS */ 277*4882a593Smuzhiyun #define WM831X_LDO6_UV_STS_WIDTH 1 /* LDO6_UV_STS */ 278*4882a593Smuzhiyun #define WM831X_LDO5_UV_STS 0x0010 /* LDO5_UV_STS */ 279*4882a593Smuzhiyun #define WM831X_LDO5_UV_STS_MASK 0x0010 /* LDO5_UV_STS */ 280*4882a593Smuzhiyun #define WM831X_LDO5_UV_STS_SHIFT 4 /* LDO5_UV_STS */ 281*4882a593Smuzhiyun #define WM831X_LDO5_UV_STS_WIDTH 1 /* LDO5_UV_STS */ 282*4882a593Smuzhiyun #define WM831X_LDO4_UV_STS 0x0008 /* LDO4_UV_STS */ 283*4882a593Smuzhiyun #define WM831X_LDO4_UV_STS_MASK 0x0008 /* LDO4_UV_STS */ 284*4882a593Smuzhiyun #define WM831X_LDO4_UV_STS_SHIFT 3 /* LDO4_UV_STS */ 285*4882a593Smuzhiyun #define WM831X_LDO4_UV_STS_WIDTH 1 /* LDO4_UV_STS */ 286*4882a593Smuzhiyun #define WM831X_LDO3_UV_STS 0x0004 /* LDO3_UV_STS */ 287*4882a593Smuzhiyun #define WM831X_LDO3_UV_STS_MASK 0x0004 /* LDO3_UV_STS */ 288*4882a593Smuzhiyun #define WM831X_LDO3_UV_STS_SHIFT 2 /* LDO3_UV_STS */ 289*4882a593Smuzhiyun #define WM831X_LDO3_UV_STS_WIDTH 1 /* LDO3_UV_STS */ 290*4882a593Smuzhiyun #define WM831X_LDO2_UV_STS 0x0002 /* LDO2_UV_STS */ 291*4882a593Smuzhiyun #define WM831X_LDO2_UV_STS_MASK 0x0002 /* LDO2_UV_STS */ 292*4882a593Smuzhiyun #define WM831X_LDO2_UV_STS_SHIFT 1 /* LDO2_UV_STS */ 293*4882a593Smuzhiyun #define WM831X_LDO2_UV_STS_WIDTH 1 /* LDO2_UV_STS */ 294*4882a593Smuzhiyun #define WM831X_LDO1_UV_STS 0x0001 /* LDO1_UV_STS */ 295*4882a593Smuzhiyun #define WM831X_LDO1_UV_STS_MASK 0x0001 /* LDO1_UV_STS */ 296*4882a593Smuzhiyun #define WM831X_LDO1_UV_STS_SHIFT 0 /* LDO1_UV_STS */ 297*4882a593Smuzhiyun #define WM831X_LDO1_UV_STS_WIDTH 1 /* LDO1_UV_STS */ 298*4882a593Smuzhiyun 299*4882a593Smuzhiyun /* 300*4882a593Smuzhiyun * R16470 (0x4056) - DC1 Control 1 301*4882a593Smuzhiyun */ 302*4882a593Smuzhiyun #define WM831X_DC1_RATE_MASK 0xC000 /* DC1_RATE - [15:14] */ 303*4882a593Smuzhiyun #define WM831X_DC1_RATE_SHIFT 14 /* DC1_RATE - [15:14] */ 304*4882a593Smuzhiyun #define WM831X_DC1_RATE_WIDTH 2 /* DC1_RATE - [15:14] */ 305*4882a593Smuzhiyun #define WM831X_DC1_PHASE 0x1000 /* DC1_PHASE */ 306*4882a593Smuzhiyun #define WM831X_DC1_PHASE_MASK 0x1000 /* DC1_PHASE */ 307*4882a593Smuzhiyun #define WM831X_DC1_PHASE_SHIFT 12 /* DC1_PHASE */ 308*4882a593Smuzhiyun #define WM831X_DC1_PHASE_WIDTH 1 /* DC1_PHASE */ 309*4882a593Smuzhiyun #define WM831X_DC1_FREQ_MASK 0x0300 /* DC1_FREQ - [9:8] */ 310*4882a593Smuzhiyun #define WM831X_DC1_FREQ_SHIFT 8 /* DC1_FREQ - [9:8] */ 311*4882a593Smuzhiyun #define WM831X_DC1_FREQ_WIDTH 2 /* DC1_FREQ - [9:8] */ 312*4882a593Smuzhiyun #define WM831X_DC1_FLT 0x0080 /* DC1_FLT */ 313*4882a593Smuzhiyun #define WM831X_DC1_FLT_MASK 0x0080 /* DC1_FLT */ 314*4882a593Smuzhiyun #define WM831X_DC1_FLT_SHIFT 7 /* DC1_FLT */ 315*4882a593Smuzhiyun #define WM831X_DC1_FLT_WIDTH 1 /* DC1_FLT */ 316*4882a593Smuzhiyun #define WM831X_DC1_SOFT_START_MASK 0x0030 /* DC1_SOFT_START - [5:4] */ 317*4882a593Smuzhiyun #define WM831X_DC1_SOFT_START_SHIFT 4 /* DC1_SOFT_START - [5:4] */ 318*4882a593Smuzhiyun #define WM831X_DC1_SOFT_START_WIDTH 2 /* DC1_SOFT_START - [5:4] */ 319*4882a593Smuzhiyun #define WM831X_DC1_CAP_MASK 0x0003 /* DC1_CAP - [1:0] */ 320*4882a593Smuzhiyun #define WM831X_DC1_CAP_SHIFT 0 /* DC1_CAP - [1:0] */ 321*4882a593Smuzhiyun #define WM831X_DC1_CAP_WIDTH 2 /* DC1_CAP - [1:0] */ 322*4882a593Smuzhiyun 323*4882a593Smuzhiyun /* 324*4882a593Smuzhiyun * R16471 (0x4057) - DC1 Control 2 325*4882a593Smuzhiyun */ 326*4882a593Smuzhiyun #define WM831X_DC1_ERR_ACT_MASK 0xC000 /* DC1_ERR_ACT - [15:14] */ 327*4882a593Smuzhiyun #define WM831X_DC1_ERR_ACT_SHIFT 14 /* DC1_ERR_ACT - [15:14] */ 328*4882a593Smuzhiyun #define WM831X_DC1_ERR_ACT_WIDTH 2 /* DC1_ERR_ACT - [15:14] */ 329*4882a593Smuzhiyun #define WM831X_DC1_HWC_SRC_MASK 0x1800 /* DC1_HWC_SRC - [12:11] */ 330*4882a593Smuzhiyun #define WM831X_DC1_HWC_SRC_SHIFT 11 /* DC1_HWC_SRC - [12:11] */ 331*4882a593Smuzhiyun #define WM831X_DC1_HWC_SRC_WIDTH 2 /* DC1_HWC_SRC - [12:11] */ 332*4882a593Smuzhiyun #define WM831X_DC1_HWC_VSEL 0x0400 /* DC1_HWC_VSEL */ 333*4882a593Smuzhiyun #define WM831X_DC1_HWC_VSEL_MASK 0x0400 /* DC1_HWC_VSEL */ 334*4882a593Smuzhiyun #define WM831X_DC1_HWC_VSEL_SHIFT 10 /* DC1_HWC_VSEL */ 335*4882a593Smuzhiyun #define WM831X_DC1_HWC_VSEL_WIDTH 1 /* DC1_HWC_VSEL */ 336*4882a593Smuzhiyun #define WM831X_DC1_HWC_MODE_MASK 0x0300 /* DC1_HWC_MODE - [9:8] */ 337*4882a593Smuzhiyun #define WM831X_DC1_HWC_MODE_SHIFT 8 /* DC1_HWC_MODE - [9:8] */ 338*4882a593Smuzhiyun #define WM831X_DC1_HWC_MODE_WIDTH 2 /* DC1_HWC_MODE - [9:8] */ 339*4882a593Smuzhiyun #define WM831X_DC1_HC_THR_MASK 0x0070 /* DC1_HC_THR - [6:4] */ 340*4882a593Smuzhiyun #define WM831X_DC1_HC_THR_SHIFT 4 /* DC1_HC_THR - [6:4] */ 341*4882a593Smuzhiyun #define WM831X_DC1_HC_THR_WIDTH 3 /* DC1_HC_THR - [6:4] */ 342*4882a593Smuzhiyun #define WM831X_DC1_HC_IND_ENA 0x0001 /* DC1_HC_IND_ENA */ 343*4882a593Smuzhiyun #define WM831X_DC1_HC_IND_ENA_MASK 0x0001 /* DC1_HC_IND_ENA */ 344*4882a593Smuzhiyun #define WM831X_DC1_HC_IND_ENA_SHIFT 0 /* DC1_HC_IND_ENA */ 345*4882a593Smuzhiyun #define WM831X_DC1_HC_IND_ENA_WIDTH 1 /* DC1_HC_IND_ENA */ 346*4882a593Smuzhiyun 347*4882a593Smuzhiyun /* 348*4882a593Smuzhiyun * R16472 (0x4058) - DC1 ON Config 349*4882a593Smuzhiyun */ 350*4882a593Smuzhiyun #define WM831X_DC1_ON_SLOT_MASK 0xE000 /* DC1_ON_SLOT - [15:13] */ 351*4882a593Smuzhiyun #define WM831X_DC1_ON_SLOT_SHIFT 13 /* DC1_ON_SLOT - [15:13] */ 352*4882a593Smuzhiyun #define WM831X_DC1_ON_SLOT_WIDTH 3 /* DC1_ON_SLOT - [15:13] */ 353*4882a593Smuzhiyun #define WM831X_DC1_ON_MODE_MASK 0x0300 /* DC1_ON_MODE - [9:8] */ 354*4882a593Smuzhiyun #define WM831X_DC1_ON_MODE_SHIFT 8 /* DC1_ON_MODE - [9:8] */ 355*4882a593Smuzhiyun #define WM831X_DC1_ON_MODE_WIDTH 2 /* DC1_ON_MODE - [9:8] */ 356*4882a593Smuzhiyun #define WM831X_DC1_ON_VSEL_MASK 0x007F /* DC1_ON_VSEL - [6:0] */ 357*4882a593Smuzhiyun #define WM831X_DC1_ON_VSEL_SHIFT 0 /* DC1_ON_VSEL - [6:0] */ 358*4882a593Smuzhiyun #define WM831X_DC1_ON_VSEL_WIDTH 7 /* DC1_ON_VSEL - [6:0] */ 359*4882a593Smuzhiyun 360*4882a593Smuzhiyun /* 361*4882a593Smuzhiyun * R16473 (0x4059) - DC1 SLEEP Control 362*4882a593Smuzhiyun */ 363*4882a593Smuzhiyun #define WM831X_DC1_SLP_SLOT_MASK 0xE000 /* DC1_SLP_SLOT - [15:13] */ 364*4882a593Smuzhiyun #define WM831X_DC1_SLP_SLOT_SHIFT 13 /* DC1_SLP_SLOT - [15:13] */ 365*4882a593Smuzhiyun #define WM831X_DC1_SLP_SLOT_WIDTH 3 /* DC1_SLP_SLOT - [15:13] */ 366*4882a593Smuzhiyun #define WM831X_DC1_SLP_MODE_MASK 0x0300 /* DC1_SLP_MODE - [9:8] */ 367*4882a593Smuzhiyun #define WM831X_DC1_SLP_MODE_SHIFT 8 /* DC1_SLP_MODE - [9:8] */ 368*4882a593Smuzhiyun #define WM831X_DC1_SLP_MODE_WIDTH 2 /* DC1_SLP_MODE - [9:8] */ 369*4882a593Smuzhiyun #define WM831X_DC1_SLP_VSEL_MASK 0x007F /* DC1_SLP_VSEL - [6:0] */ 370*4882a593Smuzhiyun #define WM831X_DC1_SLP_VSEL_SHIFT 0 /* DC1_SLP_VSEL - [6:0] */ 371*4882a593Smuzhiyun #define WM831X_DC1_SLP_VSEL_WIDTH 7 /* DC1_SLP_VSEL - [6:0] */ 372*4882a593Smuzhiyun 373*4882a593Smuzhiyun /* 374*4882a593Smuzhiyun * R16474 (0x405A) - DC1 DVS Control 375*4882a593Smuzhiyun */ 376*4882a593Smuzhiyun #define WM831X_DC1_DVS_SRC_MASK 0x1800 /* DC1_DVS_SRC - [12:11] */ 377*4882a593Smuzhiyun #define WM831X_DC1_DVS_SRC_SHIFT 11 /* DC1_DVS_SRC - [12:11] */ 378*4882a593Smuzhiyun #define WM831X_DC1_DVS_SRC_WIDTH 2 /* DC1_DVS_SRC - [12:11] */ 379*4882a593Smuzhiyun #define WM831X_DC1_DVS_VSEL_MASK 0x007F /* DC1_DVS_VSEL - [6:0] */ 380*4882a593Smuzhiyun #define WM831X_DC1_DVS_VSEL_SHIFT 0 /* DC1_DVS_VSEL - [6:0] */ 381*4882a593Smuzhiyun #define WM831X_DC1_DVS_VSEL_WIDTH 7 /* DC1_DVS_VSEL - [6:0] */ 382*4882a593Smuzhiyun 383*4882a593Smuzhiyun /* 384*4882a593Smuzhiyun * R16475 (0x405B) - DC2 Control 1 385*4882a593Smuzhiyun */ 386*4882a593Smuzhiyun #define WM831X_DC2_RATE_MASK 0xC000 /* DC2_RATE - [15:14] */ 387*4882a593Smuzhiyun #define WM831X_DC2_RATE_SHIFT 14 /* DC2_RATE - [15:14] */ 388*4882a593Smuzhiyun #define WM831X_DC2_RATE_WIDTH 2 /* DC2_RATE - [15:14] */ 389*4882a593Smuzhiyun #define WM831X_DC2_PHASE 0x1000 /* DC2_PHASE */ 390*4882a593Smuzhiyun #define WM831X_DC2_PHASE_MASK 0x1000 /* DC2_PHASE */ 391*4882a593Smuzhiyun #define WM831X_DC2_PHASE_SHIFT 12 /* DC2_PHASE */ 392*4882a593Smuzhiyun #define WM831X_DC2_PHASE_WIDTH 1 /* DC2_PHASE */ 393*4882a593Smuzhiyun #define WM831X_DC2_FREQ_MASK 0x0300 /* DC2_FREQ - [9:8] */ 394*4882a593Smuzhiyun #define WM831X_DC2_FREQ_SHIFT 8 /* DC2_FREQ - [9:8] */ 395*4882a593Smuzhiyun #define WM831X_DC2_FREQ_WIDTH 2 /* DC2_FREQ - [9:8] */ 396*4882a593Smuzhiyun #define WM831X_DC2_FLT 0x0080 /* DC2_FLT */ 397*4882a593Smuzhiyun #define WM831X_DC2_FLT_MASK 0x0080 /* DC2_FLT */ 398*4882a593Smuzhiyun #define WM831X_DC2_FLT_SHIFT 7 /* DC2_FLT */ 399*4882a593Smuzhiyun #define WM831X_DC2_FLT_WIDTH 1 /* DC2_FLT */ 400*4882a593Smuzhiyun #define WM831X_DC2_SOFT_START_MASK 0x0030 /* DC2_SOFT_START - [5:4] */ 401*4882a593Smuzhiyun #define WM831X_DC2_SOFT_START_SHIFT 4 /* DC2_SOFT_START - [5:4] */ 402*4882a593Smuzhiyun #define WM831X_DC2_SOFT_START_WIDTH 2 /* DC2_SOFT_START - [5:4] */ 403*4882a593Smuzhiyun #define WM831X_DC2_CAP_MASK 0x0003 /* DC2_CAP - [1:0] */ 404*4882a593Smuzhiyun #define WM831X_DC2_CAP_SHIFT 0 /* DC2_CAP - [1:0] */ 405*4882a593Smuzhiyun #define WM831X_DC2_CAP_WIDTH 2 /* DC2_CAP - [1:0] */ 406*4882a593Smuzhiyun 407*4882a593Smuzhiyun /* 408*4882a593Smuzhiyun * R16476 (0x405C) - DC2 Control 2 409*4882a593Smuzhiyun */ 410*4882a593Smuzhiyun #define WM831X_DC2_ERR_ACT_MASK 0xC000 /* DC2_ERR_ACT - [15:14] */ 411*4882a593Smuzhiyun #define WM831X_DC2_ERR_ACT_SHIFT 14 /* DC2_ERR_ACT - [15:14] */ 412*4882a593Smuzhiyun #define WM831X_DC2_ERR_ACT_WIDTH 2 /* DC2_ERR_ACT - [15:14] */ 413*4882a593Smuzhiyun #define WM831X_DC2_HWC_SRC_MASK 0x1800 /* DC2_HWC_SRC - [12:11] */ 414*4882a593Smuzhiyun #define WM831X_DC2_HWC_SRC_SHIFT 11 /* DC2_HWC_SRC - [12:11] */ 415*4882a593Smuzhiyun #define WM831X_DC2_HWC_SRC_WIDTH 2 /* DC2_HWC_SRC - [12:11] */ 416*4882a593Smuzhiyun #define WM831X_DC2_HWC_VSEL 0x0400 /* DC2_HWC_VSEL */ 417*4882a593Smuzhiyun #define WM831X_DC2_HWC_VSEL_MASK 0x0400 /* DC2_HWC_VSEL */ 418*4882a593Smuzhiyun #define WM831X_DC2_HWC_VSEL_SHIFT 10 /* DC2_HWC_VSEL */ 419*4882a593Smuzhiyun #define WM831X_DC2_HWC_VSEL_WIDTH 1 /* DC2_HWC_VSEL */ 420*4882a593Smuzhiyun #define WM831X_DC2_HWC_MODE_MASK 0x0300 /* DC2_HWC_MODE - [9:8] */ 421*4882a593Smuzhiyun #define WM831X_DC2_HWC_MODE_SHIFT 8 /* DC2_HWC_MODE - [9:8] */ 422*4882a593Smuzhiyun #define WM831X_DC2_HWC_MODE_WIDTH 2 /* DC2_HWC_MODE - [9:8] */ 423*4882a593Smuzhiyun #define WM831X_DC2_HC_THR_MASK 0x0070 /* DC2_HC_THR - [6:4] */ 424*4882a593Smuzhiyun #define WM831X_DC2_HC_THR_SHIFT 4 /* DC2_HC_THR - [6:4] */ 425*4882a593Smuzhiyun #define WM831X_DC2_HC_THR_WIDTH 3 /* DC2_HC_THR - [6:4] */ 426*4882a593Smuzhiyun #define WM831X_DC2_HC_IND_ENA 0x0001 /* DC2_HC_IND_ENA */ 427*4882a593Smuzhiyun #define WM831X_DC2_HC_IND_ENA_MASK 0x0001 /* DC2_HC_IND_ENA */ 428*4882a593Smuzhiyun #define WM831X_DC2_HC_IND_ENA_SHIFT 0 /* DC2_HC_IND_ENA */ 429*4882a593Smuzhiyun #define WM831X_DC2_HC_IND_ENA_WIDTH 1 /* DC2_HC_IND_ENA */ 430*4882a593Smuzhiyun 431*4882a593Smuzhiyun /* 432*4882a593Smuzhiyun * R16477 (0x405D) - DC2 ON Config 433*4882a593Smuzhiyun */ 434*4882a593Smuzhiyun #define WM831X_DC2_ON_SLOT_MASK 0xE000 /* DC2_ON_SLOT - [15:13] */ 435*4882a593Smuzhiyun #define WM831X_DC2_ON_SLOT_SHIFT 13 /* DC2_ON_SLOT - [15:13] */ 436*4882a593Smuzhiyun #define WM831X_DC2_ON_SLOT_WIDTH 3 /* DC2_ON_SLOT - [15:13] */ 437*4882a593Smuzhiyun #define WM831X_DC2_ON_MODE_MASK 0x0300 /* DC2_ON_MODE - [9:8] */ 438*4882a593Smuzhiyun #define WM831X_DC2_ON_MODE_SHIFT 8 /* DC2_ON_MODE - [9:8] */ 439*4882a593Smuzhiyun #define WM831X_DC2_ON_MODE_WIDTH 2 /* DC2_ON_MODE - [9:8] */ 440*4882a593Smuzhiyun #define WM831X_DC2_ON_VSEL_MASK 0x007F /* DC2_ON_VSEL - [6:0] */ 441*4882a593Smuzhiyun #define WM831X_DC2_ON_VSEL_SHIFT 0 /* DC2_ON_VSEL - [6:0] */ 442*4882a593Smuzhiyun #define WM831X_DC2_ON_VSEL_WIDTH 7 /* DC2_ON_VSEL - [6:0] */ 443*4882a593Smuzhiyun 444*4882a593Smuzhiyun /* 445*4882a593Smuzhiyun * R16478 (0x405E) - DC2 SLEEP Control 446*4882a593Smuzhiyun */ 447*4882a593Smuzhiyun #define WM831X_DC2_SLP_SLOT_MASK 0xE000 /* DC2_SLP_SLOT - [15:13] */ 448*4882a593Smuzhiyun #define WM831X_DC2_SLP_SLOT_SHIFT 13 /* DC2_SLP_SLOT - [15:13] */ 449*4882a593Smuzhiyun #define WM831X_DC2_SLP_SLOT_WIDTH 3 /* DC2_SLP_SLOT - [15:13] */ 450*4882a593Smuzhiyun #define WM831X_DC2_SLP_MODE_MASK 0x0300 /* DC2_SLP_MODE - [9:8] */ 451*4882a593Smuzhiyun #define WM831X_DC2_SLP_MODE_SHIFT 8 /* DC2_SLP_MODE - [9:8] */ 452*4882a593Smuzhiyun #define WM831X_DC2_SLP_MODE_WIDTH 2 /* DC2_SLP_MODE - [9:8] */ 453*4882a593Smuzhiyun #define WM831X_DC2_SLP_VSEL_MASK 0x007F /* DC2_SLP_VSEL - [6:0] */ 454*4882a593Smuzhiyun #define WM831X_DC2_SLP_VSEL_SHIFT 0 /* DC2_SLP_VSEL - [6:0] */ 455*4882a593Smuzhiyun #define WM831X_DC2_SLP_VSEL_WIDTH 7 /* DC2_SLP_VSEL - [6:0] */ 456*4882a593Smuzhiyun 457*4882a593Smuzhiyun /* 458*4882a593Smuzhiyun * R16479 (0x405F) - DC2 DVS Control 459*4882a593Smuzhiyun */ 460*4882a593Smuzhiyun #define WM831X_DC2_DVS_SRC_MASK 0x1800 /* DC2_DVS_SRC - [12:11] */ 461*4882a593Smuzhiyun #define WM831X_DC2_DVS_SRC_SHIFT 11 /* DC2_DVS_SRC - [12:11] */ 462*4882a593Smuzhiyun #define WM831X_DC2_DVS_SRC_WIDTH 2 /* DC2_DVS_SRC - [12:11] */ 463*4882a593Smuzhiyun #define WM831X_DC2_DVS_VSEL_MASK 0x007F /* DC2_DVS_VSEL - [6:0] */ 464*4882a593Smuzhiyun #define WM831X_DC2_DVS_VSEL_SHIFT 0 /* DC2_DVS_VSEL - [6:0] */ 465*4882a593Smuzhiyun #define WM831X_DC2_DVS_VSEL_WIDTH 7 /* DC2_DVS_VSEL - [6:0] */ 466*4882a593Smuzhiyun 467*4882a593Smuzhiyun /* 468*4882a593Smuzhiyun * R16480 (0x4060) - DC3 Control 1 469*4882a593Smuzhiyun */ 470*4882a593Smuzhiyun #define WM831X_DC3_PHASE 0x1000 /* DC3_PHASE */ 471*4882a593Smuzhiyun #define WM831X_DC3_PHASE_MASK 0x1000 /* DC3_PHASE */ 472*4882a593Smuzhiyun #define WM831X_DC3_PHASE_SHIFT 12 /* DC3_PHASE */ 473*4882a593Smuzhiyun #define WM831X_DC3_PHASE_WIDTH 1 /* DC3_PHASE */ 474*4882a593Smuzhiyun #define WM831X_DC3_FLT 0x0080 /* DC3_FLT */ 475*4882a593Smuzhiyun #define WM831X_DC3_FLT_MASK 0x0080 /* DC3_FLT */ 476*4882a593Smuzhiyun #define WM831X_DC3_FLT_SHIFT 7 /* DC3_FLT */ 477*4882a593Smuzhiyun #define WM831X_DC3_FLT_WIDTH 1 /* DC3_FLT */ 478*4882a593Smuzhiyun #define WM831X_DC3_SOFT_START_MASK 0x0030 /* DC3_SOFT_START - [5:4] */ 479*4882a593Smuzhiyun #define WM831X_DC3_SOFT_START_SHIFT 4 /* DC3_SOFT_START - [5:4] */ 480*4882a593Smuzhiyun #define WM831X_DC3_SOFT_START_WIDTH 2 /* DC3_SOFT_START - [5:4] */ 481*4882a593Smuzhiyun #define WM831X_DC3_STNBY_LIM_MASK 0x000C /* DC3_STNBY_LIM - [3:2] */ 482*4882a593Smuzhiyun #define WM831X_DC3_STNBY_LIM_SHIFT 2 /* DC3_STNBY_LIM - [3:2] */ 483*4882a593Smuzhiyun #define WM831X_DC3_STNBY_LIM_WIDTH 2 /* DC3_STNBY_LIM - [3:2] */ 484*4882a593Smuzhiyun #define WM831X_DC3_CAP_MASK 0x0003 /* DC3_CAP - [1:0] */ 485*4882a593Smuzhiyun #define WM831X_DC3_CAP_SHIFT 0 /* DC3_CAP - [1:0] */ 486*4882a593Smuzhiyun #define WM831X_DC3_CAP_WIDTH 2 /* DC3_CAP - [1:0] */ 487*4882a593Smuzhiyun 488*4882a593Smuzhiyun /* 489*4882a593Smuzhiyun * R16481 (0x4061) - DC3 Control 2 490*4882a593Smuzhiyun */ 491*4882a593Smuzhiyun #define WM831X_DC3_ERR_ACT_MASK 0xC000 /* DC3_ERR_ACT - [15:14] */ 492*4882a593Smuzhiyun #define WM831X_DC3_ERR_ACT_SHIFT 14 /* DC3_ERR_ACT - [15:14] */ 493*4882a593Smuzhiyun #define WM831X_DC3_ERR_ACT_WIDTH 2 /* DC3_ERR_ACT - [15:14] */ 494*4882a593Smuzhiyun #define WM831X_DC3_HWC_SRC_MASK 0x1800 /* DC3_HWC_SRC - [12:11] */ 495*4882a593Smuzhiyun #define WM831X_DC3_HWC_SRC_SHIFT 11 /* DC3_HWC_SRC - [12:11] */ 496*4882a593Smuzhiyun #define WM831X_DC3_HWC_SRC_WIDTH 2 /* DC3_HWC_SRC - [12:11] */ 497*4882a593Smuzhiyun #define WM831X_DC3_HWC_VSEL 0x0400 /* DC3_HWC_VSEL */ 498*4882a593Smuzhiyun #define WM831X_DC3_HWC_VSEL_MASK 0x0400 /* DC3_HWC_VSEL */ 499*4882a593Smuzhiyun #define WM831X_DC3_HWC_VSEL_SHIFT 10 /* DC3_HWC_VSEL */ 500*4882a593Smuzhiyun #define WM831X_DC3_HWC_VSEL_WIDTH 1 /* DC3_HWC_VSEL */ 501*4882a593Smuzhiyun #define WM831X_DC3_HWC_MODE_MASK 0x0300 /* DC3_HWC_MODE - [9:8] */ 502*4882a593Smuzhiyun #define WM831X_DC3_HWC_MODE_SHIFT 8 /* DC3_HWC_MODE - [9:8] */ 503*4882a593Smuzhiyun #define WM831X_DC3_HWC_MODE_WIDTH 2 /* DC3_HWC_MODE - [9:8] */ 504*4882a593Smuzhiyun #define WM831X_DC3_OVP 0x0080 /* DC3_OVP */ 505*4882a593Smuzhiyun #define WM831X_DC3_OVP_MASK 0x0080 /* DC3_OVP */ 506*4882a593Smuzhiyun #define WM831X_DC3_OVP_SHIFT 7 /* DC3_OVP */ 507*4882a593Smuzhiyun #define WM831X_DC3_OVP_WIDTH 1 /* DC3_OVP */ 508*4882a593Smuzhiyun 509*4882a593Smuzhiyun /* 510*4882a593Smuzhiyun * R16482 (0x4062) - DC3 ON Config 511*4882a593Smuzhiyun */ 512*4882a593Smuzhiyun #define WM831X_DC3_ON_SLOT_MASK 0xE000 /* DC3_ON_SLOT - [15:13] */ 513*4882a593Smuzhiyun #define WM831X_DC3_ON_SLOT_SHIFT 13 /* DC3_ON_SLOT - [15:13] */ 514*4882a593Smuzhiyun #define WM831X_DC3_ON_SLOT_WIDTH 3 /* DC3_ON_SLOT - [15:13] */ 515*4882a593Smuzhiyun #define WM831X_DC3_ON_MODE_MASK 0x0300 /* DC3_ON_MODE - [9:8] */ 516*4882a593Smuzhiyun #define WM831X_DC3_ON_MODE_SHIFT 8 /* DC3_ON_MODE - [9:8] */ 517*4882a593Smuzhiyun #define WM831X_DC3_ON_MODE_WIDTH 2 /* DC3_ON_MODE - [9:8] */ 518*4882a593Smuzhiyun #define WM831X_DC3_ON_VSEL_MASK 0x007F /* DC3_ON_VSEL - [6:0] */ 519*4882a593Smuzhiyun #define WM831X_DC3_ON_VSEL_SHIFT 0 /* DC3_ON_VSEL - [6:0] */ 520*4882a593Smuzhiyun #define WM831X_DC3_ON_VSEL_WIDTH 7 /* DC3_ON_VSEL - [6:0] */ 521*4882a593Smuzhiyun 522*4882a593Smuzhiyun /* 523*4882a593Smuzhiyun * R16483 (0x4063) - DC3 SLEEP Control 524*4882a593Smuzhiyun */ 525*4882a593Smuzhiyun #define WM831X_DC3_SLP_SLOT_MASK 0xE000 /* DC3_SLP_SLOT - [15:13] */ 526*4882a593Smuzhiyun #define WM831X_DC3_SLP_SLOT_SHIFT 13 /* DC3_SLP_SLOT - [15:13] */ 527*4882a593Smuzhiyun #define WM831X_DC3_SLP_SLOT_WIDTH 3 /* DC3_SLP_SLOT - [15:13] */ 528*4882a593Smuzhiyun #define WM831X_DC3_SLP_MODE_MASK 0x0300 /* DC3_SLP_MODE - [9:8] */ 529*4882a593Smuzhiyun #define WM831X_DC3_SLP_MODE_SHIFT 8 /* DC3_SLP_MODE - [9:8] */ 530*4882a593Smuzhiyun #define WM831X_DC3_SLP_MODE_WIDTH 2 /* DC3_SLP_MODE - [9:8] */ 531*4882a593Smuzhiyun #define WM831X_DC3_SLP_VSEL_MASK 0x007F /* DC3_SLP_VSEL - [6:0] */ 532*4882a593Smuzhiyun #define WM831X_DC3_SLP_VSEL_SHIFT 0 /* DC3_SLP_VSEL - [6:0] */ 533*4882a593Smuzhiyun #define WM831X_DC3_SLP_VSEL_WIDTH 7 /* DC3_SLP_VSEL - [6:0] */ 534*4882a593Smuzhiyun 535*4882a593Smuzhiyun /* 536*4882a593Smuzhiyun * R16484 (0x4064) - DC4 Control 537*4882a593Smuzhiyun */ 538*4882a593Smuzhiyun #define WM831X_DC4_ERR_ACT_MASK 0xC000 /* DC4_ERR_ACT - [15:14] */ 539*4882a593Smuzhiyun #define WM831X_DC4_ERR_ACT_SHIFT 14 /* DC4_ERR_ACT - [15:14] */ 540*4882a593Smuzhiyun #define WM831X_DC4_ERR_ACT_WIDTH 2 /* DC4_ERR_ACT - [15:14] */ 541*4882a593Smuzhiyun #define WM831X_DC4_HWC_SRC_MASK 0x1800 /* DC4_HWC_SRC - [12:11] */ 542*4882a593Smuzhiyun #define WM831X_DC4_HWC_SRC_SHIFT 11 /* DC4_HWC_SRC - [12:11] */ 543*4882a593Smuzhiyun #define WM831X_DC4_HWC_SRC_WIDTH 2 /* DC4_HWC_SRC - [12:11] */ 544*4882a593Smuzhiyun #define WM831X_DC4_HWC_MODE 0x0100 /* DC4_HWC_MODE */ 545*4882a593Smuzhiyun #define WM831X_DC4_HWC_MODE_MASK 0x0100 /* DC4_HWC_MODE */ 546*4882a593Smuzhiyun #define WM831X_DC4_HWC_MODE_SHIFT 8 /* DC4_HWC_MODE */ 547*4882a593Smuzhiyun #define WM831X_DC4_HWC_MODE_WIDTH 1 /* DC4_HWC_MODE */ 548*4882a593Smuzhiyun #define WM831X_DC4_RANGE_MASK 0x000C /* DC4_RANGE - [3:2] */ 549*4882a593Smuzhiyun #define WM831X_DC4_RANGE_SHIFT 2 /* DC4_RANGE - [3:2] */ 550*4882a593Smuzhiyun #define WM831X_DC4_RANGE_WIDTH 2 /* DC4_RANGE - [3:2] */ 551*4882a593Smuzhiyun #define WM831X_DC4_FBSRC 0x0001 /* DC4_FBSRC */ 552*4882a593Smuzhiyun #define WM831X_DC4_FBSRC_MASK 0x0001 /* DC4_FBSRC */ 553*4882a593Smuzhiyun #define WM831X_DC4_FBSRC_SHIFT 0 /* DC4_FBSRC */ 554*4882a593Smuzhiyun #define WM831X_DC4_FBSRC_WIDTH 1 /* DC4_FBSRC */ 555*4882a593Smuzhiyun 556*4882a593Smuzhiyun /* 557*4882a593Smuzhiyun * R16485 (0x4065) - DC4 SLEEP Control 558*4882a593Smuzhiyun */ 559*4882a593Smuzhiyun #define WM831X_DC4_SLPENA 0x0100 /* DC4_SLPENA */ 560*4882a593Smuzhiyun #define WM831X_DC4_SLPENA_MASK 0x0100 /* DC4_SLPENA */ 561*4882a593Smuzhiyun #define WM831X_DC4_SLPENA_SHIFT 8 /* DC4_SLPENA */ 562*4882a593Smuzhiyun #define WM831X_DC4_SLPENA_WIDTH 1 /* DC4_SLPENA */ 563*4882a593Smuzhiyun 564*4882a593Smuzhiyun /* 565*4882a593Smuzhiyun * R16488 (0x4068) - LDO1 Control 566*4882a593Smuzhiyun */ 567*4882a593Smuzhiyun #define WM831X_LDO1_ERR_ACT_MASK 0xC000 /* LDO1_ERR_ACT - [15:14] */ 568*4882a593Smuzhiyun #define WM831X_LDO1_ERR_ACT_SHIFT 14 /* LDO1_ERR_ACT - [15:14] */ 569*4882a593Smuzhiyun #define WM831X_LDO1_ERR_ACT_WIDTH 2 /* LDO1_ERR_ACT - [15:14] */ 570*4882a593Smuzhiyun #define WM831X_LDO1_HWC_SRC_MASK 0x1800 /* LDO1_HWC_SRC - [12:11] */ 571*4882a593Smuzhiyun #define WM831X_LDO1_HWC_SRC_SHIFT 11 /* LDO1_HWC_SRC - [12:11] */ 572*4882a593Smuzhiyun #define WM831X_LDO1_HWC_SRC_WIDTH 2 /* LDO1_HWC_SRC - [12:11] */ 573*4882a593Smuzhiyun #define WM831X_LDO1_HWC_VSEL 0x0400 /* LDO1_HWC_VSEL */ 574*4882a593Smuzhiyun #define WM831X_LDO1_HWC_VSEL_MASK 0x0400 /* LDO1_HWC_VSEL */ 575*4882a593Smuzhiyun #define WM831X_LDO1_HWC_VSEL_SHIFT 10 /* LDO1_HWC_VSEL */ 576*4882a593Smuzhiyun #define WM831X_LDO1_HWC_VSEL_WIDTH 1 /* LDO1_HWC_VSEL */ 577*4882a593Smuzhiyun #define WM831X_LDO1_HWC_MODE_MASK 0x0300 /* LDO1_HWC_MODE - [9:8] */ 578*4882a593Smuzhiyun #define WM831X_LDO1_HWC_MODE_SHIFT 8 /* LDO1_HWC_MODE - [9:8] */ 579*4882a593Smuzhiyun #define WM831X_LDO1_HWC_MODE_WIDTH 2 /* LDO1_HWC_MODE - [9:8] */ 580*4882a593Smuzhiyun #define WM831X_LDO1_FLT 0x0080 /* LDO1_FLT */ 581*4882a593Smuzhiyun #define WM831X_LDO1_FLT_MASK 0x0080 /* LDO1_FLT */ 582*4882a593Smuzhiyun #define WM831X_LDO1_FLT_SHIFT 7 /* LDO1_FLT */ 583*4882a593Smuzhiyun #define WM831X_LDO1_FLT_WIDTH 1 /* LDO1_FLT */ 584*4882a593Smuzhiyun #define WM831X_LDO1_SWI 0x0040 /* LDO1_SWI */ 585*4882a593Smuzhiyun #define WM831X_LDO1_SWI_MASK 0x0040 /* LDO1_SWI */ 586*4882a593Smuzhiyun #define WM831X_LDO1_SWI_SHIFT 6 /* LDO1_SWI */ 587*4882a593Smuzhiyun #define WM831X_LDO1_SWI_WIDTH 1 /* LDO1_SWI */ 588*4882a593Smuzhiyun #define WM831X_LDO1_LP_MODE 0x0001 /* LDO1_LP_MODE */ 589*4882a593Smuzhiyun #define WM831X_LDO1_LP_MODE_MASK 0x0001 /* LDO1_LP_MODE */ 590*4882a593Smuzhiyun #define WM831X_LDO1_LP_MODE_SHIFT 0 /* LDO1_LP_MODE */ 591*4882a593Smuzhiyun #define WM831X_LDO1_LP_MODE_WIDTH 1 /* LDO1_LP_MODE */ 592*4882a593Smuzhiyun 593*4882a593Smuzhiyun /* 594*4882a593Smuzhiyun * R16489 (0x4069) - LDO1 ON Control 595*4882a593Smuzhiyun */ 596*4882a593Smuzhiyun #define WM831X_LDO1_ON_SLOT_MASK 0xE000 /* LDO1_ON_SLOT - [15:13] */ 597*4882a593Smuzhiyun #define WM831X_LDO1_ON_SLOT_SHIFT 13 /* LDO1_ON_SLOT - [15:13] */ 598*4882a593Smuzhiyun #define WM831X_LDO1_ON_SLOT_WIDTH 3 /* LDO1_ON_SLOT - [15:13] */ 599*4882a593Smuzhiyun #define WM831X_LDO1_ON_MODE 0x0100 /* LDO1_ON_MODE */ 600*4882a593Smuzhiyun #define WM831X_LDO1_ON_MODE_MASK 0x0100 /* LDO1_ON_MODE */ 601*4882a593Smuzhiyun #define WM831X_LDO1_ON_MODE_SHIFT 8 /* LDO1_ON_MODE */ 602*4882a593Smuzhiyun #define WM831X_LDO1_ON_MODE_WIDTH 1 /* LDO1_ON_MODE */ 603*4882a593Smuzhiyun #define WM831X_LDO1_ON_VSEL_MASK 0x001F /* LDO1_ON_VSEL - [4:0] */ 604*4882a593Smuzhiyun #define WM831X_LDO1_ON_VSEL_SHIFT 0 /* LDO1_ON_VSEL - [4:0] */ 605*4882a593Smuzhiyun #define WM831X_LDO1_ON_VSEL_WIDTH 5 /* LDO1_ON_VSEL - [4:0] */ 606*4882a593Smuzhiyun 607*4882a593Smuzhiyun /* 608*4882a593Smuzhiyun * R16490 (0x406A) - LDO1 SLEEP Control 609*4882a593Smuzhiyun */ 610*4882a593Smuzhiyun #define WM831X_LDO1_SLP_SLOT_MASK 0xE000 /* LDO1_SLP_SLOT - [15:13] */ 611*4882a593Smuzhiyun #define WM831X_LDO1_SLP_SLOT_SHIFT 13 /* LDO1_SLP_SLOT - [15:13] */ 612*4882a593Smuzhiyun #define WM831X_LDO1_SLP_SLOT_WIDTH 3 /* LDO1_SLP_SLOT - [15:13] */ 613*4882a593Smuzhiyun #define WM831X_LDO1_SLP_MODE 0x0100 /* LDO1_SLP_MODE */ 614*4882a593Smuzhiyun #define WM831X_LDO1_SLP_MODE_MASK 0x0100 /* LDO1_SLP_MODE */ 615*4882a593Smuzhiyun #define WM831X_LDO1_SLP_MODE_SHIFT 8 /* LDO1_SLP_MODE */ 616*4882a593Smuzhiyun #define WM831X_LDO1_SLP_MODE_WIDTH 1 /* LDO1_SLP_MODE */ 617*4882a593Smuzhiyun #define WM831X_LDO1_SLP_VSEL_MASK 0x001F /* LDO1_SLP_VSEL - [4:0] */ 618*4882a593Smuzhiyun #define WM831X_LDO1_SLP_VSEL_SHIFT 0 /* LDO1_SLP_VSEL - [4:0] */ 619*4882a593Smuzhiyun #define WM831X_LDO1_SLP_VSEL_WIDTH 5 /* LDO1_SLP_VSEL - [4:0] */ 620*4882a593Smuzhiyun 621*4882a593Smuzhiyun /* 622*4882a593Smuzhiyun * R16491 (0x406B) - LDO2 Control 623*4882a593Smuzhiyun */ 624*4882a593Smuzhiyun #define WM831X_LDO2_ERR_ACT_MASK 0xC000 /* LDO2_ERR_ACT - [15:14] */ 625*4882a593Smuzhiyun #define WM831X_LDO2_ERR_ACT_SHIFT 14 /* LDO2_ERR_ACT - [15:14] */ 626*4882a593Smuzhiyun #define WM831X_LDO2_ERR_ACT_WIDTH 2 /* LDO2_ERR_ACT - [15:14] */ 627*4882a593Smuzhiyun #define WM831X_LDO2_HWC_SRC_MASK 0x1800 /* LDO2_HWC_SRC - [12:11] */ 628*4882a593Smuzhiyun #define WM831X_LDO2_HWC_SRC_SHIFT 11 /* LDO2_HWC_SRC - [12:11] */ 629*4882a593Smuzhiyun #define WM831X_LDO2_HWC_SRC_WIDTH 2 /* LDO2_HWC_SRC - [12:11] */ 630*4882a593Smuzhiyun #define WM831X_LDO2_HWC_VSEL 0x0400 /* LDO2_HWC_VSEL */ 631*4882a593Smuzhiyun #define WM831X_LDO2_HWC_VSEL_MASK 0x0400 /* LDO2_HWC_VSEL */ 632*4882a593Smuzhiyun #define WM831X_LDO2_HWC_VSEL_SHIFT 10 /* LDO2_HWC_VSEL */ 633*4882a593Smuzhiyun #define WM831X_LDO2_HWC_VSEL_WIDTH 1 /* LDO2_HWC_VSEL */ 634*4882a593Smuzhiyun #define WM831X_LDO2_HWC_MODE_MASK 0x0300 /* LDO2_HWC_MODE - [9:8] */ 635*4882a593Smuzhiyun #define WM831X_LDO2_HWC_MODE_SHIFT 8 /* LDO2_HWC_MODE - [9:8] */ 636*4882a593Smuzhiyun #define WM831X_LDO2_HWC_MODE_WIDTH 2 /* LDO2_HWC_MODE - [9:8] */ 637*4882a593Smuzhiyun #define WM831X_LDO2_FLT 0x0080 /* LDO2_FLT */ 638*4882a593Smuzhiyun #define WM831X_LDO2_FLT_MASK 0x0080 /* LDO2_FLT */ 639*4882a593Smuzhiyun #define WM831X_LDO2_FLT_SHIFT 7 /* LDO2_FLT */ 640*4882a593Smuzhiyun #define WM831X_LDO2_FLT_WIDTH 1 /* LDO2_FLT */ 641*4882a593Smuzhiyun #define WM831X_LDO2_SWI 0x0040 /* LDO2_SWI */ 642*4882a593Smuzhiyun #define WM831X_LDO2_SWI_MASK 0x0040 /* LDO2_SWI */ 643*4882a593Smuzhiyun #define WM831X_LDO2_SWI_SHIFT 6 /* LDO2_SWI */ 644*4882a593Smuzhiyun #define WM831X_LDO2_SWI_WIDTH 1 /* LDO2_SWI */ 645*4882a593Smuzhiyun #define WM831X_LDO2_LP_MODE 0x0001 /* LDO2_LP_MODE */ 646*4882a593Smuzhiyun #define WM831X_LDO2_LP_MODE_MASK 0x0001 /* LDO2_LP_MODE */ 647*4882a593Smuzhiyun #define WM831X_LDO2_LP_MODE_SHIFT 0 /* LDO2_LP_MODE */ 648*4882a593Smuzhiyun #define WM831X_LDO2_LP_MODE_WIDTH 1 /* LDO2_LP_MODE */ 649*4882a593Smuzhiyun 650*4882a593Smuzhiyun /* 651*4882a593Smuzhiyun * R16492 (0x406C) - LDO2 ON Control 652*4882a593Smuzhiyun */ 653*4882a593Smuzhiyun #define WM831X_LDO2_ON_SLOT_MASK 0xE000 /* LDO2_ON_SLOT - [15:13] */ 654*4882a593Smuzhiyun #define WM831X_LDO2_ON_SLOT_SHIFT 13 /* LDO2_ON_SLOT - [15:13] */ 655*4882a593Smuzhiyun #define WM831X_LDO2_ON_SLOT_WIDTH 3 /* LDO2_ON_SLOT - [15:13] */ 656*4882a593Smuzhiyun #define WM831X_LDO2_ON_MODE 0x0100 /* LDO2_ON_MODE */ 657*4882a593Smuzhiyun #define WM831X_LDO2_ON_MODE_MASK 0x0100 /* LDO2_ON_MODE */ 658*4882a593Smuzhiyun #define WM831X_LDO2_ON_MODE_SHIFT 8 /* LDO2_ON_MODE */ 659*4882a593Smuzhiyun #define WM831X_LDO2_ON_MODE_WIDTH 1 /* LDO2_ON_MODE */ 660*4882a593Smuzhiyun #define WM831X_LDO2_ON_VSEL_MASK 0x001F /* LDO2_ON_VSEL - [4:0] */ 661*4882a593Smuzhiyun #define WM831X_LDO2_ON_VSEL_SHIFT 0 /* LDO2_ON_VSEL - [4:0] */ 662*4882a593Smuzhiyun #define WM831X_LDO2_ON_VSEL_WIDTH 5 /* LDO2_ON_VSEL - [4:0] */ 663*4882a593Smuzhiyun 664*4882a593Smuzhiyun /* 665*4882a593Smuzhiyun * R16493 (0x406D) - LDO2 SLEEP Control 666*4882a593Smuzhiyun */ 667*4882a593Smuzhiyun #define WM831X_LDO2_SLP_SLOT_MASK 0xE000 /* LDO2_SLP_SLOT - [15:13] */ 668*4882a593Smuzhiyun #define WM831X_LDO2_SLP_SLOT_SHIFT 13 /* LDO2_SLP_SLOT - [15:13] */ 669*4882a593Smuzhiyun #define WM831X_LDO2_SLP_SLOT_WIDTH 3 /* LDO2_SLP_SLOT - [15:13] */ 670*4882a593Smuzhiyun #define WM831X_LDO2_SLP_MODE 0x0100 /* LDO2_SLP_MODE */ 671*4882a593Smuzhiyun #define WM831X_LDO2_SLP_MODE_MASK 0x0100 /* LDO2_SLP_MODE */ 672*4882a593Smuzhiyun #define WM831X_LDO2_SLP_MODE_SHIFT 8 /* LDO2_SLP_MODE */ 673*4882a593Smuzhiyun #define WM831X_LDO2_SLP_MODE_WIDTH 1 /* LDO2_SLP_MODE */ 674*4882a593Smuzhiyun #define WM831X_LDO2_SLP_VSEL_MASK 0x001F /* LDO2_SLP_VSEL - [4:0] */ 675*4882a593Smuzhiyun #define WM831X_LDO2_SLP_VSEL_SHIFT 0 /* LDO2_SLP_VSEL - [4:0] */ 676*4882a593Smuzhiyun #define WM831X_LDO2_SLP_VSEL_WIDTH 5 /* LDO2_SLP_VSEL - [4:0] */ 677*4882a593Smuzhiyun 678*4882a593Smuzhiyun /* 679*4882a593Smuzhiyun * R16494 (0x406E) - LDO3 Control 680*4882a593Smuzhiyun */ 681*4882a593Smuzhiyun #define WM831X_LDO3_ERR_ACT_MASK 0xC000 /* LDO3_ERR_ACT - [15:14] */ 682*4882a593Smuzhiyun #define WM831X_LDO3_ERR_ACT_SHIFT 14 /* LDO3_ERR_ACT - [15:14] */ 683*4882a593Smuzhiyun #define WM831X_LDO3_ERR_ACT_WIDTH 2 /* LDO3_ERR_ACT - [15:14] */ 684*4882a593Smuzhiyun #define WM831X_LDO3_HWC_SRC_MASK 0x1800 /* LDO3_HWC_SRC - [12:11] */ 685*4882a593Smuzhiyun #define WM831X_LDO3_HWC_SRC_SHIFT 11 /* LDO3_HWC_SRC - [12:11] */ 686*4882a593Smuzhiyun #define WM831X_LDO3_HWC_SRC_WIDTH 2 /* LDO3_HWC_SRC - [12:11] */ 687*4882a593Smuzhiyun #define WM831X_LDO3_HWC_VSEL 0x0400 /* LDO3_HWC_VSEL */ 688*4882a593Smuzhiyun #define WM831X_LDO3_HWC_VSEL_MASK 0x0400 /* LDO3_HWC_VSEL */ 689*4882a593Smuzhiyun #define WM831X_LDO3_HWC_VSEL_SHIFT 10 /* LDO3_HWC_VSEL */ 690*4882a593Smuzhiyun #define WM831X_LDO3_HWC_VSEL_WIDTH 1 /* LDO3_HWC_VSEL */ 691*4882a593Smuzhiyun #define WM831X_LDO3_HWC_MODE_MASK 0x0300 /* LDO3_HWC_MODE - [9:8] */ 692*4882a593Smuzhiyun #define WM831X_LDO3_HWC_MODE_SHIFT 8 /* LDO3_HWC_MODE - [9:8] */ 693*4882a593Smuzhiyun #define WM831X_LDO3_HWC_MODE_WIDTH 2 /* LDO3_HWC_MODE - [9:8] */ 694*4882a593Smuzhiyun #define WM831X_LDO3_FLT 0x0080 /* LDO3_FLT */ 695*4882a593Smuzhiyun #define WM831X_LDO3_FLT_MASK 0x0080 /* LDO3_FLT */ 696*4882a593Smuzhiyun #define WM831X_LDO3_FLT_SHIFT 7 /* LDO3_FLT */ 697*4882a593Smuzhiyun #define WM831X_LDO3_FLT_WIDTH 1 /* LDO3_FLT */ 698*4882a593Smuzhiyun #define WM831X_LDO3_SWI 0x0040 /* LDO3_SWI */ 699*4882a593Smuzhiyun #define WM831X_LDO3_SWI_MASK 0x0040 /* LDO3_SWI */ 700*4882a593Smuzhiyun #define WM831X_LDO3_SWI_SHIFT 6 /* LDO3_SWI */ 701*4882a593Smuzhiyun #define WM831X_LDO3_SWI_WIDTH 1 /* LDO3_SWI */ 702*4882a593Smuzhiyun #define WM831X_LDO3_LP_MODE 0x0001 /* LDO3_LP_MODE */ 703*4882a593Smuzhiyun #define WM831X_LDO3_LP_MODE_MASK 0x0001 /* LDO3_LP_MODE */ 704*4882a593Smuzhiyun #define WM831X_LDO3_LP_MODE_SHIFT 0 /* LDO3_LP_MODE */ 705*4882a593Smuzhiyun #define WM831X_LDO3_LP_MODE_WIDTH 1 /* LDO3_LP_MODE */ 706*4882a593Smuzhiyun 707*4882a593Smuzhiyun /* 708*4882a593Smuzhiyun * R16495 (0x406F) - LDO3 ON Control 709*4882a593Smuzhiyun */ 710*4882a593Smuzhiyun #define WM831X_LDO3_ON_SLOT_MASK 0xE000 /* LDO3_ON_SLOT - [15:13] */ 711*4882a593Smuzhiyun #define WM831X_LDO3_ON_SLOT_SHIFT 13 /* LDO3_ON_SLOT - [15:13] */ 712*4882a593Smuzhiyun #define WM831X_LDO3_ON_SLOT_WIDTH 3 /* LDO3_ON_SLOT - [15:13] */ 713*4882a593Smuzhiyun #define WM831X_LDO3_ON_MODE 0x0100 /* LDO3_ON_MODE */ 714*4882a593Smuzhiyun #define WM831X_LDO3_ON_MODE_MASK 0x0100 /* LDO3_ON_MODE */ 715*4882a593Smuzhiyun #define WM831X_LDO3_ON_MODE_SHIFT 8 /* LDO3_ON_MODE */ 716*4882a593Smuzhiyun #define WM831X_LDO3_ON_MODE_WIDTH 1 /* LDO3_ON_MODE */ 717*4882a593Smuzhiyun #define WM831X_LDO3_ON_VSEL_MASK 0x001F /* LDO3_ON_VSEL - [4:0] */ 718*4882a593Smuzhiyun #define WM831X_LDO3_ON_VSEL_SHIFT 0 /* LDO3_ON_VSEL - [4:0] */ 719*4882a593Smuzhiyun #define WM831X_LDO3_ON_VSEL_WIDTH 5 /* LDO3_ON_VSEL - [4:0] */ 720*4882a593Smuzhiyun 721*4882a593Smuzhiyun /* 722*4882a593Smuzhiyun * R16496 (0x4070) - LDO3 SLEEP Control 723*4882a593Smuzhiyun */ 724*4882a593Smuzhiyun #define WM831X_LDO3_SLP_SLOT_MASK 0xE000 /* LDO3_SLP_SLOT - [15:13] */ 725*4882a593Smuzhiyun #define WM831X_LDO3_SLP_SLOT_SHIFT 13 /* LDO3_SLP_SLOT - [15:13] */ 726*4882a593Smuzhiyun #define WM831X_LDO3_SLP_SLOT_WIDTH 3 /* LDO3_SLP_SLOT - [15:13] */ 727*4882a593Smuzhiyun #define WM831X_LDO3_SLP_MODE 0x0100 /* LDO3_SLP_MODE */ 728*4882a593Smuzhiyun #define WM831X_LDO3_SLP_MODE_MASK 0x0100 /* LDO3_SLP_MODE */ 729*4882a593Smuzhiyun #define WM831X_LDO3_SLP_MODE_SHIFT 8 /* LDO3_SLP_MODE */ 730*4882a593Smuzhiyun #define WM831X_LDO3_SLP_MODE_WIDTH 1 /* LDO3_SLP_MODE */ 731*4882a593Smuzhiyun #define WM831X_LDO3_SLP_VSEL_MASK 0x001F /* LDO3_SLP_VSEL - [4:0] */ 732*4882a593Smuzhiyun #define WM831X_LDO3_SLP_VSEL_SHIFT 0 /* LDO3_SLP_VSEL - [4:0] */ 733*4882a593Smuzhiyun #define WM831X_LDO3_SLP_VSEL_WIDTH 5 /* LDO3_SLP_VSEL - [4:0] */ 734*4882a593Smuzhiyun 735*4882a593Smuzhiyun /* 736*4882a593Smuzhiyun * R16497 (0x4071) - LDO4 Control 737*4882a593Smuzhiyun */ 738*4882a593Smuzhiyun #define WM831X_LDO4_ERR_ACT_MASK 0xC000 /* LDO4_ERR_ACT - [15:14] */ 739*4882a593Smuzhiyun #define WM831X_LDO4_ERR_ACT_SHIFT 14 /* LDO4_ERR_ACT - [15:14] */ 740*4882a593Smuzhiyun #define WM831X_LDO4_ERR_ACT_WIDTH 2 /* LDO4_ERR_ACT - [15:14] */ 741*4882a593Smuzhiyun #define WM831X_LDO4_HWC_SRC_MASK 0x1800 /* LDO4_HWC_SRC - [12:11] */ 742*4882a593Smuzhiyun #define WM831X_LDO4_HWC_SRC_SHIFT 11 /* LDO4_HWC_SRC - [12:11] */ 743*4882a593Smuzhiyun #define WM831X_LDO4_HWC_SRC_WIDTH 2 /* LDO4_HWC_SRC - [12:11] */ 744*4882a593Smuzhiyun #define WM831X_LDO4_HWC_VSEL 0x0400 /* LDO4_HWC_VSEL */ 745*4882a593Smuzhiyun #define WM831X_LDO4_HWC_VSEL_MASK 0x0400 /* LDO4_HWC_VSEL */ 746*4882a593Smuzhiyun #define WM831X_LDO4_HWC_VSEL_SHIFT 10 /* LDO4_HWC_VSEL */ 747*4882a593Smuzhiyun #define WM831X_LDO4_HWC_VSEL_WIDTH 1 /* LDO4_HWC_VSEL */ 748*4882a593Smuzhiyun #define WM831X_LDO4_HWC_MODE_MASK 0x0300 /* LDO4_HWC_MODE - [9:8] */ 749*4882a593Smuzhiyun #define WM831X_LDO4_HWC_MODE_SHIFT 8 /* LDO4_HWC_MODE - [9:8] */ 750*4882a593Smuzhiyun #define WM831X_LDO4_HWC_MODE_WIDTH 2 /* LDO4_HWC_MODE - [9:8] */ 751*4882a593Smuzhiyun #define WM831X_LDO4_FLT 0x0080 /* LDO4_FLT */ 752*4882a593Smuzhiyun #define WM831X_LDO4_FLT_MASK 0x0080 /* LDO4_FLT */ 753*4882a593Smuzhiyun #define WM831X_LDO4_FLT_SHIFT 7 /* LDO4_FLT */ 754*4882a593Smuzhiyun #define WM831X_LDO4_FLT_WIDTH 1 /* LDO4_FLT */ 755*4882a593Smuzhiyun #define WM831X_LDO4_SWI 0x0040 /* LDO4_SWI */ 756*4882a593Smuzhiyun #define WM831X_LDO4_SWI_MASK 0x0040 /* LDO4_SWI */ 757*4882a593Smuzhiyun #define WM831X_LDO4_SWI_SHIFT 6 /* LDO4_SWI */ 758*4882a593Smuzhiyun #define WM831X_LDO4_SWI_WIDTH 1 /* LDO4_SWI */ 759*4882a593Smuzhiyun #define WM831X_LDO4_LP_MODE 0x0001 /* LDO4_LP_MODE */ 760*4882a593Smuzhiyun #define WM831X_LDO4_LP_MODE_MASK 0x0001 /* LDO4_LP_MODE */ 761*4882a593Smuzhiyun #define WM831X_LDO4_LP_MODE_SHIFT 0 /* LDO4_LP_MODE */ 762*4882a593Smuzhiyun #define WM831X_LDO4_LP_MODE_WIDTH 1 /* LDO4_LP_MODE */ 763*4882a593Smuzhiyun 764*4882a593Smuzhiyun /* 765*4882a593Smuzhiyun * R16498 (0x4072) - LDO4 ON Control 766*4882a593Smuzhiyun */ 767*4882a593Smuzhiyun #define WM831X_LDO4_ON_SLOT_MASK 0xE000 /* LDO4_ON_SLOT - [15:13] */ 768*4882a593Smuzhiyun #define WM831X_LDO4_ON_SLOT_SHIFT 13 /* LDO4_ON_SLOT - [15:13] */ 769*4882a593Smuzhiyun #define WM831X_LDO4_ON_SLOT_WIDTH 3 /* LDO4_ON_SLOT - [15:13] */ 770*4882a593Smuzhiyun #define WM831X_LDO4_ON_MODE 0x0100 /* LDO4_ON_MODE */ 771*4882a593Smuzhiyun #define WM831X_LDO4_ON_MODE_MASK 0x0100 /* LDO4_ON_MODE */ 772*4882a593Smuzhiyun #define WM831X_LDO4_ON_MODE_SHIFT 8 /* LDO4_ON_MODE */ 773*4882a593Smuzhiyun #define WM831X_LDO4_ON_MODE_WIDTH 1 /* LDO4_ON_MODE */ 774*4882a593Smuzhiyun #define WM831X_LDO4_ON_VSEL_MASK 0x001F /* LDO4_ON_VSEL - [4:0] */ 775*4882a593Smuzhiyun #define WM831X_LDO4_ON_VSEL_SHIFT 0 /* LDO4_ON_VSEL - [4:0] */ 776*4882a593Smuzhiyun #define WM831X_LDO4_ON_VSEL_WIDTH 5 /* LDO4_ON_VSEL - [4:0] */ 777*4882a593Smuzhiyun 778*4882a593Smuzhiyun /* 779*4882a593Smuzhiyun * R16499 (0x4073) - LDO4 SLEEP Control 780*4882a593Smuzhiyun */ 781*4882a593Smuzhiyun #define WM831X_LDO4_SLP_SLOT_MASK 0xE000 /* LDO4_SLP_SLOT - [15:13] */ 782*4882a593Smuzhiyun #define WM831X_LDO4_SLP_SLOT_SHIFT 13 /* LDO4_SLP_SLOT - [15:13] */ 783*4882a593Smuzhiyun #define WM831X_LDO4_SLP_SLOT_WIDTH 3 /* LDO4_SLP_SLOT - [15:13] */ 784*4882a593Smuzhiyun #define WM831X_LDO4_SLP_MODE 0x0100 /* LDO4_SLP_MODE */ 785*4882a593Smuzhiyun #define WM831X_LDO4_SLP_MODE_MASK 0x0100 /* LDO4_SLP_MODE */ 786*4882a593Smuzhiyun #define WM831X_LDO4_SLP_MODE_SHIFT 8 /* LDO4_SLP_MODE */ 787*4882a593Smuzhiyun #define WM831X_LDO4_SLP_MODE_WIDTH 1 /* LDO4_SLP_MODE */ 788*4882a593Smuzhiyun #define WM831X_LDO4_SLP_VSEL_MASK 0x001F /* LDO4_SLP_VSEL - [4:0] */ 789*4882a593Smuzhiyun #define WM831X_LDO4_SLP_VSEL_SHIFT 0 /* LDO4_SLP_VSEL - [4:0] */ 790*4882a593Smuzhiyun #define WM831X_LDO4_SLP_VSEL_WIDTH 5 /* LDO4_SLP_VSEL - [4:0] */ 791*4882a593Smuzhiyun 792*4882a593Smuzhiyun /* 793*4882a593Smuzhiyun * R16500 (0x4074) - LDO5 Control 794*4882a593Smuzhiyun */ 795*4882a593Smuzhiyun #define WM831X_LDO5_ERR_ACT_MASK 0xC000 /* LDO5_ERR_ACT - [15:14] */ 796*4882a593Smuzhiyun #define WM831X_LDO5_ERR_ACT_SHIFT 14 /* LDO5_ERR_ACT - [15:14] */ 797*4882a593Smuzhiyun #define WM831X_LDO5_ERR_ACT_WIDTH 2 /* LDO5_ERR_ACT - [15:14] */ 798*4882a593Smuzhiyun #define WM831X_LDO5_HWC_SRC_MASK 0x1800 /* LDO5_HWC_SRC - [12:11] */ 799*4882a593Smuzhiyun #define WM831X_LDO5_HWC_SRC_SHIFT 11 /* LDO5_HWC_SRC - [12:11] */ 800*4882a593Smuzhiyun #define WM831X_LDO5_HWC_SRC_WIDTH 2 /* LDO5_HWC_SRC - [12:11] */ 801*4882a593Smuzhiyun #define WM831X_LDO5_HWC_VSEL 0x0400 /* LDO5_HWC_VSEL */ 802*4882a593Smuzhiyun #define WM831X_LDO5_HWC_VSEL_MASK 0x0400 /* LDO5_HWC_VSEL */ 803*4882a593Smuzhiyun #define WM831X_LDO5_HWC_VSEL_SHIFT 10 /* LDO5_HWC_VSEL */ 804*4882a593Smuzhiyun #define WM831X_LDO5_HWC_VSEL_WIDTH 1 /* LDO5_HWC_VSEL */ 805*4882a593Smuzhiyun #define WM831X_LDO5_HWC_MODE_MASK 0x0300 /* LDO5_HWC_MODE - [9:8] */ 806*4882a593Smuzhiyun #define WM831X_LDO5_HWC_MODE_SHIFT 8 /* LDO5_HWC_MODE - [9:8] */ 807*4882a593Smuzhiyun #define WM831X_LDO5_HWC_MODE_WIDTH 2 /* LDO5_HWC_MODE - [9:8] */ 808*4882a593Smuzhiyun #define WM831X_LDO5_FLT 0x0080 /* LDO5_FLT */ 809*4882a593Smuzhiyun #define WM831X_LDO5_FLT_MASK 0x0080 /* LDO5_FLT */ 810*4882a593Smuzhiyun #define WM831X_LDO5_FLT_SHIFT 7 /* LDO5_FLT */ 811*4882a593Smuzhiyun #define WM831X_LDO5_FLT_WIDTH 1 /* LDO5_FLT */ 812*4882a593Smuzhiyun #define WM831X_LDO5_SWI 0x0040 /* LDO5_SWI */ 813*4882a593Smuzhiyun #define WM831X_LDO5_SWI_MASK 0x0040 /* LDO5_SWI */ 814*4882a593Smuzhiyun #define WM831X_LDO5_SWI_SHIFT 6 /* LDO5_SWI */ 815*4882a593Smuzhiyun #define WM831X_LDO5_SWI_WIDTH 1 /* LDO5_SWI */ 816*4882a593Smuzhiyun #define WM831X_LDO5_LP_MODE 0x0001 /* LDO5_LP_MODE */ 817*4882a593Smuzhiyun #define WM831X_LDO5_LP_MODE_MASK 0x0001 /* LDO5_LP_MODE */ 818*4882a593Smuzhiyun #define WM831X_LDO5_LP_MODE_SHIFT 0 /* LDO5_LP_MODE */ 819*4882a593Smuzhiyun #define WM831X_LDO5_LP_MODE_WIDTH 1 /* LDO5_LP_MODE */ 820*4882a593Smuzhiyun 821*4882a593Smuzhiyun /* 822*4882a593Smuzhiyun * R16501 (0x4075) - LDO5 ON Control 823*4882a593Smuzhiyun */ 824*4882a593Smuzhiyun #define WM831X_LDO5_ON_SLOT_MASK 0xE000 /* LDO5_ON_SLOT - [15:13] */ 825*4882a593Smuzhiyun #define WM831X_LDO5_ON_SLOT_SHIFT 13 /* LDO5_ON_SLOT - [15:13] */ 826*4882a593Smuzhiyun #define WM831X_LDO5_ON_SLOT_WIDTH 3 /* LDO5_ON_SLOT - [15:13] */ 827*4882a593Smuzhiyun #define WM831X_LDO5_ON_MODE 0x0100 /* LDO5_ON_MODE */ 828*4882a593Smuzhiyun #define WM831X_LDO5_ON_MODE_MASK 0x0100 /* LDO5_ON_MODE */ 829*4882a593Smuzhiyun #define WM831X_LDO5_ON_MODE_SHIFT 8 /* LDO5_ON_MODE */ 830*4882a593Smuzhiyun #define WM831X_LDO5_ON_MODE_WIDTH 1 /* LDO5_ON_MODE */ 831*4882a593Smuzhiyun #define WM831X_LDO5_ON_VSEL_MASK 0x001F /* LDO5_ON_VSEL - [4:0] */ 832*4882a593Smuzhiyun #define WM831X_LDO5_ON_VSEL_SHIFT 0 /* LDO5_ON_VSEL - [4:0] */ 833*4882a593Smuzhiyun #define WM831X_LDO5_ON_VSEL_WIDTH 5 /* LDO5_ON_VSEL - [4:0] */ 834*4882a593Smuzhiyun 835*4882a593Smuzhiyun /* 836*4882a593Smuzhiyun * R16502 (0x4076) - LDO5 SLEEP Control 837*4882a593Smuzhiyun */ 838*4882a593Smuzhiyun #define WM831X_LDO5_SLP_SLOT_MASK 0xE000 /* LDO5_SLP_SLOT - [15:13] */ 839*4882a593Smuzhiyun #define WM831X_LDO5_SLP_SLOT_SHIFT 13 /* LDO5_SLP_SLOT - [15:13] */ 840*4882a593Smuzhiyun #define WM831X_LDO5_SLP_SLOT_WIDTH 3 /* LDO5_SLP_SLOT - [15:13] */ 841*4882a593Smuzhiyun #define WM831X_LDO5_SLP_MODE 0x0100 /* LDO5_SLP_MODE */ 842*4882a593Smuzhiyun #define WM831X_LDO5_SLP_MODE_MASK 0x0100 /* LDO5_SLP_MODE */ 843*4882a593Smuzhiyun #define WM831X_LDO5_SLP_MODE_SHIFT 8 /* LDO5_SLP_MODE */ 844*4882a593Smuzhiyun #define WM831X_LDO5_SLP_MODE_WIDTH 1 /* LDO5_SLP_MODE */ 845*4882a593Smuzhiyun #define WM831X_LDO5_SLP_VSEL_MASK 0x001F /* LDO5_SLP_VSEL - [4:0] */ 846*4882a593Smuzhiyun #define WM831X_LDO5_SLP_VSEL_SHIFT 0 /* LDO5_SLP_VSEL - [4:0] */ 847*4882a593Smuzhiyun #define WM831X_LDO5_SLP_VSEL_WIDTH 5 /* LDO5_SLP_VSEL - [4:0] */ 848*4882a593Smuzhiyun 849*4882a593Smuzhiyun /* 850*4882a593Smuzhiyun * R16503 (0x4077) - LDO6 Control 851*4882a593Smuzhiyun */ 852*4882a593Smuzhiyun #define WM831X_LDO6_ERR_ACT_MASK 0xC000 /* LDO6_ERR_ACT - [15:14] */ 853*4882a593Smuzhiyun #define WM831X_LDO6_ERR_ACT_SHIFT 14 /* LDO6_ERR_ACT - [15:14] */ 854*4882a593Smuzhiyun #define WM831X_LDO6_ERR_ACT_WIDTH 2 /* LDO6_ERR_ACT - [15:14] */ 855*4882a593Smuzhiyun #define WM831X_LDO6_HWC_SRC_MASK 0x1800 /* LDO6_HWC_SRC - [12:11] */ 856*4882a593Smuzhiyun #define WM831X_LDO6_HWC_SRC_SHIFT 11 /* LDO6_HWC_SRC - [12:11] */ 857*4882a593Smuzhiyun #define WM831X_LDO6_HWC_SRC_WIDTH 2 /* LDO6_HWC_SRC - [12:11] */ 858*4882a593Smuzhiyun #define WM831X_LDO6_HWC_VSEL 0x0400 /* LDO6_HWC_VSEL */ 859*4882a593Smuzhiyun #define WM831X_LDO6_HWC_VSEL_MASK 0x0400 /* LDO6_HWC_VSEL */ 860*4882a593Smuzhiyun #define WM831X_LDO6_HWC_VSEL_SHIFT 10 /* LDO6_HWC_VSEL */ 861*4882a593Smuzhiyun #define WM831X_LDO6_HWC_VSEL_WIDTH 1 /* LDO6_HWC_VSEL */ 862*4882a593Smuzhiyun #define WM831X_LDO6_HWC_MODE_MASK 0x0300 /* LDO6_HWC_MODE - [9:8] */ 863*4882a593Smuzhiyun #define WM831X_LDO6_HWC_MODE_SHIFT 8 /* LDO6_HWC_MODE - [9:8] */ 864*4882a593Smuzhiyun #define WM831X_LDO6_HWC_MODE_WIDTH 2 /* LDO6_HWC_MODE - [9:8] */ 865*4882a593Smuzhiyun #define WM831X_LDO6_FLT 0x0080 /* LDO6_FLT */ 866*4882a593Smuzhiyun #define WM831X_LDO6_FLT_MASK 0x0080 /* LDO6_FLT */ 867*4882a593Smuzhiyun #define WM831X_LDO6_FLT_SHIFT 7 /* LDO6_FLT */ 868*4882a593Smuzhiyun #define WM831X_LDO6_FLT_WIDTH 1 /* LDO6_FLT */ 869*4882a593Smuzhiyun #define WM831X_LDO6_SWI 0x0040 /* LDO6_SWI */ 870*4882a593Smuzhiyun #define WM831X_LDO6_SWI_MASK 0x0040 /* LDO6_SWI */ 871*4882a593Smuzhiyun #define WM831X_LDO6_SWI_SHIFT 6 /* LDO6_SWI */ 872*4882a593Smuzhiyun #define WM831X_LDO6_SWI_WIDTH 1 /* LDO6_SWI */ 873*4882a593Smuzhiyun #define WM831X_LDO6_LP_MODE 0x0001 /* LDO6_LP_MODE */ 874*4882a593Smuzhiyun #define WM831X_LDO6_LP_MODE_MASK 0x0001 /* LDO6_LP_MODE */ 875*4882a593Smuzhiyun #define WM831X_LDO6_LP_MODE_SHIFT 0 /* LDO6_LP_MODE */ 876*4882a593Smuzhiyun #define WM831X_LDO6_LP_MODE_WIDTH 1 /* LDO6_LP_MODE */ 877*4882a593Smuzhiyun 878*4882a593Smuzhiyun /* 879*4882a593Smuzhiyun * R16504 (0x4078) - LDO6 ON Control 880*4882a593Smuzhiyun */ 881*4882a593Smuzhiyun #define WM831X_LDO6_ON_SLOT_MASK 0xE000 /* LDO6_ON_SLOT - [15:13] */ 882*4882a593Smuzhiyun #define WM831X_LDO6_ON_SLOT_SHIFT 13 /* LDO6_ON_SLOT - [15:13] */ 883*4882a593Smuzhiyun #define WM831X_LDO6_ON_SLOT_WIDTH 3 /* LDO6_ON_SLOT - [15:13] */ 884*4882a593Smuzhiyun #define WM831X_LDO6_ON_MODE 0x0100 /* LDO6_ON_MODE */ 885*4882a593Smuzhiyun #define WM831X_LDO6_ON_MODE_MASK 0x0100 /* LDO6_ON_MODE */ 886*4882a593Smuzhiyun #define WM831X_LDO6_ON_MODE_SHIFT 8 /* LDO6_ON_MODE */ 887*4882a593Smuzhiyun #define WM831X_LDO6_ON_MODE_WIDTH 1 /* LDO6_ON_MODE */ 888*4882a593Smuzhiyun #define WM831X_LDO6_ON_VSEL_MASK 0x001F /* LDO6_ON_VSEL - [4:0] */ 889*4882a593Smuzhiyun #define WM831X_LDO6_ON_VSEL_SHIFT 0 /* LDO6_ON_VSEL - [4:0] */ 890*4882a593Smuzhiyun #define WM831X_LDO6_ON_VSEL_WIDTH 5 /* LDO6_ON_VSEL - [4:0] */ 891*4882a593Smuzhiyun 892*4882a593Smuzhiyun /* 893*4882a593Smuzhiyun * R16505 (0x4079) - LDO6 SLEEP Control 894*4882a593Smuzhiyun */ 895*4882a593Smuzhiyun #define WM831X_LDO6_SLP_SLOT_MASK 0xE000 /* LDO6_SLP_SLOT - [15:13] */ 896*4882a593Smuzhiyun #define WM831X_LDO6_SLP_SLOT_SHIFT 13 /* LDO6_SLP_SLOT - [15:13] */ 897*4882a593Smuzhiyun #define WM831X_LDO6_SLP_SLOT_WIDTH 3 /* LDO6_SLP_SLOT - [15:13] */ 898*4882a593Smuzhiyun #define WM831X_LDO6_SLP_MODE 0x0100 /* LDO6_SLP_MODE */ 899*4882a593Smuzhiyun #define WM831X_LDO6_SLP_MODE_MASK 0x0100 /* LDO6_SLP_MODE */ 900*4882a593Smuzhiyun #define WM831X_LDO6_SLP_MODE_SHIFT 8 /* LDO6_SLP_MODE */ 901*4882a593Smuzhiyun #define WM831X_LDO6_SLP_MODE_WIDTH 1 /* LDO6_SLP_MODE */ 902*4882a593Smuzhiyun #define WM831X_LDO6_SLP_VSEL_MASK 0x001F /* LDO6_SLP_VSEL - [4:0] */ 903*4882a593Smuzhiyun #define WM831X_LDO6_SLP_VSEL_SHIFT 0 /* LDO6_SLP_VSEL - [4:0] */ 904*4882a593Smuzhiyun #define WM831X_LDO6_SLP_VSEL_WIDTH 5 /* LDO6_SLP_VSEL - [4:0] */ 905*4882a593Smuzhiyun 906*4882a593Smuzhiyun /* 907*4882a593Smuzhiyun * R16506 (0x407A) - LDO7 Control 908*4882a593Smuzhiyun */ 909*4882a593Smuzhiyun #define WM831X_LDO7_ERR_ACT_MASK 0xC000 /* LDO7_ERR_ACT - [15:14] */ 910*4882a593Smuzhiyun #define WM831X_LDO7_ERR_ACT_SHIFT 14 /* LDO7_ERR_ACT - [15:14] */ 911*4882a593Smuzhiyun #define WM831X_LDO7_ERR_ACT_WIDTH 2 /* LDO7_ERR_ACT - [15:14] */ 912*4882a593Smuzhiyun #define WM831X_LDO7_HWC_SRC_MASK 0x1800 /* LDO7_HWC_SRC - [12:11] */ 913*4882a593Smuzhiyun #define WM831X_LDO7_HWC_SRC_SHIFT 11 /* LDO7_HWC_SRC - [12:11] */ 914*4882a593Smuzhiyun #define WM831X_LDO7_HWC_SRC_WIDTH 2 /* LDO7_HWC_SRC - [12:11] */ 915*4882a593Smuzhiyun #define WM831X_LDO7_HWC_VSEL 0x0400 /* LDO7_HWC_VSEL */ 916*4882a593Smuzhiyun #define WM831X_LDO7_HWC_VSEL_MASK 0x0400 /* LDO7_HWC_VSEL */ 917*4882a593Smuzhiyun #define WM831X_LDO7_HWC_VSEL_SHIFT 10 /* LDO7_HWC_VSEL */ 918*4882a593Smuzhiyun #define WM831X_LDO7_HWC_VSEL_WIDTH 1 /* LDO7_HWC_VSEL */ 919*4882a593Smuzhiyun #define WM831X_LDO7_HWC_MODE_MASK 0x0300 /* LDO7_HWC_MODE - [9:8] */ 920*4882a593Smuzhiyun #define WM831X_LDO7_HWC_MODE_SHIFT 8 /* LDO7_HWC_MODE - [9:8] */ 921*4882a593Smuzhiyun #define WM831X_LDO7_HWC_MODE_WIDTH 2 /* LDO7_HWC_MODE - [9:8] */ 922*4882a593Smuzhiyun #define WM831X_LDO7_FLT 0x0080 /* LDO7_FLT */ 923*4882a593Smuzhiyun #define WM831X_LDO7_FLT_MASK 0x0080 /* LDO7_FLT */ 924*4882a593Smuzhiyun #define WM831X_LDO7_FLT_SHIFT 7 /* LDO7_FLT */ 925*4882a593Smuzhiyun #define WM831X_LDO7_FLT_WIDTH 1 /* LDO7_FLT */ 926*4882a593Smuzhiyun #define WM831X_LDO7_SWI 0x0040 /* LDO7_SWI */ 927*4882a593Smuzhiyun #define WM831X_LDO7_SWI_MASK 0x0040 /* LDO7_SWI */ 928*4882a593Smuzhiyun #define WM831X_LDO7_SWI_SHIFT 6 /* LDO7_SWI */ 929*4882a593Smuzhiyun #define WM831X_LDO7_SWI_WIDTH 1 /* LDO7_SWI */ 930*4882a593Smuzhiyun 931*4882a593Smuzhiyun /* 932*4882a593Smuzhiyun * R16507 (0x407B) - LDO7 ON Control 933*4882a593Smuzhiyun */ 934*4882a593Smuzhiyun #define WM831X_LDO7_ON_SLOT_MASK 0xE000 /* LDO7_ON_SLOT - [15:13] */ 935*4882a593Smuzhiyun #define WM831X_LDO7_ON_SLOT_SHIFT 13 /* LDO7_ON_SLOT - [15:13] */ 936*4882a593Smuzhiyun #define WM831X_LDO7_ON_SLOT_WIDTH 3 /* LDO7_ON_SLOT - [15:13] */ 937*4882a593Smuzhiyun #define WM831X_LDO7_ON_MODE 0x0100 /* LDO7_ON_MODE */ 938*4882a593Smuzhiyun #define WM831X_LDO7_ON_MODE_MASK 0x0100 /* LDO7_ON_MODE */ 939*4882a593Smuzhiyun #define WM831X_LDO7_ON_MODE_SHIFT 8 /* LDO7_ON_MODE */ 940*4882a593Smuzhiyun #define WM831X_LDO7_ON_MODE_WIDTH 1 /* LDO7_ON_MODE */ 941*4882a593Smuzhiyun #define WM831X_LDO7_ON_VSEL_MASK 0x001F /* LDO7_ON_VSEL - [4:0] */ 942*4882a593Smuzhiyun #define WM831X_LDO7_ON_VSEL_SHIFT 0 /* LDO7_ON_VSEL - [4:0] */ 943*4882a593Smuzhiyun #define WM831X_LDO7_ON_VSEL_WIDTH 5 /* LDO7_ON_VSEL - [4:0] */ 944*4882a593Smuzhiyun 945*4882a593Smuzhiyun /* 946*4882a593Smuzhiyun * R16508 (0x407C) - LDO7 SLEEP Control 947*4882a593Smuzhiyun */ 948*4882a593Smuzhiyun #define WM831X_LDO7_SLP_SLOT_MASK 0xE000 /* LDO7_SLP_SLOT - [15:13] */ 949*4882a593Smuzhiyun #define WM831X_LDO7_SLP_SLOT_SHIFT 13 /* LDO7_SLP_SLOT - [15:13] */ 950*4882a593Smuzhiyun #define WM831X_LDO7_SLP_SLOT_WIDTH 3 /* LDO7_SLP_SLOT - [15:13] */ 951*4882a593Smuzhiyun #define WM831X_LDO7_SLP_MODE 0x0100 /* LDO7_SLP_MODE */ 952*4882a593Smuzhiyun #define WM831X_LDO7_SLP_MODE_MASK 0x0100 /* LDO7_SLP_MODE */ 953*4882a593Smuzhiyun #define WM831X_LDO7_SLP_MODE_SHIFT 8 /* LDO7_SLP_MODE */ 954*4882a593Smuzhiyun #define WM831X_LDO7_SLP_MODE_WIDTH 1 /* LDO7_SLP_MODE */ 955*4882a593Smuzhiyun #define WM831X_LDO7_SLP_VSEL_MASK 0x001F /* LDO7_SLP_VSEL - [4:0] */ 956*4882a593Smuzhiyun #define WM831X_LDO7_SLP_VSEL_SHIFT 0 /* LDO7_SLP_VSEL - [4:0] */ 957*4882a593Smuzhiyun #define WM831X_LDO7_SLP_VSEL_WIDTH 5 /* LDO7_SLP_VSEL - [4:0] */ 958*4882a593Smuzhiyun 959*4882a593Smuzhiyun /* 960*4882a593Smuzhiyun * R16509 (0x407D) - LDO8 Control 961*4882a593Smuzhiyun */ 962*4882a593Smuzhiyun #define WM831X_LDO8_ERR_ACT_MASK 0xC000 /* LDO8_ERR_ACT - [15:14] */ 963*4882a593Smuzhiyun #define WM831X_LDO8_ERR_ACT_SHIFT 14 /* LDO8_ERR_ACT - [15:14] */ 964*4882a593Smuzhiyun #define WM831X_LDO8_ERR_ACT_WIDTH 2 /* LDO8_ERR_ACT - [15:14] */ 965*4882a593Smuzhiyun #define WM831X_LDO8_HWC_SRC_MASK 0x1800 /* LDO8_HWC_SRC - [12:11] */ 966*4882a593Smuzhiyun #define WM831X_LDO8_HWC_SRC_SHIFT 11 /* LDO8_HWC_SRC - [12:11] */ 967*4882a593Smuzhiyun #define WM831X_LDO8_HWC_SRC_WIDTH 2 /* LDO8_HWC_SRC - [12:11] */ 968*4882a593Smuzhiyun #define WM831X_LDO8_HWC_VSEL 0x0400 /* LDO8_HWC_VSEL */ 969*4882a593Smuzhiyun #define WM831X_LDO8_HWC_VSEL_MASK 0x0400 /* LDO8_HWC_VSEL */ 970*4882a593Smuzhiyun #define WM831X_LDO8_HWC_VSEL_SHIFT 10 /* LDO8_HWC_VSEL */ 971*4882a593Smuzhiyun #define WM831X_LDO8_HWC_VSEL_WIDTH 1 /* LDO8_HWC_VSEL */ 972*4882a593Smuzhiyun #define WM831X_LDO8_HWC_MODE_MASK 0x0300 /* LDO8_HWC_MODE - [9:8] */ 973*4882a593Smuzhiyun #define WM831X_LDO8_HWC_MODE_SHIFT 8 /* LDO8_HWC_MODE - [9:8] */ 974*4882a593Smuzhiyun #define WM831X_LDO8_HWC_MODE_WIDTH 2 /* LDO8_HWC_MODE - [9:8] */ 975*4882a593Smuzhiyun #define WM831X_LDO8_FLT 0x0080 /* LDO8_FLT */ 976*4882a593Smuzhiyun #define WM831X_LDO8_FLT_MASK 0x0080 /* LDO8_FLT */ 977*4882a593Smuzhiyun #define WM831X_LDO8_FLT_SHIFT 7 /* LDO8_FLT */ 978*4882a593Smuzhiyun #define WM831X_LDO8_FLT_WIDTH 1 /* LDO8_FLT */ 979*4882a593Smuzhiyun #define WM831X_LDO8_SWI 0x0040 /* LDO8_SWI */ 980*4882a593Smuzhiyun #define WM831X_LDO8_SWI_MASK 0x0040 /* LDO8_SWI */ 981*4882a593Smuzhiyun #define WM831X_LDO8_SWI_SHIFT 6 /* LDO8_SWI */ 982*4882a593Smuzhiyun #define WM831X_LDO8_SWI_WIDTH 1 /* LDO8_SWI */ 983*4882a593Smuzhiyun 984*4882a593Smuzhiyun /* 985*4882a593Smuzhiyun * R16510 (0x407E) - LDO8 ON Control 986*4882a593Smuzhiyun */ 987*4882a593Smuzhiyun #define WM831X_LDO8_ON_SLOT_MASK 0xE000 /* LDO8_ON_SLOT - [15:13] */ 988*4882a593Smuzhiyun #define WM831X_LDO8_ON_SLOT_SHIFT 13 /* LDO8_ON_SLOT - [15:13] */ 989*4882a593Smuzhiyun #define WM831X_LDO8_ON_SLOT_WIDTH 3 /* LDO8_ON_SLOT - [15:13] */ 990*4882a593Smuzhiyun #define WM831X_LDO8_ON_MODE 0x0100 /* LDO8_ON_MODE */ 991*4882a593Smuzhiyun #define WM831X_LDO8_ON_MODE_MASK 0x0100 /* LDO8_ON_MODE */ 992*4882a593Smuzhiyun #define WM831X_LDO8_ON_MODE_SHIFT 8 /* LDO8_ON_MODE */ 993*4882a593Smuzhiyun #define WM831X_LDO8_ON_MODE_WIDTH 1 /* LDO8_ON_MODE */ 994*4882a593Smuzhiyun #define WM831X_LDO8_ON_VSEL_MASK 0x001F /* LDO8_ON_VSEL - [4:0] */ 995*4882a593Smuzhiyun #define WM831X_LDO8_ON_VSEL_SHIFT 0 /* LDO8_ON_VSEL - [4:0] */ 996*4882a593Smuzhiyun #define WM831X_LDO8_ON_VSEL_WIDTH 5 /* LDO8_ON_VSEL - [4:0] */ 997*4882a593Smuzhiyun 998*4882a593Smuzhiyun /* 999*4882a593Smuzhiyun * R16511 (0x407F) - LDO8 SLEEP Control 1000*4882a593Smuzhiyun */ 1001*4882a593Smuzhiyun #define WM831X_LDO8_SLP_SLOT_MASK 0xE000 /* LDO8_SLP_SLOT - [15:13] */ 1002*4882a593Smuzhiyun #define WM831X_LDO8_SLP_SLOT_SHIFT 13 /* LDO8_SLP_SLOT - [15:13] */ 1003*4882a593Smuzhiyun #define WM831X_LDO8_SLP_SLOT_WIDTH 3 /* LDO8_SLP_SLOT - [15:13] */ 1004*4882a593Smuzhiyun #define WM831X_LDO8_SLP_MODE 0x0100 /* LDO8_SLP_MODE */ 1005*4882a593Smuzhiyun #define WM831X_LDO8_SLP_MODE_MASK 0x0100 /* LDO8_SLP_MODE */ 1006*4882a593Smuzhiyun #define WM831X_LDO8_SLP_MODE_SHIFT 8 /* LDO8_SLP_MODE */ 1007*4882a593Smuzhiyun #define WM831X_LDO8_SLP_MODE_WIDTH 1 /* LDO8_SLP_MODE */ 1008*4882a593Smuzhiyun #define WM831X_LDO8_SLP_VSEL_MASK 0x001F /* LDO8_SLP_VSEL - [4:0] */ 1009*4882a593Smuzhiyun #define WM831X_LDO8_SLP_VSEL_SHIFT 0 /* LDO8_SLP_VSEL - [4:0] */ 1010*4882a593Smuzhiyun #define WM831X_LDO8_SLP_VSEL_WIDTH 5 /* LDO8_SLP_VSEL - [4:0] */ 1011*4882a593Smuzhiyun 1012*4882a593Smuzhiyun /* 1013*4882a593Smuzhiyun * R16512 (0x4080) - LDO9 Control 1014*4882a593Smuzhiyun */ 1015*4882a593Smuzhiyun #define WM831X_LDO9_ERR_ACT_MASK 0xC000 /* LDO9_ERR_ACT - [15:14] */ 1016*4882a593Smuzhiyun #define WM831X_LDO9_ERR_ACT_SHIFT 14 /* LDO9_ERR_ACT - [15:14] */ 1017*4882a593Smuzhiyun #define WM831X_LDO9_ERR_ACT_WIDTH 2 /* LDO9_ERR_ACT - [15:14] */ 1018*4882a593Smuzhiyun #define WM831X_LDO9_HWC_SRC_MASK 0x1800 /* LDO9_HWC_SRC - [12:11] */ 1019*4882a593Smuzhiyun #define WM831X_LDO9_HWC_SRC_SHIFT 11 /* LDO9_HWC_SRC - [12:11] */ 1020*4882a593Smuzhiyun #define WM831X_LDO9_HWC_SRC_WIDTH 2 /* LDO9_HWC_SRC - [12:11] */ 1021*4882a593Smuzhiyun #define WM831X_LDO9_HWC_VSEL 0x0400 /* LDO9_HWC_VSEL */ 1022*4882a593Smuzhiyun #define WM831X_LDO9_HWC_VSEL_MASK 0x0400 /* LDO9_HWC_VSEL */ 1023*4882a593Smuzhiyun #define WM831X_LDO9_HWC_VSEL_SHIFT 10 /* LDO9_HWC_VSEL */ 1024*4882a593Smuzhiyun #define WM831X_LDO9_HWC_VSEL_WIDTH 1 /* LDO9_HWC_VSEL */ 1025*4882a593Smuzhiyun #define WM831X_LDO9_HWC_MODE_MASK 0x0300 /* LDO9_HWC_MODE - [9:8] */ 1026*4882a593Smuzhiyun #define WM831X_LDO9_HWC_MODE_SHIFT 8 /* LDO9_HWC_MODE - [9:8] */ 1027*4882a593Smuzhiyun #define WM831X_LDO9_HWC_MODE_WIDTH 2 /* LDO9_HWC_MODE - [9:8] */ 1028*4882a593Smuzhiyun #define WM831X_LDO9_FLT 0x0080 /* LDO9_FLT */ 1029*4882a593Smuzhiyun #define WM831X_LDO9_FLT_MASK 0x0080 /* LDO9_FLT */ 1030*4882a593Smuzhiyun #define WM831X_LDO9_FLT_SHIFT 7 /* LDO9_FLT */ 1031*4882a593Smuzhiyun #define WM831X_LDO9_FLT_WIDTH 1 /* LDO9_FLT */ 1032*4882a593Smuzhiyun #define WM831X_LDO9_SWI 0x0040 /* LDO9_SWI */ 1033*4882a593Smuzhiyun #define WM831X_LDO9_SWI_MASK 0x0040 /* LDO9_SWI */ 1034*4882a593Smuzhiyun #define WM831X_LDO9_SWI_SHIFT 6 /* LDO9_SWI */ 1035*4882a593Smuzhiyun #define WM831X_LDO9_SWI_WIDTH 1 /* LDO9_SWI */ 1036*4882a593Smuzhiyun 1037*4882a593Smuzhiyun /* 1038*4882a593Smuzhiyun * R16513 (0x4081) - LDO9 ON Control 1039*4882a593Smuzhiyun */ 1040*4882a593Smuzhiyun #define WM831X_LDO9_ON_SLOT_MASK 0xE000 /* LDO9_ON_SLOT - [15:13] */ 1041*4882a593Smuzhiyun #define WM831X_LDO9_ON_SLOT_SHIFT 13 /* LDO9_ON_SLOT - [15:13] */ 1042*4882a593Smuzhiyun #define WM831X_LDO9_ON_SLOT_WIDTH 3 /* LDO9_ON_SLOT - [15:13] */ 1043*4882a593Smuzhiyun #define WM831X_LDO9_ON_MODE 0x0100 /* LDO9_ON_MODE */ 1044*4882a593Smuzhiyun #define WM831X_LDO9_ON_MODE_MASK 0x0100 /* LDO9_ON_MODE */ 1045*4882a593Smuzhiyun #define WM831X_LDO9_ON_MODE_SHIFT 8 /* LDO9_ON_MODE */ 1046*4882a593Smuzhiyun #define WM831X_LDO9_ON_MODE_WIDTH 1 /* LDO9_ON_MODE */ 1047*4882a593Smuzhiyun #define WM831X_LDO9_ON_VSEL_MASK 0x001F /* LDO9_ON_VSEL - [4:0] */ 1048*4882a593Smuzhiyun #define WM831X_LDO9_ON_VSEL_SHIFT 0 /* LDO9_ON_VSEL - [4:0] */ 1049*4882a593Smuzhiyun #define WM831X_LDO9_ON_VSEL_WIDTH 5 /* LDO9_ON_VSEL - [4:0] */ 1050*4882a593Smuzhiyun 1051*4882a593Smuzhiyun /* 1052*4882a593Smuzhiyun * R16514 (0x4082) - LDO9 SLEEP Control 1053*4882a593Smuzhiyun */ 1054*4882a593Smuzhiyun #define WM831X_LDO9_SLP_SLOT_MASK 0xE000 /* LDO9_SLP_SLOT - [15:13] */ 1055*4882a593Smuzhiyun #define WM831X_LDO9_SLP_SLOT_SHIFT 13 /* LDO9_SLP_SLOT - [15:13] */ 1056*4882a593Smuzhiyun #define WM831X_LDO9_SLP_SLOT_WIDTH 3 /* LDO9_SLP_SLOT - [15:13] */ 1057*4882a593Smuzhiyun #define WM831X_LDO9_SLP_MODE 0x0100 /* LDO9_SLP_MODE */ 1058*4882a593Smuzhiyun #define WM831X_LDO9_SLP_MODE_MASK 0x0100 /* LDO9_SLP_MODE */ 1059*4882a593Smuzhiyun #define WM831X_LDO9_SLP_MODE_SHIFT 8 /* LDO9_SLP_MODE */ 1060*4882a593Smuzhiyun #define WM831X_LDO9_SLP_MODE_WIDTH 1 /* LDO9_SLP_MODE */ 1061*4882a593Smuzhiyun #define WM831X_LDO9_SLP_VSEL_MASK 0x001F /* LDO9_SLP_VSEL - [4:0] */ 1062*4882a593Smuzhiyun #define WM831X_LDO9_SLP_VSEL_SHIFT 0 /* LDO9_SLP_VSEL - [4:0] */ 1063*4882a593Smuzhiyun #define WM831X_LDO9_SLP_VSEL_WIDTH 5 /* LDO9_SLP_VSEL - [4:0] */ 1064*4882a593Smuzhiyun 1065*4882a593Smuzhiyun /* 1066*4882a593Smuzhiyun * R16515 (0x4083) - LDO10 Control 1067*4882a593Smuzhiyun */ 1068*4882a593Smuzhiyun #define WM831X_LDO10_ERR_ACT_MASK 0xC000 /* LDO10_ERR_ACT - [15:14] */ 1069*4882a593Smuzhiyun #define WM831X_LDO10_ERR_ACT_SHIFT 14 /* LDO10_ERR_ACT - [15:14] */ 1070*4882a593Smuzhiyun #define WM831X_LDO10_ERR_ACT_WIDTH 2 /* LDO10_ERR_ACT - [15:14] */ 1071*4882a593Smuzhiyun #define WM831X_LDO10_HWC_SRC_MASK 0x1800 /* LDO10_HWC_SRC - [12:11] */ 1072*4882a593Smuzhiyun #define WM831X_LDO10_HWC_SRC_SHIFT 11 /* LDO10_HWC_SRC - [12:11] */ 1073*4882a593Smuzhiyun #define WM831X_LDO10_HWC_SRC_WIDTH 2 /* LDO10_HWC_SRC - [12:11] */ 1074*4882a593Smuzhiyun #define WM831X_LDO10_HWC_VSEL 0x0400 /* LDO10_HWC_VSEL */ 1075*4882a593Smuzhiyun #define WM831X_LDO10_HWC_VSEL_MASK 0x0400 /* LDO10_HWC_VSEL */ 1076*4882a593Smuzhiyun #define WM831X_LDO10_HWC_VSEL_SHIFT 10 /* LDO10_HWC_VSEL */ 1077*4882a593Smuzhiyun #define WM831X_LDO10_HWC_VSEL_WIDTH 1 /* LDO10_HWC_VSEL */ 1078*4882a593Smuzhiyun #define WM831X_LDO10_HWC_MODE_MASK 0x0300 /* LDO10_HWC_MODE - [9:8] */ 1079*4882a593Smuzhiyun #define WM831X_LDO10_HWC_MODE_SHIFT 8 /* LDO10_HWC_MODE - [9:8] */ 1080*4882a593Smuzhiyun #define WM831X_LDO10_HWC_MODE_WIDTH 2 /* LDO10_HWC_MODE - [9:8] */ 1081*4882a593Smuzhiyun #define WM831X_LDO10_FLT 0x0080 /* LDO10_FLT */ 1082*4882a593Smuzhiyun #define WM831X_LDO10_FLT_MASK 0x0080 /* LDO10_FLT */ 1083*4882a593Smuzhiyun #define WM831X_LDO10_FLT_SHIFT 7 /* LDO10_FLT */ 1084*4882a593Smuzhiyun #define WM831X_LDO10_FLT_WIDTH 1 /* LDO10_FLT */ 1085*4882a593Smuzhiyun #define WM831X_LDO10_SWI 0x0040 /* LDO10_SWI */ 1086*4882a593Smuzhiyun #define WM831X_LDO10_SWI_MASK 0x0040 /* LDO10_SWI */ 1087*4882a593Smuzhiyun #define WM831X_LDO10_SWI_SHIFT 6 /* LDO10_SWI */ 1088*4882a593Smuzhiyun #define WM831X_LDO10_SWI_WIDTH 1 /* LDO10_SWI */ 1089*4882a593Smuzhiyun 1090*4882a593Smuzhiyun /* 1091*4882a593Smuzhiyun * R16516 (0x4084) - LDO10 ON Control 1092*4882a593Smuzhiyun */ 1093*4882a593Smuzhiyun #define WM831X_LDO10_ON_SLOT_MASK 0xE000 /* LDO10_ON_SLOT - [15:13] */ 1094*4882a593Smuzhiyun #define WM831X_LDO10_ON_SLOT_SHIFT 13 /* LDO10_ON_SLOT - [15:13] */ 1095*4882a593Smuzhiyun #define WM831X_LDO10_ON_SLOT_WIDTH 3 /* LDO10_ON_SLOT - [15:13] */ 1096*4882a593Smuzhiyun #define WM831X_LDO10_ON_MODE 0x0100 /* LDO10_ON_MODE */ 1097*4882a593Smuzhiyun #define WM831X_LDO10_ON_MODE_MASK 0x0100 /* LDO10_ON_MODE */ 1098*4882a593Smuzhiyun #define WM831X_LDO10_ON_MODE_SHIFT 8 /* LDO10_ON_MODE */ 1099*4882a593Smuzhiyun #define WM831X_LDO10_ON_MODE_WIDTH 1 /* LDO10_ON_MODE */ 1100*4882a593Smuzhiyun #define WM831X_LDO10_ON_VSEL_MASK 0x001F /* LDO10_ON_VSEL - [4:0] */ 1101*4882a593Smuzhiyun #define WM831X_LDO10_ON_VSEL_SHIFT 0 /* LDO10_ON_VSEL - [4:0] */ 1102*4882a593Smuzhiyun #define WM831X_LDO10_ON_VSEL_WIDTH 5 /* LDO10_ON_VSEL - [4:0] */ 1103*4882a593Smuzhiyun 1104*4882a593Smuzhiyun /* 1105*4882a593Smuzhiyun * R16517 (0x4085) - LDO10 SLEEP Control 1106*4882a593Smuzhiyun */ 1107*4882a593Smuzhiyun #define WM831X_LDO10_SLP_SLOT_MASK 0xE000 /* LDO10_SLP_SLOT - [15:13] */ 1108*4882a593Smuzhiyun #define WM831X_LDO10_SLP_SLOT_SHIFT 13 /* LDO10_SLP_SLOT - [15:13] */ 1109*4882a593Smuzhiyun #define WM831X_LDO10_SLP_SLOT_WIDTH 3 /* LDO10_SLP_SLOT - [15:13] */ 1110*4882a593Smuzhiyun #define WM831X_LDO10_SLP_MODE 0x0100 /* LDO10_SLP_MODE */ 1111*4882a593Smuzhiyun #define WM831X_LDO10_SLP_MODE_MASK 0x0100 /* LDO10_SLP_MODE */ 1112*4882a593Smuzhiyun #define WM831X_LDO10_SLP_MODE_SHIFT 8 /* LDO10_SLP_MODE */ 1113*4882a593Smuzhiyun #define WM831X_LDO10_SLP_MODE_WIDTH 1 /* LDO10_SLP_MODE */ 1114*4882a593Smuzhiyun #define WM831X_LDO10_SLP_VSEL_MASK 0x001F /* LDO10_SLP_VSEL - [4:0] */ 1115*4882a593Smuzhiyun #define WM831X_LDO10_SLP_VSEL_SHIFT 0 /* LDO10_SLP_VSEL - [4:0] */ 1116*4882a593Smuzhiyun #define WM831X_LDO10_SLP_VSEL_WIDTH 5 /* LDO10_SLP_VSEL - [4:0] */ 1117*4882a593Smuzhiyun 1118*4882a593Smuzhiyun /* 1119*4882a593Smuzhiyun * R16519 (0x4087) - LDO11 ON Control 1120*4882a593Smuzhiyun */ 1121*4882a593Smuzhiyun #define WM831X_LDO11_ON_SLOT_MASK 0xE000 /* LDO11_ON_SLOT - [15:13] */ 1122*4882a593Smuzhiyun #define WM831X_LDO11_ON_SLOT_SHIFT 13 /* LDO11_ON_SLOT - [15:13] */ 1123*4882a593Smuzhiyun #define WM831X_LDO11_ON_SLOT_WIDTH 3 /* LDO11_ON_SLOT - [15:13] */ 1124*4882a593Smuzhiyun #define WM831X_LDO11_OFFENA 0x1000 /* LDO11_OFFENA */ 1125*4882a593Smuzhiyun #define WM831X_LDO11_OFFENA_MASK 0x1000 /* LDO11_OFFENA */ 1126*4882a593Smuzhiyun #define WM831X_LDO11_OFFENA_SHIFT 12 /* LDO11_OFFENA */ 1127*4882a593Smuzhiyun #define WM831X_LDO11_OFFENA_WIDTH 1 /* LDO11_OFFENA */ 1128*4882a593Smuzhiyun #define WM831X_LDO11_VSEL_SRC 0x0080 /* LDO11_VSEL_SRC */ 1129*4882a593Smuzhiyun #define WM831X_LDO11_VSEL_SRC_MASK 0x0080 /* LDO11_VSEL_SRC */ 1130*4882a593Smuzhiyun #define WM831X_LDO11_VSEL_SRC_SHIFT 7 /* LDO11_VSEL_SRC */ 1131*4882a593Smuzhiyun #define WM831X_LDO11_VSEL_SRC_WIDTH 1 /* LDO11_VSEL_SRC */ 1132*4882a593Smuzhiyun #define WM831X_LDO11_ON_VSEL_MASK 0x000F /* LDO11_ON_VSEL - [3:0] */ 1133*4882a593Smuzhiyun #define WM831X_LDO11_ON_VSEL_SHIFT 0 /* LDO11_ON_VSEL - [3:0] */ 1134*4882a593Smuzhiyun #define WM831X_LDO11_ON_VSEL_WIDTH 4 /* LDO11_ON_VSEL - [3:0] */ 1135*4882a593Smuzhiyun 1136*4882a593Smuzhiyun /* 1137*4882a593Smuzhiyun * R16520 (0x4088) - LDO11 SLEEP Control 1138*4882a593Smuzhiyun */ 1139*4882a593Smuzhiyun #define WM831X_LDO11_SLP_SLOT_MASK 0xE000 /* LDO11_SLP_SLOT - [15:13] */ 1140*4882a593Smuzhiyun #define WM831X_LDO11_SLP_SLOT_SHIFT 13 /* LDO11_SLP_SLOT - [15:13] */ 1141*4882a593Smuzhiyun #define WM831X_LDO11_SLP_SLOT_WIDTH 3 /* LDO11_SLP_SLOT - [15:13] */ 1142*4882a593Smuzhiyun #define WM831X_LDO11_SLP_VSEL_MASK 0x000F /* LDO11_SLP_VSEL - [3:0] */ 1143*4882a593Smuzhiyun #define WM831X_LDO11_SLP_VSEL_SHIFT 0 /* LDO11_SLP_VSEL - [3:0] */ 1144*4882a593Smuzhiyun #define WM831X_LDO11_SLP_VSEL_WIDTH 4 /* LDO11_SLP_VSEL - [3:0] */ 1145*4882a593Smuzhiyun 1146*4882a593Smuzhiyun /* 1147*4882a593Smuzhiyun * R16526 (0x408E) - Power Good Source 1 1148*4882a593Smuzhiyun */ 1149*4882a593Smuzhiyun #define WM831X_DC4_OK 0x0008 /* DC4_OK */ 1150*4882a593Smuzhiyun #define WM831X_DC4_OK_MASK 0x0008 /* DC4_OK */ 1151*4882a593Smuzhiyun #define WM831X_DC4_OK_SHIFT 3 /* DC4_OK */ 1152*4882a593Smuzhiyun #define WM831X_DC4_OK_WIDTH 1 /* DC4_OK */ 1153*4882a593Smuzhiyun #define WM831X_DC3_OK 0x0004 /* DC3_OK */ 1154*4882a593Smuzhiyun #define WM831X_DC3_OK_MASK 0x0004 /* DC3_OK */ 1155*4882a593Smuzhiyun #define WM831X_DC3_OK_SHIFT 2 /* DC3_OK */ 1156*4882a593Smuzhiyun #define WM831X_DC3_OK_WIDTH 1 /* DC3_OK */ 1157*4882a593Smuzhiyun #define WM831X_DC2_OK 0x0002 /* DC2_OK */ 1158*4882a593Smuzhiyun #define WM831X_DC2_OK_MASK 0x0002 /* DC2_OK */ 1159*4882a593Smuzhiyun #define WM831X_DC2_OK_SHIFT 1 /* DC2_OK */ 1160*4882a593Smuzhiyun #define WM831X_DC2_OK_WIDTH 1 /* DC2_OK */ 1161*4882a593Smuzhiyun #define WM831X_DC1_OK 0x0001 /* DC1_OK */ 1162*4882a593Smuzhiyun #define WM831X_DC1_OK_MASK 0x0001 /* DC1_OK */ 1163*4882a593Smuzhiyun #define WM831X_DC1_OK_SHIFT 0 /* DC1_OK */ 1164*4882a593Smuzhiyun #define WM831X_DC1_OK_WIDTH 1 /* DC1_OK */ 1165*4882a593Smuzhiyun 1166*4882a593Smuzhiyun /* 1167*4882a593Smuzhiyun * R16527 (0x408F) - Power Good Source 2 1168*4882a593Smuzhiyun */ 1169*4882a593Smuzhiyun #define WM831X_LDO10_OK 0x0200 /* LDO10_OK */ 1170*4882a593Smuzhiyun #define WM831X_LDO10_OK_MASK 0x0200 /* LDO10_OK */ 1171*4882a593Smuzhiyun #define WM831X_LDO10_OK_SHIFT 9 /* LDO10_OK */ 1172*4882a593Smuzhiyun #define WM831X_LDO10_OK_WIDTH 1 /* LDO10_OK */ 1173*4882a593Smuzhiyun #define WM831X_LDO9_OK 0x0100 /* LDO9_OK */ 1174*4882a593Smuzhiyun #define WM831X_LDO9_OK_MASK 0x0100 /* LDO9_OK */ 1175*4882a593Smuzhiyun #define WM831X_LDO9_OK_SHIFT 8 /* LDO9_OK */ 1176*4882a593Smuzhiyun #define WM831X_LDO9_OK_WIDTH 1 /* LDO9_OK */ 1177*4882a593Smuzhiyun #define WM831X_LDO8_OK 0x0080 /* LDO8_OK */ 1178*4882a593Smuzhiyun #define WM831X_LDO8_OK_MASK 0x0080 /* LDO8_OK */ 1179*4882a593Smuzhiyun #define WM831X_LDO8_OK_SHIFT 7 /* LDO8_OK */ 1180*4882a593Smuzhiyun #define WM831X_LDO8_OK_WIDTH 1 /* LDO8_OK */ 1181*4882a593Smuzhiyun #define WM831X_LDO7_OK 0x0040 /* LDO7_OK */ 1182*4882a593Smuzhiyun #define WM831X_LDO7_OK_MASK 0x0040 /* LDO7_OK */ 1183*4882a593Smuzhiyun #define WM831X_LDO7_OK_SHIFT 6 /* LDO7_OK */ 1184*4882a593Smuzhiyun #define WM831X_LDO7_OK_WIDTH 1 /* LDO7_OK */ 1185*4882a593Smuzhiyun #define WM831X_LDO6_OK 0x0020 /* LDO6_OK */ 1186*4882a593Smuzhiyun #define WM831X_LDO6_OK_MASK 0x0020 /* LDO6_OK */ 1187*4882a593Smuzhiyun #define WM831X_LDO6_OK_SHIFT 5 /* LDO6_OK */ 1188*4882a593Smuzhiyun #define WM831X_LDO6_OK_WIDTH 1 /* LDO6_OK */ 1189*4882a593Smuzhiyun #define WM831X_LDO5_OK 0x0010 /* LDO5_OK */ 1190*4882a593Smuzhiyun #define WM831X_LDO5_OK_MASK 0x0010 /* LDO5_OK */ 1191*4882a593Smuzhiyun #define WM831X_LDO5_OK_SHIFT 4 /* LDO5_OK */ 1192*4882a593Smuzhiyun #define WM831X_LDO5_OK_WIDTH 1 /* LDO5_OK */ 1193*4882a593Smuzhiyun #define WM831X_LDO4_OK 0x0008 /* LDO4_OK */ 1194*4882a593Smuzhiyun #define WM831X_LDO4_OK_MASK 0x0008 /* LDO4_OK */ 1195*4882a593Smuzhiyun #define WM831X_LDO4_OK_SHIFT 3 /* LDO4_OK */ 1196*4882a593Smuzhiyun #define WM831X_LDO4_OK_WIDTH 1 /* LDO4_OK */ 1197*4882a593Smuzhiyun #define WM831X_LDO3_OK 0x0004 /* LDO3_OK */ 1198*4882a593Smuzhiyun #define WM831X_LDO3_OK_MASK 0x0004 /* LDO3_OK */ 1199*4882a593Smuzhiyun #define WM831X_LDO3_OK_SHIFT 2 /* LDO3_OK */ 1200*4882a593Smuzhiyun #define WM831X_LDO3_OK_WIDTH 1 /* LDO3_OK */ 1201*4882a593Smuzhiyun #define WM831X_LDO2_OK 0x0002 /* LDO2_OK */ 1202*4882a593Smuzhiyun #define WM831X_LDO2_OK_MASK 0x0002 /* LDO2_OK */ 1203*4882a593Smuzhiyun #define WM831X_LDO2_OK_SHIFT 1 /* LDO2_OK */ 1204*4882a593Smuzhiyun #define WM831X_LDO2_OK_WIDTH 1 /* LDO2_OK */ 1205*4882a593Smuzhiyun #define WM831X_LDO1_OK 0x0001 /* LDO1_OK */ 1206*4882a593Smuzhiyun #define WM831X_LDO1_OK_MASK 0x0001 /* LDO1_OK */ 1207*4882a593Smuzhiyun #define WM831X_LDO1_OK_SHIFT 0 /* LDO1_OK */ 1208*4882a593Smuzhiyun #define WM831X_LDO1_OK_WIDTH 1 /* LDO1_OK */ 1209*4882a593Smuzhiyun 1210*4882a593Smuzhiyun #define WM831X_ISINK_MAX_ISEL 55 1211*4882a593Smuzhiyun extern const unsigned int wm831x_isinkv_values[WM831X_ISINK_MAX_ISEL + 1]; 1212*4882a593Smuzhiyun 1213*4882a593Smuzhiyun #endif 1214