0001
0002
0003
0004
0005
0006
0007
0008 #ifndef _MAX98925_H
0009 #define _MAX98925_H
0010
0011 #define MAX98925_VERSION 0x51
0012 #define MAX98925_VERSION1 0x80
0013 #define MAX98925_VBAT_DATA 0x00
0014 #define MAX98925_VBST_DATA 0x01
0015 #define MAX98925_LIVE_STATUS0 0x02
0016 #define MAX98925_LIVE_STATUS1 0x03
0017 #define MAX98925_LIVE_STATUS2 0x04
0018 #define MAX98925_STATE0 0x05
0019 #define MAX98925_STATE1 0x06
0020 #define MAX98925_STATE2 0x07
0021 #define MAX98925_FLAG0 0x08
0022 #define MAX98925_FLAG1 0x09
0023 #define MAX98925_FLAG2 0x0A
0024 #define MAX98925_IRQ_ENABLE0 0x0B
0025 #define MAX98925_IRQ_ENABLE1 0x0C
0026 #define MAX98925_IRQ_ENABLE2 0x0D
0027 #define MAX98925_IRQ_CLEAR0 0x0E
0028 #define MAX98925_IRQ_CLEAR1 0x0F
0029 #define MAX98925_IRQ_CLEAR2 0x10
0030 #define MAX98925_MAP0 0x11
0031 #define MAX98925_MAP1 0x12
0032 #define MAX98925_MAP2 0x13
0033 #define MAX98925_MAP3 0x14
0034 #define MAX98925_MAP4 0x15
0035 #define MAX98925_MAP5 0x16
0036 #define MAX98925_MAP6 0x17
0037 #define MAX98925_MAP7 0x18
0038 #define MAX98925_MAP8 0x19
0039 #define MAX98925_DAI_CLK_MODE1 0x1A
0040 #define MAX98925_DAI_CLK_MODE2 0x1B
0041 #define MAX98925_DAI_CLK_DIV_M_MSBS 0x1C
0042 #define MAX98925_DAI_CLK_DIV_M_LSBS 0x1D
0043 #define MAX98925_DAI_CLK_DIV_N_MSBS 0x1E
0044 #define MAX98925_DAI_CLK_DIV_N_LSBS 0x1F
0045 #define MAX98925_FORMAT 0x20
0046 #define MAX98925_TDM_SLOT_SELECT 0x21
0047 #define MAX98925_DOUT_CFG_VMON 0x22
0048 #define MAX98925_DOUT_CFG_IMON 0x23
0049 #define MAX98925_DOUT_CFG_VBAT 0x24
0050 #define MAX98925_DOUT_CFG_VBST 0x25
0051 #define MAX98925_DOUT_CFG_FLAG 0x26
0052 #define MAX98925_DOUT_HIZ_CFG1 0x27
0053 #define MAX98925_DOUT_HIZ_CFG2 0x28
0054 #define MAX98925_DOUT_HIZ_CFG3 0x29
0055 #define MAX98925_DOUT_HIZ_CFG4 0x2A
0056 #define MAX98925_DOUT_DRV_STRENGTH 0x2B
0057 #define MAX98925_FILTERS 0x2C
0058 #define MAX98925_GAIN 0x2D
0059 #define MAX98925_GAIN_RAMPING 0x2E
0060 #define MAX98925_SPK_AMP 0x2F
0061 #define MAX98925_THRESHOLD 0x30
0062 #define MAX98925_ALC_ATTACK 0x31
0063 #define MAX98925_ALC_ATTEN_RLS 0x32
0064 #define MAX98925_ALC_HOLD_RLS 0x33
0065 #define MAX98925_ALC_CONFIGURATION 0x34
0066 #define MAX98925_BOOST_CONVERTER 0x35
0067 #define MAX98925_BLOCK_ENABLE 0x36
0068 #define MAX98925_CONFIGURATION 0x37
0069 #define MAX98925_GLOBAL_ENABLE 0x38
0070 #define MAX98925_BOOST_LIMITER 0x3A
0071 #define MAX98925_REV_VERSION 0xFF
0072
0073 #define MAX98925_REG_CNT (MAX98925_R03A_BOOST_LIMITER+1)
0074
0075
0076
0077
0078 #define M98925_THERMWARN_STATUS_MASK (1<<3)
0079 #define M98925_THERMWARN_STATUS_SHIFT 3
0080 #define M98925_THERMWARN_STATUS_WIDTH 1
0081 #define M98925_THERMSHDN_STATUS_MASK (1<<1)
0082 #define M98925_THERMSHDN_STATUS_SHIFT 1
0083 #define M98925_THERMSHDN_STATUS_WIDTH 1
0084
0085
0086 #define M98925_SPKCURNT_STATUS_MASK (1<<5)
0087 #define M98925_SPKCURNT_STATUS_SHIFT 5
0088 #define M98925_SPKCURNT_STATUS_WIDTH 1
0089 #define M98925_WATCHFAIL_STATUS_MASK (1<<4)
0090 #define M98925_WATCHFAIL_STATUS_SHIFT 4
0091 #define M98925_WATCHFAIL_STATUS_WIDTH 1
0092 #define M98925_ALCINFH_STATUS_MASK (1<<3)
0093 #define M98925_ALCINFH_STATUS_SHIFT 3
0094 #define M98925_ALCINFH_STATUS_WIDTH 1
0095 #define M98925_ALCACT_STATUS_MASK (1<<2)
0096 #define M98925_ALCACT_STATUS_SHIFT 2
0097 #define M98925_ALCACT_STATUS_WIDTH 1
0098 #define M98925_ALCMUT_STATUS_MASK (1<<1)
0099 #define M98925_ALCMUT_STATUS_SHIFT 1
0100 #define M98925_ALCMUT_STATUS_WIDTH 1
0101 #define M98925_ACLP_STATUS_MASK (1<<0)
0102 #define M98925_ACLP_STATUS_SHIFT 0
0103 #define M98925_ACLP_STATUS_WIDTH 1
0104
0105
0106 #define M98925_SLOTOVRN_STATUS_MASK (1<<6)
0107 #define M98925_SLOTOVRN_STATUS_SHIFT 6
0108 #define M98925_SLOTOVRN_STATUS_WIDTH 1
0109 #define M98925_INVALSLOT_STATUS_MASK (1<<5)
0110 #define M98925_INVALSLOT_STATUS_SHIFT 5
0111 #define M98925_INVALSLOT_STATUS_WIDTH 1
0112 #define M98925_SLOTCNFLT_STATUS_MASK (1<<4)
0113 #define M98925_SLOTCNFLT_STATUS_SHIFT 4
0114 #define M98925_SLOTCNFLT_STATUS_WIDTH 1
0115 #define M98925_VBSTOVFL_STATUS_MASK (1<<3)
0116 #define M98925_VBSTOVFL_STATUS_SHIFT 3
0117 #define M98925_VBSTOVFL_STATUS_WIDTH 1
0118 #define M98925_VBATOVFL_STATUS_MASK (1<<2)
0119 #define M98925_VBATOVFL_STATUS_SHIFT 2
0120 #define M98925_VBATOVFL_STATUS_WIDTH 1
0121 #define M98925_IMONOVFL_STATUS_MASK (1<<1)
0122 #define M98925_IMONOVFL_STATUS_SHIFT 1
0123 #define M98925_IMONOVFL_STATUS_WIDTH 1
0124 #define M98925_VMONOVFL_STATUS_MASK (1<<0)
0125 #define M98925_VMONOVFL_STATUS_SHIFT 0
0126 #define M98925_VMONOVFL_STATUS_WIDTH 1
0127
0128
0129 #define M98925_THERMWARN_END_STATE_MASK (1<<3)
0130 #define M98925_THERMWARN_END_STATE_SHIFT 3
0131 #define M98925_THERMWARN_END_STATE_WIDTH 1
0132 #define M98925_THERMWARN_BGN_STATE_MASK (1<<2)
0133 #define M98925_THERMWARN_BGN_STATE_SHIFT 1
0134 #define M98925_THERMWARN_BGN_STATE_WIDTH 1
0135 #define M98925_THERMSHDN_END_STATE_MASK (1<<1)
0136 #define M98925_THERMSHDN_END_STATE_SHIFT 1
0137 #define M98925_THERMSHDN_END_STATE_WIDTH 1
0138 #define M98925_THERMSHDN_BGN_STATE_MASK (1<<0)
0139 #define M98925_THERMSHDN_BGN_STATE_SHIFT 0
0140 #define M98925_THERMSHDN_BGN_STATE_WIDTH 1
0141
0142
0143 #define M98925_SPRCURNT_STATE_MASK (1<<5)
0144 #define M98925_SPRCURNT_STATE_SHIFT 5
0145 #define M98925_SPRCURNT_STATE_WIDTH 1
0146 #define M98925_WATCHFAIL_STATE_MASK (1<<4)
0147 #define M98925_WATCHFAIL_STATE_SHIFT 4
0148 #define M98925_WATCHFAIL_STATE_WIDTH 1
0149 #define M98925_ALCINFH_STATE_MASK (1<<3)
0150 #define M98925_ALCINFH_STATE_SHIFT 3
0151 #define M98925_ALCINFH_STATE_WIDTH 1
0152 #define M98925_ALCACT_STATE_MASK (1<<2)
0153 #define M98925_ALCACT_STATE_SHIFT 2
0154 #define M98925_ALCACT_STATE_WIDTH 1
0155 #define M98925_ALCMUT_STATE_MASK (1<<1)
0156 #define M98925_ALCMUT_STATE_SHIFT 1
0157 #define M98925_ALCMUT_STATE_WIDTH 1
0158 #define M98925_ALCP_STATE_MASK (1<<0)
0159 #define M98925_ALCP_STATE_SHIFT 0
0160 #define M98925_ALCP_STATE_WIDTH 1
0161
0162
0163 #define M98925_SLOTOVRN_STATE_MASK (1<<6)
0164 #define M98925_SLOTOVRN_STATE_SHIFT 6
0165 #define M98925_SLOTOVRN_STATE_WIDTH 1
0166 #define M98925_INVALSLOT_STATE_MASK (1<<5)
0167 #define M98925_INVALSLOT_STATE_SHIFT 5
0168 #define M98925_INVALSLOT_STATE_WIDTH 1
0169 #define M98925_SLOTCNFLT_STATE_MASK (1<<4)
0170 #define M98925_SLOTCNFLT_STATE_SHIFT 4
0171 #define M98925_SLOTCNFLT_STATE_WIDTH 1
0172 #define M98925_VBSTOVFL_STATE_MASK (1<<3)
0173 #define M98925_VBSTOVFL_STATE_SHIFT 3
0174 #define M98925_VBSTOVFL_STATE_WIDTH 1
0175 #define M98925_VBATOVFL_STATE_MASK (1<<2)
0176 #define M98925_VBATOVFL_STATE_SHIFT 2
0177 #define M98925_VBATOVFL_STATE_WIDTH 1
0178 #define M98925_IMONOVFL_STATE_MASK (1<<1)
0179 #define M98925_IMONOVFL_STATE_SHIFT 1
0180 #define M98925_IMONOVFL_STATE_WIDTH 1
0181 #define M98925_VMONOVFL_STATE_MASK (1<<0)
0182 #define M98925_VMONOVFL_STATE_SHIFT 0
0183 #define M98925_VMONOVFL_STATE_WIDTH 1
0184
0185
0186 #define M98925_THERMWARN_END_FLAG_MASK (1<<3)
0187 #define M98925_THERMWARN_END_FLAG_SHIFT 3
0188 #define M98925_THERMWARN_END_FLAG_WIDTH 1
0189 #define M98925_THERMWARN_BGN_FLAG_MASK (1<<2)
0190 #define M98925_THERMWARN_BGN_FLAG_SHIFT 2
0191 #define M98925_THERMWARN_BGN_FLAG_WIDTH 1
0192 #define M98925_THERMSHDN_END_FLAG_MASK (1<<1)
0193 #define M98925_THERMSHDN_END_FLAG_SHIFT 1
0194 #define M98925_THERMSHDN_END_FLAG_WIDTH 1
0195 #define M98925_THERMSHDN_BGN_FLAG_MASK (1<<0)
0196 #define M98925_THERMSHDN_BGN_FLAG_SHIFT 0
0197 #define M98925_THERMSHDN_BGN_FLAG_WIDTH 1
0198
0199
0200 #define M98925_SPKCURNT_FLAG_MASK (1<<5)
0201 #define M98925_SPKCURNT_FLAG_SHIFT 5
0202 #define M98925_SPKCURNT_FLAG_WIDTH 1
0203 #define M98925_WATCHFAIL_FLAG_MASK (1<<4)
0204 #define M98925_WATCHFAIL_FLAG_SHIFT 4
0205 #define M98925_WATCHFAIL_FLAG_WIDTH 1
0206 #define M98925_ALCINFH_FLAG_MASK (1<<3)
0207 #define M98925_ALCINFH_FLAG_SHIFT 3
0208 #define M98925_ALCINFH_FLAG_WIDTH 1
0209 #define M98925_ALCACT_FLAG_MASK (1<<2)
0210 #define M98925_ALCACT_FLAG_SHIFT 2
0211 #define M98925_ALCACT_FLAG_WIDTH 1
0212 #define M98925_ALCMUT_FLAG_MASK (1<<1)
0213 #define M98925_ALCMUT_FLAG_SHIFT 1
0214 #define M98925_ALCMUT_FLAG_WIDTH 1
0215 #define M98925_ALCP_FLAG_MASK (1<<0)
0216 #define M98925_ALCP_FLAG_SHIFT 0
0217 #define M98925_ALCP_FLAG_WIDTH 1
0218
0219
0220 #define M98925_SLOTOVRN_FLAG_MASK (1<<6)
0221 #define M98925_SLOTOVRN_FLAG_SHIFT 6
0222 #define M98925_SLOTOVRN_FLAG_WIDTH 1
0223 #define M98925_INVALSLOT_FLAG_MASK (1<<5)
0224 #define M98925_INVALSLOT_FLAG_SHIFT 5
0225 #define M98925_INVALSLOT_FLAG_WIDTH 1
0226 #define M98925_SLOTCNFLT_FLAG_MASK (1<<4)
0227 #define M98925_SLOTCNFLT_FLAG_SHIFT 4
0228 #define M98925_SLOTCNFLT_FLAG_WIDTH 1
0229 #define M98925_VBSTOVFL_FLAG_MASK (1<<3)
0230 #define M98925_VBSTOVFL_FLAG_SHIFT 3
0231 #define M98925_VBSTOVFL_FLAG_WIDTH 1
0232 #define M98925_VBATOVFL_FLAG_MASK (1<<2)
0233 #define M98925_VBATOVFL_FLAG_SHIFT 2
0234 #define M98925_VBATOVFL_FLAG_WIDTH 1
0235 #define M98925_IMONOVFL_FLAG_MASK (1<<1)
0236 #define M98925_IMONOVFL_FLAG_SHIFT 1
0237 #define M98925_IMONOVFL_FLAG_WIDTH 1
0238 #define M98925_VMONOVFL_FLAG_MASK (1<<0)
0239 #define M98925_VMONOVFL_FLAG_SHIFT 0
0240 #define M98925_VMONOVFL_FLAG_WIDTH 1
0241
0242
0243 #define M98925_THERMWARN_END_EN_MASK (1<<3)
0244 #define M98925_THERMWARN_END_EN_SHIFT 3
0245 #define M98925_THERMWARN_END_EN_WIDTH 1
0246 #define M98925_THERMWARN_BGN_EN_MASK (1<<2)
0247 #define M98925_THERMWARN_BGN_EN_SHIFT 2
0248 #define M98925_THERMWARN_BGN_EN_WIDTH 1
0249 #define M98925_THERMSHDN_END_EN_MASK (1<<1)
0250 #define M98925_THERMSHDN_END_EN_SHIFT 1
0251 #define M98925_THERMSHDN_END_EN_WIDTH 1
0252 #define M98925_THERMSHDN_BGN_EN_MASK (1<<0)
0253 #define M98925_THERMSHDN_BGN_EN_SHIFT 0
0254 #define M98925_THERMSHDN_BGN_EN_WIDTH 1
0255
0256
0257 #define M98925_SPKCURNT_EN_MASK (1<<5)
0258 #define M98925_SPKCURNT_EN_SHIFT 5
0259 #define M98925_SPKCURNT_EN_WIDTH 1
0260 #define M98925_WATCHFAIL_EN_MASK (1<<4)
0261 #define M98925_WATCHFAIL_EN_SHIFT 4
0262 #define M98925_WATCHFAIL_EN_WIDTH 1
0263 #define M98925_ALCINFH_EN_MASK (1<<3)
0264 #define M98925_ALCINFH_EN_SHIFT 3
0265 #define M98925_ALCINFH_EN_WIDTH 1
0266 #define M98925_ALCACT_EN_MASK (1<<2)
0267 #define M98925_ALCACT_EN_SHIFT 2
0268 #define M98925_ALCACT_EN_WIDTH 1
0269 #define M98925_ALCMUT_EN_MASK (1<<1)
0270 #define M98925_ALCMUT_EN_SHIFT 1
0271 #define M98925_ALCMUT_EN_WIDTH 1
0272 #define M98925_ALCP_EN_MASK (1<<0)
0273 #define M98925_ALCP_EN_SHIFT 0
0274 #define M98925_ALCP_EN_WIDTH 1
0275
0276
0277 #define M98925_SLOTOVRN_EN_MASK (1<<6)
0278 #define M98925_SLOTOVRN_EN_SHIFT 6
0279 #define M98925_SLOTOVRN_EN_WIDTH 1
0280 #define M98925_INVALSLOT_EN_MASK (1<<5)
0281 #define M98925_INVALSLOT_EN_SHIFT 5
0282 #define M98925_INVALSLOT_EN_WIDTH 1
0283 #define M98925_SLOTCNFLT_EN_MASK (1<<4)
0284 #define M98925_SLOTCNFLT_EN_SHIFT 4
0285 #define M98925_SLOTCNFLT_EN_WIDTH 1
0286 #define M98925_VBSTOVFL_EN_MASK (1<<3)
0287 #define M98925_VBSTOVFL_EN_SHIFT 3
0288 #define M98925_VBSTOVFL_EN_WIDTH 1
0289 #define M98925_VBATOVFL_EN_MASK (1<<2)
0290 #define M98925_VBATOVFL_EN_SHIFT 2
0291 #define M98925_VBATOVFL_EN_WIDTH 1
0292 #define M98925_IMONOVFL_EN_MASK (1<<1)
0293 #define M98925_IMONOVFL_EN_SHIFT 1
0294 #define M98925_IMONOVFL_EN_WIDTH 1
0295 #define M98925_VMONOVFL_EN_MASK (1<<0)
0296 #define M98925_VMONOVFL_EN_SHIFT 0
0297 #define M98925_VMONOVFL_EN_WIDTH 1
0298
0299
0300 #define M98925_THERMWARN_END_CLR_MASK (1<<3)
0301 #define M98925_THERMWARN_END_CLR_SHIFT 3
0302 #define M98925_THERMWARN_END_CLR_WIDTH 1
0303 #define M98925_THERMWARN_BGN_CLR_MASK (1<<2)
0304 #define M98925_THERMWARN_BGN_CLR_SHIFT 2
0305 #define M98925_THERMWARN_BGN_CLR_WIDTH 1
0306 #define M98925_THERMSHDN_END_CLR_MASK (1<<1)
0307 #define M98925_THERMSHDN_END_CLR_SHIFT 1
0308 #define M98925_THERMSHDN_END_CLR_WIDTH 1
0309 #define M98925_THERMSHDN_BGN_CLR_MASK (1<<0)
0310 #define M98925_THERMSHDN_BGN_CLR_SHIFT 0
0311 #define M98925_THERMSHDN_BGN_CLR_WIDTH 1
0312
0313
0314 #define M98925_SPKCURNT_CLR_MASK (1<<5)
0315 #define M98925_SPKCURNT_CLR_SHIFT 5
0316 #define M98925_SPKCURNT_CLR_WIDTH 1
0317 #define M98925_WATCHFAIL_CLR_MASK (1<<4)
0318 #define M98925_WATCHFAIL_CLR_SHIFT 4
0319 #define M98925_WATCHFAIL_CLR_WIDTH 1
0320 #define M98925_ALCINFH_CLR_MASK (1<<3)
0321 #define M98925_ALCINFH_CLR_SHIFT 3
0322 #define M98925_ALCINFH_CLR_WIDTH 1
0323 #define M98925_ALCACT_CLR_MASK (1<<2)
0324 #define M98925_ALCACT_CLR_SHIFT 2
0325 #define M98925_ALCACT_CLR_WIDTH 1
0326 #define M98925_ALCMUT_CLR_MASK (1<<1)
0327 #define M98925_ALCMUT_CLR_SHIFT 1
0328 #define M98925_ALCMUT_CLR_WIDTH 1
0329 #define M98925_ALCP_CLR_MASK (1<<0)
0330 #define M98925_ALCP_CLR_SHIFT 0
0331 #define M98925_ALCP_CLR_WIDTH 1
0332
0333
0334 #define M98925_SLOTOVRN_CLR_MASK (1<<6)
0335 #define M98925_SLOTOVRN_CLR_SHIFT 6
0336 #define M98925_SLOTOVRN_CLR_WIDTH 1
0337 #define M98925_INVALSLOT_CLR_MASK (1<<5)
0338 #define M98925_INVALSLOT_CLR_SHIFT 5
0339 #define M98925_INVALSLOT_CLR_WIDTH 1
0340 #define M98925_SLOTCNFLT_CLR_MASK (1<<4)
0341 #define M98925_SLOTCNFLT_CLR_SHIFT 4
0342 #define M98925_SLOTCNFLT_CLR_WIDTH 1
0343 #define M98925_VBSTOVFL_CLR_MASK (1<<3)
0344 #define M98925_VBSTOVFL_CLR_SHIFT 3
0345 #define M98925_VBSTOVFL_CLR_WIDTH 1
0346 #define M98925_VBATOVFL_CLR_MASK (1<<2)
0347 #define M98925_VBATOVFL_CLR_SHIFT 2
0348 #define M98925_VBATOVFL_CLR_WIDTH 1
0349 #define M98925_IMONOVFL_CLR_MASK (1<<1)
0350 #define M98925_IMONOVFL_CLR_SHIFT 1
0351 #define M98925_IMONOVFL_CLR_WIDTH 1
0352 #define M98925_VMONOVFL_CLR_MASK (1<<0)
0353 #define M98925_VMONOVFL_CLR_SHIFT 0
0354 #define M98925_VMONOVFL_CLR_WIDTH 1
0355
0356
0357 #define M98925_ER_THERMWARN_EN_MASK (1<<7)
0358 #define M98925_ER_THERMWARN_EN_SHIFT 7
0359 #define M98925_ER_THERMWARN_EN_WIDTH 1
0360 #define M98925_ER_THERMWARN_MAP_MASK (0x07<<4)
0361 #define M98925_ER_THERMWARN_MAP_SHIFT 4
0362 #define M98925_ER_THERMWARN_MAP_WIDTH 3
0363
0364
0365 #define M98925_ER_ALCMUT_EN_MASK (1<<7)
0366 #define M98925_ER_ALCMUT_EN_SHIFT 7
0367 #define M98925_ER_ALCMUT_EN_WIDTH 1
0368 #define M98925_ER_ALCMUT_MAP_MASK (0x07<<4)
0369 #define M98925_ER_ALCMUT_MAP_SHIFT 4
0370 #define M98925_ER_ALCMUT_MAP_WIDTH 3
0371 #define M98925_ER_ALCP_EN_MASK (1<<3)
0372 #define M98925_ER_ALCP_EN_SHIFT 3
0373 #define M98925_ER_ALCP_EN_WIDTH 1
0374 #define M98925_ER_ALCP_MAP_MASK (0x07<<0)
0375 #define M98925_ER_ALCP_MAP_SHIFT 0
0376 #define M98925_ER_ALCP_MAP_WIDTH 3
0377
0378
0379 #define M98925_ER_ALCINFH_EN_MASK (1<<7)
0380 #define M98925_ER_ALCINFH_EN_SHIFT 7
0381 #define M98925_ER_ALCINFH_EN_WIDTH 1
0382 #define M98925_ER_ALCINFH_MAP_MASK (0x07<<4)
0383 #define M98925_ER_ALCINFH_MAP_SHIFT 4
0384 #define M98925_ER_ALCINFH_MAP_WIDTH 3
0385 #define M98925_ER_ALCACT_EN_MASK (1<<3)
0386 #define M98925_ER_ALCACT_EN_SHIFT 3
0387 #define M98925_ER_ALCACT_EN_WIDTH 1
0388 #define M98925_ER_ALCACT_MAP_MASK (0x07<<0)
0389 #define M98925_ER_ALCACT_MAP_SHIFT 0
0390 #define M98925_ER_ALCACT_MAP_WIDTH 3
0391
0392
0393 #define M98925_ER_SPKCURNT_EN_MASK (1<<7)
0394 #define M98925_ER_SPKCURNT_EN_SHIFT 7
0395 #define M98925_ER_SPKCURNT_EN_WIDTH 1
0396 #define M98925_ER_SPKCURNT_MAP_MASK (0x07<<4)
0397 #define M98925_ER_SPKCURNT_MAP_SHIFT 4
0398 #define M98925_ER_SPKCURNT_MAP_WIDTH 3
0399
0400
0401
0402
0403
0404 #define M98925_ER_IMONOVFL_EN_MASK (1<<7)
0405 #define M98925_ER_IMONOVFL_EN_SHIFT 7
0406 #define M98925_ER_IMONOVFL_EN_WIDTH 1
0407 #define M98925_ER_IMONOVFL_MAP_MASK (0x07<<4)
0408 #define M98925_ER_IMONOVFL_MAP_SHIFT 4
0409 #define M98925_ER_IMONOVFL_MAP_WIDTH 3
0410 #define M98925_ER_VMONOVFL_EN_MASK (1<<3)
0411 #define M98925_ER_VMONOVFL_EN_SHIFT 3
0412 #define M98925_ER_VMONOVFL_EN_WIDTH 1
0413 #define M98925_ER_VMONOVFL_MAP_MASK (0x07<<0)
0414 #define M98925_ER_VMONOVFL_MAP_SHIFT 0
0415 #define M98925_ER_VMONOVFL_MAP_WIDTH 3
0416
0417
0418 #define M98925_ER_VBSTOVFL_EN_MASK (1<<7)
0419 #define M98925_ER_VBSTOVFL_EN_SHIFT 7
0420 #define M98925_ER_VBSTOVFL_EN_WIDTH 1
0421 #define M98925_ER_VBSTOVFL_MAP_MASK (0x07<<4)
0422 #define M98925_ER_VBSTOVFL_MAP_SHIFT 4
0423 #define M98925_ER_VBSTOVFL_MAP_WIDTH 3
0424 #define M98925_ER_VBATOVFL_EN_MASK (1<<3)
0425 #define M98925_ER_VBATOVFL_EN_SHIFT 3
0426 #define M98925_ER_VBATOVFL_EN_WIDTH 1
0427 #define M98925_ER_VBATOVFL_MAP_MASK (0x07<<0)
0428 #define M98925_ER_VBATOVFL_MAP_SHIFT 0
0429 #define M98925_ER_VBATOVFL_MAP_WIDTH 3
0430
0431
0432 #define M98925_ER_INVALSLOT_EN_MASK (1<<7)
0433 #define M98925_ER_INVALSLOT_EN_SHIFT 7
0434 #define M98925_ER_INVALSLOT_EN_WIDTH 1
0435 #define M98925_ER_INVALSLOT_MAP_MASK (0x07<<4)
0436 #define M98925_ER_INVALSLOT_MAP_SHIFT 4
0437 #define M98925_ER_INVALSLOT_MAP_WIDTH 3
0438 #define M98925_ER_SLOTCNFLT_EN_MASK (1<<3)
0439 #define M98925_ER_SLOTCNFLT_EN_SHIFT 3
0440 #define M98925_ER_SLOTCNFLT_EN_WIDTH 1
0441 #define M98925_ER_SLOTCNFLT_MAP_MASK (0x07<<0)
0442 #define M98925_ER_SLOTCNFLT_MAP_SHIFT 0
0443 #define M98925_ER_SLOTCNFLT_MAP_WIDTH 3
0444
0445
0446 #define M98925_ER_SLOTOVRN_EN_MASK (1<<3)
0447 #define M98925_ER_SLOTOVRN_EN_SHIFT 3
0448 #define M98925_ER_SLOTOVRN_EN_WIDTH 1
0449 #define M98925_ER_SLOTOVRN_MAP_MASK (0x07<<0)
0450 #define M98925_ER_SLOTOVRN_MAP_SHIFT 0
0451 #define M98925_ER_SLOTOVRN_MAP_WIDTH 3
0452
0453
0454 #define M98925_DAI_CLK_SOURCE_MASK (1<<6)
0455 #define M98925_DAI_CLK_SOURCE_SHIFT 6
0456 #define M98925_DAI_CLK_SOURCE_WIDTH 1
0457 #define M98925_MDLL_MULT_MASK (0x0F<<0)
0458 #define M98925_MDLL_MULT_SHIFT 0
0459 #define M98925_MDLL_MULT_WIDTH 4
0460
0461 #define M98925_MDLL_MULT_MCLKx8 6
0462 #define M98925_MDLL_MULT_MCLKx16 8
0463
0464
0465 #define M98925_DAI_SR_MASK (0x0F<<4)
0466 #define M98925_DAI_SR_SHIFT 4
0467 #define M98925_DAI_SR_WIDTH 4
0468 #define M98925_DAI_MAS_MASK (1<<3)
0469 #define M98925_DAI_MAS_SHIFT 3
0470 #define M98925_DAI_MAS_WIDTH 1
0471 #define M98925_DAI_BSEL_MASK (0x07<<0)
0472 #define M98925_DAI_BSEL_SHIFT 0
0473 #define M98925_DAI_BSEL_WIDTH 3
0474
0475 #define M98925_DAI_BSEL_32 (0 << M98925_DAI_BSEL_SHIFT)
0476 #define M98925_DAI_BSEL_48 (1 << M98925_DAI_BSEL_SHIFT)
0477 #define M98925_DAI_BSEL_64 (2 << M98925_DAI_BSEL_SHIFT)
0478 #define M98925_DAI_BSEL_256 (6 << M98925_DAI_BSEL_SHIFT)
0479
0480
0481 #define M98925_DAI_M_MSBS_MASK (0xFF<<0)
0482 #define M98925_DAI_M_MSBS_SHIFT 0
0483 #define M98925_DAI_M_MSBS_WIDTH 8
0484
0485
0486 #define M98925_DAI_M_LSBS_MASK (0xFF<<0)
0487 #define M98925_DAI_M_LSBS_SHIFT 0
0488 #define M98925_DAI_M_LSBS_WIDTH 8
0489
0490
0491 #define M98925_DAI_N_MSBS_MASK (0x7F<<0)
0492 #define M98925_DAI_N_MSBS_SHIFT 0
0493 #define M98925_DAI_N_MSBS_WIDTH 7
0494
0495
0496 #define M98925_DAI_N_LSBS_MASK (0xFF<<0)
0497 #define M98925_DAI_N_LSBS_SHIFT 0
0498 #define M98925_DAI_N_LSBS_WIDTH 8
0499
0500
0501 #define M98925_DAI_CHANSZ_MASK (0x03<<6)
0502 #define M98925_DAI_CHANSZ_SHIFT 6
0503 #define M98925_DAI_CHANSZ_WIDTH 2
0504 #define M98925_DAI_EXTBCLK_HIZ_MASK (1<<4)
0505 #define M98925_DAI_EXTBCLK_HIZ_SHIFT 4
0506 #define M98925_DAI_EXTBCLK_HIZ_WIDTH 1
0507 #define M98925_DAI_WCI_MASK (1<<3)
0508 #define M98925_DAI_WCI_SHIFT 3
0509 #define M98925_DAI_WCI_WIDTH 1
0510 #define M98925_DAI_BCI_MASK (1<<2)
0511 #define M98925_DAI_BCI_SHIFT 2
0512 #define M98925_DAI_BCI_WIDTH 1
0513 #define M98925_DAI_DLY_MASK (1<<1)
0514 #define M98925_DAI_DLY_SHIFT 1
0515 #define M98925_DAI_DLY_WIDTH 1
0516 #define M98925_DAI_TDM_MASK (1<<0)
0517 #define M98925_DAI_TDM_SHIFT 0
0518 #define M98925_DAI_TDM_WIDTH 1
0519
0520 #define M98925_DAI_CHANSZ_16 (1 << M98925_DAI_CHANSZ_SHIFT)
0521 #define M98925_DAI_CHANSZ_24 (2 << M98925_DAI_CHANSZ_SHIFT)
0522 #define M98925_DAI_CHANSZ_32 (3 << M98925_DAI_CHANSZ_SHIFT)
0523
0524
0525 #define M98925_DAI_DO_EN_MASK (1<<7)
0526 #define M98925_DAI_DO_EN_SHIFT 7
0527 #define M98925_DAI_DO_EN_WIDTH 1
0528 #define M98925_DAI_DIN_EN_MASK (1<<6)
0529 #define M98925_DAI_DIN_EN_SHIFT 6
0530 #define M98925_DAI_DIN_EN_WIDTH 1
0531 #define M98925_DAI_INR_SOURCE_MASK (0x07<<3)
0532 #define M98925_DAI_INR_SOURCE_SHIFT 3
0533 #define M98925_DAI_INR_SOURCE_WIDTH 3
0534 #define M98925_DAI_INL_SOURCE_MASK (0x07<<0)
0535 #define M98925_DAI_INL_SOURCE_SHIFT 0
0536 #define M98925_DAI_INL_SOURCE_WIDTH 3
0537
0538
0539 #define M98925_DAI_VMON_EN_MASK (1<<5)
0540 #define M98925_DAI_VMON_EN_SHIFT 5
0541 #define M98925_DAI_VMON_EN_WIDTH 1
0542 #define M98925_DAI_VMON_SLOT_MASK (0x1F<<0)
0543 #define M98925_DAI_VMON_SLOT_SHIFT 0
0544 #define M98925_DAI_VMON_SLOT_WIDTH 5
0545
0546 #define M98925_DAI_VMON_SLOT_00_01 (0 << M98925_DAI_VMON_SLOT_SHIFT)
0547 #define M98925_DAI_VMON_SLOT_01_02 (1 << M98925_DAI_VMON_SLOT_SHIFT)
0548 #define M98925_DAI_VMON_SLOT_02_03 (2 << M98925_DAI_VMON_SLOT_SHIFT)
0549 #define M98925_DAI_VMON_SLOT_03_04 (3 << M98925_DAI_VMON_SLOT_SHIFT)
0550 #define M98925_DAI_VMON_SLOT_04_05 (4 << M98925_DAI_VMON_SLOT_SHIFT)
0551 #define M98925_DAI_VMON_SLOT_05_06 (5 << M98925_DAI_VMON_SLOT_SHIFT)
0552 #define M98925_DAI_VMON_SLOT_06_07 (6 << M98925_DAI_VMON_SLOT_SHIFT)
0553 #define M98925_DAI_VMON_SLOT_07_08 (7 << M98925_DAI_VMON_SLOT_SHIFT)
0554 #define M98925_DAI_VMON_SLOT_08_09 (8 << M98925_DAI_VMON_SLOT_SHIFT)
0555 #define M98925_DAI_VMON_SLOT_09_0A (9 << M98925_DAI_VMON_SLOT_SHIFT)
0556 #define M98925_DAI_VMON_SLOT_0A_0B (10 << M98925_DAI_VMON_SLOT_SHIFT)
0557 #define M98925_DAI_VMON_SLOT_0B_0C (11 << M98925_DAI_VMON_SLOT_SHIFT)
0558 #define M98925_DAI_VMON_SLOT_0C_0D (12 << M98925_DAI_VMON_SLOT_SHIFT)
0559 #define M98925_DAI_VMON_SLOT_0D_0E (13 << M98925_DAI_VMON_SLOT_SHIFT)
0560 #define M98925_DAI_VMON_SLOT_0E_0F (14 << M98925_DAI_VMON_SLOT_SHIFT)
0561 #define M98925_DAI_VMON_SLOT_0F_10 (15 << M98925_DAI_VMON_SLOT_SHIFT)
0562 #define M98925_DAI_VMON_SLOT_10_11 (16 << M98925_DAI_VMON_SLOT_SHIFT)
0563 #define M98925_DAI_VMON_SLOT_11_12 (17 << M98925_DAI_VMON_SLOT_SHIFT)
0564 #define M98925_DAI_VMON_SLOT_12_13 (18 << M98925_DAI_VMON_SLOT_SHIFT)
0565 #define M98925_DAI_VMON_SLOT_13_14 (19 << M98925_DAI_VMON_SLOT_SHIFT)
0566 #define M98925_DAI_VMON_SLOT_14_15 (20 << M98925_DAI_VMON_SLOT_SHIFT)
0567 #define M98925_DAI_VMON_SLOT_15_16 (21 << M98925_DAI_VMON_SLOT_SHIFT)
0568 #define M98925_DAI_VMON_SLOT_16_17 (22 << M98925_DAI_VMON_SLOT_SHIFT)
0569 #define M98925_DAI_VMON_SLOT_17_18 (23 << M98925_DAI_VMON_SLOT_SHIFT)
0570 #define M98925_DAI_VMON_SLOT_18_19 (24 << M98925_DAI_VMON_SLOT_SHIFT)
0571 #define M98925_DAI_VMON_SLOT_19_1A (25 << M98925_DAI_VMON_SLOT_SHIFT)
0572 #define M98925_DAI_VMON_SLOT_1A_1B (26 << M98925_DAI_VMON_SLOT_SHIFT)
0573 #define M98925_DAI_VMON_SLOT_1B_1C (27 << M98925_DAI_VMON_SLOT_SHIFT)
0574 #define M98925_DAI_VMON_SLOT_1C_1D (28 << M98925_DAI_VMON_SLOT_SHIFT)
0575 #define M98925_DAI_VMON_SLOT_1D_1E (29 << M98925_DAI_VMON_SLOT_SHIFT)
0576 #define M98925_DAI_VMON_SLOT_1E_1F (30 << M98925_DAI_VMON_SLOT_SHIFT)
0577
0578
0579 #define M98925_DAI_IMON_EN_MASK (1<<5)
0580 #define M98925_DAI_IMON_EN_SHIFT 5
0581 #define M98925_DAI_IMON_EN_WIDTH 1
0582 #define M98925_DAI_IMON_SLOT_MASK (0x1F<<0)
0583 #define M98925_DAI_IMON_SLOT_SHIFT 0
0584 #define M98925_DAI_IMON_SLOT_WIDTH 5
0585
0586 #define M98925_DAI_IMON_SLOT_00_01 (0 << M98925_DAI_IMON_SLOT_SHIFT)
0587 #define M98925_DAI_IMON_SLOT_01_02 (1 << M98925_DAI_IMON_SLOT_SHIFT)
0588 #define M98925_DAI_IMON_SLOT_02_03 (2 << M98925_DAI_IMON_SLOT_SHIFT)
0589 #define M98925_DAI_IMON_SLOT_03_04 (3 << M98925_DAI_IMON_SLOT_SHIFT)
0590 #define M98925_DAI_IMON_SLOT_04_05 (4 << M98925_DAI_IMON_SLOT_SHIFT)
0591 #define M98925_DAI_IMON_SLOT_05_06 (5 << M98925_DAI_IMON_SLOT_SHIFT)
0592 #define M98925_DAI_IMON_SLOT_06_07 (6 << M98925_DAI_IMON_SLOT_SHIFT)
0593 #define M98925_DAI_IMON_SLOT_07_08 (7 << M98925_DAI_IMON_SLOT_SHIFT)
0594 #define M98925_DAI_IMON_SLOT_08_09 (8 << M98925_DAI_IMON_SLOT_SHIFT)
0595 #define M98925_DAI_IMON_SLOT_09_0A (9 << M98925_DAI_IMON_SLOT_SHIFT)
0596 #define M98925_DAI_IMON_SLOT_0A_0B (10 << M98925_DAI_IMON_SLOT_SHIFT)
0597 #define M98925_DAI_IMON_SLOT_0B_0C (11 << M98925_DAI_IMON_SLOT_SHIFT)
0598 #define M98925_DAI_IMON_SLOT_0C_0D (12 << M98925_DAI_IMON_SLOT_SHIFT)
0599 #define M98925_DAI_IMON_SLOT_0D_0E (13 << M98925_DAI_IMON_SLOT_SHIFT)
0600 #define M98925_DAI_IMON_SLOT_0E_0F (14 << M98925_DAI_IMON_SLOT_SHIFT)
0601 #define M98925_DAI_IMON_SLOT_0F_10 (15 << M98925_DAI_IMON_SLOT_SHIFT)
0602 #define M98925_DAI_IMON_SLOT_10_11 (16 << M98925_DAI_IMON_SLOT_SHIFT)
0603 #define M98925_DAI_IMON_SLOT_11_12 (17 << M98925_DAI_IMON_SLOT_SHIFT)
0604 #define M98925_DAI_IMON_SLOT_12_13 (18 << M98925_DAI_IMON_SLOT_SHIFT)
0605 #define M98925_DAI_IMON_SLOT_13_14 (19 << M98925_DAI_IMON_SLOT_SHIFT)
0606 #define M98925_DAI_IMON_SLOT_14_15 (20 << M98925_DAI_IMON_SLOT_SHIFT)
0607 #define M98925_DAI_IMON_SLOT_15_16 (21 << M98925_DAI_IMON_SLOT_SHIFT)
0608 #define M98925_DAI_IMON_SLOT_16_17 (22 << M98925_DAI_IMON_SLOT_SHIFT)
0609 #define M98925_DAI_IMON_SLOT_17_18 (23 << M98925_DAI_IMON_SLOT_SHIFT)
0610 #define M98925_DAI_IMON_SLOT_18_19 (24 << M98925_DAI_IMON_SLOT_SHIFT)
0611 #define M98925_DAI_IMON_SLOT_19_1A (25 << M98925_DAI_IMON_SLOT_SHIFT)
0612 #define M98925_DAI_IMON_SLOT_1A_1B (26 << M98925_DAI_IMON_SLOT_SHIFT)
0613 #define M98925_DAI_IMON_SLOT_1B_1C (27 << M98925_DAI_IMON_SLOT_SHIFT)
0614 #define M98925_DAI_IMON_SLOT_1C_1D (28 << M98925_DAI_IMON_SLOT_SHIFT)
0615 #define M98925_DAI_IMON_SLOT_1D_1E (29 << M98925_DAI_IMON_SLOT_SHIFT)
0616 #define M98925_DAI_IMON_SLOT_1E_1F (30 << M98925_DAI_IMON_SLOT_SHIFT)
0617
0618
0619 #define M98925_DAI_VBAT_EN_MASK (1<<5)
0620 #define M98925_DAI_VBAT_EN_SHIFT 5
0621 #define M98925_DAI_VBAT_EN_WIDTH 1
0622 #define M98925_DAI_VBAT_SLOT_MASK (0x1F<<0)
0623 #define M98925_DAI_VBAT_SLOT_SHIFT 0
0624 #define M98925_DAI_VBAT_SLOT_WIDTH 5
0625
0626
0627 #define M98925_DAI_VBST_EN_MASK (1<<5)
0628 #define M98925_DAI_VBST_EN_SHIFT 5
0629 #define M98925_DAI_VBST_EN_WIDTH 1
0630 #define M98925_DAI_VBST_SLOT_MASK (0x1F<<0)
0631 #define M98925_DAI_VBST_SLOT_SHIFT 0
0632 #define M98925_DAI_VBST_SLOT_WIDTH 5
0633
0634
0635 #define M98925_DAI_FLAG_EN_MASK (1<<5)
0636 #define M98925_DAI_FLAG_EN_SHIFT 5
0637 #define M98925_DAI_FLAG_EN_WIDTH 1
0638 #define M98925_DAI_FLAG_SLOT_MASK (0x1F<<0)
0639 #define M98925_DAI_FLAG_SLOT_SHIFT 0
0640 #define M98925_DAI_FLAG_SLOT_WIDTH 5
0641
0642
0643 #define M98925_DAI_SLOT_HIZ_CFG1_MASK (0xFF<<0)
0644 #define M98925_DAI_SLOT_HIZ_CFG1_SHIFT 0
0645 #define M98925_DAI_SLOT_HIZ_CFG1_WIDTH 8
0646
0647
0648 #define M98925_DAI_SLOT_HIZ_CFG2_MASK (0xFF<<0)
0649 #define M98925_DAI_SLOT_HIZ_CFG2_SHIFT 0
0650 #define M98925_DAI_SLOT_HIZ_CFG2_WIDTH 8
0651
0652
0653 #define M98925_DAI_SLOT_HIZ_CFG3_MASK (0xFF<<0)
0654 #define M98925_DAI_SLOT_HIZ_CFG3_SHIFT 0
0655 #define M98925_DAI_SLOT_HIZ_CFG3_WIDTH 8
0656
0657
0658 #define M98925_DAI_SLOT_HIZ_CFG4_MASK (0xFF<<0)
0659 #define M98925_DAI_SLOT_HIZ_CFG4_SHIFT 0
0660 #define M98925_DAI_SLOT_HIZ_CFG4_WIDTH 8
0661
0662
0663 #define M98925_DAI_OUT_DRIVE_MASK (0x03<<0)
0664 #define M98925_DAI_OUT_DRIVE_SHIFT 0
0665 #define M98925_DAI_OUT_DRIVE_WIDTH 2
0666
0667
0668 #define M98925_ADC_DITHER_EN_MASK (1<<7)
0669 #define M98925_ADC_DITHER_EN_SHIFT 7
0670 #define M98925_ADC_DITHER_EN_WIDTH 1
0671 #define M98925_IV_DCB_EN_MASK (1<<6)
0672 #define M98925_IV_DCB_EN_SHIFT 6
0673 #define M98925_IV_DCB_EN_WIDTH 1
0674 #define M98925_DAC_DITHER_EN_MASK (1<<4)
0675 #define M98925_DAC_DITHER_EN_SHIFT 4
0676 #define M98925_DAC_DITHER_EN_WIDTH 1
0677 #define M98925_DAC_FILTER_MODE_MASK (1<<3)
0678 #define M98925_DAC_FILTER_MODE_SHIFT 3
0679 #define M98925_DAC_FILTER_MODE_WIDTH 1
0680 #define M98925_DAC_HPF_MASK (0x07<<0)
0681 #define M98925_DAC_HPF_SHIFT 0
0682 #define M98925_DAC_HPF_WIDTH 3
0683 #define M98925_DAC_HPF_DISABLE (0 << M98925_DAC_HPF_SHIFT)
0684 #define M98925_DAC_HPF_DC_BLOCK (1 << M98925_DAC_HPF_SHIFT)
0685 #define M98925_DAC_HPF_EN_100 (2 << M98925_DAC_HPF_SHIFT)
0686 #define M98925_DAC_HPF_EN_200 (3 << M98925_DAC_HPF_SHIFT)
0687 #define M98925_DAC_HPF_EN_400 (4 << M98925_DAC_HPF_SHIFT)
0688 #define M98925_DAC_HPF_EN_800 (5 << M98925_DAC_HPF_SHIFT)
0689
0690
0691 #define M98925_DAC_IN_SEL_MASK (0x03<<5)
0692 #define M98925_DAC_IN_SEL_SHIFT 5
0693 #define M98925_DAC_IN_SEL_WIDTH 2
0694 #define M98925_SPK_GAIN_MASK (0x1F<<0)
0695 #define M98925_SPK_GAIN_SHIFT 0
0696 #define M98925_SPK_GAIN_WIDTH 5
0697
0698 #define M98925_DAC_IN_SEL_LEFT_DAI (0 << M98925_DAC_IN_SEL_SHIFT)
0699 #define M98925_DAC_IN_SEL_RIGHT_DAI (1 << M98925_DAC_IN_SEL_SHIFT)
0700 #define M98925_DAC_IN_SEL_SUMMED_DAI (2 << M98925_DAC_IN_SEL_SHIFT)
0701 #define M98925_DAC_IN_SEL_DIV2_SUMMED_DAI (3 << M98925_DAC_IN_SEL_SHIFT)
0702
0703
0704 #define M98925_SPK_RMP_EN_MASK (1<<1)
0705 #define M98925_SPK_RMP_EN_SHIFT 1
0706 #define M98925_SPK_RMP_EN_WIDTH 1
0707 #define M98925_SPK_ZCD_EN_MASK (1<<0)
0708 #define M98925_SPK_ZCD_EN_SHIFT 0
0709 #define M98925_SPK_ZCD_EN_WIDTH 1
0710
0711
0712 #define M98925_SPK_MODE_MASK (1<<0)
0713 #define M98925_SPK_MODE_SHIFT 0
0714 #define M98925_SPK_MODE_WIDTH 1
0715
0716
0717 #define M98925_ALC_EN_MASK (1<<5)
0718 #define M98925_ALC_EN_SHIFT 5
0719 #define M98925_ALC_EN_WIDTH 1
0720 #define M98925_ALC_TH_MASK (0x1F<<0)
0721 #define M98925_ALC_TH_SHIFT 0
0722 #define M98925_ALC_TH_WIDTH 5
0723
0724
0725 #define M98925_ALC_ATK_STEP_MASK (0x0F<<4)
0726 #define M98925_ALC_ATK_STEP_SHIFT 4
0727 #define M98925_ALC_ATK_STEP_WIDTH 4
0728 #define M98925_ALC_ATK_RATE_MASK (0x7<<0)
0729 #define M98925_ALC_ATK_RATE_SHIFT 0
0730 #define M98925_ALC_ATK_RATE_WIDTH 3
0731
0732
0733 #define M98925_ALC_MAX_ATTEN_MASK (0x0F<<4)
0734 #define M98925_ALC_MAX_ATTEN_SHIFT 4
0735 #define M98925_ALC_MAX_ATTEN_WIDTH 4
0736 #define M98925_ALC_RLS_RATE_MASK (0x7<<0)
0737 #define M98925_ALC_RLS_RATE_SHIFT 0
0738 #define M98925_ALC_RLS_RATE_WIDTH 3
0739
0740
0741 #define M98925_ALC_RLS_TGR_MASK (1<<0)
0742 #define M98925_ALC_RLS_TGR_SHIFT 0
0743 #define M98925_ALC_RLS_TGR_WIDTH 1
0744
0745
0746 #define M98925_ALC_MUTE_EN_MASK (1<<7)
0747 #define M98925_ALC_MUTE_EN_SHIFT 7
0748 #define M98925_ALC_MUTE_EN_WIDTH 1
0749 #define M98925_ALC_MUTE_DLY_MASK (0x07<<4)
0750 #define M98925_ALC_MUTE_DLY_SHIFT 4
0751 #define M98925_ALC_MUTE_DLY_WIDTH 3
0752 #define M98925_ALC_RLS_DBT_MASK (0x07<<0)
0753 #define M98925_ALC_RLS_DBT_SHIFT 0
0754 #define M98925_ALC_RLS_DBT_WIDTH 3
0755
0756
0757 #define M98925_BST_SYNC_MASK (1<<7)
0758 #define M98925_BST_SYNC_SHIFT 7
0759 #define M98925_BST_SYNC_WIDTH 1
0760 #define M98925_BST_PHASE_MASK (0x03<<4)
0761 #define M98925_BST_PHASE_SHIFT 4
0762 #define M98925_BST_PHASE_WIDTH 2
0763 #define M98925_BST_SKIP_MODE_MASK (0x03<<0)
0764 #define M98925_BST_SKIP_MODE_SHIFT 0
0765 #define M98925_BST_SKIP_MODE_WIDTH 2
0766
0767
0768 #define M98925_BST_EN_MASK (1<<7)
0769 #define M98925_BST_EN_SHIFT 7
0770 #define M98925_BST_EN_WIDTH 1
0771 #define M98925_WATCH_EN_MASK (1<<6)
0772 #define M98925_WATCH_EN_SHIFT 6
0773 #define M98925_WATCH_EN_WIDTH 1
0774 #define M98925_CLKMON_EN_MASK (1<<5)
0775 #define M98925_CLKMON_EN_SHIFT 5
0776 #define M98925_CLKMON_EN_WIDTH 1
0777 #define M98925_SPK_EN_MASK (1<<4)
0778 #define M98925_SPK_EN_SHIFT 4
0779 #define M98925_SPK_EN_WIDTH 1
0780 #define M98925_ADC_VBST_EN_MASK (1<<3)
0781 #define M98925_ADC_VBST_EN_SHIFT 3
0782 #define M98925_ADC_VBST_EN_WIDTH 1
0783 #define M98925_ADC_VBAT_EN_MASK (1<<2)
0784 #define M98925_ADC_VBAT_EN_SHIFT 2
0785 #define M98925_ADC_VBAT_EN_WIDTH 1
0786 #define M98925_ADC_IMON_EN_MASK (1<<1)
0787 #define M98925_ADC_IMON_EN_SHIFT 1
0788 #define M98925_ADC_IMON_EN_WIDTH 1
0789 #define M98925_ADC_VMON_EN_MASK (1<<0)
0790 #define M98925_ADC_VMON_EN_SHIFT 0
0791 #define M98925_ADC_VMON_EN_WIDTH 1
0792
0793
0794 #define M98925_BST_VOUT_MASK (0x0F<<4)
0795 #define M98925_BST_VOUT_SHIFT 4
0796 #define M98925_BST_VOUT_WIDTH 4
0797 #define M98925_THERMWARN_LEVEL_MASK (0x03<<2)
0798 #define M98925_THERMWARN_LEVEL_SHIFT 2
0799 #define M98925_THERMWARN_LEVEL_WIDTH 2
0800 #define M98925_WATCH_TIME_MASK (0x03<<0)
0801 #define M98925_WATCH_TIME_SHIFT 0
0802 #define M98925_WATCH_TIME_WIDTH 2
0803
0804
0805 #define M98925_EN_MASK (1<<7)
0806 #define M98925_EN_SHIFT 7
0807 #define M98925_EN_WIDTH 1
0808
0809
0810 #define M98925_BST_ILIM_MASK (0x1F<<3)
0811 #define M98925_BST_ILIM_SHIFT 3
0812 #define M98925_BST_ILIM_WIDTH 5
0813
0814
0815 #define M98925_REV_ID_MASK (0xFF<<0)
0816 #define M98925_REV_ID_SHIFT 0
0817 #define M98925_REV_ID_WIDTH 8
0818
0819 struct max98925_priv {
0820 struct regmap *regmap;
0821 struct snd_soc_component *component;
0822 struct max98925_pdata *pdata;
0823 unsigned int sysclk;
0824 unsigned int v_slot;
0825 unsigned int i_slot;
0826 unsigned int spk_gain;
0827 unsigned int ch_size;
0828 };
0829 #endif