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