0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef __WM9090_H
0011 #define __WM9090_H
0012
0013
0014
0015
0016 #define WM9090_SOFTWARE_RESET 0x00
0017 #define WM9090_POWER_MANAGEMENT_1 0x01
0018 #define WM9090_POWER_MANAGEMENT_2 0x02
0019 #define WM9090_POWER_MANAGEMENT_3 0x03
0020 #define WM9090_CLOCKING_1 0x06
0021 #define WM9090_IN1_LINE_CONTROL 0x16
0022 #define WM9090_IN2_LINE_CONTROL 0x17
0023 #define WM9090_IN1_LINE_INPUT_A_VOLUME 0x18
0024 #define WM9090_IN1_LINE_INPUT_B_VOLUME 0x19
0025 #define WM9090_IN2_LINE_INPUT_A_VOLUME 0x1A
0026 #define WM9090_IN2_LINE_INPUT_B_VOLUME 0x1B
0027 #define WM9090_LEFT_OUTPUT_VOLUME 0x1C
0028 #define WM9090_RIGHT_OUTPUT_VOLUME 0x1D
0029 #define WM9090_SPKMIXL_ATTENUATION 0x22
0030 #define WM9090_SPKOUT_MIXERS 0x24
0031 #define WM9090_CLASSD3 0x25
0032 #define WM9090_SPEAKER_VOLUME_LEFT 0x26
0033 #define WM9090_OUTPUT_MIXER1 0x2D
0034 #define WM9090_OUTPUT_MIXER2 0x2E
0035 #define WM9090_OUTPUT_MIXER3 0x2F
0036 #define WM9090_OUTPUT_MIXER4 0x30
0037 #define WM9090_SPEAKER_MIXER 0x36
0038 #define WM9090_ANTIPOP2 0x39
0039 #define WM9090_WRITE_SEQUENCER_0 0x46
0040 #define WM9090_WRITE_SEQUENCER_1 0x47
0041 #define WM9090_WRITE_SEQUENCER_2 0x48
0042 #define WM9090_WRITE_SEQUENCER_3 0x49
0043 #define WM9090_WRITE_SEQUENCER_4 0x4A
0044 #define WM9090_WRITE_SEQUENCER_5 0x4B
0045 #define WM9090_CHARGE_PUMP_1 0x4C
0046 #define WM9090_DC_SERVO_0 0x54
0047 #define WM9090_DC_SERVO_1 0x55
0048 #define WM9090_DC_SERVO_3 0x57
0049 #define WM9090_DC_SERVO_READBACK_0 0x58
0050 #define WM9090_DC_SERVO_READBACK_1 0x59
0051 #define WM9090_DC_SERVO_READBACK_2 0x5A
0052 #define WM9090_ANALOGUE_HP_0 0x60
0053 #define WM9090_AGC_CONTROL_0 0x62
0054 #define WM9090_AGC_CONTROL_1 0x63
0055 #define WM9090_AGC_CONTROL_2 0x64
0056
0057 #define WM9090_REGISTER_COUNT 40
0058 #define WM9090_MAX_REGISTER 0x64
0059
0060
0061
0062
0063
0064
0065
0066
0067 #define WM9090_SW_RESET_MASK 0xFFFF
0068 #define WM9090_SW_RESET_SHIFT 0
0069 #define WM9090_SW_RESET_WIDTH 16
0070
0071
0072
0073
0074 #define WM9090_SPKOUTL_ENA 0x1000
0075 #define WM9090_SPKOUTL_ENA_MASK 0x1000
0076 #define WM9090_SPKOUTL_ENA_SHIFT 12
0077 #define WM9090_SPKOUTL_ENA_WIDTH 1
0078 #define WM9090_HPOUT1L_ENA 0x0200
0079 #define WM9090_HPOUT1L_ENA_MASK 0x0200
0080 #define WM9090_HPOUT1L_ENA_SHIFT 9
0081 #define WM9090_HPOUT1L_ENA_WIDTH 1
0082 #define WM9090_HPOUT1R_ENA 0x0100
0083 #define WM9090_HPOUT1R_ENA_MASK 0x0100
0084 #define WM9090_HPOUT1R_ENA_SHIFT 8
0085 #define WM9090_HPOUT1R_ENA_WIDTH 1
0086 #define WM9090_OSC_ENA 0x0008
0087 #define WM9090_OSC_ENA_MASK 0x0008
0088 #define WM9090_OSC_ENA_SHIFT 3
0089 #define WM9090_OSC_ENA_WIDTH 1
0090 #define WM9090_VMID_RES_MASK 0x0006
0091 #define WM9090_VMID_RES_SHIFT 1
0092 #define WM9090_VMID_RES_WIDTH 2
0093 #define WM9090_BIAS_ENA 0x0001
0094 #define WM9090_BIAS_ENA_MASK 0x0001
0095 #define WM9090_BIAS_ENA_SHIFT 0
0096 #define WM9090_BIAS_ENA_WIDTH 1
0097
0098
0099
0100
0101 #define WM9090_TSHUT 0x8000
0102 #define WM9090_TSHUT_MASK 0x8000
0103 #define WM9090_TSHUT_SHIFT 15
0104 #define WM9090_TSHUT_WIDTH 1
0105 #define WM9090_TSHUT_ENA 0x4000
0106 #define WM9090_TSHUT_ENA_MASK 0x4000
0107 #define WM9090_TSHUT_ENA_SHIFT 14
0108 #define WM9090_TSHUT_ENA_WIDTH 1
0109 #define WM9090_TSHUT_OPDIS 0x2000
0110 #define WM9090_TSHUT_OPDIS_MASK 0x2000
0111 #define WM9090_TSHUT_OPDIS_SHIFT 13
0112 #define WM9090_TSHUT_OPDIS_WIDTH 1
0113 #define WM9090_IN1A_ENA 0x0080
0114 #define WM9090_IN1A_ENA_MASK 0x0080
0115 #define WM9090_IN1A_ENA_SHIFT 7
0116 #define WM9090_IN1A_ENA_WIDTH 1
0117 #define WM9090_IN1B_ENA 0x0040
0118 #define WM9090_IN1B_ENA_MASK 0x0040
0119 #define WM9090_IN1B_ENA_SHIFT 6
0120 #define WM9090_IN1B_ENA_WIDTH 1
0121 #define WM9090_IN2A_ENA 0x0020
0122 #define WM9090_IN2A_ENA_MASK 0x0020
0123 #define WM9090_IN2A_ENA_SHIFT 5
0124 #define WM9090_IN2A_ENA_WIDTH 1
0125 #define WM9090_IN2B_ENA 0x0010
0126 #define WM9090_IN2B_ENA_MASK 0x0010
0127 #define WM9090_IN2B_ENA_SHIFT 4
0128 #define WM9090_IN2B_ENA_WIDTH 1
0129
0130
0131
0132
0133 #define WM9090_AGC_ENA 0x4000
0134 #define WM9090_AGC_ENA_MASK 0x4000
0135 #define WM9090_AGC_ENA_SHIFT 14
0136 #define WM9090_AGC_ENA_WIDTH 1
0137 #define WM9090_SPKLVOL_ENA 0x0100
0138 #define WM9090_SPKLVOL_ENA_MASK 0x0100
0139 #define WM9090_SPKLVOL_ENA_SHIFT 8
0140 #define WM9090_SPKLVOL_ENA_WIDTH 1
0141 #define WM9090_MIXOUTL_ENA 0x0020
0142 #define WM9090_MIXOUTL_ENA_MASK 0x0020
0143 #define WM9090_MIXOUTL_ENA_SHIFT 5
0144 #define WM9090_MIXOUTL_ENA_WIDTH 1
0145 #define WM9090_MIXOUTR_ENA 0x0010
0146 #define WM9090_MIXOUTR_ENA_MASK 0x0010
0147 #define WM9090_MIXOUTR_ENA_SHIFT 4
0148 #define WM9090_MIXOUTR_ENA_WIDTH 1
0149 #define WM9090_SPKMIX_ENA 0x0008
0150 #define WM9090_SPKMIX_ENA_MASK 0x0008
0151 #define WM9090_SPKMIX_ENA_SHIFT 3
0152 #define WM9090_SPKMIX_ENA_WIDTH 1
0153
0154
0155
0156
0157 #define WM9090_TOCLK_RATE 0x8000
0158 #define WM9090_TOCLK_RATE_MASK 0x8000
0159 #define WM9090_TOCLK_RATE_SHIFT 15
0160 #define WM9090_TOCLK_RATE_WIDTH 1
0161 #define WM9090_TOCLK_ENA 0x4000
0162 #define WM9090_TOCLK_ENA_MASK 0x4000
0163 #define WM9090_TOCLK_ENA_SHIFT 14
0164 #define WM9090_TOCLK_ENA_WIDTH 1
0165
0166
0167
0168
0169 #define WM9090_IN1_DIFF 0x0002
0170 #define WM9090_IN1_DIFF_MASK 0x0002
0171 #define WM9090_IN1_DIFF_SHIFT 1
0172 #define WM9090_IN1_DIFF_WIDTH 1
0173 #define WM9090_IN1_CLAMP 0x0001
0174 #define WM9090_IN1_CLAMP_MASK 0x0001
0175 #define WM9090_IN1_CLAMP_SHIFT 0
0176 #define WM9090_IN1_CLAMP_WIDTH 1
0177
0178
0179
0180
0181 #define WM9090_IN2_DIFF 0x0002
0182 #define WM9090_IN2_DIFF_MASK 0x0002
0183 #define WM9090_IN2_DIFF_SHIFT 1
0184 #define WM9090_IN2_DIFF_WIDTH 1
0185 #define WM9090_IN2_CLAMP 0x0001
0186 #define WM9090_IN2_CLAMP_MASK 0x0001
0187 #define WM9090_IN2_CLAMP_SHIFT 0
0188 #define WM9090_IN2_CLAMP_WIDTH 1
0189
0190
0191
0192
0193 #define WM9090_IN1_VU 0x0100
0194 #define WM9090_IN1_VU_MASK 0x0100
0195 #define WM9090_IN1_VU_SHIFT 8
0196 #define WM9090_IN1_VU_WIDTH 1
0197 #define WM9090_IN1A_MUTE 0x0080
0198 #define WM9090_IN1A_MUTE_MASK 0x0080
0199 #define WM9090_IN1A_MUTE_SHIFT 7
0200 #define WM9090_IN1A_MUTE_WIDTH 1
0201 #define WM9090_IN1A_ZC 0x0040
0202 #define WM9090_IN1A_ZC_MASK 0x0040
0203 #define WM9090_IN1A_ZC_SHIFT 6
0204 #define WM9090_IN1A_ZC_WIDTH 1
0205 #define WM9090_IN1A_VOL_MASK 0x0007
0206 #define WM9090_IN1A_VOL_SHIFT 0
0207 #define WM9090_IN1A_VOL_WIDTH 3
0208
0209
0210
0211
0212 #define WM9090_IN1_VU 0x0100
0213 #define WM9090_IN1_VU_MASK 0x0100
0214 #define WM9090_IN1_VU_SHIFT 8
0215 #define WM9090_IN1_VU_WIDTH 1
0216 #define WM9090_IN1B_MUTE 0x0080
0217 #define WM9090_IN1B_MUTE_MASK 0x0080
0218 #define WM9090_IN1B_MUTE_SHIFT 7
0219 #define WM9090_IN1B_MUTE_WIDTH 1
0220 #define WM9090_IN1B_ZC 0x0040
0221 #define WM9090_IN1B_ZC_MASK 0x0040
0222 #define WM9090_IN1B_ZC_SHIFT 6
0223 #define WM9090_IN1B_ZC_WIDTH 1
0224 #define WM9090_IN1B_VOL_MASK 0x0007
0225 #define WM9090_IN1B_VOL_SHIFT 0
0226 #define WM9090_IN1B_VOL_WIDTH 3
0227
0228
0229
0230
0231 #define WM9090_IN2_VU 0x0100
0232 #define WM9090_IN2_VU_MASK 0x0100
0233 #define WM9090_IN2_VU_SHIFT 8
0234 #define WM9090_IN2_VU_WIDTH 1
0235 #define WM9090_IN2A_MUTE 0x0080
0236 #define WM9090_IN2A_MUTE_MASK 0x0080
0237 #define WM9090_IN2A_MUTE_SHIFT 7
0238 #define WM9090_IN2A_MUTE_WIDTH 1
0239 #define WM9090_IN2A_ZC 0x0040
0240 #define WM9090_IN2A_ZC_MASK 0x0040
0241 #define WM9090_IN2A_ZC_SHIFT 6
0242 #define WM9090_IN2A_ZC_WIDTH 1
0243 #define WM9090_IN2A_VOL_MASK 0x0007
0244 #define WM9090_IN2A_VOL_SHIFT 0
0245 #define WM9090_IN2A_VOL_WIDTH 3
0246
0247
0248
0249
0250 #define WM9090_IN2_VU 0x0100
0251 #define WM9090_IN2_VU_MASK 0x0100
0252 #define WM9090_IN2_VU_SHIFT 8
0253 #define WM9090_IN2_VU_WIDTH 1
0254 #define WM9090_IN2B_MUTE 0x0080
0255 #define WM9090_IN2B_MUTE_MASK 0x0080
0256 #define WM9090_IN2B_MUTE_SHIFT 7
0257 #define WM9090_IN2B_MUTE_WIDTH 1
0258 #define WM9090_IN2B_ZC 0x0040
0259 #define WM9090_IN2B_ZC_MASK 0x0040
0260 #define WM9090_IN2B_ZC_SHIFT 6
0261 #define WM9090_IN2B_ZC_WIDTH 1
0262 #define WM9090_IN2B_VOL_MASK 0x0007
0263 #define WM9090_IN2B_VOL_SHIFT 0
0264 #define WM9090_IN2B_VOL_WIDTH 3
0265
0266
0267
0268
0269 #define WM9090_HPOUT1_VU 0x0100
0270 #define WM9090_HPOUT1_VU_MASK 0x0100
0271 #define WM9090_HPOUT1_VU_SHIFT 8
0272 #define WM9090_HPOUT1_VU_WIDTH 1
0273 #define WM9090_HPOUT1L_ZC 0x0080
0274 #define WM9090_HPOUT1L_ZC_MASK 0x0080
0275 #define WM9090_HPOUT1L_ZC_SHIFT 7
0276 #define WM9090_HPOUT1L_ZC_WIDTH 1
0277 #define WM9090_HPOUT1L_MUTE 0x0040
0278 #define WM9090_HPOUT1L_MUTE_MASK 0x0040
0279 #define WM9090_HPOUT1L_MUTE_SHIFT 6
0280 #define WM9090_HPOUT1L_MUTE_WIDTH 1
0281 #define WM9090_HPOUT1L_VOL_MASK 0x003F
0282 #define WM9090_HPOUT1L_VOL_SHIFT 0
0283 #define WM9090_HPOUT1L_VOL_WIDTH 6
0284
0285
0286
0287
0288 #define WM9090_HPOUT1_VU 0x0100
0289 #define WM9090_HPOUT1_VU_MASK 0x0100
0290 #define WM9090_HPOUT1_VU_SHIFT 8
0291 #define WM9090_HPOUT1_VU_WIDTH 1
0292 #define WM9090_HPOUT1R_ZC 0x0080
0293 #define WM9090_HPOUT1R_ZC_MASK 0x0080
0294 #define WM9090_HPOUT1R_ZC_SHIFT 7
0295 #define WM9090_HPOUT1R_ZC_WIDTH 1
0296 #define WM9090_HPOUT1R_MUTE 0x0040
0297 #define WM9090_HPOUT1R_MUTE_MASK 0x0040
0298 #define WM9090_HPOUT1R_MUTE_SHIFT 6
0299 #define WM9090_HPOUT1R_MUTE_WIDTH 1
0300 #define WM9090_HPOUT1R_VOL_MASK 0x003F
0301 #define WM9090_HPOUT1R_VOL_SHIFT 0
0302 #define WM9090_HPOUT1R_VOL_WIDTH 6
0303
0304
0305
0306
0307 #define WM9090_SPKMIX_MUTE 0x0100
0308 #define WM9090_SPKMIX_MUTE_MASK 0x0100
0309 #define WM9090_SPKMIX_MUTE_SHIFT 8
0310 #define WM9090_SPKMIX_MUTE_WIDTH 1
0311 #define WM9090_IN1A_SPKMIX_VOL_MASK 0x00C0
0312 #define WM9090_IN1A_SPKMIX_VOL_SHIFT 6
0313 #define WM9090_IN1A_SPKMIX_VOL_WIDTH 2
0314 #define WM9090_IN1B_SPKMIX_VOL_MASK 0x0030
0315 #define WM9090_IN1B_SPKMIX_VOL_SHIFT 4
0316 #define WM9090_IN1B_SPKMIX_VOL_WIDTH 2
0317 #define WM9090_IN2A_SPKMIX_VOL_MASK 0x000C
0318 #define WM9090_IN2A_SPKMIX_VOL_SHIFT 2
0319 #define WM9090_IN2A_SPKMIX_VOL_WIDTH 2
0320 #define WM9090_IN2B_SPKMIX_VOL_MASK 0x0003
0321 #define WM9090_IN2B_SPKMIX_VOL_SHIFT 0
0322 #define WM9090_IN2B_SPKMIX_VOL_WIDTH 2
0323
0324
0325
0326
0327 #define WM9090_SPKMIXL_TO_SPKOUTL 0x0010
0328 #define WM9090_SPKMIXL_TO_SPKOUTL_MASK 0x0010
0329 #define WM9090_SPKMIXL_TO_SPKOUTL_SHIFT 4
0330 #define WM9090_SPKMIXL_TO_SPKOUTL_WIDTH 1
0331
0332
0333
0334
0335 #define WM9090_SPKOUTL_BOOST_MASK 0x0038
0336 #define WM9090_SPKOUTL_BOOST_SHIFT 3
0337 #define WM9090_SPKOUTL_BOOST_WIDTH 3
0338
0339
0340
0341
0342 #define WM9090_SPKOUT_VU 0x0100
0343 #define WM9090_SPKOUT_VU_MASK 0x0100
0344 #define WM9090_SPKOUT_VU_SHIFT 8
0345 #define WM9090_SPKOUT_VU_WIDTH 1
0346 #define WM9090_SPKOUTL_ZC 0x0080
0347 #define WM9090_SPKOUTL_ZC_MASK 0x0080
0348 #define WM9090_SPKOUTL_ZC_SHIFT 7
0349 #define WM9090_SPKOUTL_ZC_WIDTH 1
0350 #define WM9090_SPKOUTL_MUTE 0x0040
0351 #define WM9090_SPKOUTL_MUTE_MASK 0x0040
0352 #define WM9090_SPKOUTL_MUTE_SHIFT 6
0353 #define WM9090_SPKOUTL_MUTE_WIDTH 1
0354 #define WM9090_SPKOUTL_VOL_MASK 0x003F
0355 #define WM9090_SPKOUTL_VOL_SHIFT 0
0356 #define WM9090_SPKOUTL_VOL_WIDTH 6
0357
0358
0359
0360
0361 #define WM9090_IN1A_TO_MIXOUTL 0x0040
0362 #define WM9090_IN1A_TO_MIXOUTL_MASK 0x0040
0363 #define WM9090_IN1A_TO_MIXOUTL_SHIFT 6
0364 #define WM9090_IN1A_TO_MIXOUTL_WIDTH 1
0365 #define WM9090_IN2A_TO_MIXOUTL 0x0004
0366 #define WM9090_IN2A_TO_MIXOUTL_MASK 0x0004
0367 #define WM9090_IN2A_TO_MIXOUTL_SHIFT 2
0368 #define WM9090_IN2A_TO_MIXOUTL_WIDTH 1
0369
0370
0371
0372
0373 #define WM9090_IN1A_TO_MIXOUTR 0x0040
0374 #define WM9090_IN1A_TO_MIXOUTR_MASK 0x0040
0375 #define WM9090_IN1A_TO_MIXOUTR_SHIFT 6
0376 #define WM9090_IN1A_TO_MIXOUTR_WIDTH 1
0377 #define WM9090_IN1B_TO_MIXOUTR 0x0010
0378 #define WM9090_IN1B_TO_MIXOUTR_MASK 0x0010
0379 #define WM9090_IN1B_TO_MIXOUTR_SHIFT 4
0380 #define WM9090_IN1B_TO_MIXOUTR_WIDTH 1
0381 #define WM9090_IN2A_TO_MIXOUTR 0x0004
0382 #define WM9090_IN2A_TO_MIXOUTR_MASK 0x0004
0383 #define WM9090_IN2A_TO_MIXOUTR_SHIFT 2
0384 #define WM9090_IN2A_TO_MIXOUTR_WIDTH 1
0385 #define WM9090_IN2B_TO_MIXOUTR 0x0001
0386 #define WM9090_IN2B_TO_MIXOUTR_MASK 0x0001
0387 #define WM9090_IN2B_TO_MIXOUTR_SHIFT 0
0388 #define WM9090_IN2B_TO_MIXOUTR_WIDTH 1
0389
0390
0391
0392
0393 #define WM9090_MIXOUTL_MUTE 0x0100
0394 #define WM9090_MIXOUTL_MUTE_MASK 0x0100
0395 #define WM9090_MIXOUTL_MUTE_SHIFT 8
0396 #define WM9090_MIXOUTL_MUTE_WIDTH 1
0397 #define WM9090_IN1A_MIXOUTL_VOL_MASK 0x00C0
0398 #define WM9090_IN1A_MIXOUTL_VOL_SHIFT 6
0399 #define WM9090_IN1A_MIXOUTL_VOL_WIDTH 2
0400 #define WM9090_IN2A_MIXOUTL_VOL_MASK 0x000C
0401 #define WM9090_IN2A_MIXOUTL_VOL_SHIFT 2
0402 #define WM9090_IN2A_MIXOUTL_VOL_WIDTH 2
0403
0404
0405
0406
0407 #define WM9090_MIXOUTR_MUTE 0x0100
0408 #define WM9090_MIXOUTR_MUTE_MASK 0x0100
0409 #define WM9090_MIXOUTR_MUTE_SHIFT 8
0410 #define WM9090_MIXOUTR_MUTE_WIDTH 1
0411 #define WM9090_IN1A_MIXOUTR_VOL_MASK 0x00C0
0412 #define WM9090_IN1A_MIXOUTR_VOL_SHIFT 6
0413 #define WM9090_IN1A_MIXOUTR_VOL_WIDTH 2
0414 #define WM9090_IN1B_MIXOUTR_VOL_MASK 0x0030
0415 #define WM9090_IN1B_MIXOUTR_VOL_SHIFT 4
0416 #define WM9090_IN1B_MIXOUTR_VOL_WIDTH 2
0417 #define WM9090_IN2A_MIXOUTR_VOL_MASK 0x000C
0418 #define WM9090_IN2A_MIXOUTR_VOL_SHIFT 2
0419 #define WM9090_IN2A_MIXOUTR_VOL_WIDTH 2
0420 #define WM9090_IN2B_MIXOUTR_VOL_MASK 0x0003
0421 #define WM9090_IN2B_MIXOUTR_VOL_SHIFT 0
0422 #define WM9090_IN2B_MIXOUTR_VOL_WIDTH 2
0423
0424
0425
0426
0427 #define WM9090_IN1A_TO_SPKMIX 0x0040
0428 #define WM9090_IN1A_TO_SPKMIX_MASK 0x0040
0429 #define WM9090_IN1A_TO_SPKMIX_SHIFT 6
0430 #define WM9090_IN1A_TO_SPKMIX_WIDTH 1
0431 #define WM9090_IN1B_TO_SPKMIX 0x0010
0432 #define WM9090_IN1B_TO_SPKMIX_MASK 0x0010
0433 #define WM9090_IN1B_TO_SPKMIX_SHIFT 4
0434 #define WM9090_IN1B_TO_SPKMIX_WIDTH 1
0435 #define WM9090_IN2A_TO_SPKMIX 0x0004
0436 #define WM9090_IN2A_TO_SPKMIX_MASK 0x0004
0437 #define WM9090_IN2A_TO_SPKMIX_SHIFT 2
0438 #define WM9090_IN2A_TO_SPKMIX_WIDTH 1
0439 #define WM9090_IN2B_TO_SPKMIX 0x0001
0440 #define WM9090_IN2B_TO_SPKMIX_MASK 0x0001
0441 #define WM9090_IN2B_TO_SPKMIX_SHIFT 0
0442 #define WM9090_IN2B_TO_SPKMIX_WIDTH 1
0443
0444
0445
0446
0447 #define WM9090_VMID_BUF_ENA 0x0008
0448 #define WM9090_VMID_BUF_ENA_MASK 0x0008
0449 #define WM9090_VMID_BUF_ENA_SHIFT 3
0450 #define WM9090_VMID_BUF_ENA_WIDTH 1
0451 #define WM9090_VMID_ENA 0x0001
0452 #define WM9090_VMID_ENA_MASK 0x0001
0453 #define WM9090_VMID_ENA_SHIFT 0
0454 #define WM9090_VMID_ENA_WIDTH 1
0455
0456
0457
0458
0459 #define WM9090_WSEQ_ENA 0x0100
0460 #define WM9090_WSEQ_ENA_MASK 0x0100
0461 #define WM9090_WSEQ_ENA_SHIFT 8
0462 #define WM9090_WSEQ_ENA_WIDTH 1
0463 #define WM9090_WSEQ_WRITE_INDEX_MASK 0x000F
0464 #define WM9090_WSEQ_WRITE_INDEX_SHIFT 0
0465 #define WM9090_WSEQ_WRITE_INDEX_WIDTH 4
0466
0467
0468
0469
0470 #define WM9090_WSEQ_DATA_WIDTH_MASK 0x7000
0471 #define WM9090_WSEQ_DATA_WIDTH_SHIFT 12
0472 #define WM9090_WSEQ_DATA_WIDTH_WIDTH 3
0473 #define WM9090_WSEQ_DATA_START_MASK 0x0F00
0474 #define WM9090_WSEQ_DATA_START_SHIFT 8
0475 #define WM9090_WSEQ_DATA_START_WIDTH 4
0476 #define WM9090_WSEQ_ADDR_MASK 0x00FF
0477 #define WM9090_WSEQ_ADDR_SHIFT 0
0478 #define WM9090_WSEQ_ADDR_WIDTH 8
0479
0480
0481
0482
0483 #define WM9090_WSEQ_EOS 0x4000
0484 #define WM9090_WSEQ_EOS_MASK 0x4000
0485 #define WM9090_WSEQ_EOS_SHIFT 14
0486 #define WM9090_WSEQ_EOS_WIDTH 1
0487 #define WM9090_WSEQ_DELAY_MASK 0x0F00
0488 #define WM9090_WSEQ_DELAY_SHIFT 8
0489 #define WM9090_WSEQ_DELAY_WIDTH 4
0490 #define WM9090_WSEQ_DATA_MASK 0x00FF
0491 #define WM9090_WSEQ_DATA_SHIFT 0
0492 #define WM9090_WSEQ_DATA_WIDTH 8
0493
0494
0495
0496
0497 #define WM9090_WSEQ_ABORT 0x0200
0498 #define WM9090_WSEQ_ABORT_MASK 0x0200
0499 #define WM9090_WSEQ_ABORT_SHIFT 9
0500 #define WM9090_WSEQ_ABORT_WIDTH 1
0501 #define WM9090_WSEQ_START 0x0100
0502 #define WM9090_WSEQ_START_MASK 0x0100
0503 #define WM9090_WSEQ_START_SHIFT 8
0504 #define WM9090_WSEQ_START_WIDTH 1
0505 #define WM9090_WSEQ_START_INDEX_MASK 0x003F
0506 #define WM9090_WSEQ_START_INDEX_SHIFT 0
0507 #define WM9090_WSEQ_START_INDEX_WIDTH 6
0508
0509
0510
0511
0512 #define WM9090_WSEQ_BUSY 0x0001
0513 #define WM9090_WSEQ_BUSY_MASK 0x0001
0514 #define WM9090_WSEQ_BUSY_SHIFT 0
0515 #define WM9090_WSEQ_BUSY_WIDTH 1
0516
0517
0518
0519
0520 #define WM9090_WSEQ_CURRENT_INDEX_MASK 0x003F
0521 #define WM9090_WSEQ_CURRENT_INDEX_SHIFT 0
0522 #define WM9090_WSEQ_CURRENT_INDEX_WIDTH 6
0523
0524
0525
0526
0527 #define WM9090_CP_ENA 0x8000
0528 #define WM9090_CP_ENA_MASK 0x8000
0529 #define WM9090_CP_ENA_SHIFT 15
0530 #define WM9090_CP_ENA_WIDTH 1
0531
0532
0533
0534
0535 #define WM9090_DCS_TRIG_SINGLE_1 0x2000
0536 #define WM9090_DCS_TRIG_SINGLE_1_MASK 0x2000
0537 #define WM9090_DCS_TRIG_SINGLE_1_SHIFT 13
0538 #define WM9090_DCS_TRIG_SINGLE_1_WIDTH 1
0539 #define WM9090_DCS_TRIG_SINGLE_0 0x1000
0540 #define WM9090_DCS_TRIG_SINGLE_0_MASK 0x1000
0541 #define WM9090_DCS_TRIG_SINGLE_0_SHIFT 12
0542 #define WM9090_DCS_TRIG_SINGLE_0_WIDTH 1
0543 #define WM9090_DCS_TRIG_SERIES_1 0x0200
0544 #define WM9090_DCS_TRIG_SERIES_1_MASK 0x0200
0545 #define WM9090_DCS_TRIG_SERIES_1_SHIFT 9
0546 #define WM9090_DCS_TRIG_SERIES_1_WIDTH 1
0547 #define WM9090_DCS_TRIG_SERIES_0 0x0100
0548 #define WM9090_DCS_TRIG_SERIES_0_MASK 0x0100
0549 #define WM9090_DCS_TRIG_SERIES_0_SHIFT 8
0550 #define WM9090_DCS_TRIG_SERIES_0_WIDTH 1
0551 #define WM9090_DCS_TRIG_STARTUP_1 0x0020
0552 #define WM9090_DCS_TRIG_STARTUP_1_MASK 0x0020
0553 #define WM9090_DCS_TRIG_STARTUP_1_SHIFT 5
0554 #define WM9090_DCS_TRIG_STARTUP_1_WIDTH 1
0555 #define WM9090_DCS_TRIG_STARTUP_0 0x0010
0556 #define WM9090_DCS_TRIG_STARTUP_0_MASK 0x0010
0557 #define WM9090_DCS_TRIG_STARTUP_0_SHIFT 4
0558 #define WM9090_DCS_TRIG_STARTUP_0_WIDTH 1
0559 #define WM9090_DCS_TRIG_DAC_WR_1 0x0008
0560 #define WM9090_DCS_TRIG_DAC_WR_1_MASK 0x0008
0561 #define WM9090_DCS_TRIG_DAC_WR_1_SHIFT 3
0562 #define WM9090_DCS_TRIG_DAC_WR_1_WIDTH 1
0563 #define WM9090_DCS_TRIG_DAC_WR_0 0x0004
0564 #define WM9090_DCS_TRIG_DAC_WR_0_MASK 0x0004
0565 #define WM9090_DCS_TRIG_DAC_WR_0_SHIFT 2
0566 #define WM9090_DCS_TRIG_DAC_WR_0_WIDTH 1
0567 #define WM9090_DCS_ENA_CHAN_1 0x0002
0568 #define WM9090_DCS_ENA_CHAN_1_MASK 0x0002
0569 #define WM9090_DCS_ENA_CHAN_1_SHIFT 1
0570 #define WM9090_DCS_ENA_CHAN_1_WIDTH 1
0571 #define WM9090_DCS_ENA_CHAN_0 0x0001
0572 #define WM9090_DCS_ENA_CHAN_0_MASK 0x0001
0573 #define WM9090_DCS_ENA_CHAN_0_SHIFT 0
0574 #define WM9090_DCS_ENA_CHAN_0_WIDTH 1
0575
0576
0577
0578
0579 #define WM9090_DCS_SERIES_NO_01_MASK 0x0FE0
0580 #define WM9090_DCS_SERIES_NO_01_SHIFT 5
0581 #define WM9090_DCS_SERIES_NO_01_WIDTH 7
0582 #define WM9090_DCS_TIMER_PERIOD_01_MASK 0x000F
0583 #define WM9090_DCS_TIMER_PERIOD_01_SHIFT 0
0584 #define WM9090_DCS_TIMER_PERIOD_01_WIDTH 4
0585
0586
0587
0588
0589 #define WM9090_DCS_DAC_WR_VAL_1_MASK 0xFF00
0590 #define WM9090_DCS_DAC_WR_VAL_1_SHIFT 8
0591 #define WM9090_DCS_DAC_WR_VAL_1_WIDTH 8
0592 #define WM9090_DCS_DAC_WR_VAL_0_MASK 0x00FF
0593 #define WM9090_DCS_DAC_WR_VAL_0_SHIFT 0
0594 #define WM9090_DCS_DAC_WR_VAL_0_WIDTH 8
0595
0596
0597
0598
0599 #define WM9090_DCS_CAL_COMPLETE_MASK 0x0300
0600 #define WM9090_DCS_CAL_COMPLETE_SHIFT 8
0601 #define WM9090_DCS_CAL_COMPLETE_WIDTH 2
0602 #define WM9090_DCS_DAC_WR_COMPLETE_MASK 0x0030
0603 #define WM9090_DCS_DAC_WR_COMPLETE_SHIFT 4
0604 #define WM9090_DCS_DAC_WR_COMPLETE_WIDTH 2
0605 #define WM9090_DCS_STARTUP_COMPLETE_MASK 0x0003
0606 #define WM9090_DCS_STARTUP_COMPLETE_SHIFT 0
0607 #define WM9090_DCS_STARTUP_COMPLETE_WIDTH 2
0608
0609
0610
0611
0612 #define WM9090_DCS_DAC_WR_VAL_1_RD_MASK 0x00FF
0613 #define WM9090_DCS_DAC_WR_VAL_1_RD_SHIFT 0
0614 #define WM9090_DCS_DAC_WR_VAL_1_RD_WIDTH 8
0615
0616
0617
0618
0619 #define WM9090_DCS_DAC_WR_VAL_0_RD_MASK 0x00FF
0620 #define WM9090_DCS_DAC_WR_VAL_0_RD_SHIFT 0
0621 #define WM9090_DCS_DAC_WR_VAL_0_RD_WIDTH 8
0622
0623
0624
0625
0626 #define WM9090_HPOUT1L_RMV_SHORT 0x0080
0627 #define WM9090_HPOUT1L_RMV_SHORT_MASK 0x0080
0628 #define WM9090_HPOUT1L_RMV_SHORT_SHIFT 7
0629 #define WM9090_HPOUT1L_RMV_SHORT_WIDTH 1
0630 #define WM9090_HPOUT1L_OUTP 0x0040
0631 #define WM9090_HPOUT1L_OUTP_MASK 0x0040
0632 #define WM9090_HPOUT1L_OUTP_SHIFT 6
0633 #define WM9090_HPOUT1L_OUTP_WIDTH 1
0634 #define WM9090_HPOUT1L_DLY 0x0020
0635 #define WM9090_HPOUT1L_DLY_MASK 0x0020
0636 #define WM9090_HPOUT1L_DLY_SHIFT 5
0637 #define WM9090_HPOUT1L_DLY_WIDTH 1
0638 #define WM9090_HPOUT1R_RMV_SHORT 0x0008
0639 #define WM9090_HPOUT1R_RMV_SHORT_MASK 0x0008
0640 #define WM9090_HPOUT1R_RMV_SHORT_SHIFT 3
0641 #define WM9090_HPOUT1R_RMV_SHORT_WIDTH 1
0642 #define WM9090_HPOUT1R_OUTP 0x0004
0643 #define WM9090_HPOUT1R_OUTP_MASK 0x0004
0644 #define WM9090_HPOUT1R_OUTP_SHIFT 2
0645 #define WM9090_HPOUT1R_OUTP_WIDTH 1
0646 #define WM9090_HPOUT1R_DLY 0x0002
0647 #define WM9090_HPOUT1R_DLY_MASK 0x0002
0648 #define WM9090_HPOUT1R_DLY_SHIFT 1
0649 #define WM9090_HPOUT1R_DLY_WIDTH 1
0650
0651
0652
0653
0654 #define WM9090_AGC_CLIP_ENA 0x8000
0655 #define WM9090_AGC_CLIP_ENA_MASK 0x8000
0656 #define WM9090_AGC_CLIP_ENA_SHIFT 15
0657 #define WM9090_AGC_CLIP_ENA_WIDTH 1
0658 #define WM9090_AGC_CLIP_THR_MASK 0x0F00
0659 #define WM9090_AGC_CLIP_THR_SHIFT 8
0660 #define WM9090_AGC_CLIP_THR_WIDTH 4
0661 #define WM9090_AGC_CLIP_ATK_MASK 0x0070
0662 #define WM9090_AGC_CLIP_ATK_SHIFT 4
0663 #define WM9090_AGC_CLIP_ATK_WIDTH 3
0664 #define WM9090_AGC_CLIP_DCY_MASK 0x0007
0665 #define WM9090_AGC_CLIP_DCY_SHIFT 0
0666 #define WM9090_AGC_CLIP_DCY_WIDTH 3
0667
0668
0669
0670
0671 #define WM9090_AGC_PWR_ENA 0x8000
0672 #define WM9090_AGC_PWR_ENA_MASK 0x8000
0673 #define WM9090_AGC_PWR_ENA_SHIFT 15
0674 #define WM9090_AGC_PWR_ENA_WIDTH 1
0675 #define WM9090_AGC_PWR_AVG 0x1000
0676 #define WM9090_AGC_PWR_AVG_MASK 0x1000
0677 #define WM9090_AGC_PWR_AVG_SHIFT 12
0678 #define WM9090_AGC_PWR_AVG_WIDTH 1
0679 #define WM9090_AGC_PWR_THR_MASK 0x0F00
0680 #define WM9090_AGC_PWR_THR_SHIFT 8
0681 #define WM9090_AGC_PWR_THR_WIDTH 4
0682 #define WM9090_AGC_PWR_ATK_MASK 0x0070
0683 #define WM9090_AGC_PWR_ATK_SHIFT 4
0684 #define WM9090_AGC_PWR_ATK_WIDTH 3
0685 #define WM9090_AGC_PWR_DCY_MASK 0x0007
0686 #define WM9090_AGC_PWR_DCY_SHIFT 0
0687 #define WM9090_AGC_PWR_DCY_WIDTH 3
0688
0689
0690
0691
0692 #define WM9090_AGC_RAMP 0x0100
0693 #define WM9090_AGC_RAMP_MASK 0x0100
0694 #define WM9090_AGC_RAMP_SHIFT 8
0695 #define WM9090_AGC_RAMP_WIDTH 1
0696 #define WM9090_AGC_MINGAIN_MASK 0x003F
0697 #define WM9090_AGC_MINGAIN_SHIFT 0
0698 #define WM9090_AGC_MINGAIN_WIDTH 6
0699
0700 #endif