xref: /OK3568_Linux_fs/kernel/sound/soc/codecs/max98390.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Copyright (c) 2020, Maxim Integrated.
4*4882a593Smuzhiyun  */
5*4882a593Smuzhiyun 
6*4882a593Smuzhiyun #ifndef _MAX98390_H
7*4882a593Smuzhiyun #define _MAX98390_H
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun /* MAX98390 Register Address */
10*4882a593Smuzhiyun #define MAX98390_SOFTWARE_RESET 0x2000
11*4882a593Smuzhiyun #define MAX98390_INT_RAW1 0x2002
12*4882a593Smuzhiyun #define MAX98390_INT_RAW2 0x2003
13*4882a593Smuzhiyun #define MAX98390_INT_RAW3 0x2004
14*4882a593Smuzhiyun #define MAX98390_INT_STATE1 0x2005
15*4882a593Smuzhiyun #define MAX98390_INT_STATE2 0x2006
16*4882a593Smuzhiyun #define MAX98390_INT_STATE3 0x2007
17*4882a593Smuzhiyun #define MAX98390_INT_FLAG1 0x2008
18*4882a593Smuzhiyun #define MAX98390_INT_FLAG2 0x2009
19*4882a593Smuzhiyun #define MAX98390_INT_FLAG3 0x200a
20*4882a593Smuzhiyun #define MAX98390_INT_EN1 0x200b
21*4882a593Smuzhiyun #define MAX98390_INT_EN2 0x200c
22*4882a593Smuzhiyun #define MAX98390_INT_EN3 0x200d
23*4882a593Smuzhiyun #define MAX98390_INT_FLAG_CLR1 0x200e
24*4882a593Smuzhiyun #define MAX98390_INT_FLAG_CLR2 0x200f
25*4882a593Smuzhiyun #define MAX98390_INT_FLAG_CLR3 0x2010
26*4882a593Smuzhiyun #define MAX98390_IRQ_CTRL 0x2011
27*4882a593Smuzhiyun #define MAX98390_CLK_MON 0x2012
28*4882a593Smuzhiyun #define MAX98390_DAT_MON 0x2014
29*4882a593Smuzhiyun #define MAX98390_WDOG_CTRL 0x2015
30*4882a593Smuzhiyun #define MAX98390_WDOG_RST 0x2016
31*4882a593Smuzhiyun #define MAX98390_MEAS_ADC_THERM_WARN_THRESH 0x2017
32*4882a593Smuzhiyun #define MAX98390_MEAS_ADC_THERM_SHDN_THRESH 0x2018
33*4882a593Smuzhiyun #define MAX98390_MEAS_ADC_THERM_HYSTERESIS 0x2019
34*4882a593Smuzhiyun #define MAX98390_PIN_CFG 0x201a
35*4882a593Smuzhiyun #define MAX98390_PCM_RX_EN_A 0x201b
36*4882a593Smuzhiyun #define MAX98390_PCM_RX_EN_B 0x201c
37*4882a593Smuzhiyun #define MAX98390_PCM_TX_EN_A 0x201d
38*4882a593Smuzhiyun #define MAX98390_PCM_TX_EN_B 0x201e
39*4882a593Smuzhiyun #define MAX98390_PCM_TX_HIZ_CTRL_A 0x201f
40*4882a593Smuzhiyun #define MAX98390_PCM_TX_HIZ_CTRL_B 0x2020
41*4882a593Smuzhiyun #define MAX98390_PCM_CH_SRC_1 0x2021
42*4882a593Smuzhiyun #define MAX98390_PCM_CH_SRC_2 0x2022
43*4882a593Smuzhiyun #define MAX98390_PCM_CH_SRC_3 0x2023
44*4882a593Smuzhiyun #define MAX98390_PCM_MODE_CFG 0x2024
45*4882a593Smuzhiyun #define MAX98390_PCM_MASTER_MODE 0x2025
46*4882a593Smuzhiyun #define MAX98390_PCM_CLK_SETUP 0x2026
47*4882a593Smuzhiyun #define MAX98390_PCM_SR_SETUP 0x2027
48*4882a593Smuzhiyun #define MAX98390_ICC_RX_EN_A 0x202c
49*4882a593Smuzhiyun #define MAX98390_ICC_RX_EN_B 0x202d
50*4882a593Smuzhiyun #define MAX98390_ICC_TX_EN_A 0x202e
51*4882a593Smuzhiyun #define MAX98390_ICC_TX_EN_B 0x202f
52*4882a593Smuzhiyun #define MAX98390_ICC_HIZ_MANUAL_MODE 0x2030
53*4882a593Smuzhiyun #define MAX98390_ICC_TX_HIZ_EN_A 0x2031
54*4882a593Smuzhiyun #define MAX98390_ICC_TX_HIZ_EN_B 0x2032
55*4882a593Smuzhiyun #define MAX98390_ICC_LNK_EN 0x2033
56*4882a593Smuzhiyun #define MAX98390_R2039_AMP_DSP_CFG 0x2039
57*4882a593Smuzhiyun #define MAX98390_R203A_AMP_EN 0x203a
58*4882a593Smuzhiyun #define MAX98390_TONE_GEN_DC_CFG 0x203b
59*4882a593Smuzhiyun #define MAX98390_SPK_SRC_SEL 0x203c
60*4882a593Smuzhiyun #define MAX98390_R203D_SPK_GAIN 0x203d
61*4882a593Smuzhiyun #define MAX98390_SSM_CFG 0x203e
62*4882a593Smuzhiyun #define MAX98390_MEAS_EN 0x203f
63*4882a593Smuzhiyun #define MAX98390_MEAS_DSP_CFG 0x2040
64*4882a593Smuzhiyun #define MAX98390_BOOST_CTRL0 0x2041
65*4882a593Smuzhiyun #define MAX98390_BOOST_CTRL3 0x2042
66*4882a593Smuzhiyun #define MAX98390_BOOST_CTRL1 0x2043
67*4882a593Smuzhiyun #define MAX98390_MEAS_ADC_CFG 0x2044
68*4882a593Smuzhiyun #define MAX98390_MEAS_ADC_BASE_MSB 0x2045
69*4882a593Smuzhiyun #define MAX98390_MEAS_ADC_BASE_LSB 0x2046
70*4882a593Smuzhiyun #define MAX98390_ADC_CH0_DIVIDE 0x2047
71*4882a593Smuzhiyun #define MAX98390_ADC_CH1_DIVIDE 0x2048
72*4882a593Smuzhiyun #define MAX98390_ADC_CH2_DIVIDE 0x2049
73*4882a593Smuzhiyun #define MAX98390_ADC_CH0_FILT_CFG 0x204a
74*4882a593Smuzhiyun #define MAX98390_ADC_CH1_FILT_CFG 0x204b
75*4882a593Smuzhiyun #define MAX98390_ADC_CH2_FILT_CFG 0x204c
76*4882a593Smuzhiyun #define MAX98390_MEAS_ADC_CH0_READ 0x204d
77*4882a593Smuzhiyun #define MAX98390_MEAS_ADC_CH1_READ 0x204e
78*4882a593Smuzhiyun #define MAX98390_MEAS_ADC_CH2_READ 0x204f
79*4882a593Smuzhiyun #define MAX98390_PWR_GATE_CTL 0x2050
80*4882a593Smuzhiyun #define MAX98390_PWR_GATE_STATUS 0x2051
81*4882a593Smuzhiyun #define MAX98390_VBAT_LOW_STATUS 0x2052
82*4882a593Smuzhiyun #define MAX98390_PVDD_LOW_STATUS 0x2053
83*4882a593Smuzhiyun #define MAX98390_BROWNOUT_STATUS 0x2054
84*4882a593Smuzhiyun #define MAX98390_BROWNOUT_EN 0x2055
85*4882a593Smuzhiyun #define MAX98390_BROWNOUT_INFINITE_HOLD 0x2056
86*4882a593Smuzhiyun #define MAX98390_BROWNOUT_INFINITE_HOLD_CLR 0x2057
87*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL_HOLD 0x2058
88*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL1_THRESH 0x2059
89*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL2_THRESH 0x205a
90*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL3_THRESH 0x205b
91*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL4_THRESH 0x205c
92*4882a593Smuzhiyun #define MAX98390_BROWNOUT_THRESH_HYSTERYSIS 0x205d
93*4882a593Smuzhiyun #define MAX98390_BROWNOUT_AMP_LIMITER_ATK_REL 0x205e
94*4882a593Smuzhiyun #define MAX98390_BROWNOUT_AMP_GAIN_ATK_REL 0x205f
95*4882a593Smuzhiyun #define MAX98390_BROWNOUT_AMP1_CLIP_MODE 0x2060
96*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL1_CUR_LIMIT 0x2061
97*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL1_AMP1_CTRL1 0x2062
98*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL1_AMP1_CTRL2 0x2063
99*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL1_AMP1_CTRL3 0x2064
100*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL2_CUR_LIMIT 0x2065
101*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL2_AMP1_CTRL1 0x2066
102*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL2_AMP1_CTRL2 0x2067
103*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL2_AMP1_CTRL3 0x2068
104*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL3_CUR_LIMIT 0x2069
105*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL3_AMP1_CTRL1 0x206a
106*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL3_AMP1_CTRL2 0x206b
107*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL3_AMP1_CTRL3 0x206c
108*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL4_CUR_LIMIT 0x206d
109*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL4_AMP1_CTRL1 0x206e
110*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL4_AMP1_CTRL2 0x206f
111*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LVL4_AMP1_CTRL3 0x2070
112*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LOWEST_STATUS 0x2071
113*4882a593Smuzhiyun #define MAX98390_BROWNOUT_ILIM_HLD 0x2072
114*4882a593Smuzhiyun #define MAX98390_BROWNOUT_LIM_HLD 0x2073
115*4882a593Smuzhiyun #define MAX98390_BROWNOUT_CLIP_HLD 0x2074
116*4882a593Smuzhiyun #define MAX98390_BROWNOUT_GAIN_HLD 0x2075
117*4882a593Smuzhiyun #define MAX98390_ENV_TRACK_VOUT_HEADROOM 0x2076
118*4882a593Smuzhiyun #define MAX98390_ENV_TRACK_BOOST_VOUT_DELAY 0x2077
119*4882a593Smuzhiyun #define MAX98390_ENV_TRACK_REL_RATE 0x2078
120*4882a593Smuzhiyun #define MAX98390_ENV_TRACK_HOLD_RATE 0x2079
121*4882a593Smuzhiyun #define MAX98390_ENV_TRACK_CTRL 0x207a
122*4882a593Smuzhiyun #define MAX98390_ENV_TRACK_BOOST_VOUT_READ 0x207b
123*4882a593Smuzhiyun #define MAX98390_BOOST_BYPASS1 0x207c
124*4882a593Smuzhiyun #define MAX98390_BOOST_BYPASS2 0x207d
125*4882a593Smuzhiyun #define MAX98390_BOOST_BYPASS3 0x207e
126*4882a593Smuzhiyun #define MAX98390_FET_SCALING1 0x207f
127*4882a593Smuzhiyun #define MAX98390_FET_SCALING2 0x2080
128*4882a593Smuzhiyun #define MAX98390_FET_SCALING3 0x2081
129*4882a593Smuzhiyun #define MAX98390_FET_SCALING4 0x2082
130*4882a593Smuzhiyun #define MAX98390_SPK_SPEEDUP 0x2084
131*4882a593Smuzhiyun 
132*4882a593Smuzhiyun #define DSM_STBASS_HPF_B0_BYTE0 0x2101
133*4882a593Smuzhiyun #define DSM_STBASS_HPF_B0_BYTE1 0x2102
134*4882a593Smuzhiyun #define DSM_STBASS_HPF_B0_BYTE2 0x2103
135*4882a593Smuzhiyun #define DSM_STBASS_HPF_B1_BYTE0 0x2105
136*4882a593Smuzhiyun #define DSM_STBASS_HPF_B1_BYTE1 0x2106
137*4882a593Smuzhiyun #define DSM_STBASS_HPF_B1_BYTE2 0x2107
138*4882a593Smuzhiyun #define DSM_STBASS_HPF_B2_BYTE0 0x2109
139*4882a593Smuzhiyun #define DSM_STBASS_HPF_B2_BYTE1 0x210a
140*4882a593Smuzhiyun #define DSM_STBASS_HPF_B2_BYTE2 0x210b
141*4882a593Smuzhiyun #define DSM_STBASS_HPF_A1_BYTE0 0x210d
142*4882a593Smuzhiyun #define DSM_STBASS_HPF_A1_BYTE1 0x210e
143*4882a593Smuzhiyun #define DSM_STBASS_HPF_A1_BYTE2 0x210f
144*4882a593Smuzhiyun #define DSM_STBASS_HPF_A2_BYTE0 0x2111
145*4882a593Smuzhiyun #define DSM_STBASS_HPF_A2_BYTE1 0x2112
146*4882a593Smuzhiyun #define DSM_STBASS_HPF_A2_BYTE2 0x2113
147*4882a593Smuzhiyun #define DSM_STBASS_LPF_B0_BYTE0 0x2115
148*4882a593Smuzhiyun #define DSM_STBASS_LPF_B0_BYTE1 0x2116
149*4882a593Smuzhiyun #define DSM_STBASS_LPF_B0_BYTE2 0x2117
150*4882a593Smuzhiyun #define DSM_STBASS_LPF_B1_BYTE0 0x2119
151*4882a593Smuzhiyun #define DSM_STBASS_LPF_B1_BYTE1 0x211a
152*4882a593Smuzhiyun #define DSM_STBASS_LPF_B1_BYTE2 0x211b
153*4882a593Smuzhiyun #define DSM_STBASS_LPF_B2_BYTE0 0x211d
154*4882a593Smuzhiyun #define DSM_STBASS_LPF_B2_BYTE1 0x211e
155*4882a593Smuzhiyun #define DSM_STBASS_LPF_B2_BYTE2 0x211f
156*4882a593Smuzhiyun #define DSM_STBASS_LPF_A1_BYTE0 0x2121
157*4882a593Smuzhiyun #define DSM_STBASS_LPF_A1_BYTE1 0x2122
158*4882a593Smuzhiyun #define DSM_STBASS_LPF_A1_BYTE2 0x2123
159*4882a593Smuzhiyun #define DSM_STBASS_LPF_A2_BYTE0 0x2125
160*4882a593Smuzhiyun #define DSM_STBASS_LPF_A2_BYTE1 0x2126
161*4882a593Smuzhiyun #define DSM_STBASS_LPF_A2_BYTE2 0x2127
162*4882a593Smuzhiyun #define DSM_EQ_BQ1_B0_BYTE0 0x2129
163*4882a593Smuzhiyun #define DSM_EQ_BQ1_B0_BYTE1 0x212a
164*4882a593Smuzhiyun #define DSM_EQ_BQ1_B0_BYTE2 0x212b
165*4882a593Smuzhiyun #define DSM_EQ_BQ1_B1_BYTE0 0x212d
166*4882a593Smuzhiyun #define DSM_EQ_BQ1_B1_BYTE1 0x212e
167*4882a593Smuzhiyun #define DSM_EQ_BQ1_B1_BYTE2 0x212f
168*4882a593Smuzhiyun #define DSM_EQ_BQ1_B2_BYTE0 0x2131
169*4882a593Smuzhiyun #define DSM_EQ_BQ1_B2_BYTE1 0x2132
170*4882a593Smuzhiyun #define DSM_EQ_BQ1_B2_BYTE2 0x2133
171*4882a593Smuzhiyun #define DSM_EQ_BQ1_A1_BYTE0 0x2135
172*4882a593Smuzhiyun #define DSM_EQ_BQ1_A1_BYTE1 0x2136
173*4882a593Smuzhiyun #define DSM_EQ_BQ1_A1_BYTE2 0x2137
174*4882a593Smuzhiyun #define DSM_EQ_BQ1_A2_BYTE0 0x2139
175*4882a593Smuzhiyun #define DSM_EQ_BQ1_A2_BYTE1 0x213a
176*4882a593Smuzhiyun #define DSM_EQ_BQ1_A2_BYTE2 0x213b
177*4882a593Smuzhiyun #define DSM_EQ_BQ2_B0_BYTE0 0x213d
178*4882a593Smuzhiyun #define DSM_EQ_BQ2_B0_BYTE1 0x213e
179*4882a593Smuzhiyun #define DSM_EQ_BQ2_B0_BYTE2 0x213f
180*4882a593Smuzhiyun #define DSM_EQ_BQ2_B1_BYTE0 0x2141
181*4882a593Smuzhiyun #define DSM_EQ_BQ2_B1_BYTE1 0x2142
182*4882a593Smuzhiyun #define DSM_EQ_BQ2_B1_BYTE2 0x2143
183*4882a593Smuzhiyun #define DSM_EQ_BQ2_B2_BYTE0 0x2145
184*4882a593Smuzhiyun #define DSM_EQ_BQ2_B2_BYTE1 0x2146
185*4882a593Smuzhiyun #define DSM_EQ_BQ2_B2_BYTE2 0x2147
186*4882a593Smuzhiyun #define DSM_EQ_BQ2_A1_BYTE0 0x2149
187*4882a593Smuzhiyun #define DSM_EQ_BQ2_A1_BYTE1 0x214a
188*4882a593Smuzhiyun #define DSM_EQ_BQ2_A1_BYTE2 0x214b
189*4882a593Smuzhiyun #define DSM_EQ_BQ2_A2_BYTE0 0x214d
190*4882a593Smuzhiyun #define DSM_EQ_BQ2_A2_BYTE1 0x214e
191*4882a593Smuzhiyun #define DSM_EQ_BQ2_A2_BYTE2 0x214f
192*4882a593Smuzhiyun #define DSM_EQ_BQ3_B0_BYTE0 0x2151
193*4882a593Smuzhiyun #define DSM_EQ_BQ3_B0_BYTE1 0x2152
194*4882a593Smuzhiyun #define DSM_EQ_BQ3_B0_BYTE2 0x2153
195*4882a593Smuzhiyun #define DSM_EQ_BQ3_B1_BYTE0 0x2155
196*4882a593Smuzhiyun #define DSM_EQ_BQ3_B1_BYTE1 0x2156
197*4882a593Smuzhiyun #define DSM_EQ_BQ3_B1_BYTE2 0x2157
198*4882a593Smuzhiyun #define DSM_EQ_BQ3_B2_BYTE0 0x2159
199*4882a593Smuzhiyun #define DSM_EQ_BQ3_B2_BYTE1 0x215a
200*4882a593Smuzhiyun #define DSM_EQ_BQ3_B2_BYTE2 0x215b
201*4882a593Smuzhiyun #define DSM_EQ_BQ3_A1_BYTE0 0x215d
202*4882a593Smuzhiyun #define DSM_EQ_BQ3_A1_BYTE1 0x215e
203*4882a593Smuzhiyun #define DSM_EQ_BQ3_A1_BYTE2 0x215f
204*4882a593Smuzhiyun #define DSM_EQ_BQ3_A2_BYTE0 0x2161
205*4882a593Smuzhiyun #define DSM_EQ_BQ3_A2_BYTE1 0x2162
206*4882a593Smuzhiyun #define DSM_EQ_BQ3_A2_BYTE2 0x2163
207*4882a593Smuzhiyun #define DSM_EQ_BQ4_B0_BYTE0 0x2165
208*4882a593Smuzhiyun #define DSM_EQ_BQ4_B0_BYTE1 0x2166
209*4882a593Smuzhiyun #define DSM_EQ_BQ4_B0_BYTE2 0x2167
210*4882a593Smuzhiyun #define DSM_EQ_BQ4_B1_BYTE0 0x2169
211*4882a593Smuzhiyun #define DSM_EQ_BQ4_B1_BYTE1 0x216a
212*4882a593Smuzhiyun #define DSM_EQ_BQ4_B1_BYTE2 0x216b
213*4882a593Smuzhiyun #define DSM_EQ_BQ4_B2_BYTE0 0x216d
214*4882a593Smuzhiyun #define DSM_EQ_BQ4_B2_BYTE1 0x216e
215*4882a593Smuzhiyun #define DSM_EQ_BQ4_B2_BYTE2 0x216f
216*4882a593Smuzhiyun #define DSM_EQ_BQ4_A1_BYTE0 0x2171
217*4882a593Smuzhiyun #define DSM_EQ_BQ4_A1_BYTE1 0x2172
218*4882a593Smuzhiyun #define DSM_EQ_BQ4_A1_BYTE2 0x2173
219*4882a593Smuzhiyun #define DSM_EQ_BQ4_A2_BYTE0 0x2175
220*4882a593Smuzhiyun #define DSM_EQ_BQ4_A2_BYTE1 0x2176
221*4882a593Smuzhiyun #define DSM_EQ_BQ4_A2_BYTE2 0x2177
222*4882a593Smuzhiyun #define DSM_EQ_BQ5_B0_BYTE0 0x2179
223*4882a593Smuzhiyun #define DSM_EQ_BQ5_B0_BYTE1 0x217a
224*4882a593Smuzhiyun #define DSM_EQ_BQ5_B0_BYTE2 0x217b
225*4882a593Smuzhiyun #define DSM_EQ_BQ5_B1_BYTE0 0x217d
226*4882a593Smuzhiyun #define DSM_EQ_BQ5_B1_BYTE1 0x217e
227*4882a593Smuzhiyun #define DSM_EQ_BQ5_B1_BYTE2 0x217f
228*4882a593Smuzhiyun #define DSM_EQ_BQ5_B2_BYTE0 0x2181
229*4882a593Smuzhiyun #define DSM_EQ_BQ5_B2_BYTE1 0x2182
230*4882a593Smuzhiyun #define DSM_EQ_BQ5_B2_BYTE2 0x2183
231*4882a593Smuzhiyun #define DSM_EQ_BQ5_A1_BYTE0 0x2185
232*4882a593Smuzhiyun #define DSM_EQ_BQ5_A1_BYTE1 0x2186
233*4882a593Smuzhiyun #define DSM_EQ_BQ5_A1_BYTE2 0x2187
234*4882a593Smuzhiyun #define DSM_EQ_BQ5_A2_BYTE0 0x2189
235*4882a593Smuzhiyun #define DSM_EQ_BQ5_A2_BYTE1 0x218a
236*4882a593Smuzhiyun #define DSM_EQ_BQ5_A2_BYTE2 0x218b
237*4882a593Smuzhiyun #define DSM_EQ_BQ6_B0_BYTE0 0x218d
238*4882a593Smuzhiyun #define DSM_EQ_BQ6_B0_BYTE1 0x218e
239*4882a593Smuzhiyun #define DSM_EQ_BQ6_B0_BYTE2 0x218f
240*4882a593Smuzhiyun #define DSM_EQ_BQ6_B1_BYTE0 0x2191
241*4882a593Smuzhiyun #define DSM_EQ_BQ6_B1_BYTE1 0x2192
242*4882a593Smuzhiyun #define DSM_EQ_BQ6_B1_BYTE2 0x2193
243*4882a593Smuzhiyun #define DSM_EQ_BQ6_B2_BYTE0 0x2195
244*4882a593Smuzhiyun #define DSM_EQ_BQ6_B2_BYTE1 0x2196
245*4882a593Smuzhiyun #define DSM_EQ_BQ6_B2_BYTE2 0x2197
246*4882a593Smuzhiyun #define DSM_EQ_BQ6_A1_BYTE0 0x2199
247*4882a593Smuzhiyun #define DSM_EQ_BQ6_A1_BYTE1 0x219a
248*4882a593Smuzhiyun #define DSM_EQ_BQ6_A1_BYTE2 0x219b
249*4882a593Smuzhiyun #define DSM_EQ_BQ6_A2_BYTE0 0x219d
250*4882a593Smuzhiyun #define DSM_EQ_BQ6_A2_BYTE1 0x219e
251*4882a593Smuzhiyun #define DSM_EQ_BQ6_A2_BYTE2 0x219f
252*4882a593Smuzhiyun #define DSM_EQ_BQ7_B0_BYTE0 0x21a1
253*4882a593Smuzhiyun #define DSM_EQ_BQ7_B0_BYTE1 0x21a2
254*4882a593Smuzhiyun #define DSM_EQ_BQ7_B0_BYTE2 0x21a3
255*4882a593Smuzhiyun #define DSM_EQ_BQ7_B1_BYTE0 0x21a5
256*4882a593Smuzhiyun #define DSM_EQ_BQ7_B1_BYTE1 0x21a6
257*4882a593Smuzhiyun #define DSM_EQ_BQ7_B1_BYTE2 0x21a7
258*4882a593Smuzhiyun #define DSM_EQ_BQ7_B2_BYTE0 0x21a9
259*4882a593Smuzhiyun #define DSM_EQ_BQ7_B2_BYTE1 0x21aa
260*4882a593Smuzhiyun #define DSM_EQ_BQ7_B2_BYTE2 0x21ab
261*4882a593Smuzhiyun #define DSM_EQ_BQ7_A1_BYTE0 0x21ad
262*4882a593Smuzhiyun #define DSM_EQ_BQ7_A1_BYTE1 0x21ae
263*4882a593Smuzhiyun #define DSM_EQ_BQ7_A1_BYTE2 0x21af
264*4882a593Smuzhiyun #define DSM_EQ_BQ7_A2_BYTE0 0x21b1
265*4882a593Smuzhiyun #define DSM_EQ_BQ7_A2_BYTE1 0x21b2
266*4882a593Smuzhiyun #define DSM_EQ_BQ7_A2_BYTE2 0x21b3
267*4882a593Smuzhiyun #define DSM_EQ_BQ8_B0_BYTE0 0x21b5
268*4882a593Smuzhiyun #define DSM_EQ_BQ8_B0_BYTE1 0x21b6
269*4882a593Smuzhiyun #define DSM_EQ_BQ8_B0_BYTE2 0x21b7
270*4882a593Smuzhiyun #define DSM_EQ_BQ8_B1_BYTE0 0x21b9
271*4882a593Smuzhiyun #define DSM_EQ_BQ8_B1_BYTE1 0x21ba
272*4882a593Smuzhiyun #define DSM_EQ_BQ8_B1_BYTE2 0x21bb
273*4882a593Smuzhiyun #define DSM_EQ_BQ8_B2_BYTE0 0x21bd
274*4882a593Smuzhiyun #define DSM_EQ_BQ8_B2_BYTE1 0x21be
275*4882a593Smuzhiyun #define DSM_EQ_BQ8_B2_BYTE2 0x21bf
276*4882a593Smuzhiyun #define DSM_EQ_BQ8_A1_BYTE0 0x21c1
277*4882a593Smuzhiyun #define DSM_EQ_BQ8_A1_BYTE1 0x21c2
278*4882a593Smuzhiyun #define DSM_EQ_BQ8_A1_BYTE2 0x21c3
279*4882a593Smuzhiyun #define DSM_EQ_BQ8_A2_BYTE0 0x21c5
280*4882a593Smuzhiyun #define DSM_EQ_BQ8_A2_BYTE1 0x21c6
281*4882a593Smuzhiyun #define DSM_EQ_BQ8_A2_BYTE2 0x21c7
282*4882a593Smuzhiyun #define DSM_LFX_BQ_B0_BYTE0 0x21c9
283*4882a593Smuzhiyun #define DSM_LFX_BQ_B0_BYTE1 0x21ca
284*4882a593Smuzhiyun #define DSM_LFX_BQ_B0_BYTE2 0x21cb
285*4882a593Smuzhiyun #define DSM_LFX_BQ_B1_BYTE0 0x21cd
286*4882a593Smuzhiyun #define DSM_LFX_BQ_B1_BYTE1 0x21ce
287*4882a593Smuzhiyun #define DSM_LFX_BQ_B1_BYTE2 0x21cf
288*4882a593Smuzhiyun #define DSM_LFX_BQ_B2_BYTE0 0x21d1
289*4882a593Smuzhiyun #define DSM_LFX_BQ_B2_BYTE1 0x21d2
290*4882a593Smuzhiyun #define DSM_LFX_BQ_B2_BYTE2 0x21d3
291*4882a593Smuzhiyun #define DSM_LFX_BQ_A1_BYTE0 0x21d5
292*4882a593Smuzhiyun #define DSM_LFX_BQ_A1_BYTE1 0x21d6
293*4882a593Smuzhiyun #define DSM_LFX_BQ_A1_BYTE2 0x21d7
294*4882a593Smuzhiyun #define DSM_LFX_BQ_A2_BYTE0 0x21d9
295*4882a593Smuzhiyun #define DSM_LFX_BQ_A2_BYTE1 0x21da
296*4882a593Smuzhiyun #define DSM_LFX_BQ_A2_BYTE2 0x21db
297*4882a593Smuzhiyun #define DSM_PPR_HPF_B0_BYTE0 0x21dd
298*4882a593Smuzhiyun #define DSM_PPR_HPF_B0_BYTE1 0x21de
299*4882a593Smuzhiyun #define DSM_PPR_HPF_B0_BYTE2 0x21df
300*4882a593Smuzhiyun #define DSM_PPR_HPF_B1_BYTE0 0x21e1
301*4882a593Smuzhiyun #define DSM_PPR_HPF_B1_BYTE1 0x21e2
302*4882a593Smuzhiyun #define DSM_PPR_HPF_B1_BYTE2 0x21e3
303*4882a593Smuzhiyun #define DSM_PPR_HPF_B2_BYTE0 0x21e5
304*4882a593Smuzhiyun #define DSM_PPR_HPF_B2_BYTE1 0x21e6
305*4882a593Smuzhiyun #define DSM_PPR_HPF_B2_BYTE2 0x21e7
306*4882a593Smuzhiyun #define DSM_PPR_HPF_A1_BYTE0 0x21e9
307*4882a593Smuzhiyun #define DSM_PPR_HPF_A1_BYTE1 0x21ea
308*4882a593Smuzhiyun #define DSM_PPR_HPF_A1_BYTE2 0x21eb
309*4882a593Smuzhiyun #define DSM_PPR_HPF_A2_BYTE0 0x21ed
310*4882a593Smuzhiyun #define DSM_PPR_HPF_A2_BYTE1 0x21ee
311*4882a593Smuzhiyun #define DSM_PPR_HPF_A2_BYTE2 0x21ef
312*4882a593Smuzhiyun #define DSM_PPR_LPF_B0_BYTE0 0x21f1
313*4882a593Smuzhiyun #define DSM_PPR_LPF_B0_BYTE1 0x21f2
314*4882a593Smuzhiyun #define DSM_PPR_LPF_B0_BYTE2 0x21f3
315*4882a593Smuzhiyun #define DSM_PPR_LPF_B1_BYTE0 0x21f5
316*4882a593Smuzhiyun #define DSM_PPR_LPF_B1_BYTE1 0x21f6
317*4882a593Smuzhiyun #define DSM_PPR_LPF_B1_BYTE2 0x21f7
318*4882a593Smuzhiyun #define DSM_PPR_LPF_B2_BYTE0 0x21f9
319*4882a593Smuzhiyun #define DSM_PPR_LPF_B2_BYTE1 0x21fa
320*4882a593Smuzhiyun #define DSM_PPR_LPF_B2_BYTE2 0x21fb
321*4882a593Smuzhiyun #define DSM_PPR_LPF_A1_BYTE0 0x21fd
322*4882a593Smuzhiyun #define DSM_PPR_LPF_A1_BYTE1 0x21fe
323*4882a593Smuzhiyun #define DSM_PPR_LPF_A1_BYTE2 0x21ff
324*4882a593Smuzhiyun #define DSM_PPR_LPF_A2_BYTE0 0x2201
325*4882a593Smuzhiyun #define DSM_PPR_LPF_A2_BYTE1 0x2202
326*4882a593Smuzhiyun #define DSM_PPR_LPF_A2_BYTE2 0x2203
327*4882a593Smuzhiyun #define DSM_SPL_BQ_B0_BYTE0 0x2205
328*4882a593Smuzhiyun #define DSM_SPL_BQ_B0_BYTE1 0x2206
329*4882a593Smuzhiyun #define DSM_SPL_BQ_B0_BYTE2 0x2207
330*4882a593Smuzhiyun #define DSM_SPL_BQ_B1_BYTE0 0x2209
331*4882a593Smuzhiyun #define DSM_SPL_BQ_B1_BYTE1 0x220a
332*4882a593Smuzhiyun #define DSM_SPL_BQ_B1_BYTE2 0x220b
333*4882a593Smuzhiyun #define DSM_SPL_BQ_B2_BYTE0 0x220d
334*4882a593Smuzhiyun #define DSM_SPL_BQ_B2_BYTE1 0x220e
335*4882a593Smuzhiyun #define DSM_SPL_BQ_B2_BYTE2 0x220f
336*4882a593Smuzhiyun #define DSM_SPL_BQ_A1_BYTE0 0x2211
337*4882a593Smuzhiyun #define DSM_SPL_BQ_A1_BYTE1 0x2212
338*4882a593Smuzhiyun #define DSM_SPL_BQ_A1_BYTE2 0x2213
339*4882a593Smuzhiyun #define DSM_SPL_BQ_A2_BYTE0 0x2215
340*4882a593Smuzhiyun #define DSM_SPL_BQ_A2_BYTE1 0x2216
341*4882a593Smuzhiyun #define DSM_SPL_BQ_A2_BYTE2 0x2217
342*4882a593Smuzhiyun #define DSM_EXCUR_BQ_B0_BYTE0 0x2219
343*4882a593Smuzhiyun #define DSM_EXCUR_BQ_B0_BYTE1 0x221a
344*4882a593Smuzhiyun #define DSM_EXCUR_BQ_B0_BYTE2 0x221b
345*4882a593Smuzhiyun #define DSM_EXCUR_BQ_B1_BYTE0 0x221d
346*4882a593Smuzhiyun #define DSM_EXCUR_BQ_B1_BYTE1 0x221e
347*4882a593Smuzhiyun #define DSM_EXCUR_BQ_B1_BYTE2 0x221f
348*4882a593Smuzhiyun #define DSM_EXCUR_BQ_B2_BYTE0 0x2221
349*4882a593Smuzhiyun #define DSM_EXCUR_BQ_B2_BYTE1 0x2222
350*4882a593Smuzhiyun #define DSM_EXCUR_BQ_B2_BYTE2 0x2223
351*4882a593Smuzhiyun #define DSM_EXCUR_BQ_A1_BYTE0 0x2225
352*4882a593Smuzhiyun #define DSM_EXCUR_BQ_A1_BYTE1 0x2226
353*4882a593Smuzhiyun #define DSM_EXCUR_BQ_A1_BYTE2 0x2227
354*4882a593Smuzhiyun #define DSM_EXCUR_BQ_A2_BYTE0 0x2229
355*4882a593Smuzhiyun #define DSM_EXCUR_BQ_A2_BYTE1 0x222a
356*4882a593Smuzhiyun #define DSM_EXCUR_BQ_A2_BYTE2 0x222b
357*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_B0_BYTE0 0x222d
358*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_B0_BYTE1 0x222e
359*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_B0_BYTE2 0x222f
360*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_B1_BYTE0 0x2231
361*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_B1_BYTE1 0x2232
362*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_B1_BYTE2 0x2233
363*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_B2_BYTE0 0x2235
364*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_B2_BYTE1 0x2236
365*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_B2_BYTE2 0x2237
366*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_A1_BYTE0 0x2239
367*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_A1_BYTE1 0x223a
368*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_A1_BYTE2 0x223b
369*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_A2_BYTE0 0x223d
370*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_A2_BYTE1 0x223e
371*4882a593Smuzhiyun #define DSM_EXCPROT_HPF1_A2_BYTE2 0x223f
372*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_B0_BYTE0 0x2241
373*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_B0_BYTE1 0x2242
374*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_B0_BYTE2 0x2243
375*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_B1_BYTE0 0x2245
376*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_B1_BYTE1 0x2246
377*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_B1_BYTE2 0x2247
378*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_B2_BYTE0 0x2249
379*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_B2_BYTE1 0x224a
380*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_B2_BYTE2 0x224b
381*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_A1_BYTE0 0x224d
382*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_A1_BYTE1 0x224e
383*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_A1_BYTE2 0x224f
384*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_A2_BYTE0 0x2251
385*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_A2_BYTE1 0x2252
386*4882a593Smuzhiyun #define DSM_EXCPROT_HPF2_A2_BYTE2 0x2253
387*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_B0_BYTE0 0x2255
388*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_B0_BYTE1 0x2256
389*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_B0_BYTE2 0x2257
390*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_B1_BYTE0 0x2259
391*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_B1_BYTE1 0x225a
392*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_B1_BYTE2 0x225b
393*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_B2_BYTE0 0x225d
394*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_B2_BYTE1 0x225e
395*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_B2_BYTE2 0x225f
396*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_A1_BYTE0 0x2261
397*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_A1_BYTE1 0x2262
398*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_A1_BYTE2 0x2263
399*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_A2_BYTE0 0x2265
400*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_A2_BYTE1 0x2266
401*4882a593Smuzhiyun #define DSM_EXCPROT_HPF3_A2_BYTE2 0x2267
402*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_B0_BYTE0 0x2269
403*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_B0_BYTE1 0x226a
404*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_B0_BYTE2 0x226b
405*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_B1_BYTE0 0x226d
406*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_B1_BYTE1 0x226e
407*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_B1_BYTE2 0x226f
408*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_B2_BYTE0 0x2271
409*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_B2_BYTE1 0x2272
410*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_B2_BYTE2 0x2273
411*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_A1_BYTE0 0x2275
412*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_A1_BYTE1 0x2276
413*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_A1_BYTE2 0x2277
414*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_A2_BYTE0 0x2279
415*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_A2_BYTE1 0x227a
416*4882a593Smuzhiyun #define DSM_EXCPROT_HPF4_A2_BYTE2 0x227b
417*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_B0_BYTE0 0x227d
418*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_B0_BYTE1 0x227e
419*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_B0_BYTE2 0x227f
420*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_B1_BYTE0 0x2281
421*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_B1_BYTE1 0x2282
422*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_B1_BYTE2 0x2283
423*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_B2_BYTE0 0x2285
424*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_B2_BYTE1 0x2286
425*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_B2_BYTE2 0x2287
426*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_A1_BYTE0 0x2289
427*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_A1_BYTE1 0x228a
428*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_A1_BYTE2 0x228b
429*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_A2_BYTE0 0x228d
430*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_A2_BYTE1 0x228e
431*4882a593Smuzhiyun #define DSM_EXCPROT_HPF5_A2_BYTE2 0x228f
432*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_B0_BYTE0 0x2291
433*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_B0_BYTE1 0x2292
434*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_B0_BYTE2 0x2293
435*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_B1_BYTE0 0x2295
436*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_B1_BYTE1 0x2296
437*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_B1_BYTE2 0x2297
438*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_B2_BYTE0 0x2299
439*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_B2_BYTE1 0x229a
440*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_B2_BYTE2 0x229b
441*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_A1_BYTE0 0x229d
442*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_A1_BYTE1 0x229e
443*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_A1_BYTE2 0x229f
444*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_A2_BYTE0 0x22a1
445*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_A2_BYTE1 0x22a2
446*4882a593Smuzhiyun #define DSM_DEBUZZ_BPF_A2_BYTE2 0x22a3
447*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_B0_BYTE0 0x22a5
448*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_B0_BYTE1 0x22a6
449*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_B0_BYTE2 0x22a7
450*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_B1_BYTE0 0x22a9
451*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_B1_BYTE1 0x22aa
452*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_B1_BYTE2 0x22ab
453*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_B2_BYTE0 0x22ad
454*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_B2_BYTE1 0x22ae
455*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_B2_BYTE2 0x22af
456*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_A1_BYTE0 0x22b1
457*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_A1_BYTE1 0x22b2
458*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_A1_BYTE2 0x22b3
459*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_A2_BYTE0 0x22b5
460*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_A2_BYTE1 0x22b6
461*4882a593Smuzhiyun #define DSM_DEBUZZ_PORT_A2_BYTE2 0x22b7
462*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_B0_BYTE0 0x22b9
463*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_B0_BYTE1 0x22ba
464*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_B0_BYTE2 0x22bb
465*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_B1_BYTE0 0x22bd
466*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_B1_BYTE1 0x22be
467*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_B1_BYTE2 0x22bf
468*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_B2_BYTE0 0x22c1
469*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_B2_BYTE1 0x22c2
470*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_B2_BYTE2 0x22c3
471*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_A1_BYTE0 0x22c5
472*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_A1_BYTE1 0x22c6
473*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_A1_BYTE2 0x22c7
474*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_A2_BYTE0 0x22c9
475*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_A2_BYTE1 0x22ca
476*4882a593Smuzhiyun #define DSM_DEBUZZ_NOTCH_A2_BYTE2 0x22cb
477*4882a593Smuzhiyun #define DSM_THERMAL_BQ_B0_BYTE0 0x22cd
478*4882a593Smuzhiyun #define DSM_THERMAL_BQ_B0_BYTE1 0x22ce
479*4882a593Smuzhiyun #define DSM_THERMAL_BQ_B0_BYTE2 0x22cf
480*4882a593Smuzhiyun #define DSM_THERMAL_BQ_B1_BYTE0 0x22d1
481*4882a593Smuzhiyun #define DSM_THERMAL_BQ_B1_BYTE1 0x22d2
482*4882a593Smuzhiyun #define DSM_THERMAL_BQ_B1_BYTE2 0x22d3
483*4882a593Smuzhiyun #define DSM_THERMAL_BQ_B2_BYTE0 0x22d5
484*4882a593Smuzhiyun #define DSM_THERMAL_BQ_B2_BYTE1 0x22d6
485*4882a593Smuzhiyun #define DSM_THERMAL_BQ_B2_BYTE2 0x22d7
486*4882a593Smuzhiyun #define DSM_THERMAL_BQ_A1_BYTE0 0x22d9
487*4882a593Smuzhiyun #define DSM_THERMAL_BQ_A1_BYTE1 0x22da
488*4882a593Smuzhiyun #define DSM_THERMAL_BQ_A1_BYTE2 0x22db
489*4882a593Smuzhiyun #define DSM_THERMAL_BQ_A2_BYTE0 0x22dd
490*4882a593Smuzhiyun #define DSM_THERMAL_BQ_A2_BYTE1 0x22de
491*4882a593Smuzhiyun #define DSM_THERMAL_BQ_A2_BYTE2 0x22df
492*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_B0_BYTE0 0x22e1
493*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_B0_BYTE1 0x22e2
494*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_B0_BYTE2 0x22e3
495*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_B1_BYTE0 0x22e5
496*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_B1_BYTE1 0x22e6
497*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_B1_BYTE2 0x22e7
498*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_B2_BYTE0 0x22e9
499*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_B2_BYTE1 0x22ea
500*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_B2_BYTE2 0x22eb
501*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_A1_BYTE0 0x22ed
502*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_A1_BYTE1 0x22ee
503*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_A1_BYTE2 0x22ef
504*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_A2_BYTE0 0x22f1
505*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_A2_BYTE1 0x22f2
506*4882a593Smuzhiyun #define DSM_WBDRC_FILT1_A2_BYTE2 0x22f3
507*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_B0_BYTE0 0x22f5
508*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_B0_BYTE1 0x22f6
509*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_B0_BYTE2 0x22f7
510*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_B1_BYTE0 0x22f9
511*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_B1_BYTE1 0x22fa
512*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_B1_BYTE2 0x22fb
513*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_B2_BYTE0 0x22fd
514*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_B2_BYTE1 0x22fe
515*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_B2_BYTE2 0x22ff
516*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_A1_BYTE0 0x2301
517*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_A1_BYTE1 0x2302
518*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_A1_BYTE2 0x2303
519*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_A2_BYTE0 0x2305
520*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_A2_BYTE1 0x2306
521*4882a593Smuzhiyun #define DSM_WBDRC_FILT2_A2_BYTE2 0x2307
522*4882a593Smuzhiyun #define DSM_PPR_RELEASE_TIME_BYTE0 0x2309
523*4882a593Smuzhiyun #define DSM_PPR_RELEASE_TIME_BYTE1 0x230a
524*4882a593Smuzhiyun #define DSM_PPR_RELEASE_TIME_BYTE2 0x230b
525*4882a593Smuzhiyun #define DSM_PPR_ATTACK_TIME_BYTE0 0x230d
526*4882a593Smuzhiyun #define DSM_PPR_ATTACK_TIME_BYTE1 0x230e
527*4882a593Smuzhiyun #define DSM_PPR_ATTACK_TIME_BYTE2 0x230f
528*4882a593Smuzhiyun #define DSM_DEBUZZER_RELEASE_TIME_BYTE0 0x2311
529*4882a593Smuzhiyun #define DSM_DEBUZZER_RELEASE_TIME_BYTE1 0x2312
530*4882a593Smuzhiyun #define DSM_DEBUZZER_RELEASE_TIME_BYTE2 0x2313
531*4882a593Smuzhiyun #define DSM_DEBUZZER_ATTACK_TIME_BYTE0 0x2315
532*4882a593Smuzhiyun #define DSM_DEBUZZER_ATTACK_TIME_BYTE1 0x2316
533*4882a593Smuzhiyun #define DSM_DEBUZZER_ATTACK_TIME_BYTE2 0x2317
534*4882a593Smuzhiyun 
535*4882a593Smuzhiyun #define DSMIG_WB_DRC_RELEASE_TIME_1 0x2380
536*4882a593Smuzhiyun #define DSMIG_WB_DRC_RELEASE_TIME_2 0x2381
537*4882a593Smuzhiyun #define DSMIG_WB_DRC_ATTACK_TIME_1 0x2382
538*4882a593Smuzhiyun #define DSMIG_WB_DRC_ATTACK_TIME_2 0x2383
539*4882a593Smuzhiyun #define DSMIG_WB_DRC_COMPRESSION_RATIO 0x2384
540*4882a593Smuzhiyun #define DSMIG_WB_DRC_COMPRESSION_THRESHOLD 0x2385
541*4882a593Smuzhiyun #define DSMIG_WB_DRC_MAKEUPGAIN 0x2386
542*4882a593Smuzhiyun #define DSMIG_WB_DRC_NOISE_GATE_THRESHOLD 0x2387
543*4882a593Smuzhiyun #define DSMIG_WBDRC_HPF_ENABLE 0x2388
544*4882a593Smuzhiyun #define DSMIG_WB_DRC_TEST_SMOOTHER_OUT_EN 0x2389
545*4882a593Smuzhiyun #define DSMIG_PPR_THRESHOLD 0x238b
546*4882a593Smuzhiyun #define DSM_STEREO_BASS_CHANNEL_SELECT 0x238d
547*4882a593Smuzhiyun #define DSM_TPROT_THRESHOLD_BYTE0 0x238e
548*4882a593Smuzhiyun #define DSM_TPROT_THRESHOLD_BYTE1 0x238f
549*4882a593Smuzhiyun #define DSM_TPROT_ROOM_TEMPERATURE_BYTE0 0x2390
550*4882a593Smuzhiyun #define DSM_TPROT_ROOM_TEMPERATURE_BYTE1 0x2391
551*4882a593Smuzhiyun #define DSM_TPROT_RECIP_RDC_ROOM_BYTE0 0x2392
552*4882a593Smuzhiyun #define DSM_TPROT_RECIP_RDC_ROOM_BYTE1 0x2393
553*4882a593Smuzhiyun #define DSM_TPROT_RECIP_RDC_ROOM_BYTE2 0x2394
554*4882a593Smuzhiyun #define DSM_TPROT_RECIP_TCONST_BYTE0 0x2395
555*4882a593Smuzhiyun #define DSM_TPROT_RECIP_TCONST_BYTE1 0x2396
556*4882a593Smuzhiyun #define DSM_TPROT_RECIP_TCONST_BYTE2 0x2397
557*4882a593Smuzhiyun #define DSM_THERMAL_ATTENUATION_SETTINGS 0x2398
558*4882a593Smuzhiyun #define DSM_THERMAL_PILOT_TONE_ATTENUATION 0x2399
559*4882a593Smuzhiyun #define DSM_TPROT_PG_TEMP_THRESH_BYTE0 0x239a
560*4882a593Smuzhiyun #define DSM_TPROT_PG_TEMP_THRESH_BYTE1 0x239b
561*4882a593Smuzhiyun 
562*4882a593Smuzhiyun #define THERMAL_RDC_RD_BACK_BYTE1 0x239c
563*4882a593Smuzhiyun #define THERMAL_RDC_RD_BACK_BYTE0 0x239d
564*4882a593Smuzhiyun #define THERMAL_COILTEMP_RD_BACK_BYTE1 0x239e
565*4882a593Smuzhiyun #define THERMAL_COILTEMP_RD_BACK_BYTE0 0x239f
566*4882a593Smuzhiyun 
567*4882a593Smuzhiyun #define DSMIG_DEBUZZER_THRESHOLD 0x23b5
568*4882a593Smuzhiyun #define DSMIG_DEBUZZER_ALPHA_COEF_TEST_ONLY 0x23b6
569*4882a593Smuzhiyun #define DSM_VOL_ENA 0x23b9
570*4882a593Smuzhiyun #define DSM_VOL_CTRL 0x23ba
571*4882a593Smuzhiyun 
572*4882a593Smuzhiyun #define DSMIG_EN 0x23e0
573*4882a593Smuzhiyun #define MAX98390_R23E1_DSP_GLOBAL_EN 0x23e1
574*4882a593Smuzhiyun 
575*4882a593Smuzhiyun #define DSM_THERMAL_GAIN 0x23f0
576*4882a593Smuzhiyun #define DSM_PPR_GAIN 0x23f1
577*4882a593Smuzhiyun #define DSM_DBZ_GAIN 0x23f2
578*4882a593Smuzhiyun #define DSM_WBDRC_GAIN 0x23f3
579*4882a593Smuzhiyun 
580*4882a593Smuzhiyun #define MAX98390_R23FF_GLOBAL_EN 0x23FF
581*4882a593Smuzhiyun #define MAX98390_R24FF_REV_ID 0x24FF
582*4882a593Smuzhiyun 
583*4882a593Smuzhiyun /* MAX98390_R2021_PCM_RX_SRC_1 */
584*4882a593Smuzhiyun #define MAX98390_PCM_RX_CH_SRC_SHIFT (0)
585*4882a593Smuzhiyun #define MAX98390_PCM_RX_CH_SRC_BASS_SHIFT (4)
586*4882a593Smuzhiyun 
587*4882a593Smuzhiyun /* MAX98390_R2022_PCM_TX_SRC_1 */
588*4882a593Smuzhiyun #define MAX98390_PCM_TX_CH_SRC_A_V_SHIFT (0)
589*4882a593Smuzhiyun #define MAX98390_PCM_TX_CH_SRC_A_I_SHIFT (4)
590*4882a593Smuzhiyun 
591*4882a593Smuzhiyun /* MAX98390_R2024_PCM_DATA_FMT_CFG */
592*4882a593Smuzhiyun #define MAX98390_PCM_MODE_CFG_FORMAT_MASK (0x7 << 3)
593*4882a593Smuzhiyun #define MAX98390_PCM_MODE_CFG_FORMAT_SHIFT (3)
594*4882a593Smuzhiyun #define MAX98390_PCM_TX_CH_INTERLEAVE_MASK (0x1 << 2)
595*4882a593Smuzhiyun #define MAX98390_PCM_FORMAT_I2S (0x0 << 0)
596*4882a593Smuzhiyun #define MAX98390_PCM_FORMAT_LJ (0x1 << 0)
597*4882a593Smuzhiyun #define MAX98390_PCM_FORMAT_TDM_MODE0 (0x3 << 0)
598*4882a593Smuzhiyun #define MAX98390_PCM_FORMAT_TDM_MODE1 (0x4 << 0)
599*4882a593Smuzhiyun #define MAX98390_PCM_FORMAT_TDM_MODE2 (0x5 << 0)
600*4882a593Smuzhiyun #define MAX98390_PCM_MODE_CFG_CHANSZ_MASK (0x3 << 6)
601*4882a593Smuzhiyun #define MAX98390_PCM_MODE_CFG_CHANSZ_16 (0x1 << 6)
602*4882a593Smuzhiyun #define MAX98390_PCM_MODE_CFG_CHANSZ_24 (0x2 << 6)
603*4882a593Smuzhiyun #define MAX98390_PCM_MODE_CFG_CHANSZ_32 (0x3 << 6)
604*4882a593Smuzhiyun 
605*4882a593Smuzhiyun /* MAX98390_R2039_AMP_DSP_CFG */
606*4882a593Smuzhiyun #define MAX98390_AMP_DSP_CFG_RMP_UP_SHIFT (4)
607*4882a593Smuzhiyun #define MAX98390_AMP_DSP_CFG_RMP_DN_SHIFT (5)
608*4882a593Smuzhiyun 
609*4882a593Smuzhiyun /* MAX98390_R203A_AMP_EN */
610*4882a593Smuzhiyun #define MAX98390_R203A_AMP_EN_SHIFT (0)
611*4882a593Smuzhiyun 
612*4882a593Smuzhiyun /* MAX98390_PCM_MASTER_MODE */
613*4882a593Smuzhiyun #define MAX98390_PCM_MASTER_MODE_MASK (0x3 << 0)
614*4882a593Smuzhiyun #define MAX98390_PCM_MASTER_MODE_SLAVE (0x0 << 0)
615*4882a593Smuzhiyun #define MAX98390_PCM_MASTER_MODE_MASTER (0x3 << 0)
616*4882a593Smuzhiyun 
617*4882a593Smuzhiyun #define MAX98390_PCM_MASTER_MODE_MCLK_MASK (0xF << 2)
618*4882a593Smuzhiyun #define MAX98390_PCM_MASTER_MODE_MCLK_RATE_SHIFT (2)
619*4882a593Smuzhiyun 
620*4882a593Smuzhiyun /* PCM_CLK_SETUP */
621*4882a593Smuzhiyun #define MAX98390_PCM_MODE_CFG_PCM_BCLKEDGE (0x1 << 2)
622*4882a593Smuzhiyun #define MAX98390_PCM_CLK_SETUP_BSEL_MASK (0xF << 0)
623*4882a593Smuzhiyun 
624*4882a593Smuzhiyun /* PCM_SR_SETUP */
625*4882a593Smuzhiyun #define MAX98390_PCM_SR_SET1_SR_MASK (0xF << 0)
626*4882a593Smuzhiyun #define MAX98390_PCM_SR_SET1_SR_8000 (0x0 << 0)
627*4882a593Smuzhiyun #define MAX98390_PCM_SR_SET1_SR_11025 (0x1 << 0)
628*4882a593Smuzhiyun #define MAX98390_PCM_SR_SET1_SR_12000 (0x2 << 0)
629*4882a593Smuzhiyun #define MAX98390_PCM_SR_SET1_SR_16000 (0x3 << 0)
630*4882a593Smuzhiyun #define MAX98390_PCM_SR_SET1_SR_22050 (0x4 << 0)
631*4882a593Smuzhiyun #define MAX98390_PCM_SR_SET1_SR_24000 (0x5 << 0)
632*4882a593Smuzhiyun #define MAX98390_PCM_SR_SET1_SR_32000 (0x6 << 0)
633*4882a593Smuzhiyun #define MAX98390_PCM_SR_SET1_SR_44100 (0x7 << 0)
634*4882a593Smuzhiyun #define MAX98390_PCM_SR_SET1_SR_48000 (0x8 << 0)
635*4882a593Smuzhiyun 
636*4882a593Smuzhiyun /* PCM_TO_SPK_MONO_MIX_1 */
637*4882a593Smuzhiyun #define MAX98390_PCM_TO_SPK_MONOMIX_CFG_MASK (0x3 << 6)
638*4882a593Smuzhiyun #define MAX98390_PCM_TO_SPK_MONOMIX_CFG_SHIFT (6)
639*4882a593Smuzhiyun #define MAX98390_PCM_TO_SPK_CH0_SRC_MASK (0xF << 0)
640*4882a593Smuzhiyun #define MAX98390_PCM_TO_SPK_CH1_SRC_MASK (0xF << 4)
641*4882a593Smuzhiyun 
642*4882a593Smuzhiyun /* MAX98390_BOOST_CTRL3 */
643*4882a593Smuzhiyun #define MAX98390_BOOST_CLK_PHASE_CFG_SHIFT (2)
644*4882a593Smuzhiyun 
645*4882a593Smuzhiyun /* SOFT_RESET */
646*4882a593Smuzhiyun #define MAX98390_SOFT_RESET_MASK (0x1 << 0)
647*4882a593Smuzhiyun 
648*4882a593Smuzhiyun #define MAX98390_GLOBAL_EN_MASK (0x1 << 0)
649*4882a593Smuzhiyun #define MAX98390_AMP_EN_MASK (0x1 << 0)
650*4882a593Smuzhiyun 
651*4882a593Smuzhiyun /* DSM register offset */
652*4882a593Smuzhiyun #define MAX98390_DSM_PAYLOAD_OFFSET 16
653*4882a593Smuzhiyun #define MAX98390_DSM_PARAM_MAX_SIZE 1024
654*4882a593Smuzhiyun #define MAX98390_DSM_PARAM_MIN_SIZE 670
655*4882a593Smuzhiyun 
656*4882a593Smuzhiyun struct max98390_priv {
657*4882a593Smuzhiyun 	struct regmap *regmap;
658*4882a593Smuzhiyun 	unsigned int sysclk;
659*4882a593Smuzhiyun 	unsigned int master;
660*4882a593Smuzhiyun 	unsigned int tdm_mode;
661*4882a593Smuzhiyun 	unsigned int ref_rdc_value;
662*4882a593Smuzhiyun 	unsigned int ambient_temp_value;
663*4882a593Smuzhiyun };
664*4882a593Smuzhiyun #endif
665