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