xref: /linux/sound/soc/codecs/wm8962.h (revision d2912cb15bdda8ba4a5dd73396ad62641af2f520)
1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
29a76f1ffSMark Brown /*
39a76f1ffSMark Brown  * wm8962.h  --  WM8962 ASoC driver
49a76f1ffSMark Brown  *
59a76f1ffSMark Brown  * Copyright 2010 Wolfson Microelectronics, plc
69a76f1ffSMark Brown  *
79a76f1ffSMark Brown  * Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
89a76f1ffSMark Brown  */
99a76f1ffSMark Brown 
109a76f1ffSMark Brown #ifndef _WM8962_H
119a76f1ffSMark Brown #define _WM8962_H
129a76f1ffSMark Brown 
139a76f1ffSMark Brown #include <asm/types.h>
147711308aSMark Brown #include <sound/soc.h>
159a76f1ffSMark Brown 
16937e92dcSFabio Estevam #define WM8962_SYSCLK_MCLK 0
17937e92dcSFabio Estevam #define WM8962_SYSCLK_FLL  1
18937e92dcSFabio Estevam #define WM8962_SYSCLK_PLL3 2
199a76f1ffSMark Brown 
209a76f1ffSMark Brown #define WM8962_FLL  1
219a76f1ffSMark Brown 
229a76f1ffSMark Brown #define WM8962_FLL_MCLK 1
239a76f1ffSMark Brown #define WM8962_FLL_BCLK 2
249a76f1ffSMark Brown #define WM8962_FLL_OSC  3
259a76f1ffSMark Brown #define WM8962_FLL_INT  4
269a76f1ffSMark Brown 
279a76f1ffSMark Brown /*
289a76f1ffSMark Brown  * Register values.
299a76f1ffSMark Brown  */
309a76f1ffSMark Brown #define WM8962_LEFT_INPUT_VOLUME                0x00
319a76f1ffSMark Brown #define WM8962_RIGHT_INPUT_VOLUME               0x01
329a76f1ffSMark Brown #define WM8962_HPOUTL_VOLUME                    0x02
339a76f1ffSMark Brown #define WM8962_HPOUTR_VOLUME                    0x03
349a76f1ffSMark Brown #define WM8962_CLOCKING1                        0x04
359a76f1ffSMark Brown #define WM8962_ADC_DAC_CONTROL_1                0x05
369a76f1ffSMark Brown #define WM8962_ADC_DAC_CONTROL_2                0x06
379a76f1ffSMark Brown #define WM8962_AUDIO_INTERFACE_0                0x07
389a76f1ffSMark Brown #define WM8962_CLOCKING2                        0x08
399a76f1ffSMark Brown #define WM8962_AUDIO_INTERFACE_1                0x09
409a76f1ffSMark Brown #define WM8962_LEFT_DAC_VOLUME                  0x0A
419a76f1ffSMark Brown #define WM8962_RIGHT_DAC_VOLUME                 0x0B
429a76f1ffSMark Brown #define WM8962_AUDIO_INTERFACE_2                0x0E
439a76f1ffSMark Brown #define WM8962_SOFTWARE_RESET                   0x0F
449a76f1ffSMark Brown #define WM8962_ALC1                             0x11
459a76f1ffSMark Brown #define WM8962_ALC2                             0x12
469a76f1ffSMark Brown #define WM8962_ALC3                             0x13
479a76f1ffSMark Brown #define WM8962_NOISE_GATE                       0x14
489a76f1ffSMark Brown #define WM8962_LEFT_ADC_VOLUME                  0x15
499a76f1ffSMark Brown #define WM8962_RIGHT_ADC_VOLUME                 0x16
509a76f1ffSMark Brown #define WM8962_ADDITIONAL_CONTROL_1             0x17
519a76f1ffSMark Brown #define WM8962_ADDITIONAL_CONTROL_2             0x18
529a76f1ffSMark Brown #define WM8962_PWR_MGMT_1                       0x19
539a76f1ffSMark Brown #define WM8962_PWR_MGMT_2                       0x1A
549a76f1ffSMark Brown #define WM8962_ADDITIONAL_CONTROL_3             0x1B
559a76f1ffSMark Brown #define WM8962_ANTI_POP                         0x1C
569a76f1ffSMark Brown #define WM8962_CLOCKING_3                       0x1E
579a76f1ffSMark Brown #define WM8962_INPUT_MIXER_CONTROL_1            0x1F
589a76f1ffSMark Brown #define WM8962_LEFT_INPUT_MIXER_VOLUME          0x20
599a76f1ffSMark Brown #define WM8962_RIGHT_INPUT_MIXER_VOLUME         0x21
609a76f1ffSMark Brown #define WM8962_INPUT_MIXER_CONTROL_2            0x22
619a76f1ffSMark Brown #define WM8962_INPUT_BIAS_CONTROL               0x23
629a76f1ffSMark Brown #define WM8962_LEFT_INPUT_PGA_CONTROL           0x25
639a76f1ffSMark Brown #define WM8962_RIGHT_INPUT_PGA_CONTROL          0x26
649a76f1ffSMark Brown #define WM8962_SPKOUTL_VOLUME                   0x28
659a76f1ffSMark Brown #define WM8962_SPKOUTR_VOLUME                   0x29
669a76f1ffSMark Brown #define WM8962_THERMAL_SHUTDOWN_STATUS          0x2F
679a76f1ffSMark Brown #define WM8962_ADDITIONAL_CONTROL_4             0x30
689a76f1ffSMark Brown #define WM8962_CLASS_D_CONTROL_1                0x31
699a76f1ffSMark Brown #define WM8962_CLASS_D_CONTROL_2                0x33
709a76f1ffSMark Brown #define WM8962_CLOCKING_4                       0x38
719a76f1ffSMark Brown #define WM8962_DAC_DSP_MIXING_1                 0x39
729a76f1ffSMark Brown #define WM8962_DAC_DSP_MIXING_2                 0x3A
739a76f1ffSMark Brown #define WM8962_DC_SERVO_0                       0x3C
749a76f1ffSMark Brown #define WM8962_DC_SERVO_1                       0x3D
759a76f1ffSMark Brown #define WM8962_DC_SERVO_4                       0x40
769a76f1ffSMark Brown #define WM8962_DC_SERVO_6                       0x42
779a76f1ffSMark Brown #define WM8962_ANALOGUE_PGA_BIAS                0x44
789a76f1ffSMark Brown #define WM8962_ANALOGUE_HP_0                    0x45
799a76f1ffSMark Brown #define WM8962_ANALOGUE_HP_2                    0x47
809a76f1ffSMark Brown #define WM8962_CHARGE_PUMP_1                    0x48
819a76f1ffSMark Brown #define WM8962_CHARGE_PUMP_B                    0x52
829a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_CONTROL_1        0x57
839a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_CONTROL_2        0x5A
849a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_CONTROL_3        0x5D
859a76f1ffSMark Brown #define WM8962_CONTROL_INTERFACE                0x5E
869a76f1ffSMark Brown #define WM8962_MIXER_ENABLES                    0x63
879a76f1ffSMark Brown #define WM8962_HEADPHONE_MIXER_1                0x64
889a76f1ffSMark Brown #define WM8962_HEADPHONE_MIXER_2                0x65
899a76f1ffSMark Brown #define WM8962_HEADPHONE_MIXER_3                0x66
909a76f1ffSMark Brown #define WM8962_HEADPHONE_MIXER_4                0x67
919a76f1ffSMark Brown #define WM8962_SPEAKER_MIXER_1                  0x69
929a76f1ffSMark Brown #define WM8962_SPEAKER_MIXER_2                  0x6A
939a76f1ffSMark Brown #define WM8962_SPEAKER_MIXER_3                  0x6B
949a76f1ffSMark Brown #define WM8962_SPEAKER_MIXER_4                  0x6C
959a76f1ffSMark Brown #define WM8962_SPEAKER_MIXER_5                  0x6D
969a76f1ffSMark Brown #define WM8962_BEEP_GENERATOR_1                 0x6E
979a76f1ffSMark Brown #define WM8962_OSCILLATOR_TRIM_3                0x73
989a76f1ffSMark Brown #define WM8962_OSCILLATOR_TRIM_4                0x74
999a76f1ffSMark Brown #define WM8962_OSCILLATOR_TRIM_7                0x77
1009a76f1ffSMark Brown #define WM8962_ANALOGUE_CLOCKING1               0x7C
1019a76f1ffSMark Brown #define WM8962_ANALOGUE_CLOCKING2               0x7D
1029a76f1ffSMark Brown #define WM8962_ANALOGUE_CLOCKING3               0x7E
1039a76f1ffSMark Brown #define WM8962_PLL_SOFTWARE_RESET               0x7F
1049a76f1ffSMark Brown #define WM8962_PLL2                             0x81
1059a76f1ffSMark Brown #define WM8962_PLL_4                            0x83
1069a76f1ffSMark Brown #define WM8962_PLL_9                            0x88
1079a76f1ffSMark Brown #define WM8962_PLL_10                           0x89
1089a76f1ffSMark Brown #define WM8962_PLL_11                           0x8A
1099a76f1ffSMark Brown #define WM8962_PLL_12                           0x8B
1109a76f1ffSMark Brown #define WM8962_PLL_13                           0x8C
1119a76f1ffSMark Brown #define WM8962_PLL_14                           0x8D
1129a76f1ffSMark Brown #define WM8962_PLL_15                           0x8E
1139a76f1ffSMark Brown #define WM8962_PLL_16                           0x8F
1149a76f1ffSMark Brown #define WM8962_FLL_CONTROL_1                    0x9B
1159a76f1ffSMark Brown #define WM8962_FLL_CONTROL_2                    0x9C
1169a76f1ffSMark Brown #define WM8962_FLL_CONTROL_3                    0x9D
1179a76f1ffSMark Brown #define WM8962_FLL_CONTROL_5                    0x9F
1189a76f1ffSMark Brown #define WM8962_FLL_CONTROL_6                    0xA0
1199a76f1ffSMark Brown #define WM8962_FLL_CONTROL_7                    0xA1
1209a76f1ffSMark Brown #define WM8962_FLL_CONTROL_8                    0xA2
1219a76f1ffSMark Brown #define WM8962_GENERAL_TEST_1                   0xFC
1229a76f1ffSMark Brown #define WM8962_DF1                              0x100
1239a76f1ffSMark Brown #define WM8962_DF2                              0x101
1249a76f1ffSMark Brown #define WM8962_DF3                              0x102
1259a76f1ffSMark Brown #define WM8962_DF4                              0x103
1269a76f1ffSMark Brown #define WM8962_DF5                              0x104
1279a76f1ffSMark Brown #define WM8962_DF6                              0x105
1289a76f1ffSMark Brown #define WM8962_DF7                              0x106
1299a76f1ffSMark Brown #define WM8962_LHPF1                            0x108
1309a76f1ffSMark Brown #define WM8962_LHPF2                            0x109
1319a76f1ffSMark Brown #define WM8962_THREED1                          0x10C
1329a76f1ffSMark Brown #define WM8962_THREED2                          0x10D
1339a76f1ffSMark Brown #define WM8962_THREED3                          0x10E
1349a76f1ffSMark Brown #define WM8962_THREED4                          0x10F
1359a76f1ffSMark Brown #define WM8962_DRC_1                            0x114
1369a76f1ffSMark Brown #define WM8962_DRC_2                            0x115
1379a76f1ffSMark Brown #define WM8962_DRC_3                            0x116
1389a76f1ffSMark Brown #define WM8962_DRC_4                            0x117
1399a76f1ffSMark Brown #define WM8962_DRC_5                            0x118
1409a76f1ffSMark Brown #define WM8962_TLOOPBACK                        0x11D
1419a76f1ffSMark Brown #define WM8962_EQ1                              0x14F
1429a76f1ffSMark Brown #define WM8962_EQ2                              0x150
1439a76f1ffSMark Brown #define WM8962_EQ3                              0x151
1449a76f1ffSMark Brown #define WM8962_EQ4                              0x152
1459a76f1ffSMark Brown #define WM8962_EQ5                              0x153
1469a76f1ffSMark Brown #define WM8962_EQ6                              0x154
1479a76f1ffSMark Brown #define WM8962_EQ7                              0x155
1489a76f1ffSMark Brown #define WM8962_EQ8                              0x156
1499a76f1ffSMark Brown #define WM8962_EQ9                              0x157
1509a76f1ffSMark Brown #define WM8962_EQ10                             0x158
1519a76f1ffSMark Brown #define WM8962_EQ11                             0x159
1529a76f1ffSMark Brown #define WM8962_EQ12                             0x15A
1539a76f1ffSMark Brown #define WM8962_EQ13                             0x15B
1549a76f1ffSMark Brown #define WM8962_EQ14                             0x15C
1559a76f1ffSMark Brown #define WM8962_EQ15                             0x15D
1569a76f1ffSMark Brown #define WM8962_EQ16                             0x15E
1579a76f1ffSMark Brown #define WM8962_EQ17                             0x15F
1589a76f1ffSMark Brown #define WM8962_EQ18                             0x160
1599a76f1ffSMark Brown #define WM8962_EQ19                             0x161
1609a76f1ffSMark Brown #define WM8962_EQ20                             0x162
1619a76f1ffSMark Brown #define WM8962_EQ21                             0x163
1629a76f1ffSMark Brown #define WM8962_EQ22                             0x164
1639a76f1ffSMark Brown #define WM8962_EQ23                             0x165
1649a76f1ffSMark Brown #define WM8962_EQ24                             0x166
1659a76f1ffSMark Brown #define WM8962_EQ25                             0x167
1669a76f1ffSMark Brown #define WM8962_EQ26                             0x168
1679a76f1ffSMark Brown #define WM8962_EQ27                             0x169
1689a76f1ffSMark Brown #define WM8962_EQ28                             0x16A
1699a76f1ffSMark Brown #define WM8962_EQ29                             0x16B
1709a76f1ffSMark Brown #define WM8962_EQ30                             0x16C
1719a76f1ffSMark Brown #define WM8962_EQ31                             0x16D
1729a76f1ffSMark Brown #define WM8962_EQ32                             0x16E
1739a76f1ffSMark Brown #define WM8962_EQ33                             0x16F
1749a76f1ffSMark Brown #define WM8962_EQ34                             0x170
1759a76f1ffSMark Brown #define WM8962_EQ35                             0x171
1769a76f1ffSMark Brown #define WM8962_EQ36                             0x172
1779a76f1ffSMark Brown #define WM8962_EQ37                             0x173
1789a76f1ffSMark Brown #define WM8962_EQ38                             0x174
1799a76f1ffSMark Brown #define WM8962_EQ39                             0x175
1809a76f1ffSMark Brown #define WM8962_EQ40                             0x176
1819a76f1ffSMark Brown #define WM8962_EQ41                             0x177
1823367b8d4SMark Brown #define WM8962_GPIO_BASE			0x200
1839a76f1ffSMark Brown #define WM8962_GPIO_2                           0x201
1849a76f1ffSMark Brown #define WM8962_GPIO_3                           0x202
1859a76f1ffSMark Brown #define WM8962_GPIO_5                           0x204
1869a76f1ffSMark Brown #define WM8962_GPIO_6                           0x205
1879a76f1ffSMark Brown #define WM8962_INTERRUPT_STATUS_1               0x230
1889a76f1ffSMark Brown #define WM8962_INTERRUPT_STATUS_2               0x231
1899a76f1ffSMark Brown #define WM8962_INTERRUPT_STATUS_1_MASK          0x238
1909a76f1ffSMark Brown #define WM8962_INTERRUPT_STATUS_2_MASK          0x239
1919a76f1ffSMark Brown #define WM8962_INTERRUPT_CONTROL                0x240
1929a76f1ffSMark Brown #define WM8962_IRQ_DEBOUNCE                     0x248
1939a76f1ffSMark Brown #define WM8962_MICINT_SOURCE_POL                0x24A
1949a76f1ffSMark Brown #define WM8962_DSP2_POWER_MANAGEMENT            0x300
1959a76f1ffSMark Brown #define WM8962_DSP2_EXECCONTROL                 0x40D
1969a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_0                0x1000
1979a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_1                0x1001
1989a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_2                0x1002
1999a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_3                0x1003
2009a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_4                0x1004
2019a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_5                0x1005
2029a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_6                0x1006
2039a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_7                0x1007
2049a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_8                0x1008
2059a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_9                0x1009
2069a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_10               0x100A
2079a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_11               0x100B
2089a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_12               0x100C
2099a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_13               0x100D
2109a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_14               0x100E
2119a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_15               0x100F
2129a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_16               0x1010
2139a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_17               0x1011
2149a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_18               0x1012
2159a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_19               0x1013
2169a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_20               0x1014
2179a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_21               0x1015
2189a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_22               0x1016
2199a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_23               0x1017
2209a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_24               0x1018
2219a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_25               0x1019
2229a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_26               0x101A
2239a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_27               0x101B
2249a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_28               0x101C
2259a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_29               0x101D
2269a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_30               0x101E
2279a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_31               0x101F
2289a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_32               0x1020
2299a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_33               0x1021
2309a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_34               0x1022
2319a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_35               0x1023
2329a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_36               0x1024
2339a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_37               0x1025
2349a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_38               0x1026
2359a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_39               0x1027
2369a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_40               0x1028
2379a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_41               0x1029
2389a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_42               0x102A
2399a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_43               0x102B
2409a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_44               0x102C
2419a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_45               0x102D
2429a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_46               0x102E
2439a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_47               0x102F
2449a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_48               0x1030
2459a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_49               0x1031
2469a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_50               0x1032
2479a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_51               0x1033
2489a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_52               0x1034
2499a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_53               0x1035
2509a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_54               0x1036
2519a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_55               0x1037
2529a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_56               0x1038
2539a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_57               0x1039
2549a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_58               0x103A
2559a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_59               0x103B
2569a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_60               0x103C
2579a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_61               0x103D
2589a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_62               0x103E
2599a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_63               0x103F
2609a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_64               0x1040
2619a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_65               0x1041
2629a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_66               0x1042
2639a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_67               0x1043
2649a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_68               0x1044
2659a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_69               0x1045
2669a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_70               0x1046
2679a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_71               0x1047
2689a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_72               0x1048
2699a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_73               0x1049
2709a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_74               0x104A
2719a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_75               0x104B
2729a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_76               0x104C
2739a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_77               0x104D
2749a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_78               0x104E
2759a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_79               0x104F
2769a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_80               0x1050
2779a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_81               0x1051
2789a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_82               0x1052
2799a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_83               0x1053
2809a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_84               0x1054
2819a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_85               0x1055
2829a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_86               0x1056
2839a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_87               0x1057
2849a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_88               0x1058
2859a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_89               0x1059
2869a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_90               0x105A
2879a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_91               0x105B
2889a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_92               0x105C
2899a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_93               0x105D
2909a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_94               0x105E
2919a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_95               0x105F
2929a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_96               0x1060
2939a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_97               0x1061
2949a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_98               0x1062
2959a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_99               0x1063
2969a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_100              0x1064
2979a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_101              0x1065
2989a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_102              0x1066
2999a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_103              0x1067
3009a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_104              0x1068
3019a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_105              0x1069
3029a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_106              0x106A
3039a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_107              0x106B
3049a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_108              0x106C
3059a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_109              0x106D
3069a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_110              0x106E
3079a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_111              0x106F
3089a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_112              0x1070
3099a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_113              0x1071
3109a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_114              0x1072
3119a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_115              0x1073
3129a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_116              0x1074
3139a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_117              0x1075
3149a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_118              0x1076
3159a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_119              0x1077
3169a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_120              0x1078
3179a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_121              0x1079
3189a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_122              0x107A
3199a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_123              0x107B
3209a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_124              0x107C
3219a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_125              0x107D
3229a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_126              0x107E
3239a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_127              0x107F
3249a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_128              0x1080
3259a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_129              0x1081
3269a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_130              0x1082
3279a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_131              0x1083
3289a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_132              0x1084
3299a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_133              0x1085
3309a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_134              0x1086
3319a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_135              0x1087
3329a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_136              0x1088
3339a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_137              0x1089
3349a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_138              0x108A
3359a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_139              0x108B
3369a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_140              0x108C
3379a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_141              0x108D
3389a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_142              0x108E
3399a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_143              0x108F
3409a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_144              0x1090
3419a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_145              0x1091
3429a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_146              0x1092
3439a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_147              0x1093
3449a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_148              0x1094
3459a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_149              0x1095
3469a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_150              0x1096
3479a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_151              0x1097
3489a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_152              0x1098
3499a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_153              0x1099
3509a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_154              0x109A
3519a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_155              0x109B
3529a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_156              0x109C
3539a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_157              0x109D
3549a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_158              0x109E
3559a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_159              0x109F
3569a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_160              0x10A0
3579a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_161              0x10A1
3589a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_162              0x10A2
3599a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_163              0x10A3
3609a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_164              0x10A4
3619a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_165              0x10A5
3629a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_166              0x10A6
3639a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_167              0x10A7
3649a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_168              0x10A8
3659a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_169              0x10A9
3669a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_170              0x10AA
3679a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_171              0x10AB
3689a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_172              0x10AC
3699a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_173              0x10AD
3709a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_174              0x10AE
3719a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_175              0x10AF
3729a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_176              0x10B0
3739a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_177              0x10B1
3749a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_178              0x10B2
3759a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_179              0x10B3
3769a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_180              0x10B4
3779a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_181              0x10B5
3789a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_182              0x10B6
3799a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_183              0x10B7
3809a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_184              0x10B8
3819a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_185              0x10B9
3829a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_186              0x10BA
3839a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_187              0x10BB
3849a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_188              0x10BC
3859a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_189              0x10BD
3869a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_190              0x10BE
3879a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_191              0x10BF
3889a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_192              0x10C0
3899a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_193              0x10C1
3909a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_194              0x10C2
3919a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_195              0x10C3
3929a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_196              0x10C4
3939a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_197              0x10C5
3949a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_198              0x10C6
3959a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_199              0x10C7
3969a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_200              0x10C8
3979a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_201              0x10C9
3989a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_202              0x10CA
3999a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_203              0x10CB
4009a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_204              0x10CC
4019a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_205              0x10CD
4029a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_206              0x10CE
4039a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_207              0x10CF
4049a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_208              0x10D0
4059a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_209              0x10D1
4069a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_210              0x10D2
4079a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_211              0x10D3
4089a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_212              0x10D4
4099a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_213              0x10D5
4109a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_214              0x10D6
4119a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_215              0x10D7
4129a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_216              0x10D8
4139a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_217              0x10D9
4149a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_218              0x10DA
4159a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_219              0x10DB
4169a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_220              0x10DC
4179a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_221              0x10DD
4189a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_222              0x10DE
4199a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_223              0x10DF
4209a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_224              0x10E0
4219a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_225              0x10E1
4229a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_226              0x10E2
4239a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_227              0x10E3
4249a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_228              0x10E4
4259a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_229              0x10E5
4269a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_230              0x10E6
4279a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_231              0x10E7
4289a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_232              0x10E8
4299a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_233              0x10E9
4309a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_234              0x10EA
4319a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_235              0x10EB
4329a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_236              0x10EC
4339a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_237              0x10ED
4349a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_238              0x10EE
4359a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_239              0x10EF
4369a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_240              0x10F0
4379a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_241              0x10F1
4389a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_242              0x10F2
4399a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_243              0x10F3
4409a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_244              0x10F4
4419a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_245              0x10F5
4429a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_246              0x10F6
4439a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_247              0x10F7
4449a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_248              0x10F8
4459a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_249              0x10F9
4469a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_250              0x10FA
4479a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_251              0x10FB
4489a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_252              0x10FC
4499a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_253              0x10FD
4509a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_254              0x10FE
4519a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_255              0x10FF
4529a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_256              0x1100
4539a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_257              0x1101
4549a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_258              0x1102
4559a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_259              0x1103
4569a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_260              0x1104
4579a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_261              0x1105
4589a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_262              0x1106
4599a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_263              0x1107
4609a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_264              0x1108
4619a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_265              0x1109
4629a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_266              0x110A
4639a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_267              0x110B
4649a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_268              0x110C
4659a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_269              0x110D
4669a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_270              0x110E
4679a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_271              0x110F
4689a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_272              0x1110
4699a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_273              0x1111
4709a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_274              0x1112
4719a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_275              0x1113
4729a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_276              0x1114
4739a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_277              0x1115
4749a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_278              0x1116
4759a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_279              0x1117
4769a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_280              0x1118
4779a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_281              0x1119
4789a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_282              0x111A
4799a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_283              0x111B
4809a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_284              0x111C
4819a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_285              0x111D
4829a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_286              0x111E
4839a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_287              0x111F
4849a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_288              0x1120
4859a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_289              0x1121
4869a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_290              0x1122
4879a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_291              0x1123
4889a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_292              0x1124
4899a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_293              0x1125
4909a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_294              0x1126
4919a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_295              0x1127
4929a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_296              0x1128
4939a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_297              0x1129
4949a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_298              0x112A
4959a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_299              0x112B
4969a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_300              0x112C
4979a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_301              0x112D
4989a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_302              0x112E
4999a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_303              0x112F
5009a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_304              0x1130
5019a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_305              0x1131
5029a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_306              0x1132
5039a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_307              0x1133
5049a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_308              0x1134
5059a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_309              0x1135
5069a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_310              0x1136
5079a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_311              0x1137
5089a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_312              0x1138
5099a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_313              0x1139
5109a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_314              0x113A
5119a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_315              0x113B
5129a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_316              0x113C
5139a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_317              0x113D
5149a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_318              0x113E
5159a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_319              0x113F
5169a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_320              0x1140
5179a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_321              0x1141
5189a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_322              0x1142
5199a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_323              0x1143
5209a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_324              0x1144
5219a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_325              0x1145
5229a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_326              0x1146
5239a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_327              0x1147
5249a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_328              0x1148
5259a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_329              0x1149
5269a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_330              0x114A
5279a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_331              0x114B
5289a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_332              0x114C
5299a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_333              0x114D
5309a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_334              0x114E
5319a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_335              0x114F
5329a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_336              0x1150
5339a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_337              0x1151
5349a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_338              0x1152
5359a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_339              0x1153
5369a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_340              0x1154
5379a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_341              0x1155
5389a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_342              0x1156
5399a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_343              0x1157
5409a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_344              0x1158
5419a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_345              0x1159
5429a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_346              0x115A
5439a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_347              0x115B
5449a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_348              0x115C
5459a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_349              0x115D
5469a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_350              0x115E
5479a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_351              0x115F
5489a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_352              0x1160
5499a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_353              0x1161
5509a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_354              0x1162
5519a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_355              0x1163
5529a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_356              0x1164
5539a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_357              0x1165
5549a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_358              0x1166
5559a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_359              0x1167
5569a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_360              0x1168
5579a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_361              0x1169
5589a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_362              0x116A
5599a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_363              0x116B
5609a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_364              0x116C
5619a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_365              0x116D
5629a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_366              0x116E
5639a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_367              0x116F
5649a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_368              0x1170
5659a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_369              0x1171
5669a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_370              0x1172
5679a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_371              0x1173
5689a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_372              0x1174
5699a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_373              0x1175
5709a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_374              0x1176
5719a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_375              0x1177
5729a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_376              0x1178
5739a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_377              0x1179
5749a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_378              0x117A
5759a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_379              0x117B
5769a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_380              0x117C
5779a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_381              0x117D
5789a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_382              0x117E
5799a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_383              0x117F
5809a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_384              0x1180
5819a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_385              0x1181
5829a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_386              0x1182
5839a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_387              0x1183
5849a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_388              0x1184
5859a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_389              0x1185
5869a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_390              0x1186
5879a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_391              0x1187
5889a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_392              0x1188
5899a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_393              0x1189
5909a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_394              0x118A
5919a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_395              0x118B
5929a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_396              0x118C
5939a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_397              0x118D
5949a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_398              0x118E
5959a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_399              0x118F
5969a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_400              0x1190
5979a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_401              0x1191
5989a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_402              0x1192
5999a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_403              0x1193
6009a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_404              0x1194
6019a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_405              0x1195
6029a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_406              0x1196
6039a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_407              0x1197
6049a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_408              0x1198
6059a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_409              0x1199
6069a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_410              0x119A
6079a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_411              0x119B
6089a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_412              0x119C
6099a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_413              0x119D
6109a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_414              0x119E
6119a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_415              0x119F
6129a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_416              0x11A0
6139a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_417              0x11A1
6149a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_418              0x11A2
6159a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_419              0x11A3
6169a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_420              0x11A4
6179a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_421              0x11A5
6189a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_422              0x11A6
6199a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_423              0x11A7
6209a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_424              0x11A8
6219a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_425              0x11A9
6229a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_426              0x11AA
6239a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_427              0x11AB
6249a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_428              0x11AC
6259a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_429              0x11AD
6269a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_430              0x11AE
6279a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_431              0x11AF
6289a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_432              0x11B0
6299a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_433              0x11B1
6309a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_434              0x11B2
6319a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_435              0x11B3
6329a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_436              0x11B4
6339a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_437              0x11B5
6349a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_438              0x11B6
6359a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_439              0x11B7
6369a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_440              0x11B8
6379a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_441              0x11B9
6389a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_442              0x11BA
6399a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_443              0x11BB
6409a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_444              0x11BC
6419a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_445              0x11BD
6429a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_446              0x11BE
6439a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_447              0x11BF
6449a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_448              0x11C0
6459a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_449              0x11C1
6469a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_450              0x11C2
6479a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_451              0x11C3
6489a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_452              0x11C4
6499a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_453              0x11C5
6509a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_454              0x11C6
6519a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_455              0x11C7
6529a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_456              0x11C8
6539a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_457              0x11C9
6549a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_458              0x11CA
6559a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_459              0x11CB
6569a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_460              0x11CC
6579a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_461              0x11CD
6589a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_462              0x11CE
6599a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_463              0x11CF
6609a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_464              0x11D0
6619a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_465              0x11D1
6629a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_466              0x11D2
6639a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_467              0x11D3
6649a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_468              0x11D4
6659a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_469              0x11D5
6669a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_470              0x11D6
6679a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_471              0x11D7
6689a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_472              0x11D8
6699a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_473              0x11D9
6709a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_474              0x11DA
6719a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_475              0x11DB
6729a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_476              0x11DC
6739a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_477              0x11DD
6749a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_478              0x11DE
6759a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_479              0x11DF
6769a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_480              0x11E0
6779a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_481              0x11E1
6789a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_482              0x11E2
6799a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_483              0x11E3
6809a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_484              0x11E4
6819a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_485              0x11E5
6829a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_486              0x11E6
6839a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_487              0x11E7
6849a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_488              0x11E8
6859a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_489              0x11E9
6869a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_490              0x11EA
6879a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_491              0x11EB
6889a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_492              0x11EC
6899a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_493              0x11ED
6909a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_494              0x11EE
6919a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_495              0x11EF
6929a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_496              0x11F0
6939a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_497              0x11F1
6949a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_498              0x11F2
6959a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_499              0x11F3
6969a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_500              0x11F4
6979a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_501              0x11F5
6989a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_502              0x11F6
6999a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_503              0x11F7
7009a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_504              0x11F8
7019a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_505              0x11F9
7029a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_506              0x11FA
7039a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_507              0x11FB
7049a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_508              0x11FC
7059a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_509              0x11FD
7069a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_510              0x11FE
7079a76f1ffSMark Brown #define WM8962_WRITE_SEQUENCER_511              0x11FF
7089a76f1ffSMark Brown #define WM8962_DSP2_INSTRUCTION_RAM_0           0x2000
7099a76f1ffSMark Brown #define WM8962_DSP2_ADDRESS_RAM_2               0x2400
7109a76f1ffSMark Brown #define WM8962_DSP2_ADDRESS_RAM_1               0x2401
7119a76f1ffSMark Brown #define WM8962_DSP2_ADDRESS_RAM_0               0x2402
7129a76f1ffSMark Brown #define WM8962_DSP2_DATA1_RAM_1                 0x3000
7139a76f1ffSMark Brown #define WM8962_DSP2_DATA1_RAM_0                 0x3001
7149a76f1ffSMark Brown #define WM8962_DSP2_DATA2_RAM_1                 0x3400
7159a76f1ffSMark Brown #define WM8962_DSP2_DATA2_RAM_0                 0x3401
7169a76f1ffSMark Brown #define WM8962_DSP2_DATA3_RAM_1                 0x3800
7179a76f1ffSMark Brown #define WM8962_DSP2_DATA3_RAM_0                 0x3801
7189a76f1ffSMark Brown #define WM8962_DSP2_COEFF_RAM_0                 0x3C00
7199a76f1ffSMark Brown #define WM8962_RETUNEADC_SHARED_COEFF_1         0x4000
7209a76f1ffSMark Brown #define WM8962_RETUNEADC_SHARED_COEFF_0         0x4001
7219a76f1ffSMark Brown #define WM8962_RETUNEDAC_SHARED_COEFF_1         0x4002
7229a76f1ffSMark Brown #define WM8962_RETUNEDAC_SHARED_COEFF_0         0x4003
7239a76f1ffSMark Brown #define WM8962_SOUNDSTAGE_ENABLES_1             0x4004
7249a76f1ffSMark Brown #define WM8962_SOUNDSTAGE_ENABLES_0             0x4005
7259a76f1ffSMark Brown #define WM8962_HDBASS_AI_1                      0x4200
7269a76f1ffSMark Brown #define WM8962_HDBASS_AI_0                      0x4201
7279a76f1ffSMark Brown #define WM8962_HDBASS_AR_1                      0x4202
7289a76f1ffSMark Brown #define WM8962_HDBASS_AR_0                      0x4203
7299a76f1ffSMark Brown #define WM8962_HDBASS_B_1                       0x4204
7309a76f1ffSMark Brown #define WM8962_HDBASS_B_0                       0x4205
7319a76f1ffSMark Brown #define WM8962_HDBASS_K_1                       0x4206
7329a76f1ffSMark Brown #define WM8962_HDBASS_K_0                       0x4207
7339a76f1ffSMark Brown #define WM8962_HDBASS_N1_1                      0x4208
7349a76f1ffSMark Brown #define WM8962_HDBASS_N1_0                      0x4209
7359a76f1ffSMark Brown #define WM8962_HDBASS_N2_1                      0x420A
7369a76f1ffSMark Brown #define WM8962_HDBASS_N2_0                      0x420B
7379a76f1ffSMark Brown #define WM8962_HDBASS_N3_1                      0x420C
7389a76f1ffSMark Brown #define WM8962_HDBASS_N3_0                      0x420D
7399a76f1ffSMark Brown #define WM8962_HDBASS_N4_1                      0x420E
7409a76f1ffSMark Brown #define WM8962_HDBASS_N4_0                      0x420F
7419a76f1ffSMark Brown #define WM8962_HDBASS_N5_1                      0x4210
7429a76f1ffSMark Brown #define WM8962_HDBASS_N5_0                      0x4211
7439a76f1ffSMark Brown #define WM8962_HDBASS_X1_1                      0x4212
7449a76f1ffSMark Brown #define WM8962_HDBASS_X1_0                      0x4213
7459a76f1ffSMark Brown #define WM8962_HDBASS_X2_1                      0x4214
7469a76f1ffSMark Brown #define WM8962_HDBASS_X2_0                      0x4215
7479a76f1ffSMark Brown #define WM8962_HDBASS_X3_1                      0x4216
7489a76f1ffSMark Brown #define WM8962_HDBASS_X3_0                      0x4217
7499a76f1ffSMark Brown #define WM8962_HDBASS_ATK_1                     0x4218
7509a76f1ffSMark Brown #define WM8962_HDBASS_ATK_0                     0x4219
7519a76f1ffSMark Brown #define WM8962_HDBASS_DCY_1                     0x421A
7529a76f1ffSMark Brown #define WM8962_HDBASS_DCY_0                     0x421B
7539a76f1ffSMark Brown #define WM8962_HDBASS_PG_1                      0x421C
7549a76f1ffSMark Brown #define WM8962_HDBASS_PG_0                      0x421D
7559a76f1ffSMark Brown #define WM8962_HPF_C_1                          0x4400
7569a76f1ffSMark Brown #define WM8962_HPF_C_0                          0x4401
7579a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C1_1                 0x4600
7589a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C1_0                 0x4601
7599a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C2_1                 0x4602
7609a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C2_0                 0x4603
7619a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C3_1                 0x4604
7629a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C3_0                 0x4605
7639a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C4_1                 0x4606
7649a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C4_0                 0x4607
7659a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C5_1                 0x4608
7669a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C5_0                 0x4609
7679a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C6_1                 0x460A
7689a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C6_0                 0x460B
7699a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C7_1                 0x460C
7709a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C7_0                 0x460D
7719a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C8_1                 0x460E
7729a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C8_0                 0x460F
7739a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C9_1                 0x4610
7749a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C9_0                 0x4611
7759a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C10_1                0x4612
7769a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C10_0                0x4613
7779a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C11_1                0x4614
7789a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C11_0                0x4615
7799a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C12_1                0x4616
7809a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C12_0                0x4617
7819a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C13_1                0x4618
7829a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C13_0                0x4619
7839a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C14_1                0x461A
7849a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C14_0                0x461B
7859a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C15_1                0x461C
7869a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C15_0                0x461D
7879a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C16_1                0x461E
7889a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C16_0                0x461F
7899a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C17_1                0x4620
7909a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C17_0                0x4621
7919a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C18_1                0x4622
7929a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C18_0                0x4623
7939a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C19_1                0x4624
7949a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C19_0                0x4625
7959a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C20_1                0x4626
7969a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C20_0                0x4627
7979a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C21_1                0x4628
7989a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C21_0                0x4629
7999a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C22_1                0x462A
8009a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C22_0                0x462B
8019a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C23_1                0x462C
8029a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C23_0                0x462D
8039a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C24_1                0x462E
8049a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C24_0                0x462F
8059a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C25_1                0x4630
8069a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C25_0                0x4631
8079a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C26_1                0x4632
8089a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C26_0                0x4633
8099a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C27_1                0x4634
8109a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C27_0                0x4635
8119a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C28_1                0x4636
8129a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C28_0                0x4637
8139a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C29_1                0x4638
8149a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C29_0                0x4639
8159a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C30_1                0x463A
8169a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C30_0                0x463B
8179a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C31_1                0x463C
8189a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C31_0                0x463D
8199a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C32_1                0x463E
8209a76f1ffSMark Brown #define WM8962_ADCL_RETUNE_C32_0                0x463F
8219a76f1ffSMark Brown #define WM8962_RETUNEADC_PG2_1                  0x4800
8229a76f1ffSMark Brown #define WM8962_RETUNEADC_PG2_0                  0x4801
8239a76f1ffSMark Brown #define WM8962_RETUNEADC_PG_1                   0x4802
8249a76f1ffSMark Brown #define WM8962_RETUNEADC_PG_0                   0x4803
8259a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C1_1                 0x4A00
8269a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C1_0                 0x4A01
8279a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C2_1                 0x4A02
8289a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C2_0                 0x4A03
8299a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C3_1                 0x4A04
8309a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C3_0                 0x4A05
8319a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C4_1                 0x4A06
8329a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C4_0                 0x4A07
8339a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C5_1                 0x4A08
8349a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C5_0                 0x4A09
8359a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C6_1                 0x4A0A
8369a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C6_0                 0x4A0B
8379a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C7_1                 0x4A0C
8389a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C7_0                 0x4A0D
8399a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C8_1                 0x4A0E
8409a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C8_0                 0x4A0F
8419a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C9_1                 0x4A10
8429a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C9_0                 0x4A11
8439a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C10_1                0x4A12
8449a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C10_0                0x4A13
8459a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C11_1                0x4A14
8469a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C11_0                0x4A15
8479a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C12_1                0x4A16
8489a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C12_0                0x4A17
8499a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C13_1                0x4A18
8509a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C13_0                0x4A19
8519a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C14_1                0x4A1A
8529a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C14_0                0x4A1B
8539a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C15_1                0x4A1C
8549a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C15_0                0x4A1D
8559a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C16_1                0x4A1E
8569a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C16_0                0x4A1F
8579a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C17_1                0x4A20
8589a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C17_0                0x4A21
8599a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C18_1                0x4A22
8609a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C18_0                0x4A23
8619a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C19_1                0x4A24
8629a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C19_0                0x4A25
8639a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C20_1                0x4A26
8649a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C20_0                0x4A27
8659a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C21_1                0x4A28
8669a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C21_0                0x4A29
8679a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C22_1                0x4A2A
8689a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C22_0                0x4A2B
8699a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C23_1                0x4A2C
8709a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C23_0                0x4A2D
8719a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C24_1                0x4A2E
8729a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C24_0                0x4A2F
8739a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C25_1                0x4A30
8749a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C25_0                0x4A31
8759a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C26_1                0x4A32
8769a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C26_0                0x4A33
8779a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C27_1                0x4A34
8789a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C27_0                0x4A35
8799a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C28_1                0x4A36
8809a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C28_0                0x4A37
8819a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C29_1                0x4A38
8829a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C29_0                0x4A39
8839a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C30_1                0x4A3A
8849a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C30_0                0x4A3B
8859a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C31_1                0x4A3C
8869a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C31_0                0x4A3D
8879a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C32_1                0x4A3E
8889a76f1ffSMark Brown #define WM8962_ADCR_RETUNE_C32_0                0x4A3F
8899a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C1_1                 0x4C00
8909a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C1_0                 0x4C01
8919a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C2_1                 0x4C02
8929a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C2_0                 0x4C03
8939a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C3_1                 0x4C04
8949a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C3_0                 0x4C05
8959a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C4_1                 0x4C06
8969a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C4_0                 0x4C07
8979a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C5_1                 0x4C08
8989a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C5_0                 0x4C09
8999a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C6_1                 0x4C0A
9009a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C6_0                 0x4C0B
9019a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C7_1                 0x4C0C
9029a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C7_0                 0x4C0D
9039a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C8_1                 0x4C0E
9049a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C8_0                 0x4C0F
9059a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C9_1                 0x4C10
9069a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C9_0                 0x4C11
9079a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C10_1                0x4C12
9089a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C10_0                0x4C13
9099a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C11_1                0x4C14
9109a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C11_0                0x4C15
9119a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C12_1                0x4C16
9129a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C12_0                0x4C17
9139a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C13_1                0x4C18
9149a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C13_0                0x4C19
9159a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C14_1                0x4C1A
9169a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C14_0                0x4C1B
9179a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C15_1                0x4C1C
9189a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C15_0                0x4C1D
9199a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C16_1                0x4C1E
9209a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C16_0                0x4C1F
9219a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C17_1                0x4C20
9229a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C17_0                0x4C21
9239a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C18_1                0x4C22
9249a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C18_0                0x4C23
9259a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C19_1                0x4C24
9269a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C19_0                0x4C25
9279a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C20_1                0x4C26
9289a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C20_0                0x4C27
9299a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C21_1                0x4C28
9309a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C21_0                0x4C29
9319a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C22_1                0x4C2A
9329a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C22_0                0x4C2B
9339a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C23_1                0x4C2C
9349a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C23_0                0x4C2D
9359a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C24_1                0x4C2E
9369a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C24_0                0x4C2F
9379a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C25_1                0x4C30
9389a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C25_0                0x4C31
9399a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C26_1                0x4C32
9409a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C26_0                0x4C33
9419a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C27_1                0x4C34
9429a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C27_0                0x4C35
9439a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C28_1                0x4C36
9449a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C28_0                0x4C37
9459a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C29_1                0x4C38
9469a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C29_0                0x4C39
9479a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C30_1                0x4C3A
9489a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C30_0                0x4C3B
9499a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C31_1                0x4C3C
9509a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C31_0                0x4C3D
9519a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C32_1                0x4C3E
9529a76f1ffSMark Brown #define WM8962_DACL_RETUNE_C32_0                0x4C3F
9539a76f1ffSMark Brown #define WM8962_RETUNEDAC_PG2_1                  0x4E00
9549a76f1ffSMark Brown #define WM8962_RETUNEDAC_PG2_0                  0x4E01
9559a76f1ffSMark Brown #define WM8962_RETUNEDAC_PG_1                   0x4E02
9569a76f1ffSMark Brown #define WM8962_RETUNEDAC_PG_0                   0x4E03
9579a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C1_1                 0x5000
9589a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C1_0                 0x5001
9599a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C2_1                 0x5002
9609a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C2_0                 0x5003
9619a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C3_1                 0x5004
9629a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C3_0                 0x5005
9639a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C4_1                 0x5006
9649a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C4_0                 0x5007
9659a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C5_1                 0x5008
9669a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C5_0                 0x5009
9679a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C6_1                 0x500A
9689a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C6_0                 0x500B
9699a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C7_1                 0x500C
9709a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C7_0                 0x500D
9719a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C8_1                 0x500E
9729a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C8_0                 0x500F
9739a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C9_1                 0x5010
9749a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C9_0                 0x5011
9759a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C10_1                0x5012
9769a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C10_0                0x5013
9779a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C11_1                0x5014
9789a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C11_0                0x5015
9799a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C12_1                0x5016
9809a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C12_0                0x5017
9819a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C13_1                0x5018
9829a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C13_0                0x5019
9839a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C14_1                0x501A
9849a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C14_0                0x501B
9859a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C15_1                0x501C
9869a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C15_0                0x501D
9879a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C16_1                0x501E
9889a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C16_0                0x501F
9899a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C17_1                0x5020
9909a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C17_0                0x5021
9919a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C18_1                0x5022
9929a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C18_0                0x5023
9939a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C19_1                0x5024
9949a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C19_0                0x5025
9959a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C20_1                0x5026
9969a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C20_0                0x5027
9979a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C21_1                0x5028
9989a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C21_0                0x5029
9999a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C22_1                0x502A
10009a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C22_0                0x502B
10019a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C23_1                0x502C
10029a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C23_0                0x502D
10039a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C24_1                0x502E
10049a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C24_0                0x502F
10059a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C25_1                0x5030
10069a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C25_0                0x5031
10079a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C26_1                0x5032
10089a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C26_0                0x5033
10099a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C27_1                0x5034
10109a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C27_0                0x5035
10119a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C28_1                0x5036
10129a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C28_0                0x5037
10139a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C29_1                0x5038
10149a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C29_0                0x5039
10159a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C30_1                0x503A
10169a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C30_0                0x503B
10179a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C31_1                0x503C
10189a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C31_0                0x503D
10199a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C32_1                0x503E
10209a76f1ffSMark Brown #define WM8962_DACR_RETUNE_C32_0                0x503F
10219a76f1ffSMark Brown #define WM8962_VSS_XHD2_1                       0x5200
10229a76f1ffSMark Brown #define WM8962_VSS_XHD2_0                       0x5201
10239a76f1ffSMark Brown #define WM8962_VSS_XHD3_1                       0x5202
10249a76f1ffSMark Brown #define WM8962_VSS_XHD3_0                       0x5203
10259a76f1ffSMark Brown #define WM8962_VSS_XHN1_1                       0x5204
10269a76f1ffSMark Brown #define WM8962_VSS_XHN1_0                       0x5205
10279a76f1ffSMark Brown #define WM8962_VSS_XHN2_1                       0x5206
10289a76f1ffSMark Brown #define WM8962_VSS_XHN2_0                       0x5207
10299a76f1ffSMark Brown #define WM8962_VSS_XHN3_1                       0x5208
10309a76f1ffSMark Brown #define WM8962_VSS_XHN3_0                       0x5209
10319a76f1ffSMark Brown #define WM8962_VSS_XLA_1                        0x520A
10329a76f1ffSMark Brown #define WM8962_VSS_XLA_0                        0x520B
10339a76f1ffSMark Brown #define WM8962_VSS_XLB_1                        0x520C
10349a76f1ffSMark Brown #define WM8962_VSS_XLB_0                        0x520D
10359a76f1ffSMark Brown #define WM8962_VSS_XLG_1                        0x520E
10369a76f1ffSMark Brown #define WM8962_VSS_XLG_0                        0x520F
10379a76f1ffSMark Brown #define WM8962_VSS_PG2_1                        0x5210
10389a76f1ffSMark Brown #define WM8962_VSS_PG2_0                        0x5211
10399a76f1ffSMark Brown #define WM8962_VSS_PG_1                         0x5212
10409a76f1ffSMark Brown #define WM8962_VSS_PG_0                         0x5213
10419a76f1ffSMark Brown #define WM8962_VSS_XTD1_1                       0x5214
10429a76f1ffSMark Brown #define WM8962_VSS_XTD1_0                       0x5215
10439a76f1ffSMark Brown #define WM8962_VSS_XTD2_1                       0x5216
10449a76f1ffSMark Brown #define WM8962_VSS_XTD2_0                       0x5217
10459a76f1ffSMark Brown #define WM8962_VSS_XTD3_1                       0x5218
10469a76f1ffSMark Brown #define WM8962_VSS_XTD3_0                       0x5219
10479a76f1ffSMark Brown #define WM8962_VSS_XTD4_1                       0x521A
10489a76f1ffSMark Brown #define WM8962_VSS_XTD4_0                       0x521B
10499a76f1ffSMark Brown #define WM8962_VSS_XTD5_1                       0x521C
10509a76f1ffSMark Brown #define WM8962_VSS_XTD5_0                       0x521D
10519a76f1ffSMark Brown #define WM8962_VSS_XTD6_1                       0x521E
10529a76f1ffSMark Brown #define WM8962_VSS_XTD6_0                       0x521F
10539a76f1ffSMark Brown #define WM8962_VSS_XTD7_1                       0x5220
10549a76f1ffSMark Brown #define WM8962_VSS_XTD7_0                       0x5221
10559a76f1ffSMark Brown #define WM8962_VSS_XTD8_1                       0x5222
10569a76f1ffSMark Brown #define WM8962_VSS_XTD8_0                       0x5223
10579a76f1ffSMark Brown #define WM8962_VSS_XTD9_1                       0x5224
10589a76f1ffSMark Brown #define WM8962_VSS_XTD9_0                       0x5225
10599a76f1ffSMark Brown #define WM8962_VSS_XTD10_1                      0x5226
10609a76f1ffSMark Brown #define WM8962_VSS_XTD10_0                      0x5227
10619a76f1ffSMark Brown #define WM8962_VSS_XTD11_1                      0x5228
10629a76f1ffSMark Brown #define WM8962_VSS_XTD11_0                      0x5229
10639a76f1ffSMark Brown #define WM8962_VSS_XTD12_1                      0x522A
10649a76f1ffSMark Brown #define WM8962_VSS_XTD12_0                      0x522B
10659a76f1ffSMark Brown #define WM8962_VSS_XTD13_1                      0x522C
10669a76f1ffSMark Brown #define WM8962_VSS_XTD13_0                      0x522D
10679a76f1ffSMark Brown #define WM8962_VSS_XTD14_1                      0x522E
10689a76f1ffSMark Brown #define WM8962_VSS_XTD14_0                      0x522F
10699a76f1ffSMark Brown #define WM8962_VSS_XTD15_1                      0x5230
10709a76f1ffSMark Brown #define WM8962_VSS_XTD15_0                      0x5231
10719a76f1ffSMark Brown #define WM8962_VSS_XTD16_1                      0x5232
10729a76f1ffSMark Brown #define WM8962_VSS_XTD16_0                      0x5233
10739a76f1ffSMark Brown #define WM8962_VSS_XTD17_1                      0x5234
10749a76f1ffSMark Brown #define WM8962_VSS_XTD17_0                      0x5235
10759a76f1ffSMark Brown #define WM8962_VSS_XTD18_1                      0x5236
10769a76f1ffSMark Brown #define WM8962_VSS_XTD18_0                      0x5237
10779a76f1ffSMark Brown #define WM8962_VSS_XTD19_1                      0x5238
10789a76f1ffSMark Brown #define WM8962_VSS_XTD19_0                      0x5239
10799a76f1ffSMark Brown #define WM8962_VSS_XTD20_1                      0x523A
10809a76f1ffSMark Brown #define WM8962_VSS_XTD20_0                      0x523B
10819a76f1ffSMark Brown #define WM8962_VSS_XTD21_1                      0x523C
10829a76f1ffSMark Brown #define WM8962_VSS_XTD21_0                      0x523D
10839a76f1ffSMark Brown #define WM8962_VSS_XTD22_1                      0x523E
10849a76f1ffSMark Brown #define WM8962_VSS_XTD22_0                      0x523F
10859a76f1ffSMark Brown #define WM8962_VSS_XTD23_1                      0x5240
10869a76f1ffSMark Brown #define WM8962_VSS_XTD23_0                      0x5241
10879a76f1ffSMark Brown #define WM8962_VSS_XTD24_1                      0x5242
10889a76f1ffSMark Brown #define WM8962_VSS_XTD24_0                      0x5243
10899a76f1ffSMark Brown #define WM8962_VSS_XTD25_1                      0x5244
10909a76f1ffSMark Brown #define WM8962_VSS_XTD25_0                      0x5245
10919a76f1ffSMark Brown #define WM8962_VSS_XTD26_1                      0x5246
10929a76f1ffSMark Brown #define WM8962_VSS_XTD26_0                      0x5247
10939a76f1ffSMark Brown #define WM8962_VSS_XTD27_1                      0x5248
10949a76f1ffSMark Brown #define WM8962_VSS_XTD27_0                      0x5249
10959a76f1ffSMark Brown #define WM8962_VSS_XTD28_1                      0x524A
10969a76f1ffSMark Brown #define WM8962_VSS_XTD28_0                      0x524B
10979a76f1ffSMark Brown #define WM8962_VSS_XTD29_1                      0x524C
10989a76f1ffSMark Brown #define WM8962_VSS_XTD29_0                      0x524D
10999a76f1ffSMark Brown #define WM8962_VSS_XTD30_1                      0x524E
11009a76f1ffSMark Brown #define WM8962_VSS_XTD30_0                      0x524F
11019a76f1ffSMark Brown #define WM8962_VSS_XTD31_1                      0x5250
11029a76f1ffSMark Brown #define WM8962_VSS_XTD31_0                      0x5251
11039a76f1ffSMark Brown #define WM8962_VSS_XTD32_1                      0x5252
11049a76f1ffSMark Brown #define WM8962_VSS_XTD32_0                      0x5253
11059a76f1ffSMark Brown #define WM8962_VSS_XTS1_1                       0x5254
11069a76f1ffSMark Brown #define WM8962_VSS_XTS1_0                       0x5255
11079a76f1ffSMark Brown #define WM8962_VSS_XTS2_1                       0x5256
11089a76f1ffSMark Brown #define WM8962_VSS_XTS2_0                       0x5257
11099a76f1ffSMark Brown #define WM8962_VSS_XTS3_1                       0x5258
11109a76f1ffSMark Brown #define WM8962_VSS_XTS3_0                       0x5259
11119a76f1ffSMark Brown #define WM8962_VSS_XTS4_1                       0x525A
11129a76f1ffSMark Brown #define WM8962_VSS_XTS4_0                       0x525B
11139a76f1ffSMark Brown #define WM8962_VSS_XTS5_1                       0x525C
11149a76f1ffSMark Brown #define WM8962_VSS_XTS5_0                       0x525D
11159a76f1ffSMark Brown #define WM8962_VSS_XTS6_1                       0x525E
11169a76f1ffSMark Brown #define WM8962_VSS_XTS6_0                       0x525F
11179a76f1ffSMark Brown #define WM8962_VSS_XTS7_1                       0x5260
11189a76f1ffSMark Brown #define WM8962_VSS_XTS7_0                       0x5261
11199a76f1ffSMark Brown #define WM8962_VSS_XTS8_1                       0x5262
11209a76f1ffSMark Brown #define WM8962_VSS_XTS8_0                       0x5263
11219a76f1ffSMark Brown #define WM8962_VSS_XTS9_1                       0x5264
11229a76f1ffSMark Brown #define WM8962_VSS_XTS9_0                       0x5265
11239a76f1ffSMark Brown #define WM8962_VSS_XTS10_1                      0x5266
11249a76f1ffSMark Brown #define WM8962_VSS_XTS10_0                      0x5267
11259a76f1ffSMark Brown #define WM8962_VSS_XTS11_1                      0x5268
11269a76f1ffSMark Brown #define WM8962_VSS_XTS11_0                      0x5269
11279a76f1ffSMark Brown #define WM8962_VSS_XTS12_1                      0x526A
11289a76f1ffSMark Brown #define WM8962_VSS_XTS12_0                      0x526B
11299a76f1ffSMark Brown #define WM8962_VSS_XTS13_1                      0x526C
11309a76f1ffSMark Brown #define WM8962_VSS_XTS13_0                      0x526D
11319a76f1ffSMark Brown #define WM8962_VSS_XTS14_1                      0x526E
11329a76f1ffSMark Brown #define WM8962_VSS_XTS14_0                      0x526F
11339a76f1ffSMark Brown #define WM8962_VSS_XTS15_1                      0x5270
11349a76f1ffSMark Brown #define WM8962_VSS_XTS15_0                      0x5271
11359a76f1ffSMark Brown #define WM8962_VSS_XTS16_1                      0x5272
11369a76f1ffSMark Brown #define WM8962_VSS_XTS16_0                      0x5273
11379a76f1ffSMark Brown #define WM8962_VSS_XTS17_1                      0x5274
11389a76f1ffSMark Brown #define WM8962_VSS_XTS17_0                      0x5275
11399a76f1ffSMark Brown #define WM8962_VSS_XTS18_1                      0x5276
11409a76f1ffSMark Brown #define WM8962_VSS_XTS18_0                      0x5277
11419a76f1ffSMark Brown #define WM8962_VSS_XTS19_1                      0x5278
11429a76f1ffSMark Brown #define WM8962_VSS_XTS19_0                      0x5279
11439a76f1ffSMark Brown #define WM8962_VSS_XTS20_1                      0x527A
11449a76f1ffSMark Brown #define WM8962_VSS_XTS20_0                      0x527B
11459a76f1ffSMark Brown #define WM8962_VSS_XTS21_1                      0x527C
11469a76f1ffSMark Brown #define WM8962_VSS_XTS21_0                      0x527D
11479a76f1ffSMark Brown #define WM8962_VSS_XTS22_1                      0x527E
11489a76f1ffSMark Brown #define WM8962_VSS_XTS22_0                      0x527F
11499a76f1ffSMark Brown #define WM8962_VSS_XTS23_1                      0x5280
11509a76f1ffSMark Brown #define WM8962_VSS_XTS23_0                      0x5281
11519a76f1ffSMark Brown #define WM8962_VSS_XTS24_1                      0x5282
11529a76f1ffSMark Brown #define WM8962_VSS_XTS24_0                      0x5283
11539a76f1ffSMark Brown #define WM8962_VSS_XTS25_1                      0x5284
11549a76f1ffSMark Brown #define WM8962_VSS_XTS25_0                      0x5285
11559a76f1ffSMark Brown #define WM8962_VSS_XTS26_1                      0x5286
11569a76f1ffSMark Brown #define WM8962_VSS_XTS26_0                      0x5287
11579a76f1ffSMark Brown #define WM8962_VSS_XTS27_1                      0x5288
11589a76f1ffSMark Brown #define WM8962_VSS_XTS27_0                      0x5289
11599a76f1ffSMark Brown #define WM8962_VSS_XTS28_1                      0x528A
11609a76f1ffSMark Brown #define WM8962_VSS_XTS28_0                      0x528B
11619a76f1ffSMark Brown #define WM8962_VSS_XTS29_1                      0x528C
11629a76f1ffSMark Brown #define WM8962_VSS_XTS29_0                      0x528D
11639a76f1ffSMark Brown #define WM8962_VSS_XTS30_1                      0x528E
11649a76f1ffSMark Brown #define WM8962_VSS_XTS30_0                      0x528F
11659a76f1ffSMark Brown #define WM8962_VSS_XTS31_1                      0x5290
11669a76f1ffSMark Brown #define WM8962_VSS_XTS31_0                      0x5291
11679a76f1ffSMark Brown #define WM8962_VSS_XTS32_1                      0x5292
11689a76f1ffSMark Brown #define WM8962_VSS_XTS32_0                      0x5293
11699a76f1ffSMark Brown 
11709a76f1ffSMark Brown #define WM8962_REGISTER_COUNT                   1138
11719a76f1ffSMark Brown #define WM8962_MAX_REGISTER                     0x5293
11729a76f1ffSMark Brown 
11739a76f1ffSMark Brown /*
11749a76f1ffSMark Brown  * Field Definitions.
11759a76f1ffSMark Brown  */
11769a76f1ffSMark Brown 
11779a76f1ffSMark Brown /*
11789a76f1ffSMark Brown  * R0 (0x00) - Left Input volume
11799a76f1ffSMark Brown  */
11809a76f1ffSMark Brown #define WM8962_IN_VU                            0x0100  /* IN_VU */
11819a76f1ffSMark Brown #define WM8962_IN_VU_MASK                       0x0100  /* IN_VU */
11829a76f1ffSMark Brown #define WM8962_IN_VU_SHIFT                           8  /* IN_VU */
11839a76f1ffSMark Brown #define WM8962_IN_VU_WIDTH                           1  /* IN_VU */
11849a76f1ffSMark Brown #define WM8962_INPGAL_MUTE                      0x0080  /* INPGAL_MUTE */
11859a76f1ffSMark Brown #define WM8962_INPGAL_MUTE_MASK                 0x0080  /* INPGAL_MUTE */
11869a76f1ffSMark Brown #define WM8962_INPGAL_MUTE_SHIFT                     7  /* INPGAL_MUTE */
11879a76f1ffSMark Brown #define WM8962_INPGAL_MUTE_WIDTH                     1  /* INPGAL_MUTE */
11889a76f1ffSMark Brown #define WM8962_INL_ZC                           0x0040  /* INL_ZC */
11899a76f1ffSMark Brown #define WM8962_INL_ZC_MASK                      0x0040  /* INL_ZC */
11909a76f1ffSMark Brown #define WM8962_INL_ZC_SHIFT                          6  /* INL_ZC */
11919a76f1ffSMark Brown #define WM8962_INL_ZC_WIDTH                          1  /* INL_ZC */
11929a76f1ffSMark Brown #define WM8962_INL_VOL_MASK                     0x003F  /* INL_VOL - [5:0] */
11939a76f1ffSMark Brown #define WM8962_INL_VOL_SHIFT                         0  /* INL_VOL - [5:0] */
11949a76f1ffSMark Brown #define WM8962_INL_VOL_WIDTH                         6  /* INL_VOL - [5:0] */
11959a76f1ffSMark Brown 
11969a76f1ffSMark Brown /*
11979a76f1ffSMark Brown  * R1 (0x01) - Right Input volume
11989a76f1ffSMark Brown  */
11999a76f1ffSMark Brown #define WM8962_CUST_ID_MASK                     0xF000  /* CUST_ID - [15:12] */
12009a76f1ffSMark Brown #define WM8962_CUST_ID_SHIFT                        12  /* CUST_ID - [15:12] */
12019a76f1ffSMark Brown #define WM8962_CUST_ID_WIDTH                         4  /* CUST_ID - [15:12] */
12029a76f1ffSMark Brown #define WM8962_CHIP_REV_MASK                    0x0E00  /* CHIP_REV - [11:9] */
12039a76f1ffSMark Brown #define WM8962_CHIP_REV_SHIFT                        9  /* CHIP_REV - [11:9] */
12049a76f1ffSMark Brown #define WM8962_CHIP_REV_WIDTH                        3  /* CHIP_REV - [11:9] */
12059a76f1ffSMark Brown #define WM8962_IN_VU                            0x0100  /* IN_VU */
12069a76f1ffSMark Brown #define WM8962_IN_VU_MASK                       0x0100  /* IN_VU */
12079a76f1ffSMark Brown #define WM8962_IN_VU_SHIFT                           8  /* IN_VU */
12089a76f1ffSMark Brown #define WM8962_IN_VU_WIDTH                           1  /* IN_VU */
12099a76f1ffSMark Brown #define WM8962_INPGAR_MUTE                      0x0080  /* INPGAR_MUTE */
12109a76f1ffSMark Brown #define WM8962_INPGAR_MUTE_MASK                 0x0080  /* INPGAR_MUTE */
12119a76f1ffSMark Brown #define WM8962_INPGAR_MUTE_SHIFT                     7  /* INPGAR_MUTE */
12129a76f1ffSMark Brown #define WM8962_INPGAR_MUTE_WIDTH                     1  /* INPGAR_MUTE */
12139a76f1ffSMark Brown #define WM8962_INR_ZC                           0x0040  /* INR_ZC */
12149a76f1ffSMark Brown #define WM8962_INR_ZC_MASK                      0x0040  /* INR_ZC */
12159a76f1ffSMark Brown #define WM8962_INR_ZC_SHIFT                          6  /* INR_ZC */
12169a76f1ffSMark Brown #define WM8962_INR_ZC_WIDTH                          1  /* INR_ZC */
12179a76f1ffSMark Brown #define WM8962_INR_VOL_MASK                     0x003F  /* INR_VOL - [5:0] */
12189a76f1ffSMark Brown #define WM8962_INR_VOL_SHIFT                         0  /* INR_VOL - [5:0] */
12199a76f1ffSMark Brown #define WM8962_INR_VOL_WIDTH                         6  /* INR_VOL - [5:0] */
12209a76f1ffSMark Brown 
12219a76f1ffSMark Brown /*
12229a76f1ffSMark Brown  * R2 (0x02) - HPOUTL volume
12239a76f1ffSMark Brown  */
12249a76f1ffSMark Brown #define WM8962_HPOUT_VU                         0x0100  /* HPOUT_VU */
12259a76f1ffSMark Brown #define WM8962_HPOUT_VU_MASK                    0x0100  /* HPOUT_VU */
12269a76f1ffSMark Brown #define WM8962_HPOUT_VU_SHIFT                        8  /* HPOUT_VU */
12279a76f1ffSMark Brown #define WM8962_HPOUT_VU_WIDTH                        1  /* HPOUT_VU */
12289a76f1ffSMark Brown #define WM8962_HPOUTL_ZC                        0x0080  /* HPOUTL_ZC */
12299a76f1ffSMark Brown #define WM8962_HPOUTL_ZC_MASK                   0x0080  /* HPOUTL_ZC */
12309a76f1ffSMark Brown #define WM8962_HPOUTL_ZC_SHIFT                       7  /* HPOUTL_ZC */
12319a76f1ffSMark Brown #define WM8962_HPOUTL_ZC_WIDTH                       1  /* HPOUTL_ZC */
12329a76f1ffSMark Brown #define WM8962_HPOUTL_VOL_MASK                  0x007F  /* HPOUTL_VOL - [6:0] */
12339a76f1ffSMark Brown #define WM8962_HPOUTL_VOL_SHIFT                      0  /* HPOUTL_VOL - [6:0] */
12349a76f1ffSMark Brown #define WM8962_HPOUTL_VOL_WIDTH                      7  /* HPOUTL_VOL - [6:0] */
12359a76f1ffSMark Brown 
12369a76f1ffSMark Brown /*
12379a76f1ffSMark Brown  * R3 (0x03) - HPOUTR volume
12389a76f1ffSMark Brown  */
12399a76f1ffSMark Brown #define WM8962_HPOUT_VU                         0x0100  /* HPOUT_VU */
12409a76f1ffSMark Brown #define WM8962_HPOUT_VU_MASK                    0x0100  /* HPOUT_VU */
12419a76f1ffSMark Brown #define WM8962_HPOUT_VU_SHIFT                        8  /* HPOUT_VU */
12429a76f1ffSMark Brown #define WM8962_HPOUT_VU_WIDTH                        1  /* HPOUT_VU */
12439a76f1ffSMark Brown #define WM8962_HPOUTR_ZC                        0x0080  /* HPOUTR_ZC */
12449a76f1ffSMark Brown #define WM8962_HPOUTR_ZC_MASK                   0x0080  /* HPOUTR_ZC */
12459a76f1ffSMark Brown #define WM8962_HPOUTR_ZC_SHIFT                       7  /* HPOUTR_ZC */
12469a76f1ffSMark Brown #define WM8962_HPOUTR_ZC_WIDTH                       1  /* HPOUTR_ZC */
12479a76f1ffSMark Brown #define WM8962_HPOUTR_VOL_MASK                  0x007F  /* HPOUTR_VOL - [6:0] */
12489a76f1ffSMark Brown #define WM8962_HPOUTR_VOL_SHIFT                      0  /* HPOUTR_VOL - [6:0] */
12499a76f1ffSMark Brown #define WM8962_HPOUTR_VOL_WIDTH                      7  /* HPOUTR_VOL - [6:0] */
12509a76f1ffSMark Brown 
12519a76f1ffSMark Brown /*
12529a76f1ffSMark Brown  * R4 (0x04) - Clocking1
12539a76f1ffSMark Brown  */
12549a76f1ffSMark Brown #define WM8962_DSPCLK_DIV_MASK                  0x0600  /* DSPCLK_DIV - [10:9] */
12559a76f1ffSMark Brown #define WM8962_DSPCLK_DIV_SHIFT                      9  /* DSPCLK_DIV - [10:9] */
12569a76f1ffSMark Brown #define WM8962_DSPCLK_DIV_WIDTH                      2  /* DSPCLK_DIV - [10:9] */
12579a76f1ffSMark Brown #define WM8962_ADCSYS_CLK_DIV_MASK              0x01C0  /* ADCSYS_CLK_DIV - [8:6] */
12589a76f1ffSMark Brown #define WM8962_ADCSYS_CLK_DIV_SHIFT                  6  /* ADCSYS_CLK_DIV - [8:6] */
12599a76f1ffSMark Brown #define WM8962_ADCSYS_CLK_DIV_WIDTH                  3  /* ADCSYS_CLK_DIV - [8:6] */
12609a76f1ffSMark Brown #define WM8962_DACSYS_CLK_DIV_MASK              0x0038  /* DACSYS_CLK_DIV - [5:3] */
12619a76f1ffSMark Brown #define WM8962_DACSYS_CLK_DIV_SHIFT                  3  /* DACSYS_CLK_DIV - [5:3] */
12629a76f1ffSMark Brown #define WM8962_DACSYS_CLK_DIV_WIDTH                  3  /* DACSYS_CLK_DIV - [5:3] */
12639a76f1ffSMark Brown #define WM8962_MCLKDIV_MASK                     0x0006  /* MCLKDIV - [2:1] */
12649a76f1ffSMark Brown #define WM8962_MCLKDIV_SHIFT                         1  /* MCLKDIV - [2:1] */
12659a76f1ffSMark Brown #define WM8962_MCLKDIV_WIDTH                         2  /* MCLKDIV - [2:1] */
12669a76f1ffSMark Brown 
12679a76f1ffSMark Brown /*
12689a76f1ffSMark Brown  * R5 (0x05) - ADC & DAC Control 1
12699a76f1ffSMark Brown  */
12709a76f1ffSMark Brown #define WM8962_ADCR_DAT_INV                     0x0040  /* ADCR_DAT_INV */
12719a76f1ffSMark Brown #define WM8962_ADCR_DAT_INV_MASK                0x0040  /* ADCR_DAT_INV */
12729a76f1ffSMark Brown #define WM8962_ADCR_DAT_INV_SHIFT                    6  /* ADCR_DAT_INV */
12739a76f1ffSMark Brown #define WM8962_ADCR_DAT_INV_WIDTH                    1  /* ADCR_DAT_INV */
12749a76f1ffSMark Brown #define WM8962_ADCL_DAT_INV                     0x0020  /* ADCL_DAT_INV */
12759a76f1ffSMark Brown #define WM8962_ADCL_DAT_INV_MASK                0x0020  /* ADCL_DAT_INV */
12769a76f1ffSMark Brown #define WM8962_ADCL_DAT_INV_SHIFT                    5  /* ADCL_DAT_INV */
12779a76f1ffSMark Brown #define WM8962_ADCL_DAT_INV_WIDTH                    1  /* ADCL_DAT_INV */
12789a76f1ffSMark Brown #define WM8962_DAC_MUTE_RAMP                    0x0010  /* DAC_MUTE_RAMP */
12799a76f1ffSMark Brown #define WM8962_DAC_MUTE_RAMP_MASK               0x0010  /* DAC_MUTE_RAMP */
12809a76f1ffSMark Brown #define WM8962_DAC_MUTE_RAMP_SHIFT                   4  /* DAC_MUTE_RAMP */
12819a76f1ffSMark Brown #define WM8962_DAC_MUTE_RAMP_WIDTH                   1  /* DAC_MUTE_RAMP */
12829a76f1ffSMark Brown #define WM8962_DAC_MUTE                         0x0008  /* DAC_MUTE */
12839a76f1ffSMark Brown #define WM8962_DAC_MUTE_MASK                    0x0008  /* DAC_MUTE */
12849a76f1ffSMark Brown #define WM8962_DAC_MUTE_SHIFT                        3  /* DAC_MUTE */
12859a76f1ffSMark Brown #define WM8962_DAC_MUTE_WIDTH                        1  /* DAC_MUTE */
12869a76f1ffSMark Brown #define WM8962_DAC_DEEMP_MASK                   0x0006  /* DAC_DEEMP - [2:1] */
12879a76f1ffSMark Brown #define WM8962_DAC_DEEMP_SHIFT                       1  /* DAC_DEEMP - [2:1] */
12889a76f1ffSMark Brown #define WM8962_DAC_DEEMP_WIDTH                       2  /* DAC_DEEMP - [2:1] */
12899a76f1ffSMark Brown #define WM8962_ADC_HPF_DIS                      0x0001  /* ADC_HPF_DIS */
12909a76f1ffSMark Brown #define WM8962_ADC_HPF_DIS_MASK                 0x0001  /* ADC_HPF_DIS */
12919a76f1ffSMark Brown #define WM8962_ADC_HPF_DIS_SHIFT                     0  /* ADC_HPF_DIS */
12929a76f1ffSMark Brown #define WM8962_ADC_HPF_DIS_WIDTH                     1  /* ADC_HPF_DIS */
12939a76f1ffSMark Brown 
12949a76f1ffSMark Brown /*
12959a76f1ffSMark Brown  * R6 (0x06) - ADC & DAC Control 2
12969a76f1ffSMark Brown  */
12979a76f1ffSMark Brown #define WM8962_ADC_HPF_SR_MASK                  0x3000  /* ADC_HPF_SR - [13:12] */
12989a76f1ffSMark Brown #define WM8962_ADC_HPF_SR_SHIFT                     12  /* ADC_HPF_SR - [13:12] */
12999a76f1ffSMark Brown #define WM8962_ADC_HPF_SR_WIDTH                      2  /* ADC_HPF_SR - [13:12] */
13009a76f1ffSMark Brown #define WM8962_ADC_HPF_MODE                     0x0400  /* ADC_HPF_MODE */
13019a76f1ffSMark Brown #define WM8962_ADC_HPF_MODE_MASK                0x0400  /* ADC_HPF_MODE */
13029a76f1ffSMark Brown #define WM8962_ADC_HPF_MODE_SHIFT                   10  /* ADC_HPF_MODE */
13039a76f1ffSMark Brown #define WM8962_ADC_HPF_MODE_WIDTH                    1  /* ADC_HPF_MODE */
13049a76f1ffSMark Brown #define WM8962_ADC_HPF_CUT_MASK                 0x0380  /* ADC_HPF_CUT - [9:7] */
13059a76f1ffSMark Brown #define WM8962_ADC_HPF_CUT_SHIFT                     7  /* ADC_HPF_CUT - [9:7] */
13069a76f1ffSMark Brown #define WM8962_ADC_HPF_CUT_WIDTH                     3  /* ADC_HPF_CUT - [9:7] */
13079a76f1ffSMark Brown #define WM8962_DACR_DAT_INV                     0x0040  /* DACR_DAT_INV */
13089a76f1ffSMark Brown #define WM8962_DACR_DAT_INV_MASK                0x0040  /* DACR_DAT_INV */
13099a76f1ffSMark Brown #define WM8962_DACR_DAT_INV_SHIFT                    6  /* DACR_DAT_INV */
13109a76f1ffSMark Brown #define WM8962_DACR_DAT_INV_WIDTH                    1  /* DACR_DAT_INV */
13119a76f1ffSMark Brown #define WM8962_DACL_DAT_INV                     0x0020  /* DACL_DAT_INV */
13129a76f1ffSMark Brown #define WM8962_DACL_DAT_INV_MASK                0x0020  /* DACL_DAT_INV */
13139a76f1ffSMark Brown #define WM8962_DACL_DAT_INV_SHIFT                    5  /* DACL_DAT_INV */
13149a76f1ffSMark Brown #define WM8962_DACL_DAT_INV_WIDTH                    1  /* DACL_DAT_INV */
13159a76f1ffSMark Brown #define WM8962_DAC_UNMUTE_RAMP                  0x0008  /* DAC_UNMUTE_RAMP */
13169a76f1ffSMark Brown #define WM8962_DAC_UNMUTE_RAMP_MASK             0x0008  /* DAC_UNMUTE_RAMP */
13179a76f1ffSMark Brown #define WM8962_DAC_UNMUTE_RAMP_SHIFT                 3  /* DAC_UNMUTE_RAMP */
13189a76f1ffSMark Brown #define WM8962_DAC_UNMUTE_RAMP_WIDTH                 1  /* DAC_UNMUTE_RAMP */
13199a76f1ffSMark Brown #define WM8962_DAC_MUTERATE                     0x0004  /* DAC_MUTERATE */
13209a76f1ffSMark Brown #define WM8962_DAC_MUTERATE_MASK                0x0004  /* DAC_MUTERATE */
13219a76f1ffSMark Brown #define WM8962_DAC_MUTERATE_SHIFT                    2  /* DAC_MUTERATE */
13229a76f1ffSMark Brown #define WM8962_DAC_MUTERATE_WIDTH                    1  /* DAC_MUTERATE */
13239a76f1ffSMark Brown #define WM8962_DAC_HP                           0x0001  /* DAC_HP */
13249a76f1ffSMark Brown #define WM8962_DAC_HP_MASK                      0x0001  /* DAC_HP */
13259a76f1ffSMark Brown #define WM8962_DAC_HP_SHIFT                          0  /* DAC_HP */
13269a76f1ffSMark Brown #define WM8962_DAC_HP_WIDTH                          1  /* DAC_HP */
13279a76f1ffSMark Brown 
13289a76f1ffSMark Brown /*
13299a76f1ffSMark Brown  * R7 (0x07) - Audio Interface 0
13309a76f1ffSMark Brown  */
13319a76f1ffSMark Brown #define WM8962_AIFDAC_TDM_MODE                  0x1000  /* AIFDAC_TDM_MODE */
13329a76f1ffSMark Brown #define WM8962_AIFDAC_TDM_MODE_MASK             0x1000  /* AIFDAC_TDM_MODE */
13339a76f1ffSMark Brown #define WM8962_AIFDAC_TDM_MODE_SHIFT                12  /* AIFDAC_TDM_MODE */
13349a76f1ffSMark Brown #define WM8962_AIFDAC_TDM_MODE_WIDTH                 1  /* AIFDAC_TDM_MODE */
13359a76f1ffSMark Brown #define WM8962_AIFDAC_TDM_SLOT                  0x0800  /* AIFDAC_TDM_SLOT */
13369a76f1ffSMark Brown #define WM8962_AIFDAC_TDM_SLOT_MASK             0x0800  /* AIFDAC_TDM_SLOT */
13379a76f1ffSMark Brown #define WM8962_AIFDAC_TDM_SLOT_SHIFT                11  /* AIFDAC_TDM_SLOT */
13389a76f1ffSMark Brown #define WM8962_AIFDAC_TDM_SLOT_WIDTH                 1  /* AIFDAC_TDM_SLOT */
13399a76f1ffSMark Brown #define WM8962_AIFADC_TDM_MODE                  0x0400  /* AIFADC_TDM_MODE */
13409a76f1ffSMark Brown #define WM8962_AIFADC_TDM_MODE_MASK             0x0400  /* AIFADC_TDM_MODE */
13419a76f1ffSMark Brown #define WM8962_AIFADC_TDM_MODE_SHIFT                10  /* AIFADC_TDM_MODE */
13429a76f1ffSMark Brown #define WM8962_AIFADC_TDM_MODE_WIDTH                 1  /* AIFADC_TDM_MODE */
13439a76f1ffSMark Brown #define WM8962_AIFADC_TDM_SLOT                  0x0200  /* AIFADC_TDM_SLOT */
13449a76f1ffSMark Brown #define WM8962_AIFADC_TDM_SLOT_MASK             0x0200  /* AIFADC_TDM_SLOT */
13459a76f1ffSMark Brown #define WM8962_AIFADC_TDM_SLOT_SHIFT                 9  /* AIFADC_TDM_SLOT */
13469a76f1ffSMark Brown #define WM8962_AIFADC_TDM_SLOT_WIDTH                 1  /* AIFADC_TDM_SLOT */
13479a76f1ffSMark Brown #define WM8962_ADC_LRSWAP                       0x0100  /* ADC_LRSWAP */
13489a76f1ffSMark Brown #define WM8962_ADC_LRSWAP_MASK                  0x0100  /* ADC_LRSWAP */
13499a76f1ffSMark Brown #define WM8962_ADC_LRSWAP_SHIFT                      8  /* ADC_LRSWAP */
13509a76f1ffSMark Brown #define WM8962_ADC_LRSWAP_WIDTH                      1  /* ADC_LRSWAP */
13519a76f1ffSMark Brown #define WM8962_BCLK_INV                         0x0080  /* BCLK_INV */
13529a76f1ffSMark Brown #define WM8962_BCLK_INV_MASK                    0x0080  /* BCLK_INV */
13539a76f1ffSMark Brown #define WM8962_BCLK_INV_SHIFT                        7  /* BCLK_INV */
13549a76f1ffSMark Brown #define WM8962_BCLK_INV_WIDTH                        1  /* BCLK_INV */
13559a76f1ffSMark Brown #define WM8962_MSTR                             0x0040  /* MSTR */
13569a76f1ffSMark Brown #define WM8962_MSTR_MASK                        0x0040  /* MSTR */
13579a76f1ffSMark Brown #define WM8962_MSTR_SHIFT                            6  /* MSTR */
13589a76f1ffSMark Brown #define WM8962_MSTR_WIDTH                            1  /* MSTR */
13599a76f1ffSMark Brown #define WM8962_DAC_LRSWAP                       0x0020  /* DAC_LRSWAP */
13609a76f1ffSMark Brown #define WM8962_DAC_LRSWAP_MASK                  0x0020  /* DAC_LRSWAP */
13619a76f1ffSMark Brown #define WM8962_DAC_LRSWAP_SHIFT                      5  /* DAC_LRSWAP */
13629a76f1ffSMark Brown #define WM8962_DAC_LRSWAP_WIDTH                      1  /* DAC_LRSWAP */
13639a76f1ffSMark Brown #define WM8962_LRCLK_INV                        0x0010  /* LRCLK_INV */
13649a76f1ffSMark Brown #define WM8962_LRCLK_INV_MASK                   0x0010  /* LRCLK_INV */
13659a76f1ffSMark Brown #define WM8962_LRCLK_INV_SHIFT                       4  /* LRCLK_INV */
13669a76f1ffSMark Brown #define WM8962_LRCLK_INV_WIDTH                       1  /* LRCLK_INV */
13679a76f1ffSMark Brown #define WM8962_WL_MASK                          0x000C  /* WL - [3:2] */
13689a76f1ffSMark Brown #define WM8962_WL_SHIFT                              2  /* WL - [3:2] */
13699a76f1ffSMark Brown #define WM8962_WL_WIDTH                              2  /* WL - [3:2] */
13709a76f1ffSMark Brown #define WM8962_FMT_MASK                         0x0003  /* FMT - [1:0] */
13719a76f1ffSMark Brown #define WM8962_FMT_SHIFT                             0  /* FMT - [1:0] */
13729a76f1ffSMark Brown #define WM8962_FMT_WIDTH                             2  /* FMT - [1:0] */
13739a76f1ffSMark Brown 
13749a76f1ffSMark Brown /*
13759a76f1ffSMark Brown  * R8 (0x08) - Clocking2
13769a76f1ffSMark Brown  */
13779a76f1ffSMark Brown #define WM8962_CLKREG_OVD                       0x0800  /* CLKREG_OVD */
13789a76f1ffSMark Brown #define WM8962_CLKREG_OVD_MASK                  0x0800  /* CLKREG_OVD */
13799a76f1ffSMark Brown #define WM8962_CLKREG_OVD_SHIFT                     11  /* CLKREG_OVD */
13809a76f1ffSMark Brown #define WM8962_CLKREG_OVD_WIDTH                      1  /* CLKREG_OVD */
13819a76f1ffSMark Brown #define WM8962_SYSCLK_SRC_MASK                  0x0600  /* SYSCLK_SRC - [10:9] */
13829a76f1ffSMark Brown #define WM8962_SYSCLK_SRC_SHIFT                      9  /* SYSCLK_SRC - [10:9] */
13839a76f1ffSMark Brown #define WM8962_SYSCLK_SRC_WIDTH                      2  /* SYSCLK_SRC - [10:9] */
13849a76f1ffSMark Brown #define WM8962_CLASSD_CLK_DIV_MASK              0x01C0  /* CLASSD_CLK_DIV - [8:6] */
13859a76f1ffSMark Brown #define WM8962_CLASSD_CLK_DIV_SHIFT                  6  /* CLASSD_CLK_DIV - [8:6] */
13869a76f1ffSMark Brown #define WM8962_CLASSD_CLK_DIV_WIDTH                  3  /* CLASSD_CLK_DIV - [8:6] */
13879a76f1ffSMark Brown #define WM8962_SYSCLK_ENA                       0x0020  /* SYSCLK_ENA */
13889a76f1ffSMark Brown #define WM8962_SYSCLK_ENA_MASK                  0x0020  /* SYSCLK_ENA */
13899a76f1ffSMark Brown #define WM8962_SYSCLK_ENA_SHIFT                      5  /* SYSCLK_ENA */
13909a76f1ffSMark Brown #define WM8962_SYSCLK_ENA_WIDTH                      1  /* SYSCLK_ENA */
13919a76f1ffSMark Brown #define WM8962_BCLK_DIV_MASK                    0x000F  /* BCLK_DIV - [3:0] */
13929a76f1ffSMark Brown #define WM8962_BCLK_DIV_SHIFT                        0  /* BCLK_DIV - [3:0] */
13939a76f1ffSMark Brown #define WM8962_BCLK_DIV_WIDTH                        4  /* BCLK_DIV - [3:0] */
13949a76f1ffSMark Brown 
13959a76f1ffSMark Brown /*
13969a76f1ffSMark Brown  * R9 (0x09) - Audio Interface 1
13979a76f1ffSMark Brown  */
13989a76f1ffSMark Brown #define WM8962_AUTOMUTE_STS                     0x0800  /* AUTOMUTE_STS */
13999a76f1ffSMark Brown #define WM8962_AUTOMUTE_STS_MASK                0x0800  /* AUTOMUTE_STS */
14009a76f1ffSMark Brown #define WM8962_AUTOMUTE_STS_SHIFT                   11  /* AUTOMUTE_STS */
14019a76f1ffSMark Brown #define WM8962_AUTOMUTE_STS_WIDTH                    1  /* AUTOMUTE_STS */
14029a76f1ffSMark Brown #define WM8962_DAC_AUTOMUTE_SAMPLES_MASK        0x0300  /* DAC_AUTOMUTE_SAMPLES - [9:8] */
14039a76f1ffSMark Brown #define WM8962_DAC_AUTOMUTE_SAMPLES_SHIFT            8  /* DAC_AUTOMUTE_SAMPLES - [9:8] */
14049a76f1ffSMark Brown #define WM8962_DAC_AUTOMUTE_SAMPLES_WIDTH            2  /* DAC_AUTOMUTE_SAMPLES - [9:8] */
14059a76f1ffSMark Brown #define WM8962_DAC_AUTOMUTE                     0x0080  /* DAC_AUTOMUTE */
14069a76f1ffSMark Brown #define WM8962_DAC_AUTOMUTE_MASK                0x0080  /* DAC_AUTOMUTE */
14079a76f1ffSMark Brown #define WM8962_DAC_AUTOMUTE_SHIFT                    7  /* DAC_AUTOMUTE */
14089a76f1ffSMark Brown #define WM8962_DAC_AUTOMUTE_WIDTH                    1  /* DAC_AUTOMUTE */
14099a76f1ffSMark Brown #define WM8962_DAC_COMP                         0x0010  /* DAC_COMP */
14109a76f1ffSMark Brown #define WM8962_DAC_COMP_MASK                    0x0010  /* DAC_COMP */
14119a76f1ffSMark Brown #define WM8962_DAC_COMP_SHIFT                        4  /* DAC_COMP */
14129a76f1ffSMark Brown #define WM8962_DAC_COMP_WIDTH                        1  /* DAC_COMP */
14139a76f1ffSMark Brown #define WM8962_DAC_COMPMODE                     0x0008  /* DAC_COMPMODE */
14149a76f1ffSMark Brown #define WM8962_DAC_COMPMODE_MASK                0x0008  /* DAC_COMPMODE */
14159a76f1ffSMark Brown #define WM8962_DAC_COMPMODE_SHIFT                    3  /* DAC_COMPMODE */
14169a76f1ffSMark Brown #define WM8962_DAC_COMPMODE_WIDTH                    1  /* DAC_COMPMODE */
14179a76f1ffSMark Brown #define WM8962_ADC_COMP                         0x0004  /* ADC_COMP */
14189a76f1ffSMark Brown #define WM8962_ADC_COMP_MASK                    0x0004  /* ADC_COMP */
14199a76f1ffSMark Brown #define WM8962_ADC_COMP_SHIFT                        2  /* ADC_COMP */
14209a76f1ffSMark Brown #define WM8962_ADC_COMP_WIDTH                        1  /* ADC_COMP */
14219a76f1ffSMark Brown #define WM8962_ADC_COMPMODE                     0x0002  /* ADC_COMPMODE */
14229a76f1ffSMark Brown #define WM8962_ADC_COMPMODE_MASK                0x0002  /* ADC_COMPMODE */
14239a76f1ffSMark Brown #define WM8962_ADC_COMPMODE_SHIFT                    1  /* ADC_COMPMODE */
14249a76f1ffSMark Brown #define WM8962_ADC_COMPMODE_WIDTH                    1  /* ADC_COMPMODE */
14259a76f1ffSMark Brown #define WM8962_LOOPBACK                         0x0001  /* LOOPBACK */
14269a76f1ffSMark Brown #define WM8962_LOOPBACK_MASK                    0x0001  /* LOOPBACK */
14279a76f1ffSMark Brown #define WM8962_LOOPBACK_SHIFT                        0  /* LOOPBACK */
14289a76f1ffSMark Brown #define WM8962_LOOPBACK_WIDTH                        1  /* LOOPBACK */
14299a76f1ffSMark Brown 
14309a76f1ffSMark Brown /*
14319a76f1ffSMark Brown  * R10 (0x0A) - Left DAC volume
14329a76f1ffSMark Brown  */
14339a76f1ffSMark Brown #define WM8962_DAC_VU                           0x0100  /* DAC_VU */
14349a76f1ffSMark Brown #define WM8962_DAC_VU_MASK                      0x0100  /* DAC_VU */
14359a76f1ffSMark Brown #define WM8962_DAC_VU_SHIFT                          8  /* DAC_VU */
14369a76f1ffSMark Brown #define WM8962_DAC_VU_WIDTH                          1  /* DAC_VU */
14379a76f1ffSMark Brown #define WM8962_DACL_VOL_MASK                    0x00FF  /* DACL_VOL - [7:0] */
14389a76f1ffSMark Brown #define WM8962_DACL_VOL_SHIFT                        0  /* DACL_VOL - [7:0] */
14399a76f1ffSMark Brown #define WM8962_DACL_VOL_WIDTH                        8  /* DACL_VOL - [7:0] */
14409a76f1ffSMark Brown 
14419a76f1ffSMark Brown /*
14429a76f1ffSMark Brown  * R11 (0x0B) - Right DAC volume
14439a76f1ffSMark Brown  */
14449a76f1ffSMark Brown #define WM8962_DAC_VU                           0x0100  /* DAC_VU */
14459a76f1ffSMark Brown #define WM8962_DAC_VU_MASK                      0x0100  /* DAC_VU */
14469a76f1ffSMark Brown #define WM8962_DAC_VU_SHIFT                          8  /* DAC_VU */
14479a76f1ffSMark Brown #define WM8962_DAC_VU_WIDTH                          1  /* DAC_VU */
14489a76f1ffSMark Brown #define WM8962_DACR_VOL_MASK                    0x00FF  /* DACR_VOL - [7:0] */
14499a76f1ffSMark Brown #define WM8962_DACR_VOL_SHIFT                        0  /* DACR_VOL - [7:0] */
14509a76f1ffSMark Brown #define WM8962_DACR_VOL_WIDTH                        8  /* DACR_VOL - [7:0] */
14519a76f1ffSMark Brown 
14529a76f1ffSMark Brown /*
14539a76f1ffSMark Brown  * R14 (0x0E) - Audio Interface 2
14549a76f1ffSMark Brown  */
14559a76f1ffSMark Brown #define WM8962_AIF_RATE_MASK                    0x07FF  /* AIF_RATE - [10:0] */
14569a76f1ffSMark Brown #define WM8962_AIF_RATE_SHIFT                        0  /* AIF_RATE - [10:0] */
14579a76f1ffSMark Brown #define WM8962_AIF_RATE_WIDTH                       11  /* AIF_RATE - [10:0] */
14589a76f1ffSMark Brown 
14599a76f1ffSMark Brown /*
14609a76f1ffSMark Brown  * R15 (0x0F) - Software Reset
14619a76f1ffSMark Brown  */
14629a76f1ffSMark Brown #define WM8962_SW_RESET_MASK                    0xFFFF  /* SW_RESET - [15:0] */
14639a76f1ffSMark Brown #define WM8962_SW_RESET_SHIFT                        0  /* SW_RESET - [15:0] */
14649a76f1ffSMark Brown #define WM8962_SW_RESET_WIDTH                       16  /* SW_RESET - [15:0] */
14659a76f1ffSMark Brown 
14669a76f1ffSMark Brown /*
14679a76f1ffSMark Brown  * R17 (0x11) - ALC1
14689a76f1ffSMark Brown  */
14699a76f1ffSMark Brown #define WM8962_ALC_INACTIVE_ENA                 0x0400  /* ALC_INACTIVE_ENA */
14709a76f1ffSMark Brown #define WM8962_ALC_INACTIVE_ENA_MASK            0x0400  /* ALC_INACTIVE_ENA */
14719a76f1ffSMark Brown #define WM8962_ALC_INACTIVE_ENA_SHIFT               10  /* ALC_INACTIVE_ENA */
14729a76f1ffSMark Brown #define WM8962_ALC_INACTIVE_ENA_WIDTH                1  /* ALC_INACTIVE_ENA */
14739a76f1ffSMark Brown #define WM8962_ALC_LVL_MODE                     0x0200  /* ALC_LVL_MODE */
14749a76f1ffSMark Brown #define WM8962_ALC_LVL_MODE_MASK                0x0200  /* ALC_LVL_MODE */
14759a76f1ffSMark Brown #define WM8962_ALC_LVL_MODE_SHIFT                    9  /* ALC_LVL_MODE */
14769a76f1ffSMark Brown #define WM8962_ALC_LVL_MODE_WIDTH                    1  /* ALC_LVL_MODE */
14779a76f1ffSMark Brown #define WM8962_ALCL_ENA                         0x0100  /* ALCL_ENA */
14789a76f1ffSMark Brown #define WM8962_ALCL_ENA_MASK                    0x0100  /* ALCL_ENA */
14799a76f1ffSMark Brown #define WM8962_ALCL_ENA_SHIFT                        8  /* ALCL_ENA */
14809a76f1ffSMark Brown #define WM8962_ALCL_ENA_WIDTH                        1  /* ALCL_ENA */
14819a76f1ffSMark Brown #define WM8962_ALCR_ENA                         0x0080  /* ALCR_ENA */
14829a76f1ffSMark Brown #define WM8962_ALCR_ENA_MASK                    0x0080  /* ALCR_ENA */
14839a76f1ffSMark Brown #define WM8962_ALCR_ENA_SHIFT                        7  /* ALCR_ENA */
14849a76f1ffSMark Brown #define WM8962_ALCR_ENA_WIDTH                        1  /* ALCR_ENA */
14859a76f1ffSMark Brown #define WM8962_ALC_MAXGAIN_MASK                 0x0070  /* ALC_MAXGAIN - [6:4] */
14869a76f1ffSMark Brown #define WM8962_ALC_MAXGAIN_SHIFT                     4  /* ALC_MAXGAIN - [6:4] */
14879a76f1ffSMark Brown #define WM8962_ALC_MAXGAIN_WIDTH                     3  /* ALC_MAXGAIN - [6:4] */
14889a76f1ffSMark Brown #define WM8962_ALC_LVL_MASK                     0x000F  /* ALC_LVL - [3:0] */
14899a76f1ffSMark Brown #define WM8962_ALC_LVL_SHIFT                         0  /* ALC_LVL - [3:0] */
14909a76f1ffSMark Brown #define WM8962_ALC_LVL_WIDTH                         4  /* ALC_LVL - [3:0] */
14919a76f1ffSMark Brown 
14929a76f1ffSMark Brown /*
14939a76f1ffSMark Brown  * R18 (0x12) - ALC2
14949a76f1ffSMark Brown  */
14959a76f1ffSMark Brown #define WM8962_ALC_LOCK_STS                     0x8000  /* ALC_LOCK_STS */
14969a76f1ffSMark Brown #define WM8962_ALC_LOCK_STS_MASK                0x8000  /* ALC_LOCK_STS */
14979a76f1ffSMark Brown #define WM8962_ALC_LOCK_STS_SHIFT                   15  /* ALC_LOCK_STS */
14989a76f1ffSMark Brown #define WM8962_ALC_LOCK_STS_WIDTH                    1  /* ALC_LOCK_STS */
14999a76f1ffSMark Brown #define WM8962_ALC_THRESH_STS                   0x4000  /* ALC_THRESH_STS */
15009a76f1ffSMark Brown #define WM8962_ALC_THRESH_STS_MASK              0x4000  /* ALC_THRESH_STS */
15019a76f1ffSMark Brown #define WM8962_ALC_THRESH_STS_SHIFT                 14  /* ALC_THRESH_STS */
15029a76f1ffSMark Brown #define WM8962_ALC_THRESH_STS_WIDTH                  1  /* ALC_THRESH_STS */
15039a76f1ffSMark Brown #define WM8962_ALC_SAT_STS                      0x2000  /* ALC_SAT_STS */
15049a76f1ffSMark Brown #define WM8962_ALC_SAT_STS_MASK                 0x2000  /* ALC_SAT_STS */
15059a76f1ffSMark Brown #define WM8962_ALC_SAT_STS_SHIFT                    13  /* ALC_SAT_STS */
15069a76f1ffSMark Brown #define WM8962_ALC_SAT_STS_WIDTH                     1  /* ALC_SAT_STS */
15079a76f1ffSMark Brown #define WM8962_ALC_PKOVR_STS                    0x1000  /* ALC_PKOVR_STS */
15089a76f1ffSMark Brown #define WM8962_ALC_PKOVR_STS_MASK               0x1000  /* ALC_PKOVR_STS */
15099a76f1ffSMark Brown #define WM8962_ALC_PKOVR_STS_SHIFT                  12  /* ALC_PKOVR_STS */
15109a76f1ffSMark Brown #define WM8962_ALC_PKOVR_STS_WIDTH                   1  /* ALC_PKOVR_STS */
15119a76f1ffSMark Brown #define WM8962_ALC_NGATE_STS                    0x0800  /* ALC_NGATE_STS */
15129a76f1ffSMark Brown #define WM8962_ALC_NGATE_STS_MASK               0x0800  /* ALC_NGATE_STS */
15139a76f1ffSMark Brown #define WM8962_ALC_NGATE_STS_SHIFT                  11  /* ALC_NGATE_STS */
15149a76f1ffSMark Brown #define WM8962_ALC_NGATE_STS_WIDTH                   1  /* ALC_NGATE_STS */
15159a76f1ffSMark Brown #define WM8962_ALC_ZC                           0x0080  /* ALC_ZC */
15169a76f1ffSMark Brown #define WM8962_ALC_ZC_MASK                      0x0080  /* ALC_ZC */
15179a76f1ffSMark Brown #define WM8962_ALC_ZC_SHIFT                          7  /* ALC_ZC */
15189a76f1ffSMark Brown #define WM8962_ALC_ZC_WIDTH                          1  /* ALC_ZC */
15199a76f1ffSMark Brown #define WM8962_ALC_MINGAIN_MASK                 0x0070  /* ALC_MINGAIN - [6:4] */
15209a76f1ffSMark Brown #define WM8962_ALC_MINGAIN_SHIFT                     4  /* ALC_MINGAIN - [6:4] */
15219a76f1ffSMark Brown #define WM8962_ALC_MINGAIN_WIDTH                     3  /* ALC_MINGAIN - [6:4] */
15229a76f1ffSMark Brown #define WM8962_ALC_HLD_MASK                     0x000F  /* ALC_HLD - [3:0] */
15239a76f1ffSMark Brown #define WM8962_ALC_HLD_SHIFT                         0  /* ALC_HLD - [3:0] */
15249a76f1ffSMark Brown #define WM8962_ALC_HLD_WIDTH                         4  /* ALC_HLD - [3:0] */
15259a76f1ffSMark Brown 
15269a76f1ffSMark Brown /*
15279a76f1ffSMark Brown  * R19 (0x13) - ALC3
15289a76f1ffSMark Brown  */
15299a76f1ffSMark Brown #define WM8962_ALC_NGATE_GAIN_MASK              0x1C00  /* ALC_NGATE_GAIN - [12:10] */
15309a76f1ffSMark Brown #define WM8962_ALC_NGATE_GAIN_SHIFT                 10  /* ALC_NGATE_GAIN - [12:10] */
15319a76f1ffSMark Brown #define WM8962_ALC_NGATE_GAIN_WIDTH                  3  /* ALC_NGATE_GAIN - [12:10] */
15329a76f1ffSMark Brown #define WM8962_ALC_MODE                         0x0100  /* ALC_MODE */
15339a76f1ffSMark Brown #define WM8962_ALC_MODE_MASK                    0x0100  /* ALC_MODE */
15349a76f1ffSMark Brown #define WM8962_ALC_MODE_SHIFT                        8  /* ALC_MODE */
15359a76f1ffSMark Brown #define WM8962_ALC_MODE_WIDTH                        1  /* ALC_MODE */
15369a76f1ffSMark Brown #define WM8962_ALC_DCY_MASK                     0x00F0  /* ALC_DCY - [7:4] */
15379a76f1ffSMark Brown #define WM8962_ALC_DCY_SHIFT                         4  /* ALC_DCY - [7:4] */
15389a76f1ffSMark Brown #define WM8962_ALC_DCY_WIDTH                         4  /* ALC_DCY - [7:4] */
15399a76f1ffSMark Brown #define WM8962_ALC_ATK_MASK                     0x000F  /* ALC_ATK - [3:0] */
15409a76f1ffSMark Brown #define WM8962_ALC_ATK_SHIFT                         0  /* ALC_ATK - [3:0] */
15419a76f1ffSMark Brown #define WM8962_ALC_ATK_WIDTH                         4  /* ALC_ATK - [3:0] */
15429a76f1ffSMark Brown 
15439a76f1ffSMark Brown /*
15449a76f1ffSMark Brown  * R20 (0x14) - Noise Gate
15459a76f1ffSMark Brown  */
15469a76f1ffSMark Brown #define WM8962_ALC_NGATE_DCY_MASK               0xF000  /* ALC_NGATE_DCY - [15:12] */
15479a76f1ffSMark Brown #define WM8962_ALC_NGATE_DCY_SHIFT                  12  /* ALC_NGATE_DCY - [15:12] */
15489a76f1ffSMark Brown #define WM8962_ALC_NGATE_DCY_WIDTH                   4  /* ALC_NGATE_DCY - [15:12] */
15499a76f1ffSMark Brown #define WM8962_ALC_NGATE_ATK_MASK               0x0F00  /* ALC_NGATE_ATK - [11:8] */
15509a76f1ffSMark Brown #define WM8962_ALC_NGATE_ATK_SHIFT                   8  /* ALC_NGATE_ATK - [11:8] */
15519a76f1ffSMark Brown #define WM8962_ALC_NGATE_ATK_WIDTH                   4  /* ALC_NGATE_ATK - [11:8] */
15529a76f1ffSMark Brown #define WM8962_ALC_NGATE_THR_MASK               0x00F8  /* ALC_NGATE_THR - [7:3] */
15539a76f1ffSMark Brown #define WM8962_ALC_NGATE_THR_SHIFT                   3  /* ALC_NGATE_THR - [7:3] */
15549a76f1ffSMark Brown #define WM8962_ALC_NGATE_THR_WIDTH                   5  /* ALC_NGATE_THR - [7:3] */
15559a76f1ffSMark Brown #define WM8962_ALC_NGATE_MODE_MASK              0x0006  /* ALC_NGATE_MODE - [2:1] */
15569a76f1ffSMark Brown #define WM8962_ALC_NGATE_MODE_SHIFT                  1  /* ALC_NGATE_MODE - [2:1] */
15579a76f1ffSMark Brown #define WM8962_ALC_NGATE_MODE_WIDTH                  2  /* ALC_NGATE_MODE - [2:1] */
15589a76f1ffSMark Brown #define WM8962_ALC_NGATE_ENA                    0x0001  /* ALC_NGATE_ENA */
15599a76f1ffSMark Brown #define WM8962_ALC_NGATE_ENA_MASK               0x0001  /* ALC_NGATE_ENA */
15609a76f1ffSMark Brown #define WM8962_ALC_NGATE_ENA_SHIFT                   0  /* ALC_NGATE_ENA */
15619a76f1ffSMark Brown #define WM8962_ALC_NGATE_ENA_WIDTH                   1  /* ALC_NGATE_ENA */
15629a76f1ffSMark Brown 
15639a76f1ffSMark Brown /*
15649a76f1ffSMark Brown  * R21 (0x15) - Left ADC volume
15659a76f1ffSMark Brown  */
15669a76f1ffSMark Brown #define WM8962_ADC_VU                           0x0100  /* ADC_VU */
15679a76f1ffSMark Brown #define WM8962_ADC_VU_MASK                      0x0100  /* ADC_VU */
15689a76f1ffSMark Brown #define WM8962_ADC_VU_SHIFT                          8  /* ADC_VU */
15699a76f1ffSMark Brown #define WM8962_ADC_VU_WIDTH                          1  /* ADC_VU */
15709a76f1ffSMark Brown #define WM8962_ADCL_VOL_MASK                    0x00FF  /* ADCL_VOL - [7:0] */
15719a76f1ffSMark Brown #define WM8962_ADCL_VOL_SHIFT                        0  /* ADCL_VOL - [7:0] */
15729a76f1ffSMark Brown #define WM8962_ADCL_VOL_WIDTH                        8  /* ADCL_VOL - [7:0] */
15739a76f1ffSMark Brown 
15749a76f1ffSMark Brown /*
15759a76f1ffSMark Brown  * R22 (0x16) - Right ADC volume
15769a76f1ffSMark Brown  */
15779a76f1ffSMark Brown #define WM8962_ADC_VU                           0x0100  /* ADC_VU */
15789a76f1ffSMark Brown #define WM8962_ADC_VU_MASK                      0x0100  /* ADC_VU */
15799a76f1ffSMark Brown #define WM8962_ADC_VU_SHIFT                          8  /* ADC_VU */
15809a76f1ffSMark Brown #define WM8962_ADC_VU_WIDTH                          1  /* ADC_VU */
15819a76f1ffSMark Brown #define WM8962_ADCR_VOL_MASK                    0x00FF  /* ADCR_VOL - [7:0] */
15829a76f1ffSMark Brown #define WM8962_ADCR_VOL_SHIFT                        0  /* ADCR_VOL - [7:0] */
15839a76f1ffSMark Brown #define WM8962_ADCR_VOL_WIDTH                        8  /* ADCR_VOL - [7:0] */
15849a76f1ffSMark Brown 
15859a76f1ffSMark Brown /*
15869a76f1ffSMark Brown  * R23 (0x17) - Additional control(1)
15879a76f1ffSMark Brown  */
15889a76f1ffSMark Brown #define WM8962_THERR_ACT                        0x0100  /* THERR_ACT */
15899a76f1ffSMark Brown #define WM8962_THERR_ACT_MASK                   0x0100  /* THERR_ACT */
15909a76f1ffSMark Brown #define WM8962_THERR_ACT_SHIFT                       8  /* THERR_ACT */
15919a76f1ffSMark Brown #define WM8962_THERR_ACT_WIDTH                       1  /* THERR_ACT */
15929a76f1ffSMark Brown #define WM8962_ADC_BIAS                         0x0040  /* ADC_BIAS */
15939a76f1ffSMark Brown #define WM8962_ADC_BIAS_MASK                    0x0040  /* ADC_BIAS */
15949a76f1ffSMark Brown #define WM8962_ADC_BIAS_SHIFT                        6  /* ADC_BIAS */
15959a76f1ffSMark Brown #define WM8962_ADC_BIAS_WIDTH                        1  /* ADC_BIAS */
15969a76f1ffSMark Brown #define WM8962_ADC_HP                           0x0020  /* ADC_HP */
15979a76f1ffSMark Brown #define WM8962_ADC_HP_MASK                      0x0020  /* ADC_HP */
15989a76f1ffSMark Brown #define WM8962_ADC_HP_SHIFT                          5  /* ADC_HP */
15999a76f1ffSMark Brown #define WM8962_ADC_HP_WIDTH                          1  /* ADC_HP */
16009a76f1ffSMark Brown #define WM8962_TOCLK_ENA                        0x0001  /* TOCLK_ENA */
16019a76f1ffSMark Brown #define WM8962_TOCLK_ENA_MASK                   0x0001  /* TOCLK_ENA */
16029a76f1ffSMark Brown #define WM8962_TOCLK_ENA_SHIFT                       0  /* TOCLK_ENA */
16039a76f1ffSMark Brown #define WM8962_TOCLK_ENA_WIDTH                       1  /* TOCLK_ENA */
16049a76f1ffSMark Brown 
16059a76f1ffSMark Brown /*
16069a76f1ffSMark Brown  * R24 (0x18) - Additional control(2)
16079a76f1ffSMark Brown  */
16089a76f1ffSMark Brown #define WM8962_AIF_TRI                          0x0008  /* AIF_TRI */
16099a76f1ffSMark Brown #define WM8962_AIF_TRI_MASK                     0x0008  /* AIF_TRI */
16109a76f1ffSMark Brown #define WM8962_AIF_TRI_SHIFT                         3  /* AIF_TRI */
16119a76f1ffSMark Brown #define WM8962_AIF_TRI_WIDTH                         1  /* AIF_TRI */
16129a76f1ffSMark Brown 
16139a76f1ffSMark Brown /*
16149a76f1ffSMark Brown  * R25 (0x19) - Pwr Mgmt (1)
16159a76f1ffSMark Brown  */
16169a76f1ffSMark Brown #define WM8962_DMIC_ENA                         0x0400  /* DMIC_ENA */
16179a76f1ffSMark Brown #define WM8962_DMIC_ENA_MASK                    0x0400  /* DMIC_ENA */
16189a76f1ffSMark Brown #define WM8962_DMIC_ENA_SHIFT                       10  /* DMIC_ENA */
16199a76f1ffSMark Brown #define WM8962_DMIC_ENA_WIDTH                        1  /* DMIC_ENA */
16209a76f1ffSMark Brown #define WM8962_OPCLK_ENA                        0x0200  /* OPCLK_ENA */
16219a76f1ffSMark Brown #define WM8962_OPCLK_ENA_MASK                   0x0200  /* OPCLK_ENA */
16229a76f1ffSMark Brown #define WM8962_OPCLK_ENA_SHIFT                       9  /* OPCLK_ENA */
16239a76f1ffSMark Brown #define WM8962_OPCLK_ENA_WIDTH                       1  /* OPCLK_ENA */
16249a76f1ffSMark Brown #define WM8962_VMID_SEL_MASK                    0x0180  /* VMID_SEL - [8:7] */
16259a76f1ffSMark Brown #define WM8962_VMID_SEL_SHIFT                        7  /* VMID_SEL - [8:7] */
16269a76f1ffSMark Brown #define WM8962_VMID_SEL_WIDTH                        2  /* VMID_SEL - [8:7] */
16279a76f1ffSMark Brown #define WM8962_BIAS_ENA                         0x0040  /* BIAS_ENA */
16289a76f1ffSMark Brown #define WM8962_BIAS_ENA_MASK                    0x0040  /* BIAS_ENA */
16299a76f1ffSMark Brown #define WM8962_BIAS_ENA_SHIFT                        6  /* BIAS_ENA */
16309a76f1ffSMark Brown #define WM8962_BIAS_ENA_WIDTH                        1  /* BIAS_ENA */
16319a76f1ffSMark Brown #define WM8962_INL_ENA                          0x0020  /* INL_ENA */
16329a76f1ffSMark Brown #define WM8962_INL_ENA_MASK                     0x0020  /* INL_ENA */
16339a76f1ffSMark Brown #define WM8962_INL_ENA_SHIFT                         5  /* INL_ENA */
16349a76f1ffSMark Brown #define WM8962_INL_ENA_WIDTH                         1  /* INL_ENA */
16359a76f1ffSMark Brown #define WM8962_INR_ENA                          0x0010  /* INR_ENA */
16369a76f1ffSMark Brown #define WM8962_INR_ENA_MASK                     0x0010  /* INR_ENA */
16379a76f1ffSMark Brown #define WM8962_INR_ENA_SHIFT                         4  /* INR_ENA */
16389a76f1ffSMark Brown #define WM8962_INR_ENA_WIDTH                         1  /* INR_ENA */
16399a76f1ffSMark Brown #define WM8962_ADCL_ENA                         0x0008  /* ADCL_ENA */
16409a76f1ffSMark Brown #define WM8962_ADCL_ENA_MASK                    0x0008  /* ADCL_ENA */
16419a76f1ffSMark Brown #define WM8962_ADCL_ENA_SHIFT                        3  /* ADCL_ENA */
16429a76f1ffSMark Brown #define WM8962_ADCL_ENA_WIDTH                        1  /* ADCL_ENA */
16439a76f1ffSMark Brown #define WM8962_ADCR_ENA                         0x0004  /* ADCR_ENA */
16449a76f1ffSMark Brown #define WM8962_ADCR_ENA_MASK                    0x0004  /* ADCR_ENA */
16459a76f1ffSMark Brown #define WM8962_ADCR_ENA_SHIFT                        2  /* ADCR_ENA */
16469a76f1ffSMark Brown #define WM8962_ADCR_ENA_WIDTH                        1  /* ADCR_ENA */
16479a76f1ffSMark Brown #define WM8962_MICBIAS_ENA                      0x0002  /* MICBIAS_ENA */
16489a76f1ffSMark Brown #define WM8962_MICBIAS_ENA_MASK                 0x0002  /* MICBIAS_ENA */
16499a76f1ffSMark Brown #define WM8962_MICBIAS_ENA_SHIFT                     1  /* MICBIAS_ENA */
16509a76f1ffSMark Brown #define WM8962_MICBIAS_ENA_WIDTH                     1  /* MICBIAS_ENA */
16519a76f1ffSMark Brown 
16529a76f1ffSMark Brown /*
16539a76f1ffSMark Brown  * R26 (0x1A) - Pwr Mgmt (2)
16549a76f1ffSMark Brown  */
16559a76f1ffSMark Brown #define WM8962_DACL_ENA                         0x0100  /* DACL_ENA */
16569a76f1ffSMark Brown #define WM8962_DACL_ENA_MASK                    0x0100  /* DACL_ENA */
16579a76f1ffSMark Brown #define WM8962_DACL_ENA_SHIFT                        8  /* DACL_ENA */
16589a76f1ffSMark Brown #define WM8962_DACL_ENA_WIDTH                        1  /* DACL_ENA */
16599a76f1ffSMark Brown #define WM8962_DACR_ENA                         0x0080  /* DACR_ENA */
16609a76f1ffSMark Brown #define WM8962_DACR_ENA_MASK                    0x0080  /* DACR_ENA */
16619a76f1ffSMark Brown #define WM8962_DACR_ENA_SHIFT                        7  /* DACR_ENA */
16629a76f1ffSMark Brown #define WM8962_DACR_ENA_WIDTH                        1  /* DACR_ENA */
16639a76f1ffSMark Brown #define WM8962_HPOUTL_PGA_ENA                   0x0040  /* HPOUTL_PGA_ENA */
16649a76f1ffSMark Brown #define WM8962_HPOUTL_PGA_ENA_MASK              0x0040  /* HPOUTL_PGA_ENA */
16659a76f1ffSMark Brown #define WM8962_HPOUTL_PGA_ENA_SHIFT                  6  /* HPOUTL_PGA_ENA */
16669a76f1ffSMark Brown #define WM8962_HPOUTL_PGA_ENA_WIDTH                  1  /* HPOUTL_PGA_ENA */
16679a76f1ffSMark Brown #define WM8962_HPOUTR_PGA_ENA                   0x0020  /* HPOUTR_PGA_ENA */
16689a76f1ffSMark Brown #define WM8962_HPOUTR_PGA_ENA_MASK              0x0020  /* HPOUTR_PGA_ENA */
16699a76f1ffSMark Brown #define WM8962_HPOUTR_PGA_ENA_SHIFT                  5  /* HPOUTR_PGA_ENA */
16709a76f1ffSMark Brown #define WM8962_HPOUTR_PGA_ENA_WIDTH                  1  /* HPOUTR_PGA_ENA */
16719a76f1ffSMark Brown #define WM8962_SPKOUTL_PGA_ENA                  0x0010  /* SPKOUTL_PGA_ENA */
16729a76f1ffSMark Brown #define WM8962_SPKOUTL_PGA_ENA_MASK             0x0010  /* SPKOUTL_PGA_ENA */
16739a76f1ffSMark Brown #define WM8962_SPKOUTL_PGA_ENA_SHIFT                 4  /* SPKOUTL_PGA_ENA */
16749a76f1ffSMark Brown #define WM8962_SPKOUTL_PGA_ENA_WIDTH                 1  /* SPKOUTL_PGA_ENA */
16759a76f1ffSMark Brown #define WM8962_SPKOUTR_PGA_ENA                  0x0008  /* SPKOUTR_PGA_ENA */
16769a76f1ffSMark Brown #define WM8962_SPKOUTR_PGA_ENA_MASK             0x0008  /* SPKOUTR_PGA_ENA */
16779a76f1ffSMark Brown #define WM8962_SPKOUTR_PGA_ENA_SHIFT                 3  /* SPKOUTR_PGA_ENA */
16789a76f1ffSMark Brown #define WM8962_SPKOUTR_PGA_ENA_WIDTH                 1  /* SPKOUTR_PGA_ENA */
16799a76f1ffSMark Brown #define WM8962_HPOUTL_PGA_MUTE                  0x0002  /* HPOUTL_PGA_MUTE */
16809a76f1ffSMark Brown #define WM8962_HPOUTL_PGA_MUTE_MASK             0x0002  /* HPOUTL_PGA_MUTE */
16819a76f1ffSMark Brown #define WM8962_HPOUTL_PGA_MUTE_SHIFT                 1  /* HPOUTL_PGA_MUTE */
16829a76f1ffSMark Brown #define WM8962_HPOUTL_PGA_MUTE_WIDTH                 1  /* HPOUTL_PGA_MUTE */
16839a76f1ffSMark Brown #define WM8962_HPOUTR_PGA_MUTE                  0x0001  /* HPOUTR_PGA_MUTE */
16849a76f1ffSMark Brown #define WM8962_HPOUTR_PGA_MUTE_MASK             0x0001  /* HPOUTR_PGA_MUTE */
16859a76f1ffSMark Brown #define WM8962_HPOUTR_PGA_MUTE_SHIFT                 0  /* HPOUTR_PGA_MUTE */
16869a76f1ffSMark Brown #define WM8962_HPOUTR_PGA_MUTE_WIDTH                 1  /* HPOUTR_PGA_MUTE */
16879a76f1ffSMark Brown 
16889a76f1ffSMark Brown /*
16899a76f1ffSMark Brown  * R27 (0x1B) - Additional Control (3)
16909a76f1ffSMark Brown  */
16919a76f1ffSMark Brown #define WM8962_SAMPLE_RATE_INT_MODE             0x0010  /* SAMPLE_RATE_INT_MODE */
16929a76f1ffSMark Brown #define WM8962_SAMPLE_RATE_INT_MODE_MASK        0x0010  /* SAMPLE_RATE_INT_MODE */
16939a76f1ffSMark Brown #define WM8962_SAMPLE_RATE_INT_MODE_SHIFT            4  /* SAMPLE_RATE_INT_MODE */
16949a76f1ffSMark Brown #define WM8962_SAMPLE_RATE_INT_MODE_WIDTH            1  /* SAMPLE_RATE_INT_MODE */
16959a76f1ffSMark Brown #define WM8962_SAMPLE_RATE_MASK                 0x0007  /* SAMPLE_RATE - [2:0] */
16969a76f1ffSMark Brown #define WM8962_SAMPLE_RATE_SHIFT                     0  /* SAMPLE_RATE - [2:0] */
16979a76f1ffSMark Brown #define WM8962_SAMPLE_RATE_WIDTH                     3  /* SAMPLE_RATE - [2:0] */
16989a76f1ffSMark Brown 
16999a76f1ffSMark Brown /*
17009a76f1ffSMark Brown  * R28 (0x1C) - Anti-pop
17019a76f1ffSMark Brown  */
17029a76f1ffSMark Brown #define WM8962_STARTUP_BIAS_ENA                 0x0010  /* STARTUP_BIAS_ENA */
17039a76f1ffSMark Brown #define WM8962_STARTUP_BIAS_ENA_MASK            0x0010  /* STARTUP_BIAS_ENA */
17049a76f1ffSMark Brown #define WM8962_STARTUP_BIAS_ENA_SHIFT                4  /* STARTUP_BIAS_ENA */
17059a76f1ffSMark Brown #define WM8962_STARTUP_BIAS_ENA_WIDTH                1  /* STARTUP_BIAS_ENA */
17069a76f1ffSMark Brown #define WM8962_VMID_BUF_ENA                     0x0008  /* VMID_BUF_ENA */
17079a76f1ffSMark Brown #define WM8962_VMID_BUF_ENA_MASK                0x0008  /* VMID_BUF_ENA */
17089a76f1ffSMark Brown #define WM8962_VMID_BUF_ENA_SHIFT                    3  /* VMID_BUF_ENA */
17099a76f1ffSMark Brown #define WM8962_VMID_BUF_ENA_WIDTH                    1  /* VMID_BUF_ENA */
17109a76f1ffSMark Brown #define WM8962_VMID_RAMP                        0x0004  /* VMID_RAMP */
17119a76f1ffSMark Brown #define WM8962_VMID_RAMP_MASK                   0x0004  /* VMID_RAMP */
17129a76f1ffSMark Brown #define WM8962_VMID_RAMP_SHIFT                       2  /* VMID_RAMP */
17139a76f1ffSMark Brown #define WM8962_VMID_RAMP_WIDTH                       1  /* VMID_RAMP */
17149a76f1ffSMark Brown 
17159a76f1ffSMark Brown /*
17169a76f1ffSMark Brown  * R30 (0x1E) - Clocking 3
17179a76f1ffSMark Brown  */
17189a76f1ffSMark Brown #define WM8962_DBCLK_DIV_MASK                   0xE000  /* DBCLK_DIV - [15:13] */
17199a76f1ffSMark Brown #define WM8962_DBCLK_DIV_SHIFT                      13  /* DBCLK_DIV - [15:13] */
17209a76f1ffSMark Brown #define WM8962_DBCLK_DIV_WIDTH                       3  /* DBCLK_DIV - [15:13] */
17219a76f1ffSMark Brown #define WM8962_OPCLK_DIV_MASK                   0x1C00  /* OPCLK_DIV - [12:10] */
17229a76f1ffSMark Brown #define WM8962_OPCLK_DIV_SHIFT                      10  /* OPCLK_DIV - [12:10] */
17239a76f1ffSMark Brown #define WM8962_OPCLK_DIV_WIDTH                       3  /* OPCLK_DIV - [12:10] */
17249a76f1ffSMark Brown #define WM8962_TOCLK_DIV_MASK                   0x0380  /* TOCLK_DIV - [9:7] */
17259a76f1ffSMark Brown #define WM8962_TOCLK_DIV_SHIFT                       7  /* TOCLK_DIV - [9:7] */
17269a76f1ffSMark Brown #define WM8962_TOCLK_DIV_WIDTH                       3  /* TOCLK_DIV - [9:7] */
17279a76f1ffSMark Brown #define WM8962_F256KCLK_DIV_MASK                0x007E  /* F256KCLK_DIV - [6:1] */
17289a76f1ffSMark Brown #define WM8962_F256KCLK_DIV_SHIFT                    1  /* F256KCLK_DIV - [6:1] */
17299a76f1ffSMark Brown #define WM8962_F256KCLK_DIV_WIDTH                    6  /* F256KCLK_DIV - [6:1] */
17309a76f1ffSMark Brown 
17319a76f1ffSMark Brown /*
17329a76f1ffSMark Brown  * R31 (0x1F) - Input mixer control (1)
17339a76f1ffSMark Brown  */
17349a76f1ffSMark Brown #define WM8962_MIXINL_MUTE                      0x0008  /* MIXINL_MUTE */
17359a76f1ffSMark Brown #define WM8962_MIXINL_MUTE_MASK                 0x0008  /* MIXINL_MUTE */
17369a76f1ffSMark Brown #define WM8962_MIXINL_MUTE_SHIFT                     3  /* MIXINL_MUTE */
17379a76f1ffSMark Brown #define WM8962_MIXINL_MUTE_WIDTH                     1  /* MIXINL_MUTE */
17389a76f1ffSMark Brown #define WM8962_MIXINR_MUTE                      0x0004  /* MIXINR_MUTE */
17399a76f1ffSMark Brown #define WM8962_MIXINR_MUTE_MASK                 0x0004  /* MIXINR_MUTE */
17409a76f1ffSMark Brown #define WM8962_MIXINR_MUTE_SHIFT                     2  /* MIXINR_MUTE */
17419a76f1ffSMark Brown #define WM8962_MIXINR_MUTE_WIDTH                     1  /* MIXINR_MUTE */
17429a76f1ffSMark Brown #define WM8962_MIXINL_ENA                       0x0002  /* MIXINL_ENA */
17439a76f1ffSMark Brown #define WM8962_MIXINL_ENA_MASK                  0x0002  /* MIXINL_ENA */
17449a76f1ffSMark Brown #define WM8962_MIXINL_ENA_SHIFT                      1  /* MIXINL_ENA */
17459a76f1ffSMark Brown #define WM8962_MIXINL_ENA_WIDTH                      1  /* MIXINL_ENA */
17469a76f1ffSMark Brown #define WM8962_MIXINR_ENA                       0x0001  /* MIXINR_ENA */
17479a76f1ffSMark Brown #define WM8962_MIXINR_ENA_MASK                  0x0001  /* MIXINR_ENA */
17489a76f1ffSMark Brown #define WM8962_MIXINR_ENA_SHIFT                      0  /* MIXINR_ENA */
17499a76f1ffSMark Brown #define WM8962_MIXINR_ENA_WIDTH                      1  /* MIXINR_ENA */
17509a76f1ffSMark Brown 
17519a76f1ffSMark Brown /*
17529a76f1ffSMark Brown  * R32 (0x20) - Left input mixer volume
17539a76f1ffSMark Brown  */
17549a76f1ffSMark Brown #define WM8962_IN2L_MIXINL_VOL_MASK             0x01C0  /* IN2L_MIXINL_VOL - [8:6] */
17559a76f1ffSMark Brown #define WM8962_IN2L_MIXINL_VOL_SHIFT                 6  /* IN2L_MIXINL_VOL - [8:6] */
17569a76f1ffSMark Brown #define WM8962_IN2L_MIXINL_VOL_WIDTH                 3  /* IN2L_MIXINL_VOL - [8:6] */
17579a76f1ffSMark Brown #define WM8962_INPGAL_MIXINL_VOL_MASK           0x0038  /* INPGAL_MIXINL_VOL - [5:3] */
17589a76f1ffSMark Brown #define WM8962_INPGAL_MIXINL_VOL_SHIFT               3  /* INPGAL_MIXINL_VOL - [5:3] */
17599a76f1ffSMark Brown #define WM8962_INPGAL_MIXINL_VOL_WIDTH               3  /* INPGAL_MIXINL_VOL - [5:3] */
17609a76f1ffSMark Brown #define WM8962_IN3L_MIXINL_VOL_MASK             0x0007  /* IN3L_MIXINL_VOL - [2:0] */
17619a76f1ffSMark Brown #define WM8962_IN3L_MIXINL_VOL_SHIFT                 0  /* IN3L_MIXINL_VOL - [2:0] */
17629a76f1ffSMark Brown #define WM8962_IN3L_MIXINL_VOL_WIDTH                 3  /* IN3L_MIXINL_VOL - [2:0] */
17639a76f1ffSMark Brown 
17649a76f1ffSMark Brown /*
17659a76f1ffSMark Brown  * R33 (0x21) - Right input mixer volume
17669a76f1ffSMark Brown  */
17679a76f1ffSMark Brown #define WM8962_IN2R_MIXINR_VOL_MASK             0x01C0  /* IN2R_MIXINR_VOL - [8:6] */
17689a76f1ffSMark Brown #define WM8962_IN2R_MIXINR_VOL_SHIFT                 6  /* IN2R_MIXINR_VOL - [8:6] */
17699a76f1ffSMark Brown #define WM8962_IN2R_MIXINR_VOL_WIDTH                 3  /* IN2R_MIXINR_VOL - [8:6] */
17709a76f1ffSMark Brown #define WM8962_INPGAR_MIXINR_VOL_MASK           0x0038  /* INPGAR_MIXINR_VOL - [5:3] */
17719a76f1ffSMark Brown #define WM8962_INPGAR_MIXINR_VOL_SHIFT               3  /* INPGAR_MIXINR_VOL - [5:3] */
17729a76f1ffSMark Brown #define WM8962_INPGAR_MIXINR_VOL_WIDTH               3  /* INPGAR_MIXINR_VOL - [5:3] */
17739a76f1ffSMark Brown #define WM8962_IN3R_MIXINR_VOL_MASK             0x0007  /* IN3R_MIXINR_VOL - [2:0] */
17749a76f1ffSMark Brown #define WM8962_IN3R_MIXINR_VOL_SHIFT                 0  /* IN3R_MIXINR_VOL - [2:0] */
17759a76f1ffSMark Brown #define WM8962_IN3R_MIXINR_VOL_WIDTH                 3  /* IN3R_MIXINR_VOL - [2:0] */
17769a76f1ffSMark Brown 
17779a76f1ffSMark Brown /*
17789a76f1ffSMark Brown  * R34 (0x22) - Input mixer control (2)
17799a76f1ffSMark Brown  */
17809a76f1ffSMark Brown #define WM8962_IN2L_TO_MIXINL                   0x0020  /* IN2L_TO_MIXINL */
17819a76f1ffSMark Brown #define WM8962_IN2L_TO_MIXINL_MASK              0x0020  /* IN2L_TO_MIXINL */
17829a76f1ffSMark Brown #define WM8962_IN2L_TO_MIXINL_SHIFT                  5  /* IN2L_TO_MIXINL */
17839a76f1ffSMark Brown #define WM8962_IN2L_TO_MIXINL_WIDTH                  1  /* IN2L_TO_MIXINL */
17849a76f1ffSMark Brown #define WM8962_IN3L_TO_MIXINL                   0x0010  /* IN3L_TO_MIXINL */
17859a76f1ffSMark Brown #define WM8962_IN3L_TO_MIXINL_MASK              0x0010  /* IN3L_TO_MIXINL */
17869a76f1ffSMark Brown #define WM8962_IN3L_TO_MIXINL_SHIFT                  4  /* IN3L_TO_MIXINL */
17879a76f1ffSMark Brown #define WM8962_IN3L_TO_MIXINL_WIDTH                  1  /* IN3L_TO_MIXINL */
17889a76f1ffSMark Brown #define WM8962_INPGAL_TO_MIXINL                 0x0008  /* INPGAL_TO_MIXINL */
17899a76f1ffSMark Brown #define WM8962_INPGAL_TO_MIXINL_MASK            0x0008  /* INPGAL_TO_MIXINL */
17909a76f1ffSMark Brown #define WM8962_INPGAL_TO_MIXINL_SHIFT                3  /* INPGAL_TO_MIXINL */
17919a76f1ffSMark Brown #define WM8962_INPGAL_TO_MIXINL_WIDTH                1  /* INPGAL_TO_MIXINL */
17929a76f1ffSMark Brown #define WM8962_IN2R_TO_MIXINR                   0x0004  /* IN2R_TO_MIXINR */
17939a76f1ffSMark Brown #define WM8962_IN2R_TO_MIXINR_MASK              0x0004  /* IN2R_TO_MIXINR */
17949a76f1ffSMark Brown #define WM8962_IN2R_TO_MIXINR_SHIFT                  2  /* IN2R_TO_MIXINR */
17959a76f1ffSMark Brown #define WM8962_IN2R_TO_MIXINR_WIDTH                  1  /* IN2R_TO_MIXINR */
17969a76f1ffSMark Brown #define WM8962_IN3R_TO_MIXINR                   0x0002  /* IN3R_TO_MIXINR */
17979a76f1ffSMark Brown #define WM8962_IN3R_TO_MIXINR_MASK              0x0002  /* IN3R_TO_MIXINR */
17989a76f1ffSMark Brown #define WM8962_IN3R_TO_MIXINR_SHIFT                  1  /* IN3R_TO_MIXINR */
17999a76f1ffSMark Brown #define WM8962_IN3R_TO_MIXINR_WIDTH                  1  /* IN3R_TO_MIXINR */
18009a76f1ffSMark Brown #define WM8962_INPGAR_TO_MIXINR                 0x0001  /* INPGAR_TO_MIXINR */
18019a76f1ffSMark Brown #define WM8962_INPGAR_TO_MIXINR_MASK            0x0001  /* INPGAR_TO_MIXINR */
18029a76f1ffSMark Brown #define WM8962_INPGAR_TO_MIXINR_SHIFT                0  /* INPGAR_TO_MIXINR */
18039a76f1ffSMark Brown #define WM8962_INPGAR_TO_MIXINR_WIDTH                1  /* INPGAR_TO_MIXINR */
18049a76f1ffSMark Brown 
18059a76f1ffSMark Brown /*
18069a76f1ffSMark Brown  * R35 (0x23) - Input bias control
18079a76f1ffSMark Brown  */
18089a76f1ffSMark Brown #define WM8962_MIXIN_BIAS_MASK                  0x0038  /* MIXIN_BIAS - [5:3] */
18099a76f1ffSMark Brown #define WM8962_MIXIN_BIAS_SHIFT                      3  /* MIXIN_BIAS - [5:3] */
18109a76f1ffSMark Brown #define WM8962_MIXIN_BIAS_WIDTH                      3  /* MIXIN_BIAS - [5:3] */
18119a76f1ffSMark Brown #define WM8962_INPGA_BIAS_MASK                  0x0007  /* INPGA_BIAS - [2:0] */
18129a76f1ffSMark Brown #define WM8962_INPGA_BIAS_SHIFT                      0  /* INPGA_BIAS - [2:0] */
18139a76f1ffSMark Brown #define WM8962_INPGA_BIAS_WIDTH                      3  /* INPGA_BIAS - [2:0] */
18149a76f1ffSMark Brown 
18159a76f1ffSMark Brown /*
18169a76f1ffSMark Brown  * R37 (0x25) - Left input PGA control
18179a76f1ffSMark Brown  */
18189a76f1ffSMark Brown #define WM8962_INPGAL_ENA                       0x0010  /* INPGAL_ENA */
18199a76f1ffSMark Brown #define WM8962_INPGAL_ENA_MASK                  0x0010  /* INPGAL_ENA */
18209a76f1ffSMark Brown #define WM8962_INPGAL_ENA_SHIFT                      4  /* INPGAL_ENA */
18219a76f1ffSMark Brown #define WM8962_INPGAL_ENA_WIDTH                      1  /* INPGAL_ENA */
18229a76f1ffSMark Brown #define WM8962_IN1L_TO_INPGAL                   0x0008  /* IN1L_TO_INPGAL */
18239a76f1ffSMark Brown #define WM8962_IN1L_TO_INPGAL_MASK              0x0008  /* IN1L_TO_INPGAL */
18249a76f1ffSMark Brown #define WM8962_IN1L_TO_INPGAL_SHIFT                  3  /* IN1L_TO_INPGAL */
18259a76f1ffSMark Brown #define WM8962_IN1L_TO_INPGAL_WIDTH                  1  /* IN1L_TO_INPGAL */
18269a76f1ffSMark Brown #define WM8962_IN2L_TO_INPGAL                   0x0004  /* IN2L_TO_INPGAL */
18279a76f1ffSMark Brown #define WM8962_IN2L_TO_INPGAL_MASK              0x0004  /* IN2L_TO_INPGAL */
18289a76f1ffSMark Brown #define WM8962_IN2L_TO_INPGAL_SHIFT                  2  /* IN2L_TO_INPGAL */
18299a76f1ffSMark Brown #define WM8962_IN2L_TO_INPGAL_WIDTH                  1  /* IN2L_TO_INPGAL */
18309a76f1ffSMark Brown #define WM8962_IN3L_TO_INPGAL                   0x0002  /* IN3L_TO_INPGAL */
18319a76f1ffSMark Brown #define WM8962_IN3L_TO_INPGAL_MASK              0x0002  /* IN3L_TO_INPGAL */
18329a76f1ffSMark Brown #define WM8962_IN3L_TO_INPGAL_SHIFT                  1  /* IN3L_TO_INPGAL */
18339a76f1ffSMark Brown #define WM8962_IN3L_TO_INPGAL_WIDTH                  1  /* IN3L_TO_INPGAL */
18349a76f1ffSMark Brown #define WM8962_IN4L_TO_INPGAL                   0x0001  /* IN4L_TO_INPGAL */
18359a76f1ffSMark Brown #define WM8962_IN4L_TO_INPGAL_MASK              0x0001  /* IN4L_TO_INPGAL */
18369a76f1ffSMark Brown #define WM8962_IN4L_TO_INPGAL_SHIFT                  0  /* IN4L_TO_INPGAL */
18379a76f1ffSMark Brown #define WM8962_IN4L_TO_INPGAL_WIDTH                  1  /* IN4L_TO_INPGAL */
18389a76f1ffSMark Brown 
18399a76f1ffSMark Brown /*
18409a76f1ffSMark Brown  * R38 (0x26) - Right input PGA control
18419a76f1ffSMark Brown  */
18429a76f1ffSMark Brown #define WM8962_INPGAR_ENA                       0x0010  /* INPGAR_ENA */
18439a76f1ffSMark Brown #define WM8962_INPGAR_ENA_MASK                  0x0010  /* INPGAR_ENA */
18449a76f1ffSMark Brown #define WM8962_INPGAR_ENA_SHIFT                      4  /* INPGAR_ENA */
18459a76f1ffSMark Brown #define WM8962_INPGAR_ENA_WIDTH                      1  /* INPGAR_ENA */
18469a76f1ffSMark Brown #define WM8962_IN1R_TO_INPGAR                   0x0008  /* IN1R_TO_INPGAR */
18479a76f1ffSMark Brown #define WM8962_IN1R_TO_INPGAR_MASK              0x0008  /* IN1R_TO_INPGAR */
18489a76f1ffSMark Brown #define WM8962_IN1R_TO_INPGAR_SHIFT                  3  /* IN1R_TO_INPGAR */
18499a76f1ffSMark Brown #define WM8962_IN1R_TO_INPGAR_WIDTH                  1  /* IN1R_TO_INPGAR */
18509a76f1ffSMark Brown #define WM8962_IN2R_TO_INPGAR                   0x0004  /* IN2R_TO_INPGAR */
18519a76f1ffSMark Brown #define WM8962_IN2R_TO_INPGAR_MASK              0x0004  /* IN2R_TO_INPGAR */
18529a76f1ffSMark Brown #define WM8962_IN2R_TO_INPGAR_SHIFT                  2  /* IN2R_TO_INPGAR */
18539a76f1ffSMark Brown #define WM8962_IN2R_TO_INPGAR_WIDTH                  1  /* IN2R_TO_INPGAR */
18549a76f1ffSMark Brown #define WM8962_IN3R_TO_INPGAR                   0x0002  /* IN3R_TO_INPGAR */
18559a76f1ffSMark Brown #define WM8962_IN3R_TO_INPGAR_MASK              0x0002  /* IN3R_TO_INPGAR */
18569a76f1ffSMark Brown #define WM8962_IN3R_TO_INPGAR_SHIFT                  1  /* IN3R_TO_INPGAR */
18579a76f1ffSMark Brown #define WM8962_IN3R_TO_INPGAR_WIDTH                  1  /* IN3R_TO_INPGAR */
18589a76f1ffSMark Brown #define WM8962_IN4R_TO_INPGAR                   0x0001  /* IN4R_TO_INPGAR */
18599a76f1ffSMark Brown #define WM8962_IN4R_TO_INPGAR_MASK              0x0001  /* IN4R_TO_INPGAR */
18609a76f1ffSMark Brown #define WM8962_IN4R_TO_INPGAR_SHIFT                  0  /* IN4R_TO_INPGAR */
18619a76f1ffSMark Brown #define WM8962_IN4R_TO_INPGAR_WIDTH                  1  /* IN4R_TO_INPGAR */
18629a76f1ffSMark Brown 
18639a76f1ffSMark Brown /*
18649a76f1ffSMark Brown  * R40 (0x28) - SPKOUTL volume
18659a76f1ffSMark Brown  */
18669a76f1ffSMark Brown #define WM8962_SPKOUT_VU                        0x0100  /* SPKOUT_VU */
18679a76f1ffSMark Brown #define WM8962_SPKOUT_VU_MASK                   0x0100  /* SPKOUT_VU */
18689a76f1ffSMark Brown #define WM8962_SPKOUT_VU_SHIFT                       8  /* SPKOUT_VU */
18699a76f1ffSMark Brown #define WM8962_SPKOUT_VU_WIDTH                       1  /* SPKOUT_VU */
18709a76f1ffSMark Brown #define WM8962_SPKOUTL_ZC                       0x0080  /* SPKOUTL_ZC */
18719a76f1ffSMark Brown #define WM8962_SPKOUTL_ZC_MASK                  0x0080  /* SPKOUTL_ZC */
18729a76f1ffSMark Brown #define WM8962_SPKOUTL_ZC_SHIFT                      7  /* SPKOUTL_ZC */
18739a76f1ffSMark Brown #define WM8962_SPKOUTL_ZC_WIDTH                      1  /* SPKOUTL_ZC */
18749a76f1ffSMark Brown #define WM8962_SPKOUTL_VOL_MASK                 0x007F  /* SPKOUTL_VOL - [6:0] */
18759a76f1ffSMark Brown #define WM8962_SPKOUTL_VOL_SHIFT                     0  /* SPKOUTL_VOL - [6:0] */
18769a76f1ffSMark Brown #define WM8962_SPKOUTL_VOL_WIDTH                     7  /* SPKOUTL_VOL - [6:0] */
18779a76f1ffSMark Brown 
18789a76f1ffSMark Brown /*
18799a76f1ffSMark Brown  * R41 (0x29) - SPKOUTR volume
18809a76f1ffSMark Brown  */
18819a76f1ffSMark Brown #define WM8962_SPKOUTR_ZC                       0x0080  /* SPKOUTR_ZC */
18829a76f1ffSMark Brown #define WM8962_SPKOUTR_ZC_MASK                  0x0080  /* SPKOUTR_ZC */
18839a76f1ffSMark Brown #define WM8962_SPKOUTR_ZC_SHIFT                      7  /* SPKOUTR_ZC */
18849a76f1ffSMark Brown #define WM8962_SPKOUTR_ZC_WIDTH                      1  /* SPKOUTR_ZC */
18859a76f1ffSMark Brown #define WM8962_SPKOUTR_VOL_MASK                 0x007F  /* SPKOUTR_VOL - [6:0] */
18869a76f1ffSMark Brown #define WM8962_SPKOUTR_VOL_SHIFT                     0  /* SPKOUTR_VOL - [6:0] */
18879a76f1ffSMark Brown #define WM8962_SPKOUTR_VOL_WIDTH                     7  /* SPKOUTR_VOL - [6:0] */
18889a76f1ffSMark Brown 
18899a76f1ffSMark Brown /*
18909a76f1ffSMark Brown  * R47 (0x2F) - Thermal Shutdown Status
18919a76f1ffSMark Brown  */
18929a76f1ffSMark Brown #define WM8962_TEMP_ERR_HP                      0x0008  /* TEMP_ERR_HP */
18939a76f1ffSMark Brown #define WM8962_TEMP_ERR_HP_MASK                 0x0008  /* TEMP_ERR_HP */
18949a76f1ffSMark Brown #define WM8962_TEMP_ERR_HP_SHIFT                     3  /* TEMP_ERR_HP */
18959a76f1ffSMark Brown #define WM8962_TEMP_ERR_HP_WIDTH                     1  /* TEMP_ERR_HP */
18969a76f1ffSMark Brown #define WM8962_TEMP_WARN_HP                     0x0004  /* TEMP_WARN_HP */
18979a76f1ffSMark Brown #define WM8962_TEMP_WARN_HP_MASK                0x0004  /* TEMP_WARN_HP */
18989a76f1ffSMark Brown #define WM8962_TEMP_WARN_HP_SHIFT                    2  /* TEMP_WARN_HP */
18999a76f1ffSMark Brown #define WM8962_TEMP_WARN_HP_WIDTH                    1  /* TEMP_WARN_HP */
19009a76f1ffSMark Brown #define WM8962_TEMP_ERR_SPK                     0x0002  /* TEMP_ERR_SPK */
19019a76f1ffSMark Brown #define WM8962_TEMP_ERR_SPK_MASK                0x0002  /* TEMP_ERR_SPK */
19029a76f1ffSMark Brown #define WM8962_TEMP_ERR_SPK_SHIFT                    1  /* TEMP_ERR_SPK */
19039a76f1ffSMark Brown #define WM8962_TEMP_ERR_SPK_WIDTH                    1  /* TEMP_ERR_SPK */
19049a76f1ffSMark Brown #define WM8962_TEMP_WARN_SPK                    0x0001  /* TEMP_WARN_SPK */
19059a76f1ffSMark Brown #define WM8962_TEMP_WARN_SPK_MASK               0x0001  /* TEMP_WARN_SPK */
19069a76f1ffSMark Brown #define WM8962_TEMP_WARN_SPK_SHIFT                   0  /* TEMP_WARN_SPK */
19079a76f1ffSMark Brown #define WM8962_TEMP_WARN_SPK_WIDTH                   1  /* TEMP_WARN_SPK */
19089a76f1ffSMark Brown 
19099a76f1ffSMark Brown /*
19109a76f1ffSMark Brown  * R48 (0x30) - Additional Control (4)
19119a76f1ffSMark Brown  */
19129a76f1ffSMark Brown #define WM8962_MICDET_THR_MASK                  0x7000  /* MICDET_THR - [14:12] */
19139a76f1ffSMark Brown #define WM8962_MICDET_THR_SHIFT                     12  /* MICDET_THR - [14:12] */
19149a76f1ffSMark Brown #define WM8962_MICDET_THR_WIDTH                      3  /* MICDET_THR - [14:12] */
19159a76f1ffSMark Brown #define WM8962_MICSHORT_THR_MASK                0x0C00  /* MICSHORT_THR - [11:10] */
19169a76f1ffSMark Brown #define WM8962_MICSHORT_THR_SHIFT                   10  /* MICSHORT_THR - [11:10] */
19179a76f1ffSMark Brown #define WM8962_MICSHORT_THR_WIDTH                    2  /* MICSHORT_THR - [11:10] */
19189a76f1ffSMark Brown #define WM8962_MICDET_ENA                       0x0200  /* MICDET_ENA */
19199a76f1ffSMark Brown #define WM8962_MICDET_ENA_MASK                  0x0200  /* MICDET_ENA */
19209a76f1ffSMark Brown #define WM8962_MICDET_ENA_SHIFT                      9  /* MICDET_ENA */
19219a76f1ffSMark Brown #define WM8962_MICDET_ENA_WIDTH                      1  /* MICDET_ENA */
19229a76f1ffSMark Brown #define WM8962_MICDET_STS                       0x0080  /* MICDET_STS */
19239a76f1ffSMark Brown #define WM8962_MICDET_STS_MASK                  0x0080  /* MICDET_STS */
19249a76f1ffSMark Brown #define WM8962_MICDET_STS_SHIFT                      7  /* MICDET_STS */
19259a76f1ffSMark Brown #define WM8962_MICDET_STS_WIDTH                      1  /* MICDET_STS */
19269a76f1ffSMark Brown #define WM8962_MICSHORT_STS                     0x0040  /* MICSHORT_STS */
19279a76f1ffSMark Brown #define WM8962_MICSHORT_STS_MASK                0x0040  /* MICSHORT_STS */
19289a76f1ffSMark Brown #define WM8962_MICSHORT_STS_SHIFT                    6  /* MICSHORT_STS */
19299a76f1ffSMark Brown #define WM8962_MICSHORT_STS_WIDTH                    1  /* MICSHORT_STS */
19309a76f1ffSMark Brown #define WM8962_TEMP_ENA_HP                      0x0004  /* TEMP_ENA_HP */
19319a76f1ffSMark Brown #define WM8962_TEMP_ENA_HP_MASK                 0x0004  /* TEMP_ENA_HP */
19329a76f1ffSMark Brown #define WM8962_TEMP_ENA_HP_SHIFT                     2  /* TEMP_ENA_HP */
19339a76f1ffSMark Brown #define WM8962_TEMP_ENA_HP_WIDTH                     1  /* TEMP_ENA_HP */
19349a76f1ffSMark Brown #define WM8962_TEMP_ENA_SPK                     0x0002  /* TEMP_ENA_SPK */
19359a76f1ffSMark Brown #define WM8962_TEMP_ENA_SPK_MASK                0x0002  /* TEMP_ENA_SPK */
19369a76f1ffSMark Brown #define WM8962_TEMP_ENA_SPK_SHIFT                    1  /* TEMP_ENA_SPK */
19379a76f1ffSMark Brown #define WM8962_TEMP_ENA_SPK_WIDTH                    1  /* TEMP_ENA_SPK */
19389a76f1ffSMark Brown #define WM8962_MICBIAS_LVL                      0x0001  /* MICBIAS_LVL */
19399a76f1ffSMark Brown #define WM8962_MICBIAS_LVL_MASK                 0x0001  /* MICBIAS_LVL */
19409a76f1ffSMark Brown #define WM8962_MICBIAS_LVL_SHIFT                     0  /* MICBIAS_LVL */
19419a76f1ffSMark Brown #define WM8962_MICBIAS_LVL_WIDTH                     1  /* MICBIAS_LVL */
19429a76f1ffSMark Brown 
19439a76f1ffSMark Brown /*
19449a76f1ffSMark Brown  * R49 (0x31) - Class D Control 1
19459a76f1ffSMark Brown  */
19469a76f1ffSMark Brown #define WM8962_SPKOUTR_ENA                      0x0080  /* SPKOUTR_ENA */
19479a76f1ffSMark Brown #define WM8962_SPKOUTR_ENA_MASK                 0x0080  /* SPKOUTR_ENA */
19489a76f1ffSMark Brown #define WM8962_SPKOUTR_ENA_SHIFT                     7  /* SPKOUTR_ENA */
19499a76f1ffSMark Brown #define WM8962_SPKOUTR_ENA_WIDTH                     1  /* SPKOUTR_ENA */
19509a76f1ffSMark Brown #define WM8962_SPKOUTL_ENA                      0x0040  /* SPKOUTL_ENA */
19519a76f1ffSMark Brown #define WM8962_SPKOUTL_ENA_MASK                 0x0040  /* SPKOUTL_ENA */
19529a76f1ffSMark Brown #define WM8962_SPKOUTL_ENA_SHIFT                     6  /* SPKOUTL_ENA */
19539a76f1ffSMark Brown #define WM8962_SPKOUTL_ENA_WIDTH                     1  /* SPKOUTL_ENA */
195444330ab5SCharles Keepax #define WM8962_DAC_MUTE_ALT                     0x0010  /* DAC_MUTE */
195544330ab5SCharles Keepax #define WM8962_DAC_MUTE_ALT_MASK                0x0010  /* DAC_MUTE */
195644330ab5SCharles Keepax #define WM8962_DAC_MUTE_ALT_SHIFT                    4  /* DAC_MUTE */
195744330ab5SCharles Keepax #define WM8962_DAC_MUTE_ALT_WIDTH                    1  /* DAC_MUTE */
19589a76f1ffSMark Brown #define WM8962_SPKOUTL_PGA_MUTE                 0x0002  /* SPKOUTL_PGA_MUTE */
19599a76f1ffSMark Brown #define WM8962_SPKOUTL_PGA_MUTE_MASK            0x0002  /* SPKOUTL_PGA_MUTE */
19609a76f1ffSMark Brown #define WM8962_SPKOUTL_PGA_MUTE_SHIFT                1  /* SPKOUTL_PGA_MUTE */
19619a76f1ffSMark Brown #define WM8962_SPKOUTL_PGA_MUTE_WIDTH                1  /* SPKOUTL_PGA_MUTE */
19629a76f1ffSMark Brown #define WM8962_SPKOUTR_PGA_MUTE                 0x0001  /* SPKOUTR_PGA_MUTE */
19639a76f1ffSMark Brown #define WM8962_SPKOUTR_PGA_MUTE_MASK            0x0001  /* SPKOUTR_PGA_MUTE */
19649a76f1ffSMark Brown #define WM8962_SPKOUTR_PGA_MUTE_SHIFT                0  /* SPKOUTR_PGA_MUTE */
19659a76f1ffSMark Brown #define WM8962_SPKOUTR_PGA_MUTE_WIDTH                1  /* SPKOUTR_PGA_MUTE */
19669a76f1ffSMark Brown 
19679a76f1ffSMark Brown /*
19689a76f1ffSMark Brown  * R51 (0x33) - Class D Control 2
19699a76f1ffSMark Brown  */
19709a76f1ffSMark Brown #define WM8962_SPK_MONO                         0x0040  /* SPK_MONO */
19719a76f1ffSMark Brown #define WM8962_SPK_MONO_MASK                    0x0040  /* SPK_MONO */
19729a76f1ffSMark Brown #define WM8962_SPK_MONO_SHIFT                        6  /* SPK_MONO */
19739a76f1ffSMark Brown #define WM8962_SPK_MONO_WIDTH                        1  /* SPK_MONO */
19749a76f1ffSMark Brown #define WM8962_CLASSD_VOL_MASK                  0x0007  /* CLASSD_VOL - [2:0] */
19759a76f1ffSMark Brown #define WM8962_CLASSD_VOL_SHIFT                      0  /* CLASSD_VOL - [2:0] */
19769a76f1ffSMark Brown #define WM8962_CLASSD_VOL_WIDTH                      3  /* CLASSD_VOL - [2:0] */
19779a76f1ffSMark Brown 
19789a76f1ffSMark Brown /*
19799a76f1ffSMark Brown  * R56 (0x38) - Clocking 4
19809a76f1ffSMark Brown  */
19819a76f1ffSMark Brown #define WM8962_SYSCLK_RATE_MASK                 0x001E  /* SYSCLK_RATE - [4:1] */
19829a76f1ffSMark Brown #define WM8962_SYSCLK_RATE_SHIFT                     1  /* SYSCLK_RATE - [4:1] */
19839a76f1ffSMark Brown #define WM8962_SYSCLK_RATE_WIDTH                     4  /* SYSCLK_RATE - [4:1] */
19849a76f1ffSMark Brown 
19859a76f1ffSMark Brown /*
19869a76f1ffSMark Brown  * R57 (0x39) - DAC DSP Mixing (1)
19879a76f1ffSMark Brown  */
19889a76f1ffSMark Brown #define WM8962_DAC_MONOMIX                      0x0200  /* DAC_MONOMIX */
19899a76f1ffSMark Brown #define WM8962_DAC_MONOMIX_MASK                 0x0200  /* DAC_MONOMIX */
19909a76f1ffSMark Brown #define WM8962_DAC_MONOMIX_SHIFT                     9  /* DAC_MONOMIX */
19919a76f1ffSMark Brown #define WM8962_DAC_MONOMIX_WIDTH                     1  /* DAC_MONOMIX */
19929a76f1ffSMark Brown #define WM8962_ADCR_DAC_SVOL_MASK               0x00F0  /* ADCR_DAC_SVOL - [7:4] */
19939a76f1ffSMark Brown #define WM8962_ADCR_DAC_SVOL_SHIFT                   4  /* ADCR_DAC_SVOL - [7:4] */
19949a76f1ffSMark Brown #define WM8962_ADCR_DAC_SVOL_WIDTH                   4  /* ADCR_DAC_SVOL - [7:4] */
19959a76f1ffSMark Brown #define WM8962_ADC_TO_DACR_MASK                 0x000C  /* ADC_TO_DACR - [3:2] */
19969a76f1ffSMark Brown #define WM8962_ADC_TO_DACR_SHIFT                     2  /* ADC_TO_DACR - [3:2] */
19979a76f1ffSMark Brown #define WM8962_ADC_TO_DACR_WIDTH                     2  /* ADC_TO_DACR - [3:2] */
19989a76f1ffSMark Brown 
19999a76f1ffSMark Brown /*
20009a76f1ffSMark Brown  * R58 (0x3A) - DAC DSP Mixing (2)
20019a76f1ffSMark Brown  */
20029a76f1ffSMark Brown #define WM8962_ADCL_DAC_SVOL_MASK               0x00F0  /* ADCL_DAC_SVOL - [7:4] */
20039a76f1ffSMark Brown #define WM8962_ADCL_DAC_SVOL_SHIFT                   4  /* ADCL_DAC_SVOL - [7:4] */
20049a76f1ffSMark Brown #define WM8962_ADCL_DAC_SVOL_WIDTH                   4  /* ADCL_DAC_SVOL - [7:4] */
20059a76f1ffSMark Brown #define WM8962_ADC_TO_DACL_MASK                 0x000C  /* ADC_TO_DACL - [3:2] */
20069a76f1ffSMark Brown #define WM8962_ADC_TO_DACL_SHIFT                     2  /* ADC_TO_DACL - [3:2] */
20079a76f1ffSMark Brown #define WM8962_ADC_TO_DACL_WIDTH                     2  /* ADC_TO_DACL - [3:2] */
20089a76f1ffSMark Brown 
20099a76f1ffSMark Brown /*
20109a76f1ffSMark Brown  * R60 (0x3C) - DC Servo 0
20119a76f1ffSMark Brown  */
20129a76f1ffSMark Brown #define WM8962_INL_DCS_ENA                      0x0080  /* INL_DCS_ENA */
20139a76f1ffSMark Brown #define WM8962_INL_DCS_ENA_MASK                 0x0080  /* INL_DCS_ENA */
20149a76f1ffSMark Brown #define WM8962_INL_DCS_ENA_SHIFT                     7  /* INL_DCS_ENA */
20159a76f1ffSMark Brown #define WM8962_INL_DCS_ENA_WIDTH                     1  /* INL_DCS_ENA */
20169a76f1ffSMark Brown #define WM8962_INL_DCS_STARTUP                  0x0040  /* INL_DCS_STARTUP */
20179a76f1ffSMark Brown #define WM8962_INL_DCS_STARTUP_MASK             0x0040  /* INL_DCS_STARTUP */
20189a76f1ffSMark Brown #define WM8962_INL_DCS_STARTUP_SHIFT                 6  /* INL_DCS_STARTUP */
20199a76f1ffSMark Brown #define WM8962_INL_DCS_STARTUP_WIDTH                 1  /* INL_DCS_STARTUP */
20209a76f1ffSMark Brown #define WM8962_INR_DCS_ENA                      0x0008  /* INR_DCS_ENA */
20219a76f1ffSMark Brown #define WM8962_INR_DCS_ENA_MASK                 0x0008  /* INR_DCS_ENA */
20229a76f1ffSMark Brown #define WM8962_INR_DCS_ENA_SHIFT                     3  /* INR_DCS_ENA */
20239a76f1ffSMark Brown #define WM8962_INR_DCS_ENA_WIDTH                     1  /* INR_DCS_ENA */
20249a76f1ffSMark Brown #define WM8962_INR_DCS_STARTUP                  0x0004  /* INR_DCS_STARTUP */
20259a76f1ffSMark Brown #define WM8962_INR_DCS_STARTUP_MASK             0x0004  /* INR_DCS_STARTUP */
20269a76f1ffSMark Brown #define WM8962_INR_DCS_STARTUP_SHIFT                 2  /* INR_DCS_STARTUP */
20279a76f1ffSMark Brown #define WM8962_INR_DCS_STARTUP_WIDTH                 1  /* INR_DCS_STARTUP */
20289a76f1ffSMark Brown 
20299a76f1ffSMark Brown /*
20309a76f1ffSMark Brown  * R61 (0x3D) - DC Servo 1
20319a76f1ffSMark Brown  */
20329a76f1ffSMark Brown #define WM8962_HP1L_DCS_ENA                     0x0080  /* HP1L_DCS_ENA */
20339a76f1ffSMark Brown #define WM8962_HP1L_DCS_ENA_MASK                0x0080  /* HP1L_DCS_ENA */
20349a76f1ffSMark Brown #define WM8962_HP1L_DCS_ENA_SHIFT                    7  /* HP1L_DCS_ENA */
20359a76f1ffSMark Brown #define WM8962_HP1L_DCS_ENA_WIDTH                    1  /* HP1L_DCS_ENA */
20369a76f1ffSMark Brown #define WM8962_HP1L_DCS_STARTUP                 0x0040  /* HP1L_DCS_STARTUP */
20379a76f1ffSMark Brown #define WM8962_HP1L_DCS_STARTUP_MASK            0x0040  /* HP1L_DCS_STARTUP */
20389a76f1ffSMark Brown #define WM8962_HP1L_DCS_STARTUP_SHIFT                6  /* HP1L_DCS_STARTUP */
20399a76f1ffSMark Brown #define WM8962_HP1L_DCS_STARTUP_WIDTH                1  /* HP1L_DCS_STARTUP */
20409a76f1ffSMark Brown #define WM8962_HP1L_DCS_SYNC                    0x0010  /* HP1L_DCS_SYNC */
20419a76f1ffSMark Brown #define WM8962_HP1L_DCS_SYNC_MASK               0x0010  /* HP1L_DCS_SYNC */
20429a76f1ffSMark Brown #define WM8962_HP1L_DCS_SYNC_SHIFT                   4  /* HP1L_DCS_SYNC */
20439a76f1ffSMark Brown #define WM8962_HP1L_DCS_SYNC_WIDTH                   1  /* HP1L_DCS_SYNC */
20449a76f1ffSMark Brown #define WM8962_HP1R_DCS_ENA                     0x0008  /* HP1R_DCS_ENA */
20459a76f1ffSMark Brown #define WM8962_HP1R_DCS_ENA_MASK                0x0008  /* HP1R_DCS_ENA */
20469a76f1ffSMark Brown #define WM8962_HP1R_DCS_ENA_SHIFT                    3  /* HP1R_DCS_ENA */
20479a76f1ffSMark Brown #define WM8962_HP1R_DCS_ENA_WIDTH                    1  /* HP1R_DCS_ENA */
20489a76f1ffSMark Brown #define WM8962_HP1R_DCS_STARTUP                 0x0004  /* HP1R_DCS_STARTUP */
20499a76f1ffSMark Brown #define WM8962_HP1R_DCS_STARTUP_MASK            0x0004  /* HP1R_DCS_STARTUP */
20509a76f1ffSMark Brown #define WM8962_HP1R_DCS_STARTUP_SHIFT                2  /* HP1R_DCS_STARTUP */
20519a76f1ffSMark Brown #define WM8962_HP1R_DCS_STARTUP_WIDTH                1  /* HP1R_DCS_STARTUP */
20529a76f1ffSMark Brown #define WM8962_HP1R_DCS_SYNC                    0x0001  /* HP1R_DCS_SYNC */
20539a76f1ffSMark Brown #define WM8962_HP1R_DCS_SYNC_MASK               0x0001  /* HP1R_DCS_SYNC */
20549a76f1ffSMark Brown #define WM8962_HP1R_DCS_SYNC_SHIFT                   0  /* HP1R_DCS_SYNC */
20559a76f1ffSMark Brown #define WM8962_HP1R_DCS_SYNC_WIDTH                   1  /* HP1R_DCS_SYNC */
20569a76f1ffSMark Brown 
20579a76f1ffSMark Brown /*
20589a76f1ffSMark Brown  * R64 (0x40) - DC Servo 4
20599a76f1ffSMark Brown  */
20609a76f1ffSMark Brown #define WM8962_HP1_DCS_SYNC_STEPS_MASK          0x3F80  /* HP1_DCS_SYNC_STEPS - [13:7] */
20619a76f1ffSMark Brown #define WM8962_HP1_DCS_SYNC_STEPS_SHIFT              7  /* HP1_DCS_SYNC_STEPS - [13:7] */
20629a76f1ffSMark Brown #define WM8962_HP1_DCS_SYNC_STEPS_WIDTH              7  /* HP1_DCS_SYNC_STEPS - [13:7] */
20639a76f1ffSMark Brown 
20649a76f1ffSMark Brown /*
20659a76f1ffSMark Brown  * R66 (0x42) - DC Servo 6
20669a76f1ffSMark Brown  */
20679a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_INL             0x0400  /* DCS_STARTUP_DONE_INL */
20689a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_INL_MASK        0x0400  /* DCS_STARTUP_DONE_INL */
20699a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_INL_SHIFT           10  /* DCS_STARTUP_DONE_INL */
20709a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_INL_WIDTH            1  /* DCS_STARTUP_DONE_INL */
20719a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_INR             0x0200  /* DCS_STARTUP_DONE_INR */
20729a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_INR_MASK        0x0200  /* DCS_STARTUP_DONE_INR */
20739a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_INR_SHIFT            9  /* DCS_STARTUP_DONE_INR */
20749a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_INR_WIDTH            1  /* DCS_STARTUP_DONE_INR */
20759a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_HP1L            0x0100  /* DCS_STARTUP_DONE_HP1L */
20769a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_HP1L_MASK       0x0100  /* DCS_STARTUP_DONE_HP1L */
20779a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_HP1L_SHIFT           8  /* DCS_STARTUP_DONE_HP1L */
20789a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_HP1L_WIDTH           1  /* DCS_STARTUP_DONE_HP1L */
20799a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_HP1R            0x0080  /* DCS_STARTUP_DONE_HP1R */
20809a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_HP1R_MASK       0x0080  /* DCS_STARTUP_DONE_HP1R */
20819a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_HP1R_SHIFT           7  /* DCS_STARTUP_DONE_HP1R */
20829a76f1ffSMark Brown #define WM8962_DCS_STARTUP_DONE_HP1R_WIDTH           1  /* DCS_STARTUP_DONE_HP1R */
20839a76f1ffSMark Brown 
20849a76f1ffSMark Brown /*
20859a76f1ffSMark Brown  * R68 (0x44) - Analogue PGA Bias
20869a76f1ffSMark Brown  */
20879a76f1ffSMark Brown #define WM8962_HP_PGAS_BIAS_MASK                0x0007  /* HP_PGAS_BIAS - [2:0] */
20889a76f1ffSMark Brown #define WM8962_HP_PGAS_BIAS_SHIFT                    0  /* HP_PGAS_BIAS - [2:0] */
20899a76f1ffSMark Brown #define WM8962_HP_PGAS_BIAS_WIDTH                    3  /* HP_PGAS_BIAS - [2:0] */
20909a76f1ffSMark Brown 
20919a76f1ffSMark Brown /*
20929a76f1ffSMark Brown  * R69 (0x45) - Analogue HP 0
20939a76f1ffSMark Brown  */
20949a76f1ffSMark Brown #define WM8962_HP1L_RMV_SHORT                   0x0080  /* HP1L_RMV_SHORT */
20959a76f1ffSMark Brown #define WM8962_HP1L_RMV_SHORT_MASK              0x0080  /* HP1L_RMV_SHORT */
20969a76f1ffSMark Brown #define WM8962_HP1L_RMV_SHORT_SHIFT                  7  /* HP1L_RMV_SHORT */
20979a76f1ffSMark Brown #define WM8962_HP1L_RMV_SHORT_WIDTH                  1  /* HP1L_RMV_SHORT */
20989a76f1ffSMark Brown #define WM8962_HP1L_ENA_OUTP                    0x0040  /* HP1L_ENA_OUTP */
20999a76f1ffSMark Brown #define WM8962_HP1L_ENA_OUTP_MASK               0x0040  /* HP1L_ENA_OUTP */
21009a76f1ffSMark Brown #define WM8962_HP1L_ENA_OUTP_SHIFT                   6  /* HP1L_ENA_OUTP */
21019a76f1ffSMark Brown #define WM8962_HP1L_ENA_OUTP_WIDTH                   1  /* HP1L_ENA_OUTP */
21029a76f1ffSMark Brown #define WM8962_HP1L_ENA_DLY                     0x0020  /* HP1L_ENA_DLY */
21039a76f1ffSMark Brown #define WM8962_HP1L_ENA_DLY_MASK                0x0020  /* HP1L_ENA_DLY */
21049a76f1ffSMark Brown #define WM8962_HP1L_ENA_DLY_SHIFT                    5  /* HP1L_ENA_DLY */
21059a76f1ffSMark Brown #define WM8962_HP1L_ENA_DLY_WIDTH                    1  /* HP1L_ENA_DLY */
21069a76f1ffSMark Brown #define WM8962_HP1L_ENA                         0x0010  /* HP1L_ENA */
21079a76f1ffSMark Brown #define WM8962_HP1L_ENA_MASK                    0x0010  /* HP1L_ENA */
21089a76f1ffSMark Brown #define WM8962_HP1L_ENA_SHIFT                        4  /* HP1L_ENA */
21099a76f1ffSMark Brown #define WM8962_HP1L_ENA_WIDTH                        1  /* HP1L_ENA */
21109a76f1ffSMark Brown #define WM8962_HP1R_RMV_SHORT                   0x0008  /* HP1R_RMV_SHORT */
21119a76f1ffSMark Brown #define WM8962_HP1R_RMV_SHORT_MASK              0x0008  /* HP1R_RMV_SHORT */
21129a76f1ffSMark Brown #define WM8962_HP1R_RMV_SHORT_SHIFT                  3  /* HP1R_RMV_SHORT */
21139a76f1ffSMark Brown #define WM8962_HP1R_RMV_SHORT_WIDTH                  1  /* HP1R_RMV_SHORT */
21149a76f1ffSMark Brown #define WM8962_HP1R_ENA_OUTP                    0x0004  /* HP1R_ENA_OUTP */
21159a76f1ffSMark Brown #define WM8962_HP1R_ENA_OUTP_MASK               0x0004  /* HP1R_ENA_OUTP */
21169a76f1ffSMark Brown #define WM8962_HP1R_ENA_OUTP_SHIFT                   2  /* HP1R_ENA_OUTP */
21179a76f1ffSMark Brown #define WM8962_HP1R_ENA_OUTP_WIDTH                   1  /* HP1R_ENA_OUTP */
21189a76f1ffSMark Brown #define WM8962_HP1R_ENA_DLY                     0x0002  /* HP1R_ENA_DLY */
21199a76f1ffSMark Brown #define WM8962_HP1R_ENA_DLY_MASK                0x0002  /* HP1R_ENA_DLY */
21209a76f1ffSMark Brown #define WM8962_HP1R_ENA_DLY_SHIFT                    1  /* HP1R_ENA_DLY */
21219a76f1ffSMark Brown #define WM8962_HP1R_ENA_DLY_WIDTH                    1  /* HP1R_ENA_DLY */
21229a76f1ffSMark Brown #define WM8962_HP1R_ENA                         0x0001  /* HP1R_ENA */
21239a76f1ffSMark Brown #define WM8962_HP1R_ENA_MASK                    0x0001  /* HP1R_ENA */
21249a76f1ffSMark Brown #define WM8962_HP1R_ENA_SHIFT                        0  /* HP1R_ENA */
21259a76f1ffSMark Brown #define WM8962_HP1R_ENA_WIDTH                        1  /* HP1R_ENA */
21269a76f1ffSMark Brown 
21279a76f1ffSMark Brown /*
21289a76f1ffSMark Brown  * R71 (0x47) - Analogue HP 2
21299a76f1ffSMark Brown  */
21309a76f1ffSMark Brown #define WM8962_HP1L_VOL_MASK                    0x01C0  /* HP1L_VOL - [8:6] */
21319a76f1ffSMark Brown #define WM8962_HP1L_VOL_SHIFT                        6  /* HP1L_VOL - [8:6] */
21329a76f1ffSMark Brown #define WM8962_HP1L_VOL_WIDTH                        3  /* HP1L_VOL - [8:6] */
21339a76f1ffSMark Brown #define WM8962_HP1R_VOL_MASK                    0x0038  /* HP1R_VOL - [5:3] */
21349a76f1ffSMark Brown #define WM8962_HP1R_VOL_SHIFT                        3  /* HP1R_VOL - [5:3] */
21359a76f1ffSMark Brown #define WM8962_HP1R_VOL_WIDTH                        3  /* HP1R_VOL - [5:3] */
21369a76f1ffSMark Brown #define WM8962_HP_BIAS_BOOST_MASK               0x0007  /* HP_BIAS_BOOST - [2:0] */
21379a76f1ffSMark Brown #define WM8962_HP_BIAS_BOOST_SHIFT                   0  /* HP_BIAS_BOOST - [2:0] */
21389a76f1ffSMark Brown #define WM8962_HP_BIAS_BOOST_WIDTH                   3  /* HP_BIAS_BOOST - [2:0] */
21399a76f1ffSMark Brown 
21409a76f1ffSMark Brown /*
21419a76f1ffSMark Brown  * R72 (0x48) - Charge Pump 1
21429a76f1ffSMark Brown  */
21439a76f1ffSMark Brown #define WM8962_CP_ENA                           0x0001  /* CP_ENA */
21449a76f1ffSMark Brown #define WM8962_CP_ENA_MASK                      0x0001  /* CP_ENA */
21459a76f1ffSMark Brown #define WM8962_CP_ENA_SHIFT                          0  /* CP_ENA */
21469a76f1ffSMark Brown #define WM8962_CP_ENA_WIDTH                          1  /* CP_ENA */
21479a76f1ffSMark Brown 
21489a76f1ffSMark Brown /*
21499a76f1ffSMark Brown  * R82 (0x52) - Charge Pump B
21509a76f1ffSMark Brown  */
21519a76f1ffSMark Brown #define WM8962_CP_DYN_PWR                       0x0001  /* CP_DYN_PWR */
21529a76f1ffSMark Brown #define WM8962_CP_DYN_PWR_MASK                  0x0001  /* CP_DYN_PWR */
21539a76f1ffSMark Brown #define WM8962_CP_DYN_PWR_SHIFT                      0  /* CP_DYN_PWR */
21549a76f1ffSMark Brown #define WM8962_CP_DYN_PWR_WIDTH                      1  /* CP_DYN_PWR */
21559a76f1ffSMark Brown 
21569a76f1ffSMark Brown /*
21579a76f1ffSMark Brown  * R87 (0x57) - Write Sequencer Control 1
21589a76f1ffSMark Brown  */
21599a76f1ffSMark Brown #define WM8962_WSEQ_AUTOSEQ_ENA                 0x0080  /* WSEQ_AUTOSEQ_ENA */
21609a76f1ffSMark Brown #define WM8962_WSEQ_AUTOSEQ_ENA_MASK            0x0080  /* WSEQ_AUTOSEQ_ENA */
21619a76f1ffSMark Brown #define WM8962_WSEQ_AUTOSEQ_ENA_SHIFT                7  /* WSEQ_AUTOSEQ_ENA */
21629a76f1ffSMark Brown #define WM8962_WSEQ_AUTOSEQ_ENA_WIDTH                1  /* WSEQ_AUTOSEQ_ENA */
21639a76f1ffSMark Brown #define WM8962_WSEQ_ENA                         0x0020  /* WSEQ_ENA */
21649a76f1ffSMark Brown #define WM8962_WSEQ_ENA_MASK                    0x0020  /* WSEQ_ENA */
21659a76f1ffSMark Brown #define WM8962_WSEQ_ENA_SHIFT                        5  /* WSEQ_ENA */
21669a76f1ffSMark Brown #define WM8962_WSEQ_ENA_WIDTH                        1  /* WSEQ_ENA */
21679a76f1ffSMark Brown 
21689a76f1ffSMark Brown /*
21699a76f1ffSMark Brown  * R90 (0x5A) - Write Sequencer Control 2
21709a76f1ffSMark Brown  */
21719a76f1ffSMark Brown #define WM8962_WSEQ_ABORT                       0x0100  /* WSEQ_ABORT */
21729a76f1ffSMark Brown #define WM8962_WSEQ_ABORT_MASK                  0x0100  /* WSEQ_ABORT */
21739a76f1ffSMark Brown #define WM8962_WSEQ_ABORT_SHIFT                      8  /* WSEQ_ABORT */
21749a76f1ffSMark Brown #define WM8962_WSEQ_ABORT_WIDTH                      1  /* WSEQ_ABORT */
21759a76f1ffSMark Brown #define WM8962_WSEQ_START                       0x0080  /* WSEQ_START */
21769a76f1ffSMark Brown #define WM8962_WSEQ_START_MASK                  0x0080  /* WSEQ_START */
21779a76f1ffSMark Brown #define WM8962_WSEQ_START_SHIFT                      7  /* WSEQ_START */
21789a76f1ffSMark Brown #define WM8962_WSEQ_START_WIDTH                      1  /* WSEQ_START */
21799a76f1ffSMark Brown #define WM8962_WSEQ_START_INDEX_MASK            0x007F  /* WSEQ_START_INDEX - [6:0] */
21809a76f1ffSMark Brown #define WM8962_WSEQ_START_INDEX_SHIFT                0  /* WSEQ_START_INDEX - [6:0] */
21819a76f1ffSMark Brown #define WM8962_WSEQ_START_INDEX_WIDTH                7  /* WSEQ_START_INDEX - [6:0] */
21829a76f1ffSMark Brown 
21839a76f1ffSMark Brown /*
21849a76f1ffSMark Brown  * R93 (0x5D) - Write Sequencer Control 3
21859a76f1ffSMark Brown  */
21869a76f1ffSMark Brown #define WM8962_WSEQ_CURRENT_INDEX_MASK          0x03F8  /* WSEQ_CURRENT_INDEX - [9:3] */
21879a76f1ffSMark Brown #define WM8962_WSEQ_CURRENT_INDEX_SHIFT              3  /* WSEQ_CURRENT_INDEX - [9:3] */
21889a76f1ffSMark Brown #define WM8962_WSEQ_CURRENT_INDEX_WIDTH              7  /* WSEQ_CURRENT_INDEX - [9:3] */
21899a76f1ffSMark Brown #define WM8962_WSEQ_BUSY                        0x0001  /* WSEQ_BUSY */
21909a76f1ffSMark Brown #define WM8962_WSEQ_BUSY_MASK                   0x0001  /* WSEQ_BUSY */
21919a76f1ffSMark Brown #define WM8962_WSEQ_BUSY_SHIFT                       0  /* WSEQ_BUSY */
21929a76f1ffSMark Brown #define WM8962_WSEQ_BUSY_WIDTH                       1  /* WSEQ_BUSY */
21939a76f1ffSMark Brown 
21949a76f1ffSMark Brown /*
21959a76f1ffSMark Brown  * R94 (0x5E) - Control Interface
21969a76f1ffSMark Brown  */
21979a76f1ffSMark Brown #define WM8962_SPI_CONTRD                       0x0040  /* SPI_CONTRD */
21989a76f1ffSMark Brown #define WM8962_SPI_CONTRD_MASK                  0x0040  /* SPI_CONTRD */
21999a76f1ffSMark Brown #define WM8962_SPI_CONTRD_SHIFT                      6  /* SPI_CONTRD */
22009a76f1ffSMark Brown #define WM8962_SPI_CONTRD_WIDTH                      1  /* SPI_CONTRD */
22019a76f1ffSMark Brown #define WM8962_SPI_4WIRE                        0x0020  /* SPI_4WIRE */
22029a76f1ffSMark Brown #define WM8962_SPI_4WIRE_MASK                   0x0020  /* SPI_4WIRE */
22039a76f1ffSMark Brown #define WM8962_SPI_4WIRE_SHIFT                       5  /* SPI_4WIRE */
22049a76f1ffSMark Brown #define WM8962_SPI_4WIRE_WIDTH                       1  /* SPI_4WIRE */
22059a76f1ffSMark Brown #define WM8962_SPI_CFG                          0x0010  /* SPI_CFG */
22069a76f1ffSMark Brown #define WM8962_SPI_CFG_MASK                     0x0010  /* SPI_CFG */
22079a76f1ffSMark Brown #define WM8962_SPI_CFG_SHIFT                         4  /* SPI_CFG */
22089a76f1ffSMark Brown #define WM8962_SPI_CFG_WIDTH                         1  /* SPI_CFG */
22099a76f1ffSMark Brown 
22109a76f1ffSMark Brown /*
22119a76f1ffSMark Brown  * R99 (0x63) - Mixer Enables
22129a76f1ffSMark Brown  */
22139a76f1ffSMark Brown #define WM8962_HPMIXL_ENA                       0x0008  /* HPMIXL_ENA */
22149a76f1ffSMark Brown #define WM8962_HPMIXL_ENA_MASK                  0x0008  /* HPMIXL_ENA */
22159a76f1ffSMark Brown #define WM8962_HPMIXL_ENA_SHIFT                      3  /* HPMIXL_ENA */
22169a76f1ffSMark Brown #define WM8962_HPMIXL_ENA_WIDTH                      1  /* HPMIXL_ENA */
22179a76f1ffSMark Brown #define WM8962_HPMIXR_ENA                       0x0004  /* HPMIXR_ENA */
22189a76f1ffSMark Brown #define WM8962_HPMIXR_ENA_MASK                  0x0004  /* HPMIXR_ENA */
22199a76f1ffSMark Brown #define WM8962_HPMIXR_ENA_SHIFT                      2  /* HPMIXR_ENA */
22209a76f1ffSMark Brown #define WM8962_HPMIXR_ENA_WIDTH                      1  /* HPMIXR_ENA */
22219a76f1ffSMark Brown #define WM8962_SPKMIXL_ENA                      0x0002  /* SPKMIXL_ENA */
22229a76f1ffSMark Brown #define WM8962_SPKMIXL_ENA_MASK                 0x0002  /* SPKMIXL_ENA */
22239a76f1ffSMark Brown #define WM8962_SPKMIXL_ENA_SHIFT                     1  /* SPKMIXL_ENA */
22249a76f1ffSMark Brown #define WM8962_SPKMIXL_ENA_WIDTH                     1  /* SPKMIXL_ENA */
22259a76f1ffSMark Brown #define WM8962_SPKMIXR_ENA                      0x0001  /* SPKMIXR_ENA */
22269a76f1ffSMark Brown #define WM8962_SPKMIXR_ENA_MASK                 0x0001  /* SPKMIXR_ENA */
22279a76f1ffSMark Brown #define WM8962_SPKMIXR_ENA_SHIFT                     0  /* SPKMIXR_ENA */
22289a76f1ffSMark Brown #define WM8962_SPKMIXR_ENA_WIDTH                     1  /* SPKMIXR_ENA */
22299a76f1ffSMark Brown 
22309a76f1ffSMark Brown /*
22319a76f1ffSMark Brown  * R100 (0x64) - Headphone Mixer (1)
22329a76f1ffSMark Brown  */
22339a76f1ffSMark Brown #define WM8962_HPMIXL_TO_HPOUTL_PGA             0x0080  /* HPMIXL_TO_HPOUTL_PGA */
22349a76f1ffSMark Brown #define WM8962_HPMIXL_TO_HPOUTL_PGA_MASK        0x0080  /* HPMIXL_TO_HPOUTL_PGA */
22359a76f1ffSMark Brown #define WM8962_HPMIXL_TO_HPOUTL_PGA_SHIFT            7  /* HPMIXL_TO_HPOUTL_PGA */
22369a76f1ffSMark Brown #define WM8962_HPMIXL_TO_HPOUTL_PGA_WIDTH            1  /* HPMIXL_TO_HPOUTL_PGA */
22379a76f1ffSMark Brown #define WM8962_DACL_TO_HPMIXL                   0x0020  /* DACL_TO_HPMIXL */
22389a76f1ffSMark Brown #define WM8962_DACL_TO_HPMIXL_MASK              0x0020  /* DACL_TO_HPMIXL */
22399a76f1ffSMark Brown #define WM8962_DACL_TO_HPMIXL_SHIFT                  5  /* DACL_TO_HPMIXL */
22409a76f1ffSMark Brown #define WM8962_DACL_TO_HPMIXL_WIDTH                  1  /* DACL_TO_HPMIXL */
22419a76f1ffSMark Brown #define WM8962_DACR_TO_HPMIXL                   0x0010  /* DACR_TO_HPMIXL */
22429a76f1ffSMark Brown #define WM8962_DACR_TO_HPMIXL_MASK              0x0010  /* DACR_TO_HPMIXL */
22439a76f1ffSMark Brown #define WM8962_DACR_TO_HPMIXL_SHIFT                  4  /* DACR_TO_HPMIXL */
22449a76f1ffSMark Brown #define WM8962_DACR_TO_HPMIXL_WIDTH                  1  /* DACR_TO_HPMIXL */
22459a76f1ffSMark Brown #define WM8962_MIXINL_TO_HPMIXL                 0x0008  /* MIXINL_TO_HPMIXL */
22469a76f1ffSMark Brown #define WM8962_MIXINL_TO_HPMIXL_MASK            0x0008  /* MIXINL_TO_HPMIXL */
22479a76f1ffSMark Brown #define WM8962_MIXINL_TO_HPMIXL_SHIFT                3  /* MIXINL_TO_HPMIXL */
22489a76f1ffSMark Brown #define WM8962_MIXINL_TO_HPMIXL_WIDTH                1  /* MIXINL_TO_HPMIXL */
22499a76f1ffSMark Brown #define WM8962_MIXINR_TO_HPMIXL                 0x0004  /* MIXINR_TO_HPMIXL */
22509a76f1ffSMark Brown #define WM8962_MIXINR_TO_HPMIXL_MASK            0x0004  /* MIXINR_TO_HPMIXL */
22519a76f1ffSMark Brown #define WM8962_MIXINR_TO_HPMIXL_SHIFT                2  /* MIXINR_TO_HPMIXL */
22529a76f1ffSMark Brown #define WM8962_MIXINR_TO_HPMIXL_WIDTH                1  /* MIXINR_TO_HPMIXL */
22539a76f1ffSMark Brown #define WM8962_IN4L_TO_HPMIXL                   0x0002  /* IN4L_TO_HPMIXL */
22549a76f1ffSMark Brown #define WM8962_IN4L_TO_HPMIXL_MASK              0x0002  /* IN4L_TO_HPMIXL */
22559a76f1ffSMark Brown #define WM8962_IN4L_TO_HPMIXL_SHIFT                  1  /* IN4L_TO_HPMIXL */
22569a76f1ffSMark Brown #define WM8962_IN4L_TO_HPMIXL_WIDTH                  1  /* IN4L_TO_HPMIXL */
22579a76f1ffSMark Brown #define WM8962_IN4R_TO_HPMIXL                   0x0001  /* IN4R_TO_HPMIXL */
22589a76f1ffSMark Brown #define WM8962_IN4R_TO_HPMIXL_MASK              0x0001  /* IN4R_TO_HPMIXL */
22599a76f1ffSMark Brown #define WM8962_IN4R_TO_HPMIXL_SHIFT                  0  /* IN4R_TO_HPMIXL */
22609a76f1ffSMark Brown #define WM8962_IN4R_TO_HPMIXL_WIDTH                  1  /* IN4R_TO_HPMIXL */
22619a76f1ffSMark Brown 
22629a76f1ffSMark Brown /*
22639a76f1ffSMark Brown  * R101 (0x65) - Headphone Mixer (2)
22649a76f1ffSMark Brown  */
22659a76f1ffSMark Brown #define WM8962_HPMIXR_TO_HPOUTR_PGA             0x0080  /* HPMIXR_TO_HPOUTR_PGA */
22669a76f1ffSMark Brown #define WM8962_HPMIXR_TO_HPOUTR_PGA_MASK        0x0080  /* HPMIXR_TO_HPOUTR_PGA */
22679a76f1ffSMark Brown #define WM8962_HPMIXR_TO_HPOUTR_PGA_SHIFT            7  /* HPMIXR_TO_HPOUTR_PGA */
22689a76f1ffSMark Brown #define WM8962_HPMIXR_TO_HPOUTR_PGA_WIDTH            1  /* HPMIXR_TO_HPOUTR_PGA */
22699a76f1ffSMark Brown #define WM8962_DACL_TO_HPMIXR                   0x0020  /* DACL_TO_HPMIXR */
22709a76f1ffSMark Brown #define WM8962_DACL_TO_HPMIXR_MASK              0x0020  /* DACL_TO_HPMIXR */
22719a76f1ffSMark Brown #define WM8962_DACL_TO_HPMIXR_SHIFT                  5  /* DACL_TO_HPMIXR */
22729a76f1ffSMark Brown #define WM8962_DACL_TO_HPMIXR_WIDTH                  1  /* DACL_TO_HPMIXR */
22739a76f1ffSMark Brown #define WM8962_DACR_TO_HPMIXR                   0x0010  /* DACR_TO_HPMIXR */
22749a76f1ffSMark Brown #define WM8962_DACR_TO_HPMIXR_MASK              0x0010  /* DACR_TO_HPMIXR */
22759a76f1ffSMark Brown #define WM8962_DACR_TO_HPMIXR_SHIFT                  4  /* DACR_TO_HPMIXR */
22769a76f1ffSMark Brown #define WM8962_DACR_TO_HPMIXR_WIDTH                  1  /* DACR_TO_HPMIXR */
22779a76f1ffSMark Brown #define WM8962_MIXINL_TO_HPMIXR                 0x0008  /* MIXINL_TO_HPMIXR */
22789a76f1ffSMark Brown #define WM8962_MIXINL_TO_HPMIXR_MASK            0x0008  /* MIXINL_TO_HPMIXR */
22799a76f1ffSMark Brown #define WM8962_MIXINL_TO_HPMIXR_SHIFT                3  /* MIXINL_TO_HPMIXR */
22809a76f1ffSMark Brown #define WM8962_MIXINL_TO_HPMIXR_WIDTH                1  /* MIXINL_TO_HPMIXR */
22819a76f1ffSMark Brown #define WM8962_MIXINR_TO_HPMIXR                 0x0004  /* MIXINR_TO_HPMIXR */
22829a76f1ffSMark Brown #define WM8962_MIXINR_TO_HPMIXR_MASK            0x0004  /* MIXINR_TO_HPMIXR */
22839a76f1ffSMark Brown #define WM8962_MIXINR_TO_HPMIXR_SHIFT                2  /* MIXINR_TO_HPMIXR */
22849a76f1ffSMark Brown #define WM8962_MIXINR_TO_HPMIXR_WIDTH                1  /* MIXINR_TO_HPMIXR */
22859a76f1ffSMark Brown #define WM8962_IN4L_TO_HPMIXR                   0x0002  /* IN4L_TO_HPMIXR */
22869a76f1ffSMark Brown #define WM8962_IN4L_TO_HPMIXR_MASK              0x0002  /* IN4L_TO_HPMIXR */
22879a76f1ffSMark Brown #define WM8962_IN4L_TO_HPMIXR_SHIFT                  1  /* IN4L_TO_HPMIXR */
22889a76f1ffSMark Brown #define WM8962_IN4L_TO_HPMIXR_WIDTH                  1  /* IN4L_TO_HPMIXR */
22899a76f1ffSMark Brown #define WM8962_IN4R_TO_HPMIXR                   0x0001  /* IN4R_TO_HPMIXR */
22909a76f1ffSMark Brown #define WM8962_IN4R_TO_HPMIXR_MASK              0x0001  /* IN4R_TO_HPMIXR */
22919a76f1ffSMark Brown #define WM8962_IN4R_TO_HPMIXR_SHIFT                  0  /* IN4R_TO_HPMIXR */
22929a76f1ffSMark Brown #define WM8962_IN4R_TO_HPMIXR_WIDTH                  1  /* IN4R_TO_HPMIXR */
22939a76f1ffSMark Brown 
22949a76f1ffSMark Brown /*
22959a76f1ffSMark Brown  * R102 (0x66) - Headphone Mixer (3)
22969a76f1ffSMark Brown  */
22979a76f1ffSMark Brown #define WM8962_HPMIXL_MUTE                      0x0100  /* HPMIXL_MUTE */
22989a76f1ffSMark Brown #define WM8962_HPMIXL_MUTE_MASK                 0x0100  /* HPMIXL_MUTE */
22999a76f1ffSMark Brown #define WM8962_HPMIXL_MUTE_SHIFT                     8  /* HPMIXL_MUTE */
23009a76f1ffSMark Brown #define WM8962_HPMIXL_MUTE_WIDTH                     1  /* HPMIXL_MUTE */
23019a76f1ffSMark Brown #define WM8962_MIXINL_HPMIXL_VOL                0x0080  /* MIXINL_HPMIXL_VOL */
23029a76f1ffSMark Brown #define WM8962_MIXINL_HPMIXL_VOL_MASK           0x0080  /* MIXINL_HPMIXL_VOL */
23039a76f1ffSMark Brown #define WM8962_MIXINL_HPMIXL_VOL_SHIFT               7  /* MIXINL_HPMIXL_VOL */
23049a76f1ffSMark Brown #define WM8962_MIXINL_HPMIXL_VOL_WIDTH               1  /* MIXINL_HPMIXL_VOL */
23059a76f1ffSMark Brown #define WM8962_MIXINR_HPMIXL_VOL                0x0040  /* MIXINR_HPMIXL_VOL */
23069a76f1ffSMark Brown #define WM8962_MIXINR_HPMIXL_VOL_MASK           0x0040  /* MIXINR_HPMIXL_VOL */
23079a76f1ffSMark Brown #define WM8962_MIXINR_HPMIXL_VOL_SHIFT               6  /* MIXINR_HPMIXL_VOL */
23089a76f1ffSMark Brown #define WM8962_MIXINR_HPMIXL_VOL_WIDTH               1  /* MIXINR_HPMIXL_VOL */
23099a76f1ffSMark Brown #define WM8962_IN4L_HPMIXL_VOL_MASK             0x0038  /* IN4L_HPMIXL_VOL - [5:3] */
23109a76f1ffSMark Brown #define WM8962_IN4L_HPMIXL_VOL_SHIFT                 3  /* IN4L_HPMIXL_VOL - [5:3] */
23119a76f1ffSMark Brown #define WM8962_IN4L_HPMIXL_VOL_WIDTH                 3  /* IN4L_HPMIXL_VOL - [5:3] */
23129a76f1ffSMark Brown #define WM8962_IN4R_HPMIXL_VOL_MASK             0x0007  /* IN4R_HPMIXL_VOL - [2:0] */
23139a76f1ffSMark Brown #define WM8962_IN4R_HPMIXL_VOL_SHIFT                 0  /* IN4R_HPMIXL_VOL - [2:0] */
23149a76f1ffSMark Brown #define WM8962_IN4R_HPMIXL_VOL_WIDTH                 3  /* IN4R_HPMIXL_VOL - [2:0] */
23159a76f1ffSMark Brown 
23169a76f1ffSMark Brown /*
23179a76f1ffSMark Brown  * R103 (0x67) - Headphone Mixer (4)
23189a76f1ffSMark Brown  */
23199a76f1ffSMark Brown #define WM8962_HPMIXR_MUTE                      0x0100  /* HPMIXR_MUTE */
23209a76f1ffSMark Brown #define WM8962_HPMIXR_MUTE_MASK                 0x0100  /* HPMIXR_MUTE */
23219a76f1ffSMark Brown #define WM8962_HPMIXR_MUTE_SHIFT                     8  /* HPMIXR_MUTE */
23229a76f1ffSMark Brown #define WM8962_HPMIXR_MUTE_WIDTH                     1  /* HPMIXR_MUTE */
23239a76f1ffSMark Brown #define WM8962_MIXINL_HPMIXR_VOL                0x0080  /* MIXINL_HPMIXR_VOL */
23249a76f1ffSMark Brown #define WM8962_MIXINL_HPMIXR_VOL_MASK           0x0080  /* MIXINL_HPMIXR_VOL */
23259a76f1ffSMark Brown #define WM8962_MIXINL_HPMIXR_VOL_SHIFT               7  /* MIXINL_HPMIXR_VOL */
23269a76f1ffSMark Brown #define WM8962_MIXINL_HPMIXR_VOL_WIDTH               1  /* MIXINL_HPMIXR_VOL */
23279a76f1ffSMark Brown #define WM8962_MIXINR_HPMIXR_VOL                0x0040  /* MIXINR_HPMIXR_VOL */
23289a76f1ffSMark Brown #define WM8962_MIXINR_HPMIXR_VOL_MASK           0x0040  /* MIXINR_HPMIXR_VOL */
23299a76f1ffSMark Brown #define WM8962_MIXINR_HPMIXR_VOL_SHIFT               6  /* MIXINR_HPMIXR_VOL */
23309a76f1ffSMark Brown #define WM8962_MIXINR_HPMIXR_VOL_WIDTH               1  /* MIXINR_HPMIXR_VOL */
23319a76f1ffSMark Brown #define WM8962_IN4L_HPMIXR_VOL_MASK             0x0038  /* IN4L_HPMIXR_VOL - [5:3] */
23329a76f1ffSMark Brown #define WM8962_IN4L_HPMIXR_VOL_SHIFT                 3  /* IN4L_HPMIXR_VOL - [5:3] */
23339a76f1ffSMark Brown #define WM8962_IN4L_HPMIXR_VOL_WIDTH                 3  /* IN4L_HPMIXR_VOL - [5:3] */
23349a76f1ffSMark Brown #define WM8962_IN4R_HPMIXR_VOL_MASK             0x0007  /* IN4R_HPMIXR_VOL - [2:0] */
23359a76f1ffSMark Brown #define WM8962_IN4R_HPMIXR_VOL_SHIFT                 0  /* IN4R_HPMIXR_VOL - [2:0] */
23369a76f1ffSMark Brown #define WM8962_IN4R_HPMIXR_VOL_WIDTH                 3  /* IN4R_HPMIXR_VOL - [2:0] */
23379a76f1ffSMark Brown 
23389a76f1ffSMark Brown /*
23399a76f1ffSMark Brown  * R105 (0x69) - Speaker Mixer (1)
23409a76f1ffSMark Brown  */
23419a76f1ffSMark Brown #define WM8962_SPKMIXL_TO_SPKOUTL_PGA           0x0080  /* SPKMIXL_TO_SPKOUTL_PGA */
23429a76f1ffSMark Brown #define WM8962_SPKMIXL_TO_SPKOUTL_PGA_MASK      0x0080  /* SPKMIXL_TO_SPKOUTL_PGA */
23439a76f1ffSMark Brown #define WM8962_SPKMIXL_TO_SPKOUTL_PGA_SHIFT          7  /* SPKMIXL_TO_SPKOUTL_PGA */
23449a76f1ffSMark Brown #define WM8962_SPKMIXL_TO_SPKOUTL_PGA_WIDTH          1  /* SPKMIXL_TO_SPKOUTL_PGA */
23459a76f1ffSMark Brown #define WM8962_DACL_TO_SPKMIXL                  0x0020  /* DACL_TO_SPKMIXL */
23469a76f1ffSMark Brown #define WM8962_DACL_TO_SPKMIXL_MASK             0x0020  /* DACL_TO_SPKMIXL */
23479a76f1ffSMark Brown #define WM8962_DACL_TO_SPKMIXL_SHIFT                 5  /* DACL_TO_SPKMIXL */
23489a76f1ffSMark Brown #define WM8962_DACL_TO_SPKMIXL_WIDTH                 1  /* DACL_TO_SPKMIXL */
23499a76f1ffSMark Brown #define WM8962_DACR_TO_SPKMIXL                  0x0010  /* DACR_TO_SPKMIXL */
23509a76f1ffSMark Brown #define WM8962_DACR_TO_SPKMIXL_MASK             0x0010  /* DACR_TO_SPKMIXL */
23519a76f1ffSMark Brown #define WM8962_DACR_TO_SPKMIXL_SHIFT                 4  /* DACR_TO_SPKMIXL */
23529a76f1ffSMark Brown #define WM8962_DACR_TO_SPKMIXL_WIDTH                 1  /* DACR_TO_SPKMIXL */
23539a76f1ffSMark Brown #define WM8962_MIXINL_TO_SPKMIXL                0x0008  /* MIXINL_TO_SPKMIXL */
23549a76f1ffSMark Brown #define WM8962_MIXINL_TO_SPKMIXL_MASK           0x0008  /* MIXINL_TO_SPKMIXL */
23559a76f1ffSMark Brown #define WM8962_MIXINL_TO_SPKMIXL_SHIFT               3  /* MIXINL_TO_SPKMIXL */
23569a76f1ffSMark Brown #define WM8962_MIXINL_TO_SPKMIXL_WIDTH               1  /* MIXINL_TO_SPKMIXL */
23579a76f1ffSMark Brown #define WM8962_MIXINR_TO_SPKMIXL                0x0004  /* MIXINR_TO_SPKMIXL */
23589a76f1ffSMark Brown #define WM8962_MIXINR_TO_SPKMIXL_MASK           0x0004  /* MIXINR_TO_SPKMIXL */
23599a76f1ffSMark Brown #define WM8962_MIXINR_TO_SPKMIXL_SHIFT               2  /* MIXINR_TO_SPKMIXL */
23609a76f1ffSMark Brown #define WM8962_MIXINR_TO_SPKMIXL_WIDTH               1  /* MIXINR_TO_SPKMIXL */
23619a76f1ffSMark Brown #define WM8962_IN4L_TO_SPKMIXL                  0x0002  /* IN4L_TO_SPKMIXL */
23629a76f1ffSMark Brown #define WM8962_IN4L_TO_SPKMIXL_MASK             0x0002  /* IN4L_TO_SPKMIXL */
23639a76f1ffSMark Brown #define WM8962_IN4L_TO_SPKMIXL_SHIFT                 1  /* IN4L_TO_SPKMIXL */
23649a76f1ffSMark Brown #define WM8962_IN4L_TO_SPKMIXL_WIDTH                 1  /* IN4L_TO_SPKMIXL */
23659a76f1ffSMark Brown #define WM8962_IN4R_TO_SPKMIXL                  0x0001  /* IN4R_TO_SPKMIXL */
23669a76f1ffSMark Brown #define WM8962_IN4R_TO_SPKMIXL_MASK             0x0001  /* IN4R_TO_SPKMIXL */
23679a76f1ffSMark Brown #define WM8962_IN4R_TO_SPKMIXL_SHIFT                 0  /* IN4R_TO_SPKMIXL */
23689a76f1ffSMark Brown #define WM8962_IN4R_TO_SPKMIXL_WIDTH                 1  /* IN4R_TO_SPKMIXL */
23699a76f1ffSMark Brown 
23709a76f1ffSMark Brown /*
23719a76f1ffSMark Brown  * R106 (0x6A) - Speaker Mixer (2)
23729a76f1ffSMark Brown  */
23739a76f1ffSMark Brown #define WM8962_SPKMIXR_TO_SPKOUTR_PGA           0x0080  /* SPKMIXR_TO_SPKOUTR_PGA */
23749a76f1ffSMark Brown #define WM8962_SPKMIXR_TO_SPKOUTR_PGA_MASK      0x0080  /* SPKMIXR_TO_SPKOUTR_PGA */
23759a76f1ffSMark Brown #define WM8962_SPKMIXR_TO_SPKOUTR_PGA_SHIFT          7  /* SPKMIXR_TO_SPKOUTR_PGA */
23769a76f1ffSMark Brown #define WM8962_SPKMIXR_TO_SPKOUTR_PGA_WIDTH          1  /* SPKMIXR_TO_SPKOUTR_PGA */
23779a76f1ffSMark Brown #define WM8962_DACL_TO_SPKMIXR                  0x0020  /* DACL_TO_SPKMIXR */
23789a76f1ffSMark Brown #define WM8962_DACL_TO_SPKMIXR_MASK             0x0020  /* DACL_TO_SPKMIXR */
23799a76f1ffSMark Brown #define WM8962_DACL_TO_SPKMIXR_SHIFT                 5  /* DACL_TO_SPKMIXR */
23809a76f1ffSMark Brown #define WM8962_DACL_TO_SPKMIXR_WIDTH                 1  /* DACL_TO_SPKMIXR */
23819a76f1ffSMark Brown #define WM8962_DACR_TO_SPKMIXR                  0x0010  /* DACR_TO_SPKMIXR */
23829a76f1ffSMark Brown #define WM8962_DACR_TO_SPKMIXR_MASK             0x0010  /* DACR_TO_SPKMIXR */
23839a76f1ffSMark Brown #define WM8962_DACR_TO_SPKMIXR_SHIFT                 4  /* DACR_TO_SPKMIXR */
23849a76f1ffSMark Brown #define WM8962_DACR_TO_SPKMIXR_WIDTH                 1  /* DACR_TO_SPKMIXR */
23859a76f1ffSMark Brown #define WM8962_MIXINL_TO_SPKMIXR                0x0008  /* MIXINL_TO_SPKMIXR */
23869a76f1ffSMark Brown #define WM8962_MIXINL_TO_SPKMIXR_MASK           0x0008  /* MIXINL_TO_SPKMIXR */
23879a76f1ffSMark Brown #define WM8962_MIXINL_TO_SPKMIXR_SHIFT               3  /* MIXINL_TO_SPKMIXR */
23889a76f1ffSMark Brown #define WM8962_MIXINL_TO_SPKMIXR_WIDTH               1  /* MIXINL_TO_SPKMIXR */
23899a76f1ffSMark Brown #define WM8962_MIXINR_TO_SPKMIXR                0x0004  /* MIXINR_TO_SPKMIXR */
23909a76f1ffSMark Brown #define WM8962_MIXINR_TO_SPKMIXR_MASK           0x0004  /* MIXINR_TO_SPKMIXR */
23919a76f1ffSMark Brown #define WM8962_MIXINR_TO_SPKMIXR_SHIFT               2  /* MIXINR_TO_SPKMIXR */
23929a76f1ffSMark Brown #define WM8962_MIXINR_TO_SPKMIXR_WIDTH               1  /* MIXINR_TO_SPKMIXR */
23939a76f1ffSMark Brown #define WM8962_IN4L_TO_SPKMIXR                  0x0002  /* IN4L_TO_SPKMIXR */
23949a76f1ffSMark Brown #define WM8962_IN4L_TO_SPKMIXR_MASK             0x0002  /* IN4L_TO_SPKMIXR */
23959a76f1ffSMark Brown #define WM8962_IN4L_TO_SPKMIXR_SHIFT                 1  /* IN4L_TO_SPKMIXR */
23969a76f1ffSMark Brown #define WM8962_IN4L_TO_SPKMIXR_WIDTH                 1  /* IN4L_TO_SPKMIXR */
23979a76f1ffSMark Brown #define WM8962_IN4R_TO_SPKMIXR                  0x0001  /* IN4R_TO_SPKMIXR */
23989a76f1ffSMark Brown #define WM8962_IN4R_TO_SPKMIXR_MASK             0x0001  /* IN4R_TO_SPKMIXR */
23999a76f1ffSMark Brown #define WM8962_IN4R_TO_SPKMIXR_SHIFT                 0  /* IN4R_TO_SPKMIXR */
24009a76f1ffSMark Brown #define WM8962_IN4R_TO_SPKMIXR_WIDTH                 1  /* IN4R_TO_SPKMIXR */
24019a76f1ffSMark Brown 
24029a76f1ffSMark Brown /*
24039a76f1ffSMark Brown  * R107 (0x6B) - Speaker Mixer (3)
24049a76f1ffSMark Brown  */
24059a76f1ffSMark Brown #define WM8962_SPKMIXL_MUTE                     0x0100  /* SPKMIXL_MUTE */
24069a76f1ffSMark Brown #define WM8962_SPKMIXL_MUTE_MASK                0x0100  /* SPKMIXL_MUTE */
24079a76f1ffSMark Brown #define WM8962_SPKMIXL_MUTE_SHIFT                    8  /* SPKMIXL_MUTE */
24089a76f1ffSMark Brown #define WM8962_SPKMIXL_MUTE_WIDTH                    1  /* SPKMIXL_MUTE */
24099a76f1ffSMark Brown #define WM8962_MIXINL_SPKMIXL_VOL               0x0080  /* MIXINL_SPKMIXL_VOL */
24109a76f1ffSMark Brown #define WM8962_MIXINL_SPKMIXL_VOL_MASK          0x0080  /* MIXINL_SPKMIXL_VOL */
24119a76f1ffSMark Brown #define WM8962_MIXINL_SPKMIXL_VOL_SHIFT              7  /* MIXINL_SPKMIXL_VOL */
24129a76f1ffSMark Brown #define WM8962_MIXINL_SPKMIXL_VOL_WIDTH              1  /* MIXINL_SPKMIXL_VOL */
24139a76f1ffSMark Brown #define WM8962_MIXINR_SPKMIXL_VOL               0x0040  /* MIXINR_SPKMIXL_VOL */
24149a76f1ffSMark Brown #define WM8962_MIXINR_SPKMIXL_VOL_MASK          0x0040  /* MIXINR_SPKMIXL_VOL */
24159a76f1ffSMark Brown #define WM8962_MIXINR_SPKMIXL_VOL_SHIFT              6  /* MIXINR_SPKMIXL_VOL */
24169a76f1ffSMark Brown #define WM8962_MIXINR_SPKMIXL_VOL_WIDTH              1  /* MIXINR_SPKMIXL_VOL */
24179a76f1ffSMark Brown #define WM8962_IN4L_SPKMIXL_VOL_MASK            0x0038  /* IN4L_SPKMIXL_VOL - [5:3] */
24189a76f1ffSMark Brown #define WM8962_IN4L_SPKMIXL_VOL_SHIFT                3  /* IN4L_SPKMIXL_VOL - [5:3] */
24199a76f1ffSMark Brown #define WM8962_IN4L_SPKMIXL_VOL_WIDTH                3  /* IN4L_SPKMIXL_VOL - [5:3] */
24209a76f1ffSMark Brown #define WM8962_IN4R_SPKMIXL_VOL_MASK            0x0007  /* IN4R_SPKMIXL_VOL - [2:0] */
24219a76f1ffSMark Brown #define WM8962_IN4R_SPKMIXL_VOL_SHIFT                0  /* IN4R_SPKMIXL_VOL - [2:0] */
24229a76f1ffSMark Brown #define WM8962_IN4R_SPKMIXL_VOL_WIDTH                3  /* IN4R_SPKMIXL_VOL - [2:0] */
24239a76f1ffSMark Brown 
24249a76f1ffSMark Brown /*
24259a76f1ffSMark Brown  * R108 (0x6C) - Speaker Mixer (4)
24269a76f1ffSMark Brown  */
24279a76f1ffSMark Brown #define WM8962_SPKMIXR_MUTE                     0x0100  /* SPKMIXR_MUTE */
24289a76f1ffSMark Brown #define WM8962_SPKMIXR_MUTE_MASK                0x0100  /* SPKMIXR_MUTE */
24299a76f1ffSMark Brown #define WM8962_SPKMIXR_MUTE_SHIFT                    8  /* SPKMIXR_MUTE */
24309a76f1ffSMark Brown #define WM8962_SPKMIXR_MUTE_WIDTH                    1  /* SPKMIXR_MUTE */
24319a76f1ffSMark Brown #define WM8962_MIXINL_SPKMIXR_VOL               0x0080  /* MIXINL_SPKMIXR_VOL */
24329a76f1ffSMark Brown #define WM8962_MIXINL_SPKMIXR_VOL_MASK          0x0080  /* MIXINL_SPKMIXR_VOL */
24339a76f1ffSMark Brown #define WM8962_MIXINL_SPKMIXR_VOL_SHIFT              7  /* MIXINL_SPKMIXR_VOL */
24349a76f1ffSMark Brown #define WM8962_MIXINL_SPKMIXR_VOL_WIDTH              1  /* MIXINL_SPKMIXR_VOL */
24359a76f1ffSMark Brown #define WM8962_MIXINR_SPKMIXR_VOL               0x0040  /* MIXINR_SPKMIXR_VOL */
24369a76f1ffSMark Brown #define WM8962_MIXINR_SPKMIXR_VOL_MASK          0x0040  /* MIXINR_SPKMIXR_VOL */
24379a76f1ffSMark Brown #define WM8962_MIXINR_SPKMIXR_VOL_SHIFT              6  /* MIXINR_SPKMIXR_VOL */
24389a76f1ffSMark Brown #define WM8962_MIXINR_SPKMIXR_VOL_WIDTH              1  /* MIXINR_SPKMIXR_VOL */
24399a76f1ffSMark Brown #define WM8962_IN4L_SPKMIXR_VOL_MASK            0x0038  /* IN4L_SPKMIXR_VOL - [5:3] */
24409a76f1ffSMark Brown #define WM8962_IN4L_SPKMIXR_VOL_SHIFT                3  /* IN4L_SPKMIXR_VOL - [5:3] */
24419a76f1ffSMark Brown #define WM8962_IN4L_SPKMIXR_VOL_WIDTH                3  /* IN4L_SPKMIXR_VOL - [5:3] */
24429a76f1ffSMark Brown #define WM8962_IN4R_SPKMIXR_VOL_MASK            0x0007  /* IN4R_SPKMIXR_VOL - [2:0] */
24439a76f1ffSMark Brown #define WM8962_IN4R_SPKMIXR_VOL_SHIFT                0  /* IN4R_SPKMIXR_VOL - [2:0] */
24449a76f1ffSMark Brown #define WM8962_IN4R_SPKMIXR_VOL_WIDTH                3  /* IN4R_SPKMIXR_VOL - [2:0] */
24459a76f1ffSMark Brown 
24469a76f1ffSMark Brown /*
24479a76f1ffSMark Brown  * R109 (0x6D) - Speaker Mixer (5)
24489a76f1ffSMark Brown  */
24499a76f1ffSMark Brown #define WM8962_DACL_SPKMIXL_VOL                 0x0080  /* DACL_SPKMIXL_VOL */
24509a76f1ffSMark Brown #define WM8962_DACL_SPKMIXL_VOL_MASK            0x0080  /* DACL_SPKMIXL_VOL */
24519a76f1ffSMark Brown #define WM8962_DACL_SPKMIXL_VOL_SHIFT                7  /* DACL_SPKMIXL_VOL */
24529a76f1ffSMark Brown #define WM8962_DACL_SPKMIXL_VOL_WIDTH                1  /* DACL_SPKMIXL_VOL */
24539a76f1ffSMark Brown #define WM8962_DACR_SPKMIXL_VOL                 0x0040  /* DACR_SPKMIXL_VOL */
24549a76f1ffSMark Brown #define WM8962_DACR_SPKMIXL_VOL_MASK            0x0040  /* DACR_SPKMIXL_VOL */
24559a76f1ffSMark Brown #define WM8962_DACR_SPKMIXL_VOL_SHIFT                6  /* DACR_SPKMIXL_VOL */
24569a76f1ffSMark Brown #define WM8962_DACR_SPKMIXL_VOL_WIDTH                1  /* DACR_SPKMIXL_VOL */
24579a76f1ffSMark Brown #define WM8962_DACL_SPKMIXR_VOL                 0x0020  /* DACL_SPKMIXR_VOL */
24589a76f1ffSMark Brown #define WM8962_DACL_SPKMIXR_VOL_MASK            0x0020  /* DACL_SPKMIXR_VOL */
24599a76f1ffSMark Brown #define WM8962_DACL_SPKMIXR_VOL_SHIFT                5  /* DACL_SPKMIXR_VOL */
24609a76f1ffSMark Brown #define WM8962_DACL_SPKMIXR_VOL_WIDTH                1  /* DACL_SPKMIXR_VOL */
24619a76f1ffSMark Brown #define WM8962_DACR_SPKMIXR_VOL                 0x0010  /* DACR_SPKMIXR_VOL */
24629a76f1ffSMark Brown #define WM8962_DACR_SPKMIXR_VOL_MASK            0x0010  /* DACR_SPKMIXR_VOL */
24639a76f1ffSMark Brown #define WM8962_DACR_SPKMIXR_VOL_SHIFT                4  /* DACR_SPKMIXR_VOL */
24649a76f1ffSMark Brown #define WM8962_DACR_SPKMIXR_VOL_WIDTH                1  /* DACR_SPKMIXR_VOL */
24659a76f1ffSMark Brown 
24669a76f1ffSMark Brown /*
24679a76f1ffSMark Brown  * R110 (0x6E) - Beep Generator (1)
24689a76f1ffSMark Brown  */
24699a76f1ffSMark Brown #define WM8962_BEEP_GAIN_MASK                   0x00F0  /* BEEP_GAIN - [7:4] */
24709a76f1ffSMark Brown #define WM8962_BEEP_GAIN_SHIFT                       4  /* BEEP_GAIN - [7:4] */
24719a76f1ffSMark Brown #define WM8962_BEEP_GAIN_WIDTH                       4  /* BEEP_GAIN - [7:4] */
24729a76f1ffSMark Brown #define WM8962_BEEP_RATE_MASK                   0x0006  /* BEEP_RATE - [2:1] */
24739a76f1ffSMark Brown #define WM8962_BEEP_RATE_SHIFT                       1  /* BEEP_RATE - [2:1] */
24749a76f1ffSMark Brown #define WM8962_BEEP_RATE_WIDTH                       2  /* BEEP_RATE - [2:1] */
24759a76f1ffSMark Brown #define WM8962_BEEP_ENA                         0x0001  /* BEEP_ENA */
24769a76f1ffSMark Brown #define WM8962_BEEP_ENA_MASK                    0x0001  /* BEEP_ENA */
24779a76f1ffSMark Brown #define WM8962_BEEP_ENA_SHIFT                        0  /* BEEP_ENA */
24789a76f1ffSMark Brown #define WM8962_BEEP_ENA_WIDTH                        1  /* BEEP_ENA */
24799a76f1ffSMark Brown 
24809a76f1ffSMark Brown /*
24819a76f1ffSMark Brown  * R115 (0x73) - Oscillator Trim (3)
24829a76f1ffSMark Brown  */
24839a76f1ffSMark Brown #define WM8962_OSC_TRIM_XTI_MASK                0x001F  /* OSC_TRIM_XTI - [4:0] */
24849a76f1ffSMark Brown #define WM8962_OSC_TRIM_XTI_SHIFT                    0  /* OSC_TRIM_XTI - [4:0] */
24859a76f1ffSMark Brown #define WM8962_OSC_TRIM_XTI_WIDTH                    5  /* OSC_TRIM_XTI - [4:0] */
24869a76f1ffSMark Brown 
24879a76f1ffSMark Brown /*
24889a76f1ffSMark Brown  * R116 (0x74) - Oscillator Trim (4)
24899a76f1ffSMark Brown  */
24909a76f1ffSMark Brown #define WM8962_OSC_TRIM_XTO_MASK                0x001F  /* OSC_TRIM_XTO - [4:0] */
24919a76f1ffSMark Brown #define WM8962_OSC_TRIM_XTO_SHIFT                    0  /* OSC_TRIM_XTO - [4:0] */
24929a76f1ffSMark Brown #define WM8962_OSC_TRIM_XTO_WIDTH                    5  /* OSC_TRIM_XTO - [4:0] */
24939a76f1ffSMark Brown 
24949a76f1ffSMark Brown /*
24959a76f1ffSMark Brown  * R119 (0x77) - Oscillator Trim (7)
24969a76f1ffSMark Brown  */
24979a76f1ffSMark Brown #define WM8962_XTO_CAP_SEL_MASK                 0x00F0  /* XTO_CAP_SEL - [7:4] */
24989a76f1ffSMark Brown #define WM8962_XTO_CAP_SEL_SHIFT                     4  /* XTO_CAP_SEL - [7:4] */
24999a76f1ffSMark Brown #define WM8962_XTO_CAP_SEL_WIDTH                     4  /* XTO_CAP_SEL - [7:4] */
25009a76f1ffSMark Brown #define WM8962_XTI_CAP_SEL_MASK                 0x000F  /* XTI_CAP_SEL - [3:0] */
25019a76f1ffSMark Brown #define WM8962_XTI_CAP_SEL_SHIFT                     0  /* XTI_CAP_SEL - [3:0] */
25029a76f1ffSMark Brown #define WM8962_XTI_CAP_SEL_WIDTH                     4  /* XTI_CAP_SEL - [3:0] */
25039a76f1ffSMark Brown 
25049a76f1ffSMark Brown /*
25059a76f1ffSMark Brown  * R124 (0x7C) - Analogue Clocking1
25069a76f1ffSMark Brown  */
25079a76f1ffSMark Brown #define WM8962_CLKOUT2_SEL_MASK                 0x0060  /* CLKOUT2_SEL - [6:5] */
25089a76f1ffSMark Brown #define WM8962_CLKOUT2_SEL_SHIFT                     5  /* CLKOUT2_SEL - [6:5] */
25099a76f1ffSMark Brown #define WM8962_CLKOUT2_SEL_WIDTH                     2  /* CLKOUT2_SEL - [6:5] */
25109a76f1ffSMark Brown #define WM8962_CLKOUT3_SEL_MASK                 0x0018  /* CLKOUT3_SEL - [4:3] */
25119a76f1ffSMark Brown #define WM8962_CLKOUT3_SEL_SHIFT                     3  /* CLKOUT3_SEL - [4:3] */
25129a76f1ffSMark Brown #define WM8962_CLKOUT3_SEL_WIDTH                     2  /* CLKOUT3_SEL - [4:3] */
25139a76f1ffSMark Brown #define WM8962_CLKOUT5_SEL                      0x0001  /* CLKOUT5_SEL */
25149a76f1ffSMark Brown #define WM8962_CLKOUT5_SEL_MASK                 0x0001  /* CLKOUT5_SEL */
25159a76f1ffSMark Brown #define WM8962_CLKOUT5_SEL_SHIFT                     0  /* CLKOUT5_SEL */
25169a76f1ffSMark Brown #define WM8962_CLKOUT5_SEL_WIDTH                     1  /* CLKOUT5_SEL */
25179a76f1ffSMark Brown 
25189a76f1ffSMark Brown /*
25199a76f1ffSMark Brown  * R125 (0x7D) - Analogue Clocking2
25209a76f1ffSMark Brown  */
25219a76f1ffSMark Brown #define WM8962_PLL2_OUTDIV                      0x0080  /* PLL2_OUTDIV */
25229a76f1ffSMark Brown #define WM8962_PLL2_OUTDIV_MASK                 0x0080  /* PLL2_OUTDIV */
25239a76f1ffSMark Brown #define WM8962_PLL2_OUTDIV_SHIFT                     7  /* PLL2_OUTDIV */
25249a76f1ffSMark Brown #define WM8962_PLL2_OUTDIV_WIDTH                     1  /* PLL2_OUTDIV */
25259a76f1ffSMark Brown #define WM8962_PLL3_OUTDIV                      0x0040  /* PLL3_OUTDIV */
25269a76f1ffSMark Brown #define WM8962_PLL3_OUTDIV_MASK                 0x0040  /* PLL3_OUTDIV */
25279a76f1ffSMark Brown #define WM8962_PLL3_OUTDIV_SHIFT                     6  /* PLL3_OUTDIV */
25289a76f1ffSMark Brown #define WM8962_PLL3_OUTDIV_WIDTH                     1  /* PLL3_OUTDIV */
25299a76f1ffSMark Brown #define WM8962_PLL_SYSCLK_DIV_MASK              0x0018  /* PLL_SYSCLK_DIV - [4:3] */
25309a76f1ffSMark Brown #define WM8962_PLL_SYSCLK_DIV_SHIFT                  3  /* PLL_SYSCLK_DIV - [4:3] */
25319a76f1ffSMark Brown #define WM8962_PLL_SYSCLK_DIV_WIDTH                  2  /* PLL_SYSCLK_DIV - [4:3] */
25329a76f1ffSMark Brown #define WM8962_CLKOUT3_DIV                      0x0004  /* CLKOUT3_DIV */
25339a76f1ffSMark Brown #define WM8962_CLKOUT3_DIV_MASK                 0x0004  /* CLKOUT3_DIV */
25349a76f1ffSMark Brown #define WM8962_CLKOUT3_DIV_SHIFT                     2  /* CLKOUT3_DIV */
25359a76f1ffSMark Brown #define WM8962_CLKOUT3_DIV_WIDTH                     1  /* CLKOUT3_DIV */
25369a76f1ffSMark Brown #define WM8962_CLKOUT2_DIV                      0x0002  /* CLKOUT2_DIV */
25379a76f1ffSMark Brown #define WM8962_CLKOUT2_DIV_MASK                 0x0002  /* CLKOUT2_DIV */
25389a76f1ffSMark Brown #define WM8962_CLKOUT2_DIV_SHIFT                     1  /* CLKOUT2_DIV */
25399a76f1ffSMark Brown #define WM8962_CLKOUT2_DIV_WIDTH                     1  /* CLKOUT2_DIV */
25409a76f1ffSMark Brown #define WM8962_CLKOUT5_DIV                      0x0001  /* CLKOUT5_DIV */
25419a76f1ffSMark Brown #define WM8962_CLKOUT5_DIV_MASK                 0x0001  /* CLKOUT5_DIV */
25429a76f1ffSMark Brown #define WM8962_CLKOUT5_DIV_SHIFT                     0  /* CLKOUT5_DIV */
25439a76f1ffSMark Brown #define WM8962_CLKOUT5_DIV_WIDTH                     1  /* CLKOUT5_DIV */
25449a76f1ffSMark Brown 
25459a76f1ffSMark Brown /*
25469a76f1ffSMark Brown  * R126 (0x7E) - Analogue Clocking3
25479a76f1ffSMark Brown  */
25489a76f1ffSMark Brown #define WM8962_CLKOUT2_OE                       0x0008  /* CLKOUT2_OE */
25499a76f1ffSMark Brown #define WM8962_CLKOUT2_OE_MASK                  0x0008  /* CLKOUT2_OE */
25509a76f1ffSMark Brown #define WM8962_CLKOUT2_OE_SHIFT                      3  /* CLKOUT2_OE */
25519a76f1ffSMark Brown #define WM8962_CLKOUT2_OE_WIDTH                      1  /* CLKOUT2_OE */
25529a76f1ffSMark Brown #define WM8962_CLKOUT3_OE                       0x0004  /* CLKOUT3_OE */
25539a76f1ffSMark Brown #define WM8962_CLKOUT3_OE_MASK                  0x0004  /* CLKOUT3_OE */
25549a76f1ffSMark Brown #define WM8962_CLKOUT3_OE_SHIFT                      2  /* CLKOUT3_OE */
25559a76f1ffSMark Brown #define WM8962_CLKOUT3_OE_WIDTH                      1  /* CLKOUT3_OE */
25569a76f1ffSMark Brown #define WM8962_CLKOUT5_OE                       0x0001  /* CLKOUT5_OE */
25579a76f1ffSMark Brown #define WM8962_CLKOUT5_OE_MASK                  0x0001  /* CLKOUT5_OE */
25589a76f1ffSMark Brown #define WM8962_CLKOUT5_OE_SHIFT                      0  /* CLKOUT5_OE */
25599a76f1ffSMark Brown #define WM8962_CLKOUT5_OE_WIDTH                      1  /* CLKOUT5_OE */
25609a76f1ffSMark Brown 
25619a76f1ffSMark Brown /*
25629a76f1ffSMark Brown  * R127 (0x7F) - PLL Software Reset
25639a76f1ffSMark Brown  */
25649a76f1ffSMark Brown #define WM8962_SW_RESET_PLL_MASK                0xFFFF  /* SW_RESET_PLL - [15:0] */
25659a76f1ffSMark Brown #define WM8962_SW_RESET_PLL_SHIFT                    0  /* SW_RESET_PLL - [15:0] */
25669a76f1ffSMark Brown #define WM8962_SW_RESET_PLL_WIDTH                   16  /* SW_RESET_PLL - [15:0] */
25679a76f1ffSMark Brown 
25689a76f1ffSMark Brown /*
25699a76f1ffSMark Brown  * R129 (0x81) - PLL2
25709a76f1ffSMark Brown  */
25719a76f1ffSMark Brown #define WM8962_OSC_ENA                          0x0080  /* OSC_ENA */
25729a76f1ffSMark Brown #define WM8962_OSC_ENA_MASK                     0x0080  /* OSC_ENA */
25739a76f1ffSMark Brown #define WM8962_OSC_ENA_SHIFT                         7  /* OSC_ENA */
25749a76f1ffSMark Brown #define WM8962_OSC_ENA_WIDTH                         1  /* OSC_ENA */
25759a76f1ffSMark Brown #define WM8962_PLL2_ENA                         0x0020  /* PLL2_ENA */
25769a76f1ffSMark Brown #define WM8962_PLL2_ENA_MASK                    0x0020  /* PLL2_ENA */
25779a76f1ffSMark Brown #define WM8962_PLL2_ENA_SHIFT                        5  /* PLL2_ENA */
25789a76f1ffSMark Brown #define WM8962_PLL2_ENA_WIDTH                        1  /* PLL2_ENA */
25799a76f1ffSMark Brown #define WM8962_PLL3_ENA                         0x0010  /* PLL3_ENA */
25809a76f1ffSMark Brown #define WM8962_PLL3_ENA_MASK                    0x0010  /* PLL3_ENA */
25819a76f1ffSMark Brown #define WM8962_PLL3_ENA_SHIFT                        4  /* PLL3_ENA */
25829a76f1ffSMark Brown #define WM8962_PLL3_ENA_WIDTH                        1  /* PLL3_ENA */
25839a76f1ffSMark Brown 
25849a76f1ffSMark Brown /*
25859a76f1ffSMark Brown  * R131 (0x83) - PLL 4
25869a76f1ffSMark Brown  */
25879a76f1ffSMark Brown #define WM8962_PLL_CLK_SRC                      0x0002  /* PLL_CLK_SRC */
25889a76f1ffSMark Brown #define WM8962_PLL_CLK_SRC_MASK                 0x0002  /* PLL_CLK_SRC */
25899a76f1ffSMark Brown #define WM8962_PLL_CLK_SRC_SHIFT                     1  /* PLL_CLK_SRC */
25909a76f1ffSMark Brown #define WM8962_PLL_CLK_SRC_WIDTH                     1  /* PLL_CLK_SRC */
25919a76f1ffSMark Brown #define WM8962_FLL_TO_PLL3                      0x0001  /* FLL_TO_PLL3 */
25929a76f1ffSMark Brown #define WM8962_FLL_TO_PLL3_MASK                 0x0001  /* FLL_TO_PLL3 */
25939a76f1ffSMark Brown #define WM8962_FLL_TO_PLL3_SHIFT                     0  /* FLL_TO_PLL3 */
25949a76f1ffSMark Brown #define WM8962_FLL_TO_PLL3_WIDTH                     1  /* FLL_TO_PLL3 */
25959a76f1ffSMark Brown 
25969a76f1ffSMark Brown /*
25979a76f1ffSMark Brown  * R136 (0x88) - PLL 9
25989a76f1ffSMark Brown  */
25999a76f1ffSMark Brown #define WM8962_PLL2_FRAC                        0x0040  /* PLL2_FRAC */
26009a76f1ffSMark Brown #define WM8962_PLL2_FRAC_MASK                   0x0040  /* PLL2_FRAC */
26019a76f1ffSMark Brown #define WM8962_PLL2_FRAC_SHIFT                       6  /* PLL2_FRAC */
26029a76f1ffSMark Brown #define WM8962_PLL2_FRAC_WIDTH                       1  /* PLL2_FRAC */
26039a76f1ffSMark Brown #define WM8962_PLL2_N_MASK                      0x001F  /* PLL2_N - [4:0] */
26049a76f1ffSMark Brown #define WM8962_PLL2_N_SHIFT                          0  /* PLL2_N - [4:0] */
26059a76f1ffSMark Brown #define WM8962_PLL2_N_WIDTH                          5  /* PLL2_N - [4:0] */
26069a76f1ffSMark Brown 
26079a76f1ffSMark Brown /*
26089a76f1ffSMark Brown  * R137 (0x89) - PLL 10
26099a76f1ffSMark Brown  */
26109a76f1ffSMark Brown #define WM8962_PLL2_K_MASK                      0x00FF  /* PLL2_K - [7:0] */
26119a76f1ffSMark Brown #define WM8962_PLL2_K_SHIFT                          0  /* PLL2_K - [7:0] */
26129a76f1ffSMark Brown #define WM8962_PLL2_K_WIDTH                          8  /* PLL2_K - [7:0] */
26139a76f1ffSMark Brown 
26149a76f1ffSMark Brown /*
26159a76f1ffSMark Brown  * R138 (0x8A) - PLL 11
26169a76f1ffSMark Brown  */
26179a76f1ffSMark Brown #define WM8962_PLL2_K_MASK                      0x00FF  /* PLL2_K - [7:0] */
26189a76f1ffSMark Brown #define WM8962_PLL2_K_SHIFT                          0  /* PLL2_K - [7:0] */
26199a76f1ffSMark Brown #define WM8962_PLL2_K_WIDTH                          8  /* PLL2_K - [7:0] */
26209a76f1ffSMark Brown 
26219a76f1ffSMark Brown /*
26229a76f1ffSMark Brown  * R139 (0x8B) - PLL 12
26239a76f1ffSMark Brown  */
26249a76f1ffSMark Brown #define WM8962_PLL2_K_MASK                      0x00FF  /* PLL2_K - [7:0] */
26259a76f1ffSMark Brown #define WM8962_PLL2_K_SHIFT                          0  /* PLL2_K - [7:0] */
26269a76f1ffSMark Brown #define WM8962_PLL2_K_WIDTH                          8  /* PLL2_K - [7:0] */
26279a76f1ffSMark Brown 
26289a76f1ffSMark Brown /*
26299a76f1ffSMark Brown  * R140 (0x8C) - PLL 13
26309a76f1ffSMark Brown  */
26319a76f1ffSMark Brown #define WM8962_PLL3_FRAC                        0x0040  /* PLL3_FRAC */
26329a76f1ffSMark Brown #define WM8962_PLL3_FRAC_MASK                   0x0040  /* PLL3_FRAC */
26339a76f1ffSMark Brown #define WM8962_PLL3_FRAC_SHIFT                       6  /* PLL3_FRAC */
26349a76f1ffSMark Brown #define WM8962_PLL3_FRAC_WIDTH                       1  /* PLL3_FRAC */
26359a76f1ffSMark Brown #define WM8962_PLL3_N_MASK                      0x001F  /* PLL3_N - [4:0] */
26369a76f1ffSMark Brown #define WM8962_PLL3_N_SHIFT                          0  /* PLL3_N - [4:0] */
26379a76f1ffSMark Brown #define WM8962_PLL3_N_WIDTH                          5  /* PLL3_N - [4:0] */
26389a76f1ffSMark Brown 
26399a76f1ffSMark Brown /*
26409a76f1ffSMark Brown  * R141 (0x8D) - PLL 14
26419a76f1ffSMark Brown  */
26429a76f1ffSMark Brown #define WM8962_PLL3_K_MASK                      0x00FF  /* PLL3_K - [7:0] */
26439a76f1ffSMark Brown #define WM8962_PLL3_K_SHIFT                          0  /* PLL3_K - [7:0] */
26449a76f1ffSMark Brown #define WM8962_PLL3_K_WIDTH                          8  /* PLL3_K - [7:0] */
26459a76f1ffSMark Brown 
26469a76f1ffSMark Brown /*
26479a76f1ffSMark Brown  * R142 (0x8E) - PLL 15
26489a76f1ffSMark Brown  */
26499a76f1ffSMark Brown #define WM8962_PLL3_K_MASK                      0x00FF  /* PLL3_K - [7:0] */
26509a76f1ffSMark Brown #define WM8962_PLL3_K_SHIFT                          0  /* PLL3_K - [7:0] */
26519a76f1ffSMark Brown #define WM8962_PLL3_K_WIDTH                          8  /* PLL3_K - [7:0] */
26529a76f1ffSMark Brown 
26539a76f1ffSMark Brown /*
26549a76f1ffSMark Brown  * R143 (0x8F) - PLL 16
26559a76f1ffSMark Brown  */
26569a76f1ffSMark Brown #define WM8962_PLL3_K_MASK                      0x00FF  /* PLL3_K - [7:0] */
26579a76f1ffSMark Brown #define WM8962_PLL3_K_SHIFT                          0  /* PLL3_K - [7:0] */
26589a76f1ffSMark Brown #define WM8962_PLL3_K_WIDTH                          8  /* PLL3_K - [7:0] */
26599a76f1ffSMark Brown 
26609a76f1ffSMark Brown /*
26619a76f1ffSMark Brown  * R155 (0x9B) - FLL Control (1)
26629a76f1ffSMark Brown  */
26639a76f1ffSMark Brown #define WM8962_FLL_REFCLK_SRC_MASK              0x0060  /* FLL_REFCLK_SRC - [6:5] */
26649a76f1ffSMark Brown #define WM8962_FLL_REFCLK_SRC_SHIFT                  5  /* FLL_REFCLK_SRC - [6:5] */
26659a76f1ffSMark Brown #define WM8962_FLL_REFCLK_SRC_WIDTH                  2  /* FLL_REFCLK_SRC - [6:5] */
26669a76f1ffSMark Brown #define WM8962_FLL_FRAC                         0x0004  /* FLL_FRAC */
26679a76f1ffSMark Brown #define WM8962_FLL_FRAC_MASK                    0x0004  /* FLL_FRAC */
26689a76f1ffSMark Brown #define WM8962_FLL_FRAC_SHIFT                        2  /* FLL_FRAC */
26699a76f1ffSMark Brown #define WM8962_FLL_FRAC_WIDTH                        1  /* FLL_FRAC */
26709a76f1ffSMark Brown #define WM8962_FLL_OSC_ENA                      0x0002  /* FLL_OSC_ENA */
26719a76f1ffSMark Brown #define WM8962_FLL_OSC_ENA_MASK                 0x0002  /* FLL_OSC_ENA */
26729a76f1ffSMark Brown #define WM8962_FLL_OSC_ENA_SHIFT                     1  /* FLL_OSC_ENA */
26739a76f1ffSMark Brown #define WM8962_FLL_OSC_ENA_WIDTH                     1  /* FLL_OSC_ENA */
26749a76f1ffSMark Brown #define WM8962_FLL_ENA                          0x0001  /* FLL_ENA */
26759a76f1ffSMark Brown #define WM8962_FLL_ENA_MASK                     0x0001  /* FLL_ENA */
26769a76f1ffSMark Brown #define WM8962_FLL_ENA_SHIFT                         0  /* FLL_ENA */
26779a76f1ffSMark Brown #define WM8962_FLL_ENA_WIDTH                         1  /* FLL_ENA */
26789a76f1ffSMark Brown 
26799a76f1ffSMark Brown /*
26809a76f1ffSMark Brown  * R156 (0x9C) - FLL Control (2)
26819a76f1ffSMark Brown  */
26829a76f1ffSMark Brown #define WM8962_FLL_OUTDIV_MASK                  0x01F8  /* FLL_OUTDIV - [8:3] */
26839a76f1ffSMark Brown #define WM8962_FLL_OUTDIV_SHIFT                      3  /* FLL_OUTDIV - [8:3] */
26849a76f1ffSMark Brown #define WM8962_FLL_OUTDIV_WIDTH                      6  /* FLL_OUTDIV - [8:3] */
26859a76f1ffSMark Brown #define WM8962_FLL_REFCLK_DIV_MASK              0x0003  /* FLL_REFCLK_DIV - [1:0] */
26869a76f1ffSMark Brown #define WM8962_FLL_REFCLK_DIV_SHIFT                  0  /* FLL_REFCLK_DIV - [1:0] */
26879a76f1ffSMark Brown #define WM8962_FLL_REFCLK_DIV_WIDTH                  2  /* FLL_REFCLK_DIV - [1:0] */
26889a76f1ffSMark Brown 
26899a76f1ffSMark Brown /*
26909a76f1ffSMark Brown  * R157 (0x9D) - FLL Control (3)
26919a76f1ffSMark Brown  */
26929a76f1ffSMark Brown #define WM8962_FLL_FRATIO_MASK                  0x0007  /* FLL_FRATIO - [2:0] */
26939a76f1ffSMark Brown #define WM8962_FLL_FRATIO_SHIFT                      0  /* FLL_FRATIO - [2:0] */
26949a76f1ffSMark Brown #define WM8962_FLL_FRATIO_WIDTH                      3  /* FLL_FRATIO - [2:0] */
26959a76f1ffSMark Brown 
26969a76f1ffSMark Brown /*
26979a76f1ffSMark Brown  * R159 (0x9F) - FLL Control (5)
26989a76f1ffSMark Brown  */
26999a76f1ffSMark Brown #define WM8962_FLL_FRC_NCO_VAL_MASK             0x007E  /* FLL_FRC_NCO_VAL - [6:1] */
27009a76f1ffSMark Brown #define WM8962_FLL_FRC_NCO_VAL_SHIFT                 1  /* FLL_FRC_NCO_VAL - [6:1] */
27019a76f1ffSMark Brown #define WM8962_FLL_FRC_NCO_VAL_WIDTH                 6  /* FLL_FRC_NCO_VAL - [6:1] */
27029a76f1ffSMark Brown #define WM8962_FLL_FRC_NCO                      0x0001  /* FLL_FRC_NCO */
27039a76f1ffSMark Brown #define WM8962_FLL_FRC_NCO_MASK                 0x0001  /* FLL_FRC_NCO */
27049a76f1ffSMark Brown #define WM8962_FLL_FRC_NCO_SHIFT                     0  /* FLL_FRC_NCO */
27059a76f1ffSMark Brown #define WM8962_FLL_FRC_NCO_WIDTH                     1  /* FLL_FRC_NCO */
27069a76f1ffSMark Brown 
27079a76f1ffSMark Brown /*
27089a76f1ffSMark Brown  * R160 (0xA0) - FLL Control (6)
27099a76f1ffSMark Brown  */
27109a76f1ffSMark Brown #define WM8962_FLL_THETA_MASK                   0xFFFF  /* FLL_THETA - [15:0] */
27119a76f1ffSMark Brown #define WM8962_FLL_THETA_SHIFT                       0  /* FLL_THETA - [15:0] */
27129a76f1ffSMark Brown #define WM8962_FLL_THETA_WIDTH                      16  /* FLL_THETA - [15:0] */
27139a76f1ffSMark Brown 
27149a76f1ffSMark Brown /*
27159a76f1ffSMark Brown  * R161 (0xA1) - FLL Control (7)
27169a76f1ffSMark Brown  */
27179a76f1ffSMark Brown #define WM8962_FLL_LAMBDA_MASK                  0xFFFF  /* FLL_LAMBDA - [15:0] */
27189a76f1ffSMark Brown #define WM8962_FLL_LAMBDA_SHIFT                      0  /* FLL_LAMBDA - [15:0] */
27199a76f1ffSMark Brown #define WM8962_FLL_LAMBDA_WIDTH                     16  /* FLL_LAMBDA - [15:0] */
27209a76f1ffSMark Brown 
27219a76f1ffSMark Brown /*
27229a76f1ffSMark Brown  * R162 (0xA2) - FLL Control (8)
27239a76f1ffSMark Brown  */
27249a76f1ffSMark Brown #define WM8962_FLL_N_MASK                       0x03FF  /* FLL_N - [9:0] */
27259a76f1ffSMark Brown #define WM8962_FLL_N_SHIFT                           0  /* FLL_N - [9:0] */
27269a76f1ffSMark Brown #define WM8962_FLL_N_WIDTH                          10  /* FLL_N - [9:0] */
27279a76f1ffSMark Brown 
27289a76f1ffSMark Brown /*
27299a76f1ffSMark Brown  * R252 (0xFC) - General test 1
27309a76f1ffSMark Brown  */
27319a76f1ffSMark Brown #define WM8962_REG_SYNC                         0x0004  /* REG_SYNC */
27329a76f1ffSMark Brown #define WM8962_REG_SYNC_MASK                    0x0004  /* REG_SYNC */
27339a76f1ffSMark Brown #define WM8962_REG_SYNC_SHIFT                        2  /* REG_SYNC */
27349a76f1ffSMark Brown #define WM8962_REG_SYNC_WIDTH                        1  /* REG_SYNC */
27359a76f1ffSMark Brown #define WM8962_AUTO_INC                         0x0001  /* AUTO_INC */
27369a76f1ffSMark Brown #define WM8962_AUTO_INC_MASK                    0x0001  /* AUTO_INC */
27379a76f1ffSMark Brown #define WM8962_AUTO_INC_SHIFT                        0  /* AUTO_INC */
27389a76f1ffSMark Brown #define WM8962_AUTO_INC_WIDTH                        1  /* AUTO_INC */
27399a76f1ffSMark Brown 
27409a76f1ffSMark Brown /*
27419a76f1ffSMark Brown  * R256 (0x100) - DF1
27429a76f1ffSMark Brown  */
27439a76f1ffSMark Brown #define WM8962_DRC_DF1_ENA                      0x0008  /* DRC_DF1_ENA */
27449a76f1ffSMark Brown #define WM8962_DRC_DF1_ENA_MASK                 0x0008  /* DRC_DF1_ENA */
27459a76f1ffSMark Brown #define WM8962_DRC_DF1_ENA_SHIFT                     3  /* DRC_DF1_ENA */
27469a76f1ffSMark Brown #define WM8962_DRC_DF1_ENA_WIDTH                     1  /* DRC_DF1_ENA */
27479a76f1ffSMark Brown #define WM8962_DF1_SHARED_COEFF                 0x0004  /* DF1_SHARED_COEFF */
27489a76f1ffSMark Brown #define WM8962_DF1_SHARED_COEFF_MASK            0x0004  /* DF1_SHARED_COEFF */
27499a76f1ffSMark Brown #define WM8962_DF1_SHARED_COEFF_SHIFT                2  /* DF1_SHARED_COEFF */
27509a76f1ffSMark Brown #define WM8962_DF1_SHARED_COEFF_WIDTH                1  /* DF1_SHARED_COEFF */
27519a76f1ffSMark Brown #define WM8962_DF1_SHARED_COEFF_SEL             0x0002  /* DF1_SHARED_COEFF_SEL */
27529a76f1ffSMark Brown #define WM8962_DF1_SHARED_COEFF_SEL_MASK        0x0002  /* DF1_SHARED_COEFF_SEL */
27539a76f1ffSMark Brown #define WM8962_DF1_SHARED_COEFF_SEL_SHIFT            1  /* DF1_SHARED_COEFF_SEL */
27549a76f1ffSMark Brown #define WM8962_DF1_SHARED_COEFF_SEL_WIDTH            1  /* DF1_SHARED_COEFF_SEL */
27559a76f1ffSMark Brown #define WM8962_DF1_ENA                          0x0001  /* DF1_ENA */
27569a76f1ffSMark Brown #define WM8962_DF1_ENA_MASK                     0x0001  /* DF1_ENA */
27579a76f1ffSMark Brown #define WM8962_DF1_ENA_SHIFT                         0  /* DF1_ENA */
27589a76f1ffSMark Brown #define WM8962_DF1_ENA_WIDTH                         1  /* DF1_ENA */
27599a76f1ffSMark Brown 
27609a76f1ffSMark Brown /*
27619a76f1ffSMark Brown  * R257 (0x101) - DF2
27629a76f1ffSMark Brown  */
27639a76f1ffSMark Brown #define WM8962_DF1_COEFF_L0_MASK                0xFFFF  /* DF1_COEFF_L0 - [15:0] */
27649a76f1ffSMark Brown #define WM8962_DF1_COEFF_L0_SHIFT                    0  /* DF1_COEFF_L0 - [15:0] */
27659a76f1ffSMark Brown #define WM8962_DF1_COEFF_L0_WIDTH                   16  /* DF1_COEFF_L0 - [15:0] */
27669a76f1ffSMark Brown 
27679a76f1ffSMark Brown /*
27689a76f1ffSMark Brown  * R258 (0x102) - DF3
27699a76f1ffSMark Brown  */
27709a76f1ffSMark Brown #define WM8962_DF1_COEFF_L1_MASK                0xFFFF  /* DF1_COEFF_L1 - [15:0] */
27719a76f1ffSMark Brown #define WM8962_DF1_COEFF_L1_SHIFT                    0  /* DF1_COEFF_L1 - [15:0] */
27729a76f1ffSMark Brown #define WM8962_DF1_COEFF_L1_WIDTH                   16  /* DF1_COEFF_L1 - [15:0] */
27739a76f1ffSMark Brown 
27749a76f1ffSMark Brown /*
27759a76f1ffSMark Brown  * R259 (0x103) - DF4
27769a76f1ffSMark Brown  */
27779a76f1ffSMark Brown #define WM8962_DF1_COEFF_L2_MASK                0xFFFF  /* DF1_COEFF_L2 - [15:0] */
27789a76f1ffSMark Brown #define WM8962_DF1_COEFF_L2_SHIFT                    0  /* DF1_COEFF_L2 - [15:0] */
27799a76f1ffSMark Brown #define WM8962_DF1_COEFF_L2_WIDTH                   16  /* DF1_COEFF_L2 - [15:0] */
27809a76f1ffSMark Brown 
27819a76f1ffSMark Brown /*
27829a76f1ffSMark Brown  * R260 (0x104) - DF5
27839a76f1ffSMark Brown  */
27849a76f1ffSMark Brown #define WM8962_DF1_COEFF_R0_MASK                0xFFFF  /* DF1_COEFF_R0 - [15:0] */
27859a76f1ffSMark Brown #define WM8962_DF1_COEFF_R0_SHIFT                    0  /* DF1_COEFF_R0 - [15:0] */
27869a76f1ffSMark Brown #define WM8962_DF1_COEFF_R0_WIDTH                   16  /* DF1_COEFF_R0 - [15:0] */
27879a76f1ffSMark Brown 
27889a76f1ffSMark Brown /*
27899a76f1ffSMark Brown  * R261 (0x105) - DF6
27909a76f1ffSMark Brown  */
27919a76f1ffSMark Brown #define WM8962_DF1_COEFF_R1_MASK                0xFFFF  /* DF1_COEFF_R1 - [15:0] */
27929a76f1ffSMark Brown #define WM8962_DF1_COEFF_R1_SHIFT                    0  /* DF1_COEFF_R1 - [15:0] */
27939a76f1ffSMark Brown #define WM8962_DF1_COEFF_R1_WIDTH                   16  /* DF1_COEFF_R1 - [15:0] */
27949a76f1ffSMark Brown 
27959a76f1ffSMark Brown /*
27969a76f1ffSMark Brown  * R262 (0x106) - DF7
27979a76f1ffSMark Brown  */
27989a76f1ffSMark Brown #define WM8962_DF1_COEFF_R2_MASK                0xFFFF  /* DF1_COEFF_R2 - [15:0] */
27999a76f1ffSMark Brown #define WM8962_DF1_COEFF_R2_SHIFT                    0  /* DF1_COEFF_R2 - [15:0] */
28009a76f1ffSMark Brown #define WM8962_DF1_COEFF_R2_WIDTH                   16  /* DF1_COEFF_R2 - [15:0] */
28019a76f1ffSMark Brown 
28029a76f1ffSMark Brown /*
28039a76f1ffSMark Brown  * R264 (0x108) - LHPF1
28049a76f1ffSMark Brown  */
28059a76f1ffSMark Brown #define WM8962_LHPF_MODE                        0x0002  /* LHPF_MODE */
28069a76f1ffSMark Brown #define WM8962_LHPF_MODE_MASK                   0x0002  /* LHPF_MODE */
28079a76f1ffSMark Brown #define WM8962_LHPF_MODE_SHIFT                       1  /* LHPF_MODE */
28089a76f1ffSMark Brown #define WM8962_LHPF_MODE_WIDTH                       1  /* LHPF_MODE */
28099a76f1ffSMark Brown #define WM8962_LHPF_ENA                         0x0001  /* LHPF_ENA */
28109a76f1ffSMark Brown #define WM8962_LHPF_ENA_MASK                    0x0001  /* LHPF_ENA */
28119a76f1ffSMark Brown #define WM8962_LHPF_ENA_SHIFT                        0  /* LHPF_ENA */
28129a76f1ffSMark Brown #define WM8962_LHPF_ENA_WIDTH                        1  /* LHPF_ENA */
28139a76f1ffSMark Brown 
28149a76f1ffSMark Brown /*
28159a76f1ffSMark Brown  * R265 (0x109) - LHPF2
28169a76f1ffSMark Brown  */
28179a76f1ffSMark Brown #define WM8962_LHPF_COEFF_MASK                  0xFFFF  /* LHPF_COEFF - [15:0] */
28189a76f1ffSMark Brown #define WM8962_LHPF_COEFF_SHIFT                      0  /* LHPF_COEFF - [15:0] */
28199a76f1ffSMark Brown #define WM8962_LHPF_COEFF_WIDTH                     16  /* LHPF_COEFF - [15:0] */
28209a76f1ffSMark Brown 
28219a76f1ffSMark Brown /*
28229a76f1ffSMark Brown  * R268 (0x10C) - THREED1
28239a76f1ffSMark Brown  */
28249a76f1ffSMark Brown #define WM8962_ADC_MONOMIX                      0x0040  /* ADC_MONOMIX */
28259a76f1ffSMark Brown #define WM8962_ADC_MONOMIX_MASK                 0x0040  /* ADC_MONOMIX */
28269a76f1ffSMark Brown #define WM8962_ADC_MONOMIX_SHIFT                     6  /* ADC_MONOMIX */
28279a76f1ffSMark Brown #define WM8962_ADC_MONOMIX_WIDTH                     1  /* ADC_MONOMIX */
28289a76f1ffSMark Brown #define WM8962_THREED_SIGN_L                    0x0020  /* THREED_SIGN_L */
28299a76f1ffSMark Brown #define WM8962_THREED_SIGN_L_MASK               0x0020  /* THREED_SIGN_L */
28309a76f1ffSMark Brown #define WM8962_THREED_SIGN_L_SHIFT                   5  /* THREED_SIGN_L */
28319a76f1ffSMark Brown #define WM8962_THREED_SIGN_L_WIDTH                   1  /* THREED_SIGN_L */
28329a76f1ffSMark Brown #define WM8962_THREED_SIGN_R                    0x0010  /* THREED_SIGN_R */
28339a76f1ffSMark Brown #define WM8962_THREED_SIGN_R_MASK               0x0010  /* THREED_SIGN_R */
28349a76f1ffSMark Brown #define WM8962_THREED_SIGN_R_SHIFT                   4  /* THREED_SIGN_R */
28359a76f1ffSMark Brown #define WM8962_THREED_SIGN_R_WIDTH                   1  /* THREED_SIGN_R */
28369a76f1ffSMark Brown #define WM8962_THREED_LHPF_MODE                 0x0004  /* THREED_LHPF_MODE */
28379a76f1ffSMark Brown #define WM8962_THREED_LHPF_MODE_MASK            0x0004  /* THREED_LHPF_MODE */
28389a76f1ffSMark Brown #define WM8962_THREED_LHPF_MODE_SHIFT                2  /* THREED_LHPF_MODE */
28399a76f1ffSMark Brown #define WM8962_THREED_LHPF_MODE_WIDTH                1  /* THREED_LHPF_MODE */
28409a76f1ffSMark Brown #define WM8962_THREED_LHPF_ENA                  0x0002  /* THREED_LHPF_ENA */
28419a76f1ffSMark Brown #define WM8962_THREED_LHPF_ENA_MASK             0x0002  /* THREED_LHPF_ENA */
28429a76f1ffSMark Brown #define WM8962_THREED_LHPF_ENA_SHIFT                 1  /* THREED_LHPF_ENA */
28439a76f1ffSMark Brown #define WM8962_THREED_LHPF_ENA_WIDTH                 1  /* THREED_LHPF_ENA */
28449a76f1ffSMark Brown #define WM8962_THREED_ENA                       0x0001  /* THREED_ENA */
28459a76f1ffSMark Brown #define WM8962_THREED_ENA_MASK                  0x0001  /* THREED_ENA */
28469a76f1ffSMark Brown #define WM8962_THREED_ENA_SHIFT                      0  /* THREED_ENA */
28479a76f1ffSMark Brown #define WM8962_THREED_ENA_WIDTH                      1  /* THREED_ENA */
28489a76f1ffSMark Brown 
28499a76f1ffSMark Brown /*
28509a76f1ffSMark Brown  * R269 (0x10D) - THREED2
28519a76f1ffSMark Brown  */
28529a76f1ffSMark Brown #define WM8962_THREED_FGAINL_MASK               0xF800  /* THREED_FGAINL - [15:11] */
28539a76f1ffSMark Brown #define WM8962_THREED_FGAINL_SHIFT                  11  /* THREED_FGAINL - [15:11] */
28549a76f1ffSMark Brown #define WM8962_THREED_FGAINL_WIDTH                   5  /* THREED_FGAINL - [15:11] */
28559a76f1ffSMark Brown #define WM8962_THREED_CGAINL_MASK               0x07C0  /* THREED_CGAINL - [10:6] */
28569a76f1ffSMark Brown #define WM8962_THREED_CGAINL_SHIFT                   6  /* THREED_CGAINL - [10:6] */
28579a76f1ffSMark Brown #define WM8962_THREED_CGAINL_WIDTH                   5  /* THREED_CGAINL - [10:6] */
28589a76f1ffSMark Brown #define WM8962_THREED_DELAYL_MASK               0x003C  /* THREED_DELAYL - [5:2] */
28599a76f1ffSMark Brown #define WM8962_THREED_DELAYL_SHIFT                   2  /* THREED_DELAYL - [5:2] */
28609a76f1ffSMark Brown #define WM8962_THREED_DELAYL_WIDTH                   4  /* THREED_DELAYL - [5:2] */
28619a76f1ffSMark Brown 
28629a76f1ffSMark Brown /*
28639a76f1ffSMark Brown  * R270 (0x10E) - THREED3
28649a76f1ffSMark Brown  */
28659a76f1ffSMark Brown #define WM8962_THREED_LHPF_COEFF_MASK           0xFFFF  /* THREED_LHPF_COEFF - [15:0] */
28669a76f1ffSMark Brown #define WM8962_THREED_LHPF_COEFF_SHIFT               0  /* THREED_LHPF_COEFF - [15:0] */
28679a76f1ffSMark Brown #define WM8962_THREED_LHPF_COEFF_WIDTH              16  /* THREED_LHPF_COEFF - [15:0] */
28689a76f1ffSMark Brown 
28699a76f1ffSMark Brown /*
28709a76f1ffSMark Brown  * R271 (0x10F) - THREED4
28719a76f1ffSMark Brown  */
28729a76f1ffSMark Brown #define WM8962_THREED_FGAINR_MASK               0xF800  /* THREED_FGAINR - [15:11] */
28739a76f1ffSMark Brown #define WM8962_THREED_FGAINR_SHIFT                  11  /* THREED_FGAINR - [15:11] */
28749a76f1ffSMark Brown #define WM8962_THREED_FGAINR_WIDTH                   5  /* THREED_FGAINR - [15:11] */
28759a76f1ffSMark Brown #define WM8962_THREED_CGAINR_MASK               0x07C0  /* THREED_CGAINR - [10:6] */
28769a76f1ffSMark Brown #define WM8962_THREED_CGAINR_SHIFT                   6  /* THREED_CGAINR - [10:6] */
28779a76f1ffSMark Brown #define WM8962_THREED_CGAINR_WIDTH                   5  /* THREED_CGAINR - [10:6] */
28789a76f1ffSMark Brown #define WM8962_THREED_DELAYR_MASK               0x003C  /* THREED_DELAYR - [5:2] */
28799a76f1ffSMark Brown #define WM8962_THREED_DELAYR_SHIFT                   2  /* THREED_DELAYR - [5:2] */
28809a76f1ffSMark Brown #define WM8962_THREED_DELAYR_WIDTH                   4  /* THREED_DELAYR - [5:2] */
28819a76f1ffSMark Brown 
28829a76f1ffSMark Brown /*
28839a76f1ffSMark Brown  * R276 (0x114) - DRC 1
28849a76f1ffSMark Brown  */
28859a76f1ffSMark Brown #define WM8962_DRC_SIG_DET_RMS_MASK             0x7C00  /* DRC_SIG_DET_RMS - [14:10] */
28869a76f1ffSMark Brown #define WM8962_DRC_SIG_DET_RMS_SHIFT                10  /* DRC_SIG_DET_RMS - [14:10] */
28879a76f1ffSMark Brown #define WM8962_DRC_SIG_DET_RMS_WIDTH                 5  /* DRC_SIG_DET_RMS - [14:10] */
28889a76f1ffSMark Brown #define WM8962_DRC_SIG_DET_PK_MASK              0x0300  /* DRC_SIG_DET_PK - [9:8] */
28899a76f1ffSMark Brown #define WM8962_DRC_SIG_DET_PK_SHIFT                  8  /* DRC_SIG_DET_PK - [9:8] */
28909a76f1ffSMark Brown #define WM8962_DRC_SIG_DET_PK_WIDTH                  2  /* DRC_SIG_DET_PK - [9:8] */
28919a76f1ffSMark Brown #define WM8962_DRC_NG_ENA                       0x0080  /* DRC_NG_ENA */
28929a76f1ffSMark Brown #define WM8962_DRC_NG_ENA_MASK                  0x0080  /* DRC_NG_ENA */
28939a76f1ffSMark Brown #define WM8962_DRC_NG_ENA_SHIFT                      7  /* DRC_NG_ENA */
28949a76f1ffSMark Brown #define WM8962_DRC_NG_ENA_WIDTH                      1  /* DRC_NG_ENA */
28959a76f1ffSMark Brown #define WM8962_DRC_SIG_DET_MODE                 0x0040  /* DRC_SIG_DET_MODE */
28969a76f1ffSMark Brown #define WM8962_DRC_SIG_DET_MODE_MASK            0x0040  /* DRC_SIG_DET_MODE */
28979a76f1ffSMark Brown #define WM8962_DRC_SIG_DET_MODE_SHIFT                6  /* DRC_SIG_DET_MODE */
28989a76f1ffSMark Brown #define WM8962_DRC_SIG_DET_MODE_WIDTH                1  /* DRC_SIG_DET_MODE */
28999a76f1ffSMark Brown #define WM8962_DRC_SIG_DET                      0x0020  /* DRC_SIG_DET */
29009a76f1ffSMark Brown #define WM8962_DRC_SIG_DET_MASK                 0x0020  /* DRC_SIG_DET */
29019a76f1ffSMark Brown #define WM8962_DRC_SIG_DET_SHIFT                     5  /* DRC_SIG_DET */
29029a76f1ffSMark Brown #define WM8962_DRC_SIG_DET_WIDTH                     1  /* DRC_SIG_DET */
29039a76f1ffSMark Brown #define WM8962_DRC_KNEE2_OP_ENA                 0x0010  /* DRC_KNEE2_OP_ENA */
29049a76f1ffSMark Brown #define WM8962_DRC_KNEE2_OP_ENA_MASK            0x0010  /* DRC_KNEE2_OP_ENA */
29059a76f1ffSMark Brown #define WM8962_DRC_KNEE2_OP_ENA_SHIFT                4  /* DRC_KNEE2_OP_ENA */
29069a76f1ffSMark Brown #define WM8962_DRC_KNEE2_OP_ENA_WIDTH                1  /* DRC_KNEE2_OP_ENA */
29079a76f1ffSMark Brown #define WM8962_DRC_QR                           0x0008  /* DRC_QR */
29089a76f1ffSMark Brown #define WM8962_DRC_QR_MASK                      0x0008  /* DRC_QR */
29099a76f1ffSMark Brown #define WM8962_DRC_QR_SHIFT                          3  /* DRC_QR */
29109a76f1ffSMark Brown #define WM8962_DRC_QR_WIDTH                          1  /* DRC_QR */
29119a76f1ffSMark Brown #define WM8962_DRC_ANTICLIP                     0x0004  /* DRC_ANTICLIP */
29129a76f1ffSMark Brown #define WM8962_DRC_ANTICLIP_MASK                0x0004  /* DRC_ANTICLIP */
29139a76f1ffSMark Brown #define WM8962_DRC_ANTICLIP_SHIFT                    2  /* DRC_ANTICLIP */
29149a76f1ffSMark Brown #define WM8962_DRC_ANTICLIP_WIDTH                    1  /* DRC_ANTICLIP */
29159a76f1ffSMark Brown #define WM8962_DRC_MODE                         0x0002  /* DRC_MODE */
29169a76f1ffSMark Brown #define WM8962_DRC_MODE_MASK                    0x0002  /* DRC_MODE */
29179a76f1ffSMark Brown #define WM8962_DRC_MODE_SHIFT                        1  /* DRC_MODE */
29189a76f1ffSMark Brown #define WM8962_DRC_MODE_WIDTH                        1  /* DRC_MODE */
29199a76f1ffSMark Brown #define WM8962_DRC_ENA                          0x0001  /* DRC_ENA */
29209a76f1ffSMark Brown #define WM8962_DRC_ENA_MASK                     0x0001  /* DRC_ENA */
29219a76f1ffSMark Brown #define WM8962_DRC_ENA_SHIFT                         0  /* DRC_ENA */
29229a76f1ffSMark Brown #define WM8962_DRC_ENA_WIDTH                         1  /* DRC_ENA */
29239a76f1ffSMark Brown 
29249a76f1ffSMark Brown /*
29259a76f1ffSMark Brown  * R277 (0x115) - DRC 2
29269a76f1ffSMark Brown  */
29279a76f1ffSMark Brown #define WM8962_DRC_ATK_MASK                     0x1E00  /* DRC_ATK - [12:9] */
29289a76f1ffSMark Brown #define WM8962_DRC_ATK_SHIFT                         9  /* DRC_ATK - [12:9] */
29299a76f1ffSMark Brown #define WM8962_DRC_ATK_WIDTH                         4  /* DRC_ATK - [12:9] */
29309a76f1ffSMark Brown #define WM8962_DRC_DCY_MASK                     0x01E0  /* DRC_DCY - [8:5] */
29319a76f1ffSMark Brown #define WM8962_DRC_DCY_SHIFT                         5  /* DRC_DCY - [8:5] */
29329a76f1ffSMark Brown #define WM8962_DRC_DCY_WIDTH                         4  /* DRC_DCY - [8:5] */
29339a76f1ffSMark Brown #define WM8962_DRC_MINGAIN_MASK                 0x001C  /* DRC_MINGAIN - [4:2] */
29349a76f1ffSMark Brown #define WM8962_DRC_MINGAIN_SHIFT                     2  /* DRC_MINGAIN - [4:2] */
29359a76f1ffSMark Brown #define WM8962_DRC_MINGAIN_WIDTH                     3  /* DRC_MINGAIN - [4:2] */
29369a76f1ffSMark Brown #define WM8962_DRC_MAXGAIN_MASK                 0x0003  /* DRC_MAXGAIN - [1:0] */
29379a76f1ffSMark Brown #define WM8962_DRC_MAXGAIN_SHIFT                     0  /* DRC_MAXGAIN - [1:0] */
29389a76f1ffSMark Brown #define WM8962_DRC_MAXGAIN_WIDTH                     2  /* DRC_MAXGAIN - [1:0] */
29399a76f1ffSMark Brown 
29409a76f1ffSMark Brown /*
29419a76f1ffSMark Brown  * R278 (0x116) - DRC 3
29429a76f1ffSMark Brown  */
29439a76f1ffSMark Brown #define WM8962_DRC_NG_MINGAIN_MASK              0xF000  /* DRC_NG_MINGAIN - [15:12] */
29449a76f1ffSMark Brown #define WM8962_DRC_NG_MINGAIN_SHIFT                 12  /* DRC_NG_MINGAIN - [15:12] */
29459a76f1ffSMark Brown #define WM8962_DRC_NG_MINGAIN_WIDTH                  4  /* DRC_NG_MINGAIN - [15:12] */
29469a76f1ffSMark Brown #define WM8962_DRC_QR_THR_MASK                  0x0C00  /* DRC_QR_THR - [11:10] */
29479a76f1ffSMark Brown #define WM8962_DRC_QR_THR_SHIFT                     10  /* DRC_QR_THR - [11:10] */
29489a76f1ffSMark Brown #define WM8962_DRC_QR_THR_WIDTH                      2  /* DRC_QR_THR - [11:10] */
29499a76f1ffSMark Brown #define WM8962_DRC_QR_DCY_MASK                  0x0300  /* DRC_QR_DCY - [9:8] */
29509a76f1ffSMark Brown #define WM8962_DRC_QR_DCY_SHIFT                      8  /* DRC_QR_DCY - [9:8] */
29519a76f1ffSMark Brown #define WM8962_DRC_QR_DCY_WIDTH                      2  /* DRC_QR_DCY - [9:8] */
29529a76f1ffSMark Brown #define WM8962_DRC_NG_EXP_MASK                  0x00C0  /* DRC_NG_EXP - [7:6] */
29539a76f1ffSMark Brown #define WM8962_DRC_NG_EXP_SHIFT                      6  /* DRC_NG_EXP - [7:6] */
29549a76f1ffSMark Brown #define WM8962_DRC_NG_EXP_WIDTH                      2  /* DRC_NG_EXP - [7:6] */
29559a76f1ffSMark Brown #define WM8962_DRC_HI_COMP_MASK                 0x0038  /* DRC_HI_COMP - [5:3] */
29569a76f1ffSMark Brown #define WM8962_DRC_HI_COMP_SHIFT                     3  /* DRC_HI_COMP - [5:3] */
29579a76f1ffSMark Brown #define WM8962_DRC_HI_COMP_WIDTH                     3  /* DRC_HI_COMP - [5:3] */
29589a76f1ffSMark Brown #define WM8962_DRC_LO_COMP_MASK                 0x0007  /* DRC_LO_COMP - [2:0] */
29599a76f1ffSMark Brown #define WM8962_DRC_LO_COMP_SHIFT                     0  /* DRC_LO_COMP - [2:0] */
29609a76f1ffSMark Brown #define WM8962_DRC_LO_COMP_WIDTH                     3  /* DRC_LO_COMP - [2:0] */
29619a76f1ffSMark Brown 
29629a76f1ffSMark Brown /*
29639a76f1ffSMark Brown  * R279 (0x117) - DRC 4
29649a76f1ffSMark Brown  */
29659a76f1ffSMark Brown #define WM8962_DRC_KNEE_IP_MASK                 0x07E0  /* DRC_KNEE_IP - [10:5] */
29669a76f1ffSMark Brown #define WM8962_DRC_KNEE_IP_SHIFT                     5  /* DRC_KNEE_IP - [10:5] */
29679a76f1ffSMark Brown #define WM8962_DRC_KNEE_IP_WIDTH                     6  /* DRC_KNEE_IP - [10:5] */
29689a76f1ffSMark Brown #define WM8962_DRC_KNEE_OP_MASK                 0x001F  /* DRC_KNEE_OP - [4:0] */
29699a76f1ffSMark Brown #define WM8962_DRC_KNEE_OP_SHIFT                     0  /* DRC_KNEE_OP - [4:0] */
29709a76f1ffSMark Brown #define WM8962_DRC_KNEE_OP_WIDTH                     5  /* DRC_KNEE_OP - [4:0] */
29719a76f1ffSMark Brown 
29729a76f1ffSMark Brown /*
29739a76f1ffSMark Brown  * R280 (0x118) - DRC 5
29749a76f1ffSMark Brown  */
29759a76f1ffSMark Brown #define WM8962_DRC_KNEE2_IP_MASK                0x03E0  /* DRC_KNEE2_IP - [9:5] */
29769a76f1ffSMark Brown #define WM8962_DRC_KNEE2_IP_SHIFT                    5  /* DRC_KNEE2_IP - [9:5] */
29779a76f1ffSMark Brown #define WM8962_DRC_KNEE2_IP_WIDTH                    5  /* DRC_KNEE2_IP - [9:5] */
29789a76f1ffSMark Brown #define WM8962_DRC_KNEE2_OP_MASK                0x001F  /* DRC_KNEE2_OP - [4:0] */
29799a76f1ffSMark Brown #define WM8962_DRC_KNEE2_OP_SHIFT                    0  /* DRC_KNEE2_OP - [4:0] */
29809a76f1ffSMark Brown #define WM8962_DRC_KNEE2_OP_WIDTH                    5  /* DRC_KNEE2_OP - [4:0] */
29819a76f1ffSMark Brown 
29829a76f1ffSMark Brown /*
29839a76f1ffSMark Brown  * R285 (0x11D) - Tloopback
29849a76f1ffSMark Brown  */
29859a76f1ffSMark Brown #define WM8962_TLB_ENA                          0x0002  /* TLB_ENA */
29869a76f1ffSMark Brown #define WM8962_TLB_ENA_MASK                     0x0002  /* TLB_ENA */
29879a76f1ffSMark Brown #define WM8962_TLB_ENA_SHIFT                         1  /* TLB_ENA */
29889a76f1ffSMark Brown #define WM8962_TLB_ENA_WIDTH                         1  /* TLB_ENA */
29899a76f1ffSMark Brown #define WM8962_TLB_MODE                         0x0001  /* TLB_MODE */
29909a76f1ffSMark Brown #define WM8962_TLB_MODE_MASK                    0x0001  /* TLB_MODE */
29919a76f1ffSMark Brown #define WM8962_TLB_MODE_SHIFT                        0  /* TLB_MODE */
29929a76f1ffSMark Brown #define WM8962_TLB_MODE_WIDTH                        1  /* TLB_MODE */
29939a76f1ffSMark Brown 
29949a76f1ffSMark Brown /*
29959a76f1ffSMark Brown  * R335 (0x14F) - EQ1
29969a76f1ffSMark Brown  */
29979a76f1ffSMark Brown #define WM8962_EQ_SHARED_COEFF                  0x0004  /* EQ_SHARED_COEFF */
29989a76f1ffSMark Brown #define WM8962_EQ_SHARED_COEFF_MASK             0x0004  /* EQ_SHARED_COEFF */
29999a76f1ffSMark Brown #define WM8962_EQ_SHARED_COEFF_SHIFT                 2  /* EQ_SHARED_COEFF */
30009a76f1ffSMark Brown #define WM8962_EQ_SHARED_COEFF_WIDTH                 1  /* EQ_SHARED_COEFF */
30019a76f1ffSMark Brown #define WM8962_EQ_SHARED_COEFF_SEL              0x0002  /* EQ_SHARED_COEFF_SEL */
30029a76f1ffSMark Brown #define WM8962_EQ_SHARED_COEFF_SEL_MASK         0x0002  /* EQ_SHARED_COEFF_SEL */
30039a76f1ffSMark Brown #define WM8962_EQ_SHARED_COEFF_SEL_SHIFT             1  /* EQ_SHARED_COEFF_SEL */
30049a76f1ffSMark Brown #define WM8962_EQ_SHARED_COEFF_SEL_WIDTH             1  /* EQ_SHARED_COEFF_SEL */
30059a76f1ffSMark Brown #define WM8962_EQ_ENA                           0x0001  /* EQ_ENA */
30069a76f1ffSMark Brown #define WM8962_EQ_ENA_MASK                      0x0001  /* EQ_ENA */
30079a76f1ffSMark Brown #define WM8962_EQ_ENA_SHIFT                          0  /* EQ_ENA */
30089a76f1ffSMark Brown #define WM8962_EQ_ENA_WIDTH                          1  /* EQ_ENA */
30099a76f1ffSMark Brown 
30109a76f1ffSMark Brown /*
30119a76f1ffSMark Brown  * R336 (0x150) - EQ2
30129a76f1ffSMark Brown  */
30139a76f1ffSMark Brown #define WM8962_EQL_B1_GAIN_MASK                 0xF800  /* EQL_B1_GAIN - [15:11] */
30149a76f1ffSMark Brown #define WM8962_EQL_B1_GAIN_SHIFT                    11  /* EQL_B1_GAIN - [15:11] */
30159a76f1ffSMark Brown #define WM8962_EQL_B1_GAIN_WIDTH                     5  /* EQL_B1_GAIN - [15:11] */
30169a76f1ffSMark Brown #define WM8962_EQL_B2_GAIN_MASK                 0x07C0  /* EQL_B2_GAIN - [10:6] */
30179a76f1ffSMark Brown #define WM8962_EQL_B2_GAIN_SHIFT                     6  /* EQL_B2_GAIN - [10:6] */
30189a76f1ffSMark Brown #define WM8962_EQL_B2_GAIN_WIDTH                     5  /* EQL_B2_GAIN - [10:6] */
30199a76f1ffSMark Brown #define WM8962_EQL_B3_GAIN_MASK                 0x003E  /* EQL_B3_GAIN - [5:1] */
30209a76f1ffSMark Brown #define WM8962_EQL_B3_GAIN_SHIFT                     1  /* EQL_B3_GAIN - [5:1] */
30219a76f1ffSMark Brown #define WM8962_EQL_B3_GAIN_WIDTH                     5  /* EQL_B3_GAIN - [5:1] */
30229a76f1ffSMark Brown 
30239a76f1ffSMark Brown /*
30249a76f1ffSMark Brown  * R337 (0x151) - EQ3
30259a76f1ffSMark Brown  */
30269a76f1ffSMark Brown #define WM8962_EQL_B4_GAIN_MASK                 0xF800  /* EQL_B4_GAIN - [15:11] */
30279a76f1ffSMark Brown #define WM8962_EQL_B4_GAIN_SHIFT                    11  /* EQL_B4_GAIN - [15:11] */
30289a76f1ffSMark Brown #define WM8962_EQL_B4_GAIN_WIDTH                     5  /* EQL_B4_GAIN - [15:11] */
30299a76f1ffSMark Brown #define WM8962_EQL_B5_GAIN_MASK                 0x07C0  /* EQL_B5_GAIN - [10:6] */
30309a76f1ffSMark Brown #define WM8962_EQL_B5_GAIN_SHIFT                     6  /* EQL_B5_GAIN - [10:6] */
30319a76f1ffSMark Brown #define WM8962_EQL_B5_GAIN_WIDTH                     5  /* EQL_B5_GAIN - [10:6] */
30329a76f1ffSMark Brown 
30339a76f1ffSMark Brown /*
30349a76f1ffSMark Brown  * R338 (0x152) - EQ4
30359a76f1ffSMark Brown  */
30369a76f1ffSMark Brown #define WM8962_EQL_B1_A_MASK                    0xFFFF  /* EQL_B1_A - [15:0] */
30379a76f1ffSMark Brown #define WM8962_EQL_B1_A_SHIFT                        0  /* EQL_B1_A - [15:0] */
30389a76f1ffSMark Brown #define WM8962_EQL_B1_A_WIDTH                       16  /* EQL_B1_A - [15:0] */
30399a76f1ffSMark Brown 
30409a76f1ffSMark Brown /*
30419a76f1ffSMark Brown  * R339 (0x153) - EQ5
30429a76f1ffSMark Brown  */
30439a76f1ffSMark Brown #define WM8962_EQL_B1_B_MASK                    0xFFFF  /* EQL_B1_B - [15:0] */
30449a76f1ffSMark Brown #define WM8962_EQL_B1_B_SHIFT                        0  /* EQL_B1_B - [15:0] */
30459a76f1ffSMark Brown #define WM8962_EQL_B1_B_WIDTH                       16  /* EQL_B1_B - [15:0] */
30469a76f1ffSMark Brown 
30479a76f1ffSMark Brown /*
30489a76f1ffSMark Brown  * R340 (0x154) - EQ6
30499a76f1ffSMark Brown  */
30509a76f1ffSMark Brown #define WM8962_EQL_B1_PG_MASK                   0xFFFF  /* EQL_B1_PG - [15:0] */
30519a76f1ffSMark Brown #define WM8962_EQL_B1_PG_SHIFT                       0  /* EQL_B1_PG - [15:0] */
30529a76f1ffSMark Brown #define WM8962_EQL_B1_PG_WIDTH                      16  /* EQL_B1_PG - [15:0] */
30539a76f1ffSMark Brown 
30549a76f1ffSMark Brown /*
30559a76f1ffSMark Brown  * R341 (0x155) - EQ7
30569a76f1ffSMark Brown  */
30579a76f1ffSMark Brown #define WM8962_EQL_B2_A_MASK                    0xFFFF  /* EQL_B2_A - [15:0] */
30589a76f1ffSMark Brown #define WM8962_EQL_B2_A_SHIFT                        0  /* EQL_B2_A - [15:0] */
30599a76f1ffSMark Brown #define WM8962_EQL_B2_A_WIDTH                       16  /* EQL_B2_A - [15:0] */
30609a76f1ffSMark Brown 
30619a76f1ffSMark Brown /*
30629a76f1ffSMark Brown  * R342 (0x156) - EQ8
30639a76f1ffSMark Brown  */
30649a76f1ffSMark Brown #define WM8962_EQL_B2_B_MASK                    0xFFFF  /* EQL_B2_B - [15:0] */
30659a76f1ffSMark Brown #define WM8962_EQL_B2_B_SHIFT                        0  /* EQL_B2_B - [15:0] */
30669a76f1ffSMark Brown #define WM8962_EQL_B2_B_WIDTH                       16  /* EQL_B2_B - [15:0] */
30679a76f1ffSMark Brown 
30689a76f1ffSMark Brown /*
30699a76f1ffSMark Brown  * R343 (0x157) - EQ9
30709a76f1ffSMark Brown  */
30719a76f1ffSMark Brown #define WM8962_EQL_B2_C_MASK                    0xFFFF  /* EQL_B2_C - [15:0] */
30729a76f1ffSMark Brown #define WM8962_EQL_B2_C_SHIFT                        0  /* EQL_B2_C - [15:0] */
30739a76f1ffSMark Brown #define WM8962_EQL_B2_C_WIDTH                       16  /* EQL_B2_C - [15:0] */
30749a76f1ffSMark Brown 
30759a76f1ffSMark Brown /*
30769a76f1ffSMark Brown  * R344 (0x158) - EQ10
30779a76f1ffSMark Brown  */
30789a76f1ffSMark Brown #define WM8962_EQL_B2_PG_MASK                   0xFFFF  /* EQL_B2_PG - [15:0] */
30799a76f1ffSMark Brown #define WM8962_EQL_B2_PG_SHIFT                       0  /* EQL_B2_PG - [15:0] */
30809a76f1ffSMark Brown #define WM8962_EQL_B2_PG_WIDTH                      16  /* EQL_B2_PG - [15:0] */
30819a76f1ffSMark Brown 
30829a76f1ffSMark Brown /*
30839a76f1ffSMark Brown  * R345 (0x159) - EQ11
30849a76f1ffSMark Brown  */
30859a76f1ffSMark Brown #define WM8962_EQL_B3_A_MASK                    0xFFFF  /* EQL_B3_A - [15:0] */
30869a76f1ffSMark Brown #define WM8962_EQL_B3_A_SHIFT                        0  /* EQL_B3_A - [15:0] */
30879a76f1ffSMark Brown #define WM8962_EQL_B3_A_WIDTH                       16  /* EQL_B3_A - [15:0] */
30889a76f1ffSMark Brown 
30899a76f1ffSMark Brown /*
30909a76f1ffSMark Brown  * R346 (0x15A) - EQ12
30919a76f1ffSMark Brown  */
30929a76f1ffSMark Brown #define WM8962_EQL_B3_B_MASK                    0xFFFF  /* EQL_B3_B - [15:0] */
30939a76f1ffSMark Brown #define WM8962_EQL_B3_B_SHIFT                        0  /* EQL_B3_B - [15:0] */
30949a76f1ffSMark Brown #define WM8962_EQL_B3_B_WIDTH                       16  /* EQL_B3_B - [15:0] */
30959a76f1ffSMark Brown 
30969a76f1ffSMark Brown /*
30979a76f1ffSMark Brown  * R347 (0x15B) - EQ13
30989a76f1ffSMark Brown  */
30999a76f1ffSMark Brown #define WM8962_EQL_B3_C_MASK                    0xFFFF  /* EQL_B3_C - [15:0] */
31009a76f1ffSMark Brown #define WM8962_EQL_B3_C_SHIFT                        0  /* EQL_B3_C - [15:0] */
31019a76f1ffSMark Brown #define WM8962_EQL_B3_C_WIDTH                       16  /* EQL_B3_C - [15:0] */
31029a76f1ffSMark Brown 
31039a76f1ffSMark Brown /*
31049a76f1ffSMark Brown  * R348 (0x15C) - EQ14
31059a76f1ffSMark Brown  */
31069a76f1ffSMark Brown #define WM8962_EQL_B3_PG_MASK                   0xFFFF  /* EQL_B3_PG - [15:0] */
31079a76f1ffSMark Brown #define WM8962_EQL_B3_PG_SHIFT                       0  /* EQL_B3_PG - [15:0] */
31089a76f1ffSMark Brown #define WM8962_EQL_B3_PG_WIDTH                      16  /* EQL_B3_PG - [15:0] */
31099a76f1ffSMark Brown 
31109a76f1ffSMark Brown /*
31119a76f1ffSMark Brown  * R349 (0x15D) - EQ15
31129a76f1ffSMark Brown  */
31139a76f1ffSMark Brown #define WM8962_EQL_B4_A_MASK                    0xFFFF  /* EQL_B4_A - [15:0] */
31149a76f1ffSMark Brown #define WM8962_EQL_B4_A_SHIFT                        0  /* EQL_B4_A - [15:0] */
31159a76f1ffSMark Brown #define WM8962_EQL_B4_A_WIDTH                       16  /* EQL_B4_A - [15:0] */
31169a76f1ffSMark Brown 
31179a76f1ffSMark Brown /*
31189a76f1ffSMark Brown  * R350 (0x15E) - EQ16
31199a76f1ffSMark Brown  */
31209a76f1ffSMark Brown #define WM8962_EQL_B4_B_MASK                    0xFFFF  /* EQL_B4_B - [15:0] */
31219a76f1ffSMark Brown #define WM8962_EQL_B4_B_SHIFT                        0  /* EQL_B4_B - [15:0] */
31229a76f1ffSMark Brown #define WM8962_EQL_B4_B_WIDTH                       16  /* EQL_B4_B - [15:0] */
31239a76f1ffSMark Brown 
31249a76f1ffSMark Brown /*
31259a76f1ffSMark Brown  * R351 (0x15F) - EQ17
31269a76f1ffSMark Brown  */
31279a76f1ffSMark Brown #define WM8962_EQL_B4_C_MASK                    0xFFFF  /* EQL_B4_C - [15:0] */
31289a76f1ffSMark Brown #define WM8962_EQL_B4_C_SHIFT                        0  /* EQL_B4_C - [15:0] */
31299a76f1ffSMark Brown #define WM8962_EQL_B4_C_WIDTH                       16  /* EQL_B4_C - [15:0] */
31309a76f1ffSMark Brown 
31319a76f1ffSMark Brown /*
31329a76f1ffSMark Brown  * R352 (0x160) - EQ18
31339a76f1ffSMark Brown  */
31349a76f1ffSMark Brown #define WM8962_EQL_B4_PG_MASK                   0xFFFF  /* EQL_B4_PG - [15:0] */
31359a76f1ffSMark Brown #define WM8962_EQL_B4_PG_SHIFT                       0  /* EQL_B4_PG - [15:0] */
31369a76f1ffSMark Brown #define WM8962_EQL_B4_PG_WIDTH                      16  /* EQL_B4_PG - [15:0] */
31379a76f1ffSMark Brown 
31389a76f1ffSMark Brown /*
31399a76f1ffSMark Brown  * R353 (0x161) - EQ19
31409a76f1ffSMark Brown  */
31419a76f1ffSMark Brown #define WM8962_EQL_B5_A_MASK                    0xFFFF  /* EQL_B5_A - [15:0] */
31429a76f1ffSMark Brown #define WM8962_EQL_B5_A_SHIFT                        0  /* EQL_B5_A - [15:0] */
31439a76f1ffSMark Brown #define WM8962_EQL_B5_A_WIDTH                       16  /* EQL_B5_A - [15:0] */
31449a76f1ffSMark Brown 
31459a76f1ffSMark Brown /*
31469a76f1ffSMark Brown  * R354 (0x162) - EQ20
31479a76f1ffSMark Brown  */
31489a76f1ffSMark Brown #define WM8962_EQL_B5_B_MASK                    0xFFFF  /* EQL_B5_B - [15:0] */
31499a76f1ffSMark Brown #define WM8962_EQL_B5_B_SHIFT                        0  /* EQL_B5_B - [15:0] */
31509a76f1ffSMark Brown #define WM8962_EQL_B5_B_WIDTH                       16  /* EQL_B5_B - [15:0] */
31519a76f1ffSMark Brown 
31529a76f1ffSMark Brown /*
31539a76f1ffSMark Brown  * R355 (0x163) - EQ21
31549a76f1ffSMark Brown  */
31559a76f1ffSMark Brown #define WM8962_EQL_B5_PG_MASK                   0xFFFF  /* EQL_B5_PG - [15:0] */
31569a76f1ffSMark Brown #define WM8962_EQL_B5_PG_SHIFT                       0  /* EQL_B5_PG - [15:0] */
31579a76f1ffSMark Brown #define WM8962_EQL_B5_PG_WIDTH                      16  /* EQL_B5_PG - [15:0] */
31589a76f1ffSMark Brown 
31599a76f1ffSMark Brown /*
31609a76f1ffSMark Brown  * R356 (0x164) - EQ22
31619a76f1ffSMark Brown  */
31629a76f1ffSMark Brown #define WM8962_EQR_B1_GAIN_MASK                 0xF800  /* EQR_B1_GAIN - [15:11] */
31639a76f1ffSMark Brown #define WM8962_EQR_B1_GAIN_SHIFT                    11  /* EQR_B1_GAIN - [15:11] */
31649a76f1ffSMark Brown #define WM8962_EQR_B1_GAIN_WIDTH                     5  /* EQR_B1_GAIN - [15:11] */
31659a76f1ffSMark Brown #define WM8962_EQR_B2_GAIN_MASK                 0x07C0  /* EQR_B2_GAIN - [10:6] */
31669a76f1ffSMark Brown #define WM8962_EQR_B2_GAIN_SHIFT                     6  /* EQR_B2_GAIN - [10:6] */
31679a76f1ffSMark Brown #define WM8962_EQR_B2_GAIN_WIDTH                     5  /* EQR_B2_GAIN - [10:6] */
31689a76f1ffSMark Brown #define WM8962_EQR_B3_GAIN_MASK                 0x003E  /* EQR_B3_GAIN - [5:1] */
31699a76f1ffSMark Brown #define WM8962_EQR_B3_GAIN_SHIFT                     1  /* EQR_B3_GAIN - [5:1] */
31709a76f1ffSMark Brown #define WM8962_EQR_B3_GAIN_WIDTH                     5  /* EQR_B3_GAIN - [5:1] */
31719a76f1ffSMark Brown 
31729a76f1ffSMark Brown /*
31739a76f1ffSMark Brown  * R357 (0x165) - EQ23
31749a76f1ffSMark Brown  */
31759a76f1ffSMark Brown #define WM8962_EQR_B4_GAIN_MASK                 0xF800  /* EQR_B4_GAIN - [15:11] */
31769a76f1ffSMark Brown #define WM8962_EQR_B4_GAIN_SHIFT                    11  /* EQR_B4_GAIN - [15:11] */
31779a76f1ffSMark Brown #define WM8962_EQR_B4_GAIN_WIDTH                     5  /* EQR_B4_GAIN - [15:11] */
31789a76f1ffSMark Brown #define WM8962_EQR_B5_GAIN_MASK                 0x07C0  /* EQR_B5_GAIN - [10:6] */
31799a76f1ffSMark Brown #define WM8962_EQR_B5_GAIN_SHIFT                     6  /* EQR_B5_GAIN - [10:6] */
31809a76f1ffSMark Brown #define WM8962_EQR_B5_GAIN_WIDTH                     5  /* EQR_B5_GAIN - [10:6] */
31819a76f1ffSMark Brown 
31829a76f1ffSMark Brown /*
31839a76f1ffSMark Brown  * R358 (0x166) - EQ24
31849a76f1ffSMark Brown  */
31859a76f1ffSMark Brown #define WM8962_EQR_B1_A_MASK                    0xFFFF  /* EQR_B1_A - [15:0] */
31869a76f1ffSMark Brown #define WM8962_EQR_B1_A_SHIFT                        0  /* EQR_B1_A - [15:0] */
31879a76f1ffSMark Brown #define WM8962_EQR_B1_A_WIDTH                       16  /* EQR_B1_A - [15:0] */
31889a76f1ffSMark Brown 
31899a76f1ffSMark Brown /*
31909a76f1ffSMark Brown  * R359 (0x167) - EQ25
31919a76f1ffSMark Brown  */
31929a76f1ffSMark Brown #define WM8962_EQR_B1_B_MASK                    0xFFFF  /* EQR_B1_B - [15:0] */
31939a76f1ffSMark Brown #define WM8962_EQR_B1_B_SHIFT                        0  /* EQR_B1_B - [15:0] */
31949a76f1ffSMark Brown #define WM8962_EQR_B1_B_WIDTH                       16  /* EQR_B1_B - [15:0] */
31959a76f1ffSMark Brown 
31969a76f1ffSMark Brown /*
31979a76f1ffSMark Brown  * R360 (0x168) - EQ26
31989a76f1ffSMark Brown  */
31999a76f1ffSMark Brown #define WM8962_EQR_B1_PG_MASK                   0xFFFF  /* EQR_B1_PG - [15:0] */
32009a76f1ffSMark Brown #define WM8962_EQR_B1_PG_SHIFT                       0  /* EQR_B1_PG - [15:0] */
32019a76f1ffSMark Brown #define WM8962_EQR_B1_PG_WIDTH                      16  /* EQR_B1_PG - [15:0] */
32029a76f1ffSMark Brown 
32039a76f1ffSMark Brown /*
32049a76f1ffSMark Brown  * R361 (0x169) - EQ27
32059a76f1ffSMark Brown  */
32069a76f1ffSMark Brown #define WM8962_EQR_B2_A_MASK                    0xFFFF  /* EQR_B2_A - [15:0] */
32079a76f1ffSMark Brown #define WM8962_EQR_B2_A_SHIFT                        0  /* EQR_B2_A - [15:0] */
32089a76f1ffSMark Brown #define WM8962_EQR_B2_A_WIDTH                       16  /* EQR_B2_A - [15:0] */
32099a76f1ffSMark Brown 
32109a76f1ffSMark Brown /*
32119a76f1ffSMark Brown  * R362 (0x16A) - EQ28
32129a76f1ffSMark Brown  */
32139a76f1ffSMark Brown #define WM8962_EQR_B2_B_MASK                    0xFFFF  /* EQR_B2_B - [15:0] */
32149a76f1ffSMark Brown #define WM8962_EQR_B2_B_SHIFT                        0  /* EQR_B2_B - [15:0] */
32159a76f1ffSMark Brown #define WM8962_EQR_B2_B_WIDTH                       16  /* EQR_B2_B - [15:0] */
32169a76f1ffSMark Brown 
32179a76f1ffSMark Brown /*
32189a76f1ffSMark Brown  * R363 (0x16B) - EQ29
32199a76f1ffSMark Brown  */
32209a76f1ffSMark Brown #define WM8962_EQR_B2_C_MASK                    0xFFFF  /* EQR_B2_C - [15:0] */
32219a76f1ffSMark Brown #define WM8962_EQR_B2_C_SHIFT                        0  /* EQR_B2_C - [15:0] */
32229a76f1ffSMark Brown #define WM8962_EQR_B2_C_WIDTH                       16  /* EQR_B2_C - [15:0] */
32239a76f1ffSMark Brown 
32249a76f1ffSMark Brown /*
32259a76f1ffSMark Brown  * R364 (0x16C) - EQ30
32269a76f1ffSMark Brown  */
32279a76f1ffSMark Brown #define WM8962_EQR_B2_PG_MASK                   0xFFFF  /* EQR_B2_PG - [15:0] */
32289a76f1ffSMark Brown #define WM8962_EQR_B2_PG_SHIFT                       0  /* EQR_B2_PG - [15:0] */
32299a76f1ffSMark Brown #define WM8962_EQR_B2_PG_WIDTH                      16  /* EQR_B2_PG - [15:0] */
32309a76f1ffSMark Brown 
32319a76f1ffSMark Brown /*
32329a76f1ffSMark Brown  * R365 (0x16D) - EQ31
32339a76f1ffSMark Brown  */
32349a76f1ffSMark Brown #define WM8962_EQR_B3_A_MASK                    0xFFFF  /* EQR_B3_A - [15:0] */
32359a76f1ffSMark Brown #define WM8962_EQR_B3_A_SHIFT                        0  /* EQR_B3_A - [15:0] */
32369a76f1ffSMark Brown #define WM8962_EQR_B3_A_WIDTH                       16  /* EQR_B3_A - [15:0] */
32379a76f1ffSMark Brown 
32389a76f1ffSMark Brown /*
32399a76f1ffSMark Brown  * R366 (0x16E) - EQ32
32409a76f1ffSMark Brown  */
32419a76f1ffSMark Brown #define WM8962_EQR_B3_B_MASK                    0xFFFF  /* EQR_B3_B - [15:0] */
32429a76f1ffSMark Brown #define WM8962_EQR_B3_B_SHIFT                        0  /* EQR_B3_B - [15:0] */
32439a76f1ffSMark Brown #define WM8962_EQR_B3_B_WIDTH                       16  /* EQR_B3_B - [15:0] */
32449a76f1ffSMark Brown 
32459a76f1ffSMark Brown /*
32469a76f1ffSMark Brown  * R367 (0x16F) - EQ33
32479a76f1ffSMark Brown  */
32489a76f1ffSMark Brown #define WM8962_EQR_B3_C_MASK                    0xFFFF  /* EQR_B3_C - [15:0] */
32499a76f1ffSMark Brown #define WM8962_EQR_B3_C_SHIFT                        0  /* EQR_B3_C - [15:0] */
32509a76f1ffSMark Brown #define WM8962_EQR_B3_C_WIDTH                       16  /* EQR_B3_C - [15:0] */
32519a76f1ffSMark Brown 
32529a76f1ffSMark Brown /*
32539a76f1ffSMark Brown  * R368 (0x170) - EQ34
32549a76f1ffSMark Brown  */
32559a76f1ffSMark Brown #define WM8962_EQR_B3_PG_MASK                   0xFFFF  /* EQR_B3_PG - [15:0] */
32569a76f1ffSMark Brown #define WM8962_EQR_B3_PG_SHIFT                       0  /* EQR_B3_PG - [15:0] */
32579a76f1ffSMark Brown #define WM8962_EQR_B3_PG_WIDTH                      16  /* EQR_B3_PG - [15:0] */
32589a76f1ffSMark Brown 
32599a76f1ffSMark Brown /*
32609a76f1ffSMark Brown  * R369 (0x171) - EQ35
32619a76f1ffSMark Brown  */
32629a76f1ffSMark Brown #define WM8962_EQR_B4_A_MASK                    0xFFFF  /* EQR_B4_A - [15:0] */
32639a76f1ffSMark Brown #define WM8962_EQR_B4_A_SHIFT                        0  /* EQR_B4_A - [15:0] */
32649a76f1ffSMark Brown #define WM8962_EQR_B4_A_WIDTH                       16  /* EQR_B4_A - [15:0] */
32659a76f1ffSMark Brown 
32669a76f1ffSMark Brown /*
32679a76f1ffSMark Brown  * R370 (0x172) - EQ36
32689a76f1ffSMark Brown  */
32699a76f1ffSMark Brown #define WM8962_EQR_B4_B_MASK                    0xFFFF  /* EQR_B4_B - [15:0] */
32709a76f1ffSMark Brown #define WM8962_EQR_B4_B_SHIFT                        0  /* EQR_B4_B - [15:0] */
32719a76f1ffSMark Brown #define WM8962_EQR_B4_B_WIDTH                       16  /* EQR_B4_B - [15:0] */
32729a76f1ffSMark Brown 
32739a76f1ffSMark Brown /*
32749a76f1ffSMark Brown  * R371 (0x173) - EQ37
32759a76f1ffSMark Brown  */
32769a76f1ffSMark Brown #define WM8962_EQR_B4_C_MASK                    0xFFFF  /* EQR_B4_C - [15:0] */
32779a76f1ffSMark Brown #define WM8962_EQR_B4_C_SHIFT                        0  /* EQR_B4_C - [15:0] */
32789a76f1ffSMark Brown #define WM8962_EQR_B4_C_WIDTH                       16  /* EQR_B4_C - [15:0] */
32799a76f1ffSMark Brown 
32809a76f1ffSMark Brown /*
32819a76f1ffSMark Brown  * R372 (0x174) - EQ38
32829a76f1ffSMark Brown  */
32839a76f1ffSMark Brown #define WM8962_EQR_B4_PG_MASK                   0xFFFF  /* EQR_B4_PG - [15:0] */
32849a76f1ffSMark Brown #define WM8962_EQR_B4_PG_SHIFT                       0  /* EQR_B4_PG - [15:0] */
32859a76f1ffSMark Brown #define WM8962_EQR_B4_PG_WIDTH                      16  /* EQR_B4_PG - [15:0] */
32869a76f1ffSMark Brown 
32879a76f1ffSMark Brown /*
32889a76f1ffSMark Brown  * R373 (0x175) - EQ39
32899a76f1ffSMark Brown  */
32909a76f1ffSMark Brown #define WM8962_EQR_B5_A_MASK                    0xFFFF  /* EQR_B5_A - [15:0] */
32919a76f1ffSMark Brown #define WM8962_EQR_B5_A_SHIFT                        0  /* EQR_B5_A - [15:0] */
32929a76f1ffSMark Brown #define WM8962_EQR_B5_A_WIDTH                       16  /* EQR_B5_A - [15:0] */
32939a76f1ffSMark Brown 
32949a76f1ffSMark Brown /*
32959a76f1ffSMark Brown  * R374 (0x176) - EQ40
32969a76f1ffSMark Brown  */
32979a76f1ffSMark Brown #define WM8962_EQR_B5_B_MASK                    0xFFFF  /* EQR_B5_B - [15:0] */
32989a76f1ffSMark Brown #define WM8962_EQR_B5_B_SHIFT                        0  /* EQR_B5_B - [15:0] */
32999a76f1ffSMark Brown #define WM8962_EQR_B5_B_WIDTH                       16  /* EQR_B5_B - [15:0] */
33009a76f1ffSMark Brown 
33019a76f1ffSMark Brown /*
33029a76f1ffSMark Brown  * R375 (0x177) - EQ41
33039a76f1ffSMark Brown  */
33049a76f1ffSMark Brown #define WM8962_EQR_B5_PG_MASK                   0xFFFF  /* EQR_B5_PG - [15:0] */
33059a76f1ffSMark Brown #define WM8962_EQR_B5_PG_SHIFT                       0  /* EQR_B5_PG - [15:0] */
33069a76f1ffSMark Brown #define WM8962_EQR_B5_PG_WIDTH                      16  /* EQR_B5_PG - [15:0] */
33079a76f1ffSMark Brown 
33089a76f1ffSMark Brown /*
33099a76f1ffSMark Brown  * R513 (0x201) - GPIO 2
33109a76f1ffSMark Brown  */
33119a76f1ffSMark Brown #define WM8962_GP2_POL                          0x0400  /* GP2_POL */
33129a76f1ffSMark Brown #define WM8962_GP2_POL_MASK                     0x0400  /* GP2_POL */
33139a76f1ffSMark Brown #define WM8962_GP2_POL_SHIFT                        10  /* GP2_POL */
33149a76f1ffSMark Brown #define WM8962_GP2_POL_WIDTH                         1  /* GP2_POL */
33159a76f1ffSMark Brown #define WM8962_GP2_LVL                          0x0040  /* GP2_LVL */
33169a76f1ffSMark Brown #define WM8962_GP2_LVL_MASK                     0x0040  /* GP2_LVL */
33179a76f1ffSMark Brown #define WM8962_GP2_LVL_SHIFT                         6  /* GP2_LVL */
33189a76f1ffSMark Brown #define WM8962_GP2_LVL_WIDTH                         1  /* GP2_LVL */
33199a76f1ffSMark Brown #define WM8962_GP2_FN_MASK                      0x001F  /* GP2_FN - [4:0] */
33209a76f1ffSMark Brown #define WM8962_GP2_FN_SHIFT                          0  /* GP2_FN - [4:0] */
33219a76f1ffSMark Brown #define WM8962_GP2_FN_WIDTH                          5  /* GP2_FN - [4:0] */
33229a76f1ffSMark Brown 
33239a76f1ffSMark Brown /*
33249a76f1ffSMark Brown  * R514 (0x202) - GPIO 3
33259a76f1ffSMark Brown  */
33269a76f1ffSMark Brown #define WM8962_GP3_POL                          0x0400  /* GP3_POL */
33279a76f1ffSMark Brown #define WM8962_GP3_POL_MASK                     0x0400  /* GP3_POL */
33289a76f1ffSMark Brown #define WM8962_GP3_POL_SHIFT                        10  /* GP3_POL */
33299a76f1ffSMark Brown #define WM8962_GP3_POL_WIDTH                         1  /* GP3_POL */
33309a76f1ffSMark Brown #define WM8962_GP3_LVL                          0x0040  /* GP3_LVL */
33319a76f1ffSMark Brown #define WM8962_GP3_LVL_MASK                     0x0040  /* GP3_LVL */
33329a76f1ffSMark Brown #define WM8962_GP3_LVL_SHIFT                         6  /* GP3_LVL */
33339a76f1ffSMark Brown #define WM8962_GP3_LVL_WIDTH                         1  /* GP3_LVL */
33349a76f1ffSMark Brown #define WM8962_GP3_FN_MASK                      0x001F  /* GP3_FN - [4:0] */
33359a76f1ffSMark Brown #define WM8962_GP3_FN_SHIFT                          0  /* GP3_FN - [4:0] */
33369a76f1ffSMark Brown #define WM8962_GP3_FN_WIDTH                          5  /* GP3_FN - [4:0] */
33379a76f1ffSMark Brown 
33389a76f1ffSMark Brown /*
33399a76f1ffSMark Brown  * R516 (0x204) - GPIO 5
33409a76f1ffSMark Brown  */
33419a76f1ffSMark Brown #define WM8962_GP5_DIR                          0x8000  /* GP5_DIR */
33429a76f1ffSMark Brown #define WM8962_GP5_DIR_MASK                     0x8000  /* GP5_DIR */
33439a76f1ffSMark Brown #define WM8962_GP5_DIR_SHIFT                        15  /* GP5_DIR */
33449a76f1ffSMark Brown #define WM8962_GP5_DIR_WIDTH                         1  /* GP5_DIR */
33459a76f1ffSMark Brown #define WM8962_GP5_PU                           0x4000  /* GP5_PU */
33469a76f1ffSMark Brown #define WM8962_GP5_PU_MASK                      0x4000  /* GP5_PU */
33479a76f1ffSMark Brown #define WM8962_GP5_PU_SHIFT                         14  /* GP5_PU */
33489a76f1ffSMark Brown #define WM8962_GP5_PU_WIDTH                          1  /* GP5_PU */
33499a76f1ffSMark Brown #define WM8962_GP5_PD                           0x2000  /* GP5_PD */
33509a76f1ffSMark Brown #define WM8962_GP5_PD_MASK                      0x2000  /* GP5_PD */
33519a76f1ffSMark Brown #define WM8962_GP5_PD_SHIFT                         13  /* GP5_PD */
33529a76f1ffSMark Brown #define WM8962_GP5_PD_WIDTH                          1  /* GP5_PD */
33539a76f1ffSMark Brown #define WM8962_GP5_POL                          0x0400  /* GP5_POL */
33549a76f1ffSMark Brown #define WM8962_GP5_POL_MASK                     0x0400  /* GP5_POL */
33559a76f1ffSMark Brown #define WM8962_GP5_POL_SHIFT                        10  /* GP5_POL */
33569a76f1ffSMark Brown #define WM8962_GP5_POL_WIDTH                         1  /* GP5_POL */
33579a76f1ffSMark Brown #define WM8962_GP5_OP_CFG                       0x0200  /* GP5_OP_CFG */
33589a76f1ffSMark Brown #define WM8962_GP5_OP_CFG_MASK                  0x0200  /* GP5_OP_CFG */
33599a76f1ffSMark Brown #define WM8962_GP5_OP_CFG_SHIFT                      9  /* GP5_OP_CFG */
33609a76f1ffSMark Brown #define WM8962_GP5_OP_CFG_WIDTH                      1  /* GP5_OP_CFG */
33619a76f1ffSMark Brown #define WM8962_GP5_DB                           0x0100  /* GP5_DB */
33629a76f1ffSMark Brown #define WM8962_GP5_DB_MASK                      0x0100  /* GP5_DB */
33639a76f1ffSMark Brown #define WM8962_GP5_DB_SHIFT                          8  /* GP5_DB */
33649a76f1ffSMark Brown #define WM8962_GP5_DB_WIDTH                          1  /* GP5_DB */
33659a76f1ffSMark Brown #define WM8962_GP5_LVL                          0x0040  /* GP5_LVL */
33669a76f1ffSMark Brown #define WM8962_GP5_LVL_MASK                     0x0040  /* GP5_LVL */
33679a76f1ffSMark Brown #define WM8962_GP5_LVL_SHIFT                         6  /* GP5_LVL */
33689a76f1ffSMark Brown #define WM8962_GP5_LVL_WIDTH                         1  /* GP5_LVL */
33699a76f1ffSMark Brown #define WM8962_GP5_FN_MASK                      0x001F  /* GP5_FN - [4:0] */
33709a76f1ffSMark Brown #define WM8962_GP5_FN_SHIFT                          0  /* GP5_FN - [4:0] */
33719a76f1ffSMark Brown #define WM8962_GP5_FN_WIDTH                          5  /* GP5_FN - [4:0] */
33729a76f1ffSMark Brown 
33739a76f1ffSMark Brown /*
33749a76f1ffSMark Brown  * R517 (0x205) - GPIO 6
33759a76f1ffSMark Brown  */
33769a76f1ffSMark Brown #define WM8962_GP6_DIR                          0x8000  /* GP6_DIR */
33779a76f1ffSMark Brown #define WM8962_GP6_DIR_MASK                     0x8000  /* GP6_DIR */
33789a76f1ffSMark Brown #define WM8962_GP6_DIR_SHIFT                        15  /* GP6_DIR */
33799a76f1ffSMark Brown #define WM8962_GP6_DIR_WIDTH                         1  /* GP6_DIR */
33809a76f1ffSMark Brown #define WM8962_GP6_PU                           0x4000  /* GP6_PU */
33819a76f1ffSMark Brown #define WM8962_GP6_PU_MASK                      0x4000  /* GP6_PU */
33829a76f1ffSMark Brown #define WM8962_GP6_PU_SHIFT                         14  /* GP6_PU */
33839a76f1ffSMark Brown #define WM8962_GP6_PU_WIDTH                          1  /* GP6_PU */
33849a76f1ffSMark Brown #define WM8962_GP6_PD                           0x2000  /* GP6_PD */
33859a76f1ffSMark Brown #define WM8962_GP6_PD_MASK                      0x2000  /* GP6_PD */
33869a76f1ffSMark Brown #define WM8962_GP6_PD_SHIFT                         13  /* GP6_PD */
33879a76f1ffSMark Brown #define WM8962_GP6_PD_WIDTH                          1  /* GP6_PD */
33889a76f1ffSMark Brown #define WM8962_GP6_POL                          0x0400  /* GP6_POL */
33899a76f1ffSMark Brown #define WM8962_GP6_POL_MASK                     0x0400  /* GP6_POL */
33909a76f1ffSMark Brown #define WM8962_GP6_POL_SHIFT                        10  /* GP6_POL */
33919a76f1ffSMark Brown #define WM8962_GP6_POL_WIDTH                         1  /* GP6_POL */
33929a76f1ffSMark Brown #define WM8962_GP6_OP_CFG                       0x0200  /* GP6_OP_CFG */
33939a76f1ffSMark Brown #define WM8962_GP6_OP_CFG_MASK                  0x0200  /* GP6_OP_CFG */
33949a76f1ffSMark Brown #define WM8962_GP6_OP_CFG_SHIFT                      9  /* GP6_OP_CFG */
33959a76f1ffSMark Brown #define WM8962_GP6_OP_CFG_WIDTH                      1  /* GP6_OP_CFG */
33969a76f1ffSMark Brown #define WM8962_GP6_DB                           0x0100  /* GP6_DB */
33979a76f1ffSMark Brown #define WM8962_GP6_DB_MASK                      0x0100  /* GP6_DB */
33989a76f1ffSMark Brown #define WM8962_GP6_DB_SHIFT                          8  /* GP6_DB */
33999a76f1ffSMark Brown #define WM8962_GP6_DB_WIDTH                          1  /* GP6_DB */
34009a76f1ffSMark Brown #define WM8962_GP6_LVL                          0x0040  /* GP6_LVL */
34019a76f1ffSMark Brown #define WM8962_GP6_LVL_MASK                     0x0040  /* GP6_LVL */
34029a76f1ffSMark Brown #define WM8962_GP6_LVL_SHIFT                         6  /* GP6_LVL */
34039a76f1ffSMark Brown #define WM8962_GP6_LVL_WIDTH                         1  /* GP6_LVL */
34049a76f1ffSMark Brown #define WM8962_GP6_FN_MASK                      0x001F  /* GP6_FN - [4:0] */
34059a76f1ffSMark Brown #define WM8962_GP6_FN_SHIFT                          0  /* GP6_FN - [4:0] */
34069a76f1ffSMark Brown #define WM8962_GP6_FN_WIDTH                          5  /* GP6_FN - [4:0] */
34079a76f1ffSMark Brown 
34089a76f1ffSMark Brown /*
34099a76f1ffSMark Brown  * R560 (0x230) - Interrupt Status 1
34109a76f1ffSMark Brown  */
34119a76f1ffSMark Brown #define WM8962_GP6_EINT                         0x0020  /* GP6_EINT */
34129a76f1ffSMark Brown #define WM8962_GP6_EINT_MASK                    0x0020  /* GP6_EINT */
34139a76f1ffSMark Brown #define WM8962_GP6_EINT_SHIFT                        5  /* GP6_EINT */
34149a76f1ffSMark Brown #define WM8962_GP6_EINT_WIDTH                        1  /* GP6_EINT */
34159a76f1ffSMark Brown #define WM8962_GP5_EINT                         0x0010  /* GP5_EINT */
34169a76f1ffSMark Brown #define WM8962_GP5_EINT_MASK                    0x0010  /* GP5_EINT */
34179a76f1ffSMark Brown #define WM8962_GP5_EINT_SHIFT                        4  /* GP5_EINT */
34189a76f1ffSMark Brown #define WM8962_GP5_EINT_WIDTH                        1  /* GP5_EINT */
34199a76f1ffSMark Brown 
34209a76f1ffSMark Brown /*
34219a76f1ffSMark Brown  * R561 (0x231) - Interrupt Status 2
34229a76f1ffSMark Brown  */
34239a76f1ffSMark Brown #define WM8962_MICSCD_EINT                      0x8000  /* MICSCD_EINT */
34249a76f1ffSMark Brown #define WM8962_MICSCD_EINT_MASK                 0x8000  /* MICSCD_EINT */
34259a76f1ffSMark Brown #define WM8962_MICSCD_EINT_SHIFT                    15  /* MICSCD_EINT */
34269a76f1ffSMark Brown #define WM8962_MICSCD_EINT_WIDTH                     1  /* MICSCD_EINT */
34279a76f1ffSMark Brown #define WM8962_MICD_EINT                        0x4000  /* MICD_EINT */
34289a76f1ffSMark Brown #define WM8962_MICD_EINT_MASK                   0x4000  /* MICD_EINT */
34299a76f1ffSMark Brown #define WM8962_MICD_EINT_SHIFT                      14  /* MICD_EINT */
34309a76f1ffSMark Brown #define WM8962_MICD_EINT_WIDTH                       1  /* MICD_EINT */
34319a76f1ffSMark Brown #define WM8962_FIFOS_ERR_EINT                   0x2000  /* FIFOS_ERR_EINT */
34329a76f1ffSMark Brown #define WM8962_FIFOS_ERR_EINT_MASK              0x2000  /* FIFOS_ERR_EINT */
34339a76f1ffSMark Brown #define WM8962_FIFOS_ERR_EINT_SHIFT                 13  /* FIFOS_ERR_EINT */
34349a76f1ffSMark Brown #define WM8962_FIFOS_ERR_EINT_WIDTH                  1  /* FIFOS_ERR_EINT */
34359a76f1ffSMark Brown #define WM8962_ALC_LOCK_EINT                    0x1000  /* ALC_LOCK_EINT */
34369a76f1ffSMark Brown #define WM8962_ALC_LOCK_EINT_MASK               0x1000  /* ALC_LOCK_EINT */
34379a76f1ffSMark Brown #define WM8962_ALC_LOCK_EINT_SHIFT                  12  /* ALC_LOCK_EINT */
34389a76f1ffSMark Brown #define WM8962_ALC_LOCK_EINT_WIDTH                   1  /* ALC_LOCK_EINT */
34399a76f1ffSMark Brown #define WM8962_ALC_THRESH_EINT                  0x0800  /* ALC_THRESH_EINT */
34409a76f1ffSMark Brown #define WM8962_ALC_THRESH_EINT_MASK             0x0800  /* ALC_THRESH_EINT */
34419a76f1ffSMark Brown #define WM8962_ALC_THRESH_EINT_SHIFT                11  /* ALC_THRESH_EINT */
34429a76f1ffSMark Brown #define WM8962_ALC_THRESH_EINT_WIDTH                 1  /* ALC_THRESH_EINT */
34439a76f1ffSMark Brown #define WM8962_ALC_SAT_EINT                     0x0400  /* ALC_SAT_EINT */
34449a76f1ffSMark Brown #define WM8962_ALC_SAT_EINT_MASK                0x0400  /* ALC_SAT_EINT */
34459a76f1ffSMark Brown #define WM8962_ALC_SAT_EINT_SHIFT                   10  /* ALC_SAT_EINT */
34469a76f1ffSMark Brown #define WM8962_ALC_SAT_EINT_WIDTH                    1  /* ALC_SAT_EINT */
34479a76f1ffSMark Brown #define WM8962_ALC_PKOVR_EINT                   0x0200  /* ALC_PKOVR_EINT */
34489a76f1ffSMark Brown #define WM8962_ALC_PKOVR_EINT_MASK              0x0200  /* ALC_PKOVR_EINT */
34499a76f1ffSMark Brown #define WM8962_ALC_PKOVR_EINT_SHIFT                  9  /* ALC_PKOVR_EINT */
34509a76f1ffSMark Brown #define WM8962_ALC_PKOVR_EINT_WIDTH                  1  /* ALC_PKOVR_EINT */
34519a76f1ffSMark Brown #define WM8962_ALC_NGATE_EINT                   0x0100  /* ALC_NGATE_EINT */
34529a76f1ffSMark Brown #define WM8962_ALC_NGATE_EINT_MASK              0x0100  /* ALC_NGATE_EINT */
34539a76f1ffSMark Brown #define WM8962_ALC_NGATE_EINT_SHIFT                  8  /* ALC_NGATE_EINT */
34549a76f1ffSMark Brown #define WM8962_ALC_NGATE_EINT_WIDTH                  1  /* ALC_NGATE_EINT */
34559a76f1ffSMark Brown #define WM8962_WSEQ_DONE_EINT                   0x0080  /* WSEQ_DONE_EINT */
34569a76f1ffSMark Brown #define WM8962_WSEQ_DONE_EINT_MASK              0x0080  /* WSEQ_DONE_EINT */
34579a76f1ffSMark Brown #define WM8962_WSEQ_DONE_EINT_SHIFT                  7  /* WSEQ_DONE_EINT */
34589a76f1ffSMark Brown #define WM8962_WSEQ_DONE_EINT_WIDTH                  1  /* WSEQ_DONE_EINT */
34599a76f1ffSMark Brown #define WM8962_DRC_ACTDET_EINT                  0x0040  /* DRC_ACTDET_EINT */
34609a76f1ffSMark Brown #define WM8962_DRC_ACTDET_EINT_MASK             0x0040  /* DRC_ACTDET_EINT */
34619a76f1ffSMark Brown #define WM8962_DRC_ACTDET_EINT_SHIFT                 6  /* DRC_ACTDET_EINT */
34629a76f1ffSMark Brown #define WM8962_DRC_ACTDET_EINT_WIDTH                 1  /* DRC_ACTDET_EINT */
34639a76f1ffSMark Brown #define WM8962_FLL_LOCK_EINT                    0x0020  /* FLL_LOCK_EINT */
34649a76f1ffSMark Brown #define WM8962_FLL_LOCK_EINT_MASK               0x0020  /* FLL_LOCK_EINT */
34659a76f1ffSMark Brown #define WM8962_FLL_LOCK_EINT_SHIFT                   5  /* FLL_LOCK_EINT */
34669a76f1ffSMark Brown #define WM8962_FLL_LOCK_EINT_WIDTH                   1  /* FLL_LOCK_EINT */
34679a76f1ffSMark Brown #define WM8962_PLL3_LOCK_EINT                   0x0008  /* PLL3_LOCK_EINT */
34689a76f1ffSMark Brown #define WM8962_PLL3_LOCK_EINT_MASK              0x0008  /* PLL3_LOCK_EINT */
34699a76f1ffSMark Brown #define WM8962_PLL3_LOCK_EINT_SHIFT                  3  /* PLL3_LOCK_EINT */
34709a76f1ffSMark Brown #define WM8962_PLL3_LOCK_EINT_WIDTH                  1  /* PLL3_LOCK_EINT */
34719a76f1ffSMark Brown #define WM8962_PLL2_LOCK_EINT                   0x0004  /* PLL2_LOCK_EINT */
34729a76f1ffSMark Brown #define WM8962_PLL2_LOCK_EINT_MASK              0x0004  /* PLL2_LOCK_EINT */
34739a76f1ffSMark Brown #define WM8962_PLL2_LOCK_EINT_SHIFT                  2  /* PLL2_LOCK_EINT */
34749a76f1ffSMark Brown #define WM8962_PLL2_LOCK_EINT_WIDTH                  1  /* PLL2_LOCK_EINT */
34759a76f1ffSMark Brown #define WM8962_TEMP_SHUT_EINT                   0x0001  /* TEMP_SHUT_EINT */
34769a76f1ffSMark Brown #define WM8962_TEMP_SHUT_EINT_MASK              0x0001  /* TEMP_SHUT_EINT */
34779a76f1ffSMark Brown #define WM8962_TEMP_SHUT_EINT_SHIFT                  0  /* TEMP_SHUT_EINT */
34789a76f1ffSMark Brown #define WM8962_TEMP_SHUT_EINT_WIDTH                  1  /* TEMP_SHUT_EINT */
34799a76f1ffSMark Brown 
34809a76f1ffSMark Brown /*
34819a76f1ffSMark Brown  * R568 (0x238) - Interrupt Status 1 Mask
34829a76f1ffSMark Brown  */
34839a76f1ffSMark Brown #define WM8962_IM_GP6_EINT                      0x0020  /* IM_GP6_EINT */
34849a76f1ffSMark Brown #define WM8962_IM_GP6_EINT_MASK                 0x0020  /* IM_GP6_EINT */
34859a76f1ffSMark Brown #define WM8962_IM_GP6_EINT_SHIFT                     5  /* IM_GP6_EINT */
34869a76f1ffSMark Brown #define WM8962_IM_GP6_EINT_WIDTH                     1  /* IM_GP6_EINT */
34879a76f1ffSMark Brown #define WM8962_IM_GP5_EINT                      0x0010  /* IM_GP5_EINT */
34889a76f1ffSMark Brown #define WM8962_IM_GP5_EINT_MASK                 0x0010  /* IM_GP5_EINT */
34899a76f1ffSMark Brown #define WM8962_IM_GP5_EINT_SHIFT                     4  /* IM_GP5_EINT */
34909a76f1ffSMark Brown #define WM8962_IM_GP5_EINT_WIDTH                     1  /* IM_GP5_EINT */
34919a76f1ffSMark Brown 
34929a76f1ffSMark Brown /*
34939a76f1ffSMark Brown  * R569 (0x239) - Interrupt Status 2 Mask
34949a76f1ffSMark Brown  */
34959a76f1ffSMark Brown #define WM8962_IM_MICSCD_EINT                   0x8000  /* IM_MICSCD_EINT */
34969a76f1ffSMark Brown #define WM8962_IM_MICSCD_EINT_MASK              0x8000  /* IM_MICSCD_EINT */
34979a76f1ffSMark Brown #define WM8962_IM_MICSCD_EINT_SHIFT                 15  /* IM_MICSCD_EINT */
34989a76f1ffSMark Brown #define WM8962_IM_MICSCD_EINT_WIDTH                  1  /* IM_MICSCD_EINT */
34999a76f1ffSMark Brown #define WM8962_IM_MICD_EINT                     0x4000  /* IM_MICD_EINT */
35009a76f1ffSMark Brown #define WM8962_IM_MICD_EINT_MASK                0x4000  /* IM_MICD_EINT */
35019a76f1ffSMark Brown #define WM8962_IM_MICD_EINT_SHIFT                   14  /* IM_MICD_EINT */
35029a76f1ffSMark Brown #define WM8962_IM_MICD_EINT_WIDTH                    1  /* IM_MICD_EINT */
35039a76f1ffSMark Brown #define WM8962_IM_FIFOS_ERR_EINT                0x2000  /* IM_FIFOS_ERR_EINT */
35049a76f1ffSMark Brown #define WM8962_IM_FIFOS_ERR_EINT_MASK           0x2000  /* IM_FIFOS_ERR_EINT */
35059a76f1ffSMark Brown #define WM8962_IM_FIFOS_ERR_EINT_SHIFT              13  /* IM_FIFOS_ERR_EINT */
35069a76f1ffSMark Brown #define WM8962_IM_FIFOS_ERR_EINT_WIDTH               1  /* IM_FIFOS_ERR_EINT */
35079a76f1ffSMark Brown #define WM8962_IM_ALC_LOCK_EINT                 0x1000  /* IM_ALC_LOCK_EINT */
35089a76f1ffSMark Brown #define WM8962_IM_ALC_LOCK_EINT_MASK            0x1000  /* IM_ALC_LOCK_EINT */
35099a76f1ffSMark Brown #define WM8962_IM_ALC_LOCK_EINT_SHIFT               12  /* IM_ALC_LOCK_EINT */
35109a76f1ffSMark Brown #define WM8962_IM_ALC_LOCK_EINT_WIDTH                1  /* IM_ALC_LOCK_EINT */
35119a76f1ffSMark Brown #define WM8962_IM_ALC_THRESH_EINT               0x0800  /* IM_ALC_THRESH_EINT */
35129a76f1ffSMark Brown #define WM8962_IM_ALC_THRESH_EINT_MASK          0x0800  /* IM_ALC_THRESH_EINT */
35139a76f1ffSMark Brown #define WM8962_IM_ALC_THRESH_EINT_SHIFT             11  /* IM_ALC_THRESH_EINT */
35149a76f1ffSMark Brown #define WM8962_IM_ALC_THRESH_EINT_WIDTH              1  /* IM_ALC_THRESH_EINT */
35159a76f1ffSMark Brown #define WM8962_IM_ALC_SAT_EINT                  0x0400  /* IM_ALC_SAT_EINT */
35169a76f1ffSMark Brown #define WM8962_IM_ALC_SAT_EINT_MASK             0x0400  /* IM_ALC_SAT_EINT */
35179a76f1ffSMark Brown #define WM8962_IM_ALC_SAT_EINT_SHIFT                10  /* IM_ALC_SAT_EINT */
35189a76f1ffSMark Brown #define WM8962_IM_ALC_SAT_EINT_WIDTH                 1  /* IM_ALC_SAT_EINT */
35199a76f1ffSMark Brown #define WM8962_IM_ALC_PKOVR_EINT                0x0200  /* IM_ALC_PKOVR_EINT */
35209a76f1ffSMark Brown #define WM8962_IM_ALC_PKOVR_EINT_MASK           0x0200  /* IM_ALC_PKOVR_EINT */
35219a76f1ffSMark Brown #define WM8962_IM_ALC_PKOVR_EINT_SHIFT               9  /* IM_ALC_PKOVR_EINT */
35229a76f1ffSMark Brown #define WM8962_IM_ALC_PKOVR_EINT_WIDTH               1  /* IM_ALC_PKOVR_EINT */
35239a76f1ffSMark Brown #define WM8962_IM_ALC_NGATE_EINT                0x0100  /* IM_ALC_NGATE_EINT */
35249a76f1ffSMark Brown #define WM8962_IM_ALC_NGATE_EINT_MASK           0x0100  /* IM_ALC_NGATE_EINT */
35259a76f1ffSMark Brown #define WM8962_IM_ALC_NGATE_EINT_SHIFT               8  /* IM_ALC_NGATE_EINT */
35269a76f1ffSMark Brown #define WM8962_IM_ALC_NGATE_EINT_WIDTH               1  /* IM_ALC_NGATE_EINT */
35279a76f1ffSMark Brown #define WM8962_IM_WSEQ_DONE_EINT                0x0080  /* IM_WSEQ_DONE_EINT */
35289a76f1ffSMark Brown #define WM8962_IM_WSEQ_DONE_EINT_MASK           0x0080  /* IM_WSEQ_DONE_EINT */
35299a76f1ffSMark Brown #define WM8962_IM_WSEQ_DONE_EINT_SHIFT               7  /* IM_WSEQ_DONE_EINT */
35309a76f1ffSMark Brown #define WM8962_IM_WSEQ_DONE_EINT_WIDTH               1  /* IM_WSEQ_DONE_EINT */
35319a76f1ffSMark Brown #define WM8962_IM_DRC_ACTDET_EINT               0x0040  /* IM_DRC_ACTDET_EINT */
35329a76f1ffSMark Brown #define WM8962_IM_DRC_ACTDET_EINT_MASK          0x0040  /* IM_DRC_ACTDET_EINT */
35339a76f1ffSMark Brown #define WM8962_IM_DRC_ACTDET_EINT_SHIFT              6  /* IM_DRC_ACTDET_EINT */
35349a76f1ffSMark Brown #define WM8962_IM_DRC_ACTDET_EINT_WIDTH              1  /* IM_DRC_ACTDET_EINT */
35359a76f1ffSMark Brown #define WM8962_IM_FLL_LOCK_EINT                 0x0020  /* IM_FLL_LOCK_EINT */
35369a76f1ffSMark Brown #define WM8962_IM_FLL_LOCK_EINT_MASK            0x0020  /* IM_FLL_LOCK_EINT */
35379a76f1ffSMark Brown #define WM8962_IM_FLL_LOCK_EINT_SHIFT                5  /* IM_FLL_LOCK_EINT */
35389a76f1ffSMark Brown #define WM8962_IM_FLL_LOCK_EINT_WIDTH                1  /* IM_FLL_LOCK_EINT */
35399a76f1ffSMark Brown #define WM8962_IM_PLL3_LOCK_EINT                0x0008  /* IM_PLL3_LOCK_EINT */
35409a76f1ffSMark Brown #define WM8962_IM_PLL3_LOCK_EINT_MASK           0x0008  /* IM_PLL3_LOCK_EINT */
35419a76f1ffSMark Brown #define WM8962_IM_PLL3_LOCK_EINT_SHIFT               3  /* IM_PLL3_LOCK_EINT */
35429a76f1ffSMark Brown #define WM8962_IM_PLL3_LOCK_EINT_WIDTH               1  /* IM_PLL3_LOCK_EINT */
35439a76f1ffSMark Brown #define WM8962_IM_PLL2_LOCK_EINT                0x0004  /* IM_PLL2_LOCK_EINT */
35449a76f1ffSMark Brown #define WM8962_IM_PLL2_LOCK_EINT_MASK           0x0004  /* IM_PLL2_LOCK_EINT */
35459a76f1ffSMark Brown #define WM8962_IM_PLL2_LOCK_EINT_SHIFT               2  /* IM_PLL2_LOCK_EINT */
35469a76f1ffSMark Brown #define WM8962_IM_PLL2_LOCK_EINT_WIDTH               1  /* IM_PLL2_LOCK_EINT */
35479a76f1ffSMark Brown #define WM8962_IM_TEMP_SHUT_EINT                0x0001  /* IM_TEMP_SHUT_EINT */
35489a76f1ffSMark Brown #define WM8962_IM_TEMP_SHUT_EINT_MASK           0x0001  /* IM_TEMP_SHUT_EINT */
35499a76f1ffSMark Brown #define WM8962_IM_TEMP_SHUT_EINT_SHIFT               0  /* IM_TEMP_SHUT_EINT */
35509a76f1ffSMark Brown #define WM8962_IM_TEMP_SHUT_EINT_WIDTH               1  /* IM_TEMP_SHUT_EINT */
35519a76f1ffSMark Brown 
35529a76f1ffSMark Brown /*
35539a76f1ffSMark Brown  * R576 (0x240) - Interrupt Control
35549a76f1ffSMark Brown  */
35559a76f1ffSMark Brown #define WM8962_IRQ_POL                          0x0001  /* IRQ_POL */
35569a76f1ffSMark Brown #define WM8962_IRQ_POL_MASK                     0x0001  /* IRQ_POL */
35579a76f1ffSMark Brown #define WM8962_IRQ_POL_SHIFT                         0  /* IRQ_POL */
35589a76f1ffSMark Brown #define WM8962_IRQ_POL_WIDTH                         1  /* IRQ_POL */
35599a76f1ffSMark Brown 
35609a76f1ffSMark Brown /*
35619a76f1ffSMark Brown  * R584 (0x248) - IRQ Debounce
35629a76f1ffSMark Brown  */
35639a76f1ffSMark Brown #define WM8962_FLL_LOCK_DB                      0x0020  /* FLL_LOCK_DB */
35649a76f1ffSMark Brown #define WM8962_FLL_LOCK_DB_MASK                 0x0020  /* FLL_LOCK_DB */
35659a76f1ffSMark Brown #define WM8962_FLL_LOCK_DB_SHIFT                     5  /* FLL_LOCK_DB */
35669a76f1ffSMark Brown #define WM8962_FLL_LOCK_DB_WIDTH                     1  /* FLL_LOCK_DB */
35679a76f1ffSMark Brown #define WM8962_PLL3_LOCK_DB                     0x0008  /* PLL3_LOCK_DB */
35689a76f1ffSMark Brown #define WM8962_PLL3_LOCK_DB_MASK                0x0008  /* PLL3_LOCK_DB */
35699a76f1ffSMark Brown #define WM8962_PLL3_LOCK_DB_SHIFT                    3  /* PLL3_LOCK_DB */
35709a76f1ffSMark Brown #define WM8962_PLL3_LOCK_DB_WIDTH                    1  /* PLL3_LOCK_DB */
35719a76f1ffSMark Brown #define WM8962_PLL2_LOCK_DB                     0x0004  /* PLL2_LOCK_DB */
35729a76f1ffSMark Brown #define WM8962_PLL2_LOCK_DB_MASK                0x0004  /* PLL2_LOCK_DB */
35739a76f1ffSMark Brown #define WM8962_PLL2_LOCK_DB_SHIFT                    2  /* PLL2_LOCK_DB */
35749a76f1ffSMark Brown #define WM8962_PLL2_LOCK_DB_WIDTH                    1  /* PLL2_LOCK_DB */
35759a76f1ffSMark Brown #define WM8962_TEMP_SHUT_DB                     0x0001  /* TEMP_SHUT_DB */
35769a76f1ffSMark Brown #define WM8962_TEMP_SHUT_DB_MASK                0x0001  /* TEMP_SHUT_DB */
35779a76f1ffSMark Brown #define WM8962_TEMP_SHUT_DB_SHIFT                    0  /* TEMP_SHUT_DB */
35789a76f1ffSMark Brown #define WM8962_TEMP_SHUT_DB_WIDTH                    1  /* TEMP_SHUT_DB */
35799a76f1ffSMark Brown 
35809a76f1ffSMark Brown /*
35819a76f1ffSMark Brown  * R586 (0x24A) -  MICINT Source Pol
35829a76f1ffSMark Brown  */
35839a76f1ffSMark Brown #define WM8962_MICSCD_IRQ_POL                   0x8000  /* MICSCD_IRQ_POL */
35849a76f1ffSMark Brown #define WM8962_MICSCD_IRQ_POL_MASK              0x8000  /* MICSCD_IRQ_POL */
35859a76f1ffSMark Brown #define WM8962_MICSCD_IRQ_POL_SHIFT                 15  /* MICSCD_IRQ_POL */
35869a76f1ffSMark Brown #define WM8962_MICSCD_IRQ_POL_WIDTH                  1  /* MICSCD_IRQ_POL */
35879a76f1ffSMark Brown #define WM8962_MICD_IRQ_POL                     0x4000  /* MICD_IRQ_POL */
35889a76f1ffSMark Brown #define WM8962_MICD_IRQ_POL_MASK                0x4000  /* MICD_IRQ_POL */
35899a76f1ffSMark Brown #define WM8962_MICD_IRQ_POL_SHIFT                   14  /* MICD_IRQ_POL */
35909a76f1ffSMark Brown #define WM8962_MICD_IRQ_POL_WIDTH                    1  /* MICD_IRQ_POL */
35919a76f1ffSMark Brown 
35929a76f1ffSMark Brown /*
35939a76f1ffSMark Brown  * R768 (0x300) - DSP2 Power Management
35949a76f1ffSMark Brown  */
35959a76f1ffSMark Brown #define WM8962_DSP2_ENA                         0x0001  /* DSP2_ENA */
35969a76f1ffSMark Brown #define WM8962_DSP2_ENA_MASK                    0x0001  /* DSP2_ENA */
35979a76f1ffSMark Brown #define WM8962_DSP2_ENA_SHIFT                        0  /* DSP2_ENA */
35989a76f1ffSMark Brown #define WM8962_DSP2_ENA_WIDTH                        1  /* DSP2_ENA */
35999a76f1ffSMark Brown 
36009a76f1ffSMark Brown /*
36019a76f1ffSMark Brown  * R1037 (0x40D) - DSP2_ExecControl
36029a76f1ffSMark Brown  */
36039a76f1ffSMark Brown #define WM8962_DSP2_STOPC                       0x0020  /* DSP2_STOPC */
36049a76f1ffSMark Brown #define WM8962_DSP2_STOPC_MASK                  0x0020  /* DSP2_STOPC */
36059a76f1ffSMark Brown #define WM8962_DSP2_STOPC_SHIFT                      5  /* DSP2_STOPC */
36069a76f1ffSMark Brown #define WM8962_DSP2_STOPC_WIDTH                      1  /* DSP2_STOPC */
36079a76f1ffSMark Brown #define WM8962_DSP2_STOPS                       0x0010  /* DSP2_STOPS */
36089a76f1ffSMark Brown #define WM8962_DSP2_STOPS_MASK                  0x0010  /* DSP2_STOPS */
36099a76f1ffSMark Brown #define WM8962_DSP2_STOPS_SHIFT                      4  /* DSP2_STOPS */
36109a76f1ffSMark Brown #define WM8962_DSP2_STOPS_WIDTH                      1  /* DSP2_STOPS */
36119a76f1ffSMark Brown #define WM8962_DSP2_STOPI                       0x0008  /* DSP2_STOPI */
36129a76f1ffSMark Brown #define WM8962_DSP2_STOPI_MASK                  0x0008  /* DSP2_STOPI */
36139a76f1ffSMark Brown #define WM8962_DSP2_STOPI_SHIFT                      3  /* DSP2_STOPI */
36149a76f1ffSMark Brown #define WM8962_DSP2_STOPI_WIDTH                      1  /* DSP2_STOPI */
36159a76f1ffSMark Brown #define WM8962_DSP2_STOP                        0x0004  /* DSP2_STOP */
36169a76f1ffSMark Brown #define WM8962_DSP2_STOP_MASK                   0x0004  /* DSP2_STOP */
36179a76f1ffSMark Brown #define WM8962_DSP2_STOP_SHIFT                       2  /* DSP2_STOP */
36189a76f1ffSMark Brown #define WM8962_DSP2_STOP_WIDTH                       1  /* DSP2_STOP */
36199a76f1ffSMark Brown #define WM8962_DSP2_RUNR                        0x0002  /* DSP2_RUNR */
36209a76f1ffSMark Brown #define WM8962_DSP2_RUNR_MASK                   0x0002  /* DSP2_RUNR */
36219a76f1ffSMark Brown #define WM8962_DSP2_RUNR_SHIFT                       1  /* DSP2_RUNR */
36229a76f1ffSMark Brown #define WM8962_DSP2_RUNR_WIDTH                       1  /* DSP2_RUNR */
36239a76f1ffSMark Brown #define WM8962_DSP2_RUN                         0x0001  /* DSP2_RUN */
36249a76f1ffSMark Brown #define WM8962_DSP2_RUN_MASK                    0x0001  /* DSP2_RUN */
36259a76f1ffSMark Brown #define WM8962_DSP2_RUN_SHIFT                        0  /* DSP2_RUN */
36269a76f1ffSMark Brown #define WM8962_DSP2_RUN_WIDTH                        1  /* DSP2_RUN */
36279a76f1ffSMark Brown 
36289a76f1ffSMark Brown /*
36299a76f1ffSMark Brown  * R8192 (0x2000) - DSP2 Instruction RAM 0
36309a76f1ffSMark Brown  */
36319a76f1ffSMark Brown #define WM8962_DSP2_INSTR_RAM_1024_10_9_0_MASK  0x03FF  /* DSP2_INSTR_RAM_1024_10_9_0 - [9:0] */
36329a76f1ffSMark Brown #define WM8962_DSP2_INSTR_RAM_1024_10_9_0_SHIFT      0  /* DSP2_INSTR_RAM_1024_10_9_0 - [9:0] */
36339a76f1ffSMark Brown #define WM8962_DSP2_INSTR_RAM_1024_10_9_0_WIDTH     10  /* DSP2_INSTR_RAM_1024_10_9_0 - [9:0] */
36349a76f1ffSMark Brown 
36359a76f1ffSMark Brown /*
36369a76f1ffSMark Brown  * R9216 (0x2400) - DSP2 Address RAM 2
36379a76f1ffSMark Brown  */
36389a76f1ffSMark Brown #define WM8962_DSP2_ADDR_RAM_1024_38_37_32_MASK 0x003F  /* DSP2_ADDR_RAM_1024_38_37_32 - [5:0] */
36399a76f1ffSMark Brown #define WM8962_DSP2_ADDR_RAM_1024_38_37_32_SHIFT      0  /* DSP2_ADDR_RAM_1024_38_37_32 - [5:0] */
36409a76f1ffSMark Brown #define WM8962_DSP2_ADDR_RAM_1024_38_37_32_WIDTH      6  /* DSP2_ADDR_RAM_1024_38_37_32 - [5:0] */
36419a76f1ffSMark Brown 
36429a76f1ffSMark Brown /*
36439a76f1ffSMark Brown  * R9217 (0x2401) - DSP2 Address RAM 1
36449a76f1ffSMark Brown  */
36459a76f1ffSMark Brown #define WM8962_DSP2_ADDR_RAM_1024_38_31_16_MASK 0xFFFF  /* DSP2_ADDR_RAM_1024_38_31_16 - [15:0] */
36469a76f1ffSMark Brown #define WM8962_DSP2_ADDR_RAM_1024_38_31_16_SHIFT      0  /* DSP2_ADDR_RAM_1024_38_31_16 - [15:0] */
36479a76f1ffSMark Brown #define WM8962_DSP2_ADDR_RAM_1024_38_31_16_WIDTH     16  /* DSP2_ADDR_RAM_1024_38_31_16 - [15:0] */
36489a76f1ffSMark Brown 
36499a76f1ffSMark Brown /*
36509a76f1ffSMark Brown  * R9218 (0x2402) - DSP2 Address RAM 0
36519a76f1ffSMark Brown  */
36529a76f1ffSMark Brown #define WM8962_DSP2_ADDR_RAM_1024_38_15_0_MASK  0xFFFF  /* DSP2_ADDR_RAM_1024_38_15_0 - [15:0] */
36539a76f1ffSMark Brown #define WM8962_DSP2_ADDR_RAM_1024_38_15_0_SHIFT      0  /* DSP2_ADDR_RAM_1024_38_15_0 - [15:0] */
36549a76f1ffSMark Brown #define WM8962_DSP2_ADDR_RAM_1024_38_15_0_WIDTH     16  /* DSP2_ADDR_RAM_1024_38_15_0 - [15:0] */
36559a76f1ffSMark Brown 
36569a76f1ffSMark Brown /*
36579a76f1ffSMark Brown  * R12288 (0x3000) - DSP2 Data1 RAM 1
36589a76f1ffSMark Brown  */
36599a76f1ffSMark Brown #define WM8962_DSP2_DATA1_RAM_384_24_23_16_MASK 0x00FF  /* DSP2_DATA1_RAM_384_24_23_16 - [7:0] */
36609a76f1ffSMark Brown #define WM8962_DSP2_DATA1_RAM_384_24_23_16_SHIFT      0  /* DSP2_DATA1_RAM_384_24_23_16 - [7:0] */
36619a76f1ffSMark Brown #define WM8962_DSP2_DATA1_RAM_384_24_23_16_WIDTH      8  /* DSP2_DATA1_RAM_384_24_23_16 - [7:0] */
36629a76f1ffSMark Brown 
36639a76f1ffSMark Brown /*
36649a76f1ffSMark Brown  * R12289 (0x3001) - DSP2 Data1 RAM 0
36659a76f1ffSMark Brown  */
36669a76f1ffSMark Brown #define WM8962_DSP2_DATA1_RAM_384_24_15_0_MASK  0xFFFF  /* DSP2_DATA1_RAM_384_24_15_0 - [15:0] */
36679a76f1ffSMark Brown #define WM8962_DSP2_DATA1_RAM_384_24_15_0_SHIFT      0  /* DSP2_DATA1_RAM_384_24_15_0 - [15:0] */
36689a76f1ffSMark Brown #define WM8962_DSP2_DATA1_RAM_384_24_15_0_WIDTH     16  /* DSP2_DATA1_RAM_384_24_15_0 - [15:0] */
36699a76f1ffSMark Brown 
36709a76f1ffSMark Brown /*
36719a76f1ffSMark Brown  * R13312 (0x3400) - DSP2 Data2 RAM 1
36729a76f1ffSMark Brown  */
36739a76f1ffSMark Brown #define WM8962_DSP2_DATA2_RAM_384_24_23_16_MASK 0x00FF  /* DSP2_DATA2_RAM_384_24_23_16 - [7:0] */
36749a76f1ffSMark Brown #define WM8962_DSP2_DATA2_RAM_384_24_23_16_SHIFT      0  /* DSP2_DATA2_RAM_384_24_23_16 - [7:0] */
36759a76f1ffSMark Brown #define WM8962_DSP2_DATA2_RAM_384_24_23_16_WIDTH      8  /* DSP2_DATA2_RAM_384_24_23_16 - [7:0] */
36769a76f1ffSMark Brown 
36779a76f1ffSMark Brown /*
36789a76f1ffSMark Brown  * R13313 (0x3401) - DSP2 Data2 RAM 0
36799a76f1ffSMark Brown  */
36809a76f1ffSMark Brown #define WM8962_DSP2_DATA2_RAM_384_24_15_0_MASK  0xFFFF  /* DSP2_DATA2_RAM_384_24_15_0 - [15:0] */
36819a76f1ffSMark Brown #define WM8962_DSP2_DATA2_RAM_384_24_15_0_SHIFT      0  /* DSP2_DATA2_RAM_384_24_15_0 - [15:0] */
36829a76f1ffSMark Brown #define WM8962_DSP2_DATA2_RAM_384_24_15_0_WIDTH     16  /* DSP2_DATA2_RAM_384_24_15_0 - [15:0] */
36839a76f1ffSMark Brown 
36849a76f1ffSMark Brown /*
36859a76f1ffSMark Brown  * R14336 (0x3800) - DSP2 Data3 RAM 1
36869a76f1ffSMark Brown  */
36879a76f1ffSMark Brown #define WM8962_DSP2_DATA3_RAM_384_24_23_16_MASK 0x00FF  /* DSP2_DATA3_RAM_384_24_23_16 - [7:0] */
36889a76f1ffSMark Brown #define WM8962_DSP2_DATA3_RAM_384_24_23_16_SHIFT      0  /* DSP2_DATA3_RAM_384_24_23_16 - [7:0] */
36899a76f1ffSMark Brown #define WM8962_DSP2_DATA3_RAM_384_24_23_16_WIDTH      8  /* DSP2_DATA3_RAM_384_24_23_16 - [7:0] */
36909a76f1ffSMark Brown 
36919a76f1ffSMark Brown /*
36929a76f1ffSMark Brown  * R14337 (0x3801) - DSP2 Data3 RAM 0
36939a76f1ffSMark Brown  */
36949a76f1ffSMark Brown #define WM8962_DSP2_DATA3_RAM_384_24_15_0_MASK  0xFFFF  /* DSP2_DATA3_RAM_384_24_15_0 - [15:0] */
36959a76f1ffSMark Brown #define WM8962_DSP2_DATA3_RAM_384_24_15_0_SHIFT      0  /* DSP2_DATA3_RAM_384_24_15_0 - [15:0] */
36969a76f1ffSMark Brown #define WM8962_DSP2_DATA3_RAM_384_24_15_0_WIDTH     16  /* DSP2_DATA3_RAM_384_24_15_0 - [15:0] */
36979a76f1ffSMark Brown 
36989a76f1ffSMark Brown /*
36999a76f1ffSMark Brown  * R15360 (0x3C00) - DSP2 Coeff RAM 0
37009a76f1ffSMark Brown  */
37019a76f1ffSMark Brown #define WM8962_DSP2_CMAP_RAM_384_11_10_0_MASK   0x07FF  /* DSP2_CMAP_RAM_384_11_10_0 - [10:0] */
37029a76f1ffSMark Brown #define WM8962_DSP2_CMAP_RAM_384_11_10_0_SHIFT       0  /* DSP2_CMAP_RAM_384_11_10_0 - [10:0] */
37039a76f1ffSMark Brown #define WM8962_DSP2_CMAP_RAM_384_11_10_0_WIDTH      11  /* DSP2_CMAP_RAM_384_11_10_0 - [10:0] */
37049a76f1ffSMark Brown 
37059a76f1ffSMark Brown /*
37069a76f1ffSMark Brown  * R16384 (0x4000) - RETUNEADC_SHARED_COEFF_1
37079a76f1ffSMark Brown  */
37089a76f1ffSMark Brown #define WM8962_ADC_RETUNE_SCV                   0x0080  /* ADC_RETUNE_SCV */
37099a76f1ffSMark Brown #define WM8962_ADC_RETUNE_SCV_MASK              0x0080  /* ADC_RETUNE_SCV */
37109a76f1ffSMark Brown #define WM8962_ADC_RETUNE_SCV_SHIFT                  7  /* ADC_RETUNE_SCV */
37119a76f1ffSMark Brown #define WM8962_ADC_RETUNE_SCV_WIDTH                  1  /* ADC_RETUNE_SCV */
37129a76f1ffSMark Brown #define WM8962_RETUNEADC_SHARED_COEFF_22_16_MASK 0x007F  /* RETUNEADC_SHARED_COEFF_22_16 - [6:0] */
37139a76f1ffSMark Brown #define WM8962_RETUNEADC_SHARED_COEFF_22_16_SHIFT      0  /* RETUNEADC_SHARED_COEFF_22_16 - [6:0] */
37149a76f1ffSMark Brown #define WM8962_RETUNEADC_SHARED_COEFF_22_16_WIDTH      7  /* RETUNEADC_SHARED_COEFF_22_16 - [6:0] */
37159a76f1ffSMark Brown 
37169a76f1ffSMark Brown /*
37179a76f1ffSMark Brown  * R16385 (0x4001) - RETUNEADC_SHARED_COEFF_0
37189a76f1ffSMark Brown  */
37199a76f1ffSMark Brown #define WM8962_RETUNEADC_SHARED_COEFF_15_00_MASK 0xFFFF  /* RETUNEADC_SHARED_COEFF_15_00 - [15:0] */
37209a76f1ffSMark Brown #define WM8962_RETUNEADC_SHARED_COEFF_15_00_SHIFT      0  /* RETUNEADC_SHARED_COEFF_15_00 - [15:0] */
37219a76f1ffSMark Brown #define WM8962_RETUNEADC_SHARED_COEFF_15_00_WIDTH     16  /* RETUNEADC_SHARED_COEFF_15_00 - [15:0] */
37229a76f1ffSMark Brown 
37239a76f1ffSMark Brown /*
37249a76f1ffSMark Brown  * R16386 (0x4002) - RETUNEDAC_SHARED_COEFF_1
37259a76f1ffSMark Brown  */
37269a76f1ffSMark Brown #define WM8962_DAC_RETUNE_SCV                   0x0080  /* DAC_RETUNE_SCV */
37279a76f1ffSMark Brown #define WM8962_DAC_RETUNE_SCV_MASK              0x0080  /* DAC_RETUNE_SCV */
37289a76f1ffSMark Brown #define WM8962_DAC_RETUNE_SCV_SHIFT                  7  /* DAC_RETUNE_SCV */
37299a76f1ffSMark Brown #define WM8962_DAC_RETUNE_SCV_WIDTH                  1  /* DAC_RETUNE_SCV */
37309a76f1ffSMark Brown #define WM8962_RETUNEDAC_SHARED_COEFF_23_16_MASK 0x007F  /* RETUNEDAC_SHARED_COEFF_23_16 - [6:0] */
37319a76f1ffSMark Brown #define WM8962_RETUNEDAC_SHARED_COEFF_23_16_SHIFT      0  /* RETUNEDAC_SHARED_COEFF_23_16 - [6:0] */
37329a76f1ffSMark Brown #define WM8962_RETUNEDAC_SHARED_COEFF_23_16_WIDTH      7  /* RETUNEDAC_SHARED_COEFF_23_16 - [6:0] */
37339a76f1ffSMark Brown 
37349a76f1ffSMark Brown /*
37359a76f1ffSMark Brown  * R16387 (0x4003) - RETUNEDAC_SHARED_COEFF_0
37369a76f1ffSMark Brown  */
37379a76f1ffSMark Brown #define WM8962_RETUNEDAC_SHARED_COEFF_15_00_MASK 0xFFFF  /* RETUNEDAC_SHARED_COEFF_15_00 - [15:0] */
37389a76f1ffSMark Brown #define WM8962_RETUNEDAC_SHARED_COEFF_15_00_SHIFT      0  /* RETUNEDAC_SHARED_COEFF_15_00 - [15:0] */
37399a76f1ffSMark Brown #define WM8962_RETUNEDAC_SHARED_COEFF_15_00_WIDTH     16  /* RETUNEDAC_SHARED_COEFF_15_00 - [15:0] */
37409a76f1ffSMark Brown 
37419a76f1ffSMark Brown /*
37429a76f1ffSMark Brown  * R16388 (0x4004) - SOUNDSTAGE_ENABLES_1
37439a76f1ffSMark Brown  */
37449a76f1ffSMark Brown #define WM8962_SOUNDSTAGE_ENABLES_23_16_MASK    0x00FF  /* SOUNDSTAGE_ENABLES_23_16 - [7:0] */
37459a76f1ffSMark Brown #define WM8962_SOUNDSTAGE_ENABLES_23_16_SHIFT        0  /* SOUNDSTAGE_ENABLES_23_16 - [7:0] */
37469a76f1ffSMark Brown #define WM8962_SOUNDSTAGE_ENABLES_23_16_WIDTH        8  /* SOUNDSTAGE_ENABLES_23_16 - [7:0] */
37479a76f1ffSMark Brown 
37489a76f1ffSMark Brown /*
37499a76f1ffSMark Brown  * R16389 (0x4005) - SOUNDSTAGE_ENABLES_0
37509a76f1ffSMark Brown  */
37519a76f1ffSMark Brown #define WM8962_SOUNDSTAGE_ENABLES_15_06_MASK    0xFFC0  /* SOUNDSTAGE_ENABLES_15_06 - [15:6] */
37529a76f1ffSMark Brown #define WM8962_SOUNDSTAGE_ENABLES_15_06_SHIFT        6  /* SOUNDSTAGE_ENABLES_15_06 - [15:6] */
37539a76f1ffSMark Brown #define WM8962_SOUNDSTAGE_ENABLES_15_06_WIDTH       10  /* SOUNDSTAGE_ENABLES_15_06 - [15:6] */
37549a76f1ffSMark Brown #define WM8962_RTN_ADC_ENA                      0x0020  /* RTN_ADC_ENA */
37559a76f1ffSMark Brown #define WM8962_RTN_ADC_ENA_MASK                 0x0020  /* RTN_ADC_ENA */
37569a76f1ffSMark Brown #define WM8962_RTN_ADC_ENA_SHIFT                     5  /* RTN_ADC_ENA */
37579a76f1ffSMark Brown #define WM8962_RTN_ADC_ENA_WIDTH                     1  /* RTN_ADC_ENA */
37589a76f1ffSMark Brown #define WM8962_RTN_DAC_ENA                      0x0010  /* RTN_DAC_ENA */
37599a76f1ffSMark Brown #define WM8962_RTN_DAC_ENA_MASK                 0x0010  /* RTN_DAC_ENA */
37609a76f1ffSMark Brown #define WM8962_RTN_DAC_ENA_SHIFT                     4  /* RTN_DAC_ENA */
37619a76f1ffSMark Brown #define WM8962_RTN_DAC_ENA_WIDTH                     1  /* RTN_DAC_ENA */
37629a76f1ffSMark Brown #define WM8962_HDBASS_ENA                       0x0008  /* HDBASS_ENA */
37639a76f1ffSMark Brown #define WM8962_HDBASS_ENA_MASK                  0x0008  /* HDBASS_ENA */
37649a76f1ffSMark Brown #define WM8962_HDBASS_ENA_SHIFT                      3  /* HDBASS_ENA */
37659a76f1ffSMark Brown #define WM8962_HDBASS_ENA_WIDTH                      1  /* HDBASS_ENA */
37669a76f1ffSMark Brown #define WM8962_HPF2_ENA                         0x0004  /* HPF2_ENA */
37679a76f1ffSMark Brown #define WM8962_HPF2_ENA_MASK                    0x0004  /* HPF2_ENA */
37689a76f1ffSMark Brown #define WM8962_HPF2_ENA_SHIFT                        2  /* HPF2_ENA */
37699a76f1ffSMark Brown #define WM8962_HPF2_ENA_WIDTH                        1  /* HPF2_ENA */
37709a76f1ffSMark Brown #define WM8962_HPF1_ENA                         0x0002  /* HPF1_ENA */
37719a76f1ffSMark Brown #define WM8962_HPF1_ENA_MASK                    0x0002  /* HPF1_ENA */
37729a76f1ffSMark Brown #define WM8962_HPF1_ENA_SHIFT                        1  /* HPF1_ENA */
37739a76f1ffSMark Brown #define WM8962_HPF1_ENA_WIDTH                        1  /* HPF1_ENA */
37749a76f1ffSMark Brown #define WM8962_VSS_ENA                          0x0001  /* VSS_ENA */
37759a76f1ffSMark Brown #define WM8962_VSS_ENA_MASK                     0x0001  /* VSS_ENA */
37769a76f1ffSMark Brown #define WM8962_VSS_ENA_SHIFT                         0  /* VSS_ENA */
37779a76f1ffSMark Brown #define WM8962_VSS_ENA_WIDTH                         1  /* VSS_ENA */
37789a76f1ffSMark Brown 
3779f4ee2717SKuninori Morimoto int wm8962_mic_detect(struct snd_soc_component *component, struct snd_soc_jack *jack);
37807711308aSMark Brown 
37819a76f1ffSMark Brown #endif
3782