/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2020, Maxim Integrated.
*/
#ifndef _MAX98390_H
#define _MAX98390_H
/* MAX98390 Register Address */
#define MAX98390_SOFTWARE_RESET 0 x2000
#define MAX98390_INT_RAW1 0 x2002
#define MAX98390_INT_RAW2 0 x2003
#define MAX98390_INT_RAW3 0 x2004
#define MAX98390_INT_STATE1 0 x2005
#define MAX98390_INT_STATE2 0 x2006
#define MAX98390_INT_STATE3 0 x2007
#define MAX98390_INT_FLAG1 0 x2008
#define MAX98390_INT_FLAG2 0 x2009
#define MAX98390_INT_FLAG3 0 x200a
#define MAX98390_INT_EN1 0 x200b
#define MAX98390_INT_EN2 0 x200c
#define MAX98390_INT_EN3 0 x200d
#define MAX98390_INT_FLAG_CLR1 0 x200e
#define MAX98390_INT_FLAG_CLR2 0 x200f
#define MAX98390_INT_FLAG_CLR3 0 x2010
#define MAX98390_IRQ_CTRL 0 x2011
#define MAX98390_CLK_MON 0 x2012
#define MAX98390_DAT_MON 0 x2014
#define MAX98390_WDOG_CTRL 0 x2015
#define MAX98390_WDOG_RST 0 x2016
#define MAX98390_MEAS_ADC_THERM_WARN_THRESH 0 x2017
#define MAX98390_MEAS_ADC_THERM_SHDN_THRESH 0 x2018
#define MAX98390_MEAS_ADC_THERM_HYSTERESIS 0 x2019
#define MAX98390_PIN_CFG 0 x201a
#define MAX98390_PCM_RX_EN_A 0 x201b
#define MAX98390_PCM_RX_EN_B 0 x201c
#define MAX98390_PCM_TX_EN_A 0 x201d
#define MAX98390_PCM_TX_EN_B 0 x201e
#define MAX98390_PCM_TX_HIZ_CTRL_A 0 x201f
#define MAX98390_PCM_TX_HIZ_CTRL_B 0 x2020
#define MAX98390_PCM_CH_SRC_1 0 x2021
#define MAX98390_PCM_CH_SRC_2 0 x2022
#define MAX98390_PCM_CH_SRC_3 0 x2023
#define MAX98390_PCM_MODE_CFG 0 x2024
#define MAX98390_PCM_MASTER_MODE 0 x2025
#define MAX98390_PCM_CLK_SETUP 0 x2026
#define MAX98390_PCM_SR_SETUP 0 x2027
#define MAX98390_ICC_RX_EN_A 0 x202c
#define MAX98390_ICC_RX_EN_B 0 x202d
#define MAX98390_ICC_TX_EN_A 0 x202e
#define MAX98390_ICC_TX_EN_B 0 x202f
#define MAX98390_ICC_HIZ_MANUAL_MODE 0 x2030
#define MAX98390_ICC_TX_HIZ_EN_A 0 x2031
#define MAX98390_ICC_TX_HIZ_EN_B 0 x2032
#define MAX98390_ICC_LNK_EN 0 x2033
#define MAX98390_R2039_AMP_DSP_CFG 0 x2039
#define MAX98390_R203A_AMP_EN 0 x203a
#define MAX98390_TONE_GEN_DC_CFG 0 x203b
#define MAX98390_SPK_SRC_SEL 0 x203c
#define MAX98390_R203D_SPK_GAIN 0 x203d
#define MAX98390_SSM_CFG 0 x203e
#define MAX98390_MEAS_EN 0 x203f
#define MAX98390_MEAS_DSP_CFG 0 x2040
#define MAX98390_BOOST_CTRL0 0 x2041
#define MAX98390_BOOST_CTRL3 0 x2042
#define MAX98390_BOOST_CTRL1 0 x2043
#define MAX98390_MEAS_ADC_CFG 0 x2044
#define MAX98390_MEAS_ADC_BASE_MSB 0 x2045
#define MAX98390_MEAS_ADC_BASE_LSB 0 x2046
#define MAX98390_ADC_CH0_DIVIDE 0 x2047
#define MAX98390_ADC_CH1_DIVIDE 0 x2048
#define MAX98390_ADC_CH2_DIVIDE 0 x2049
#define MAX98390_ADC_CH0_FILT_CFG 0 x204a
#define MAX98390_ADC_CH1_FILT_CFG 0 x204b
#define MAX98390_ADC_CH2_FILT_CFG 0 x204c
#define MAX98390_MEAS_ADC_CH0_READ 0 x204d
#define MAX98390_MEAS_ADC_CH1_READ 0 x204e
#define MAX98390_MEAS_ADC_CH2_READ 0 x204f
#define MAX98390_PWR_GATE_CTL 0 x2050
#define MAX98390_PWR_GATE_STATUS 0 x2051
#define MAX98390_VBAT_LOW_STATUS 0 x2052
#define MAX98390_PVDD_LOW_STATUS 0 x2053
#define MAX98390_BROWNOUT_STATUS 0 x2054
#define MAX98390_BROWNOUT_EN 0 x2055
#define MAX98390_BROWNOUT_INFINITE_HOLD 0 x2056
#define MAX98390_BROWNOUT_INFINITE_HOLD_CLR 0 x2057
#define MAX98390_BROWNOUT_LVL_HOLD 0 x2058
#define MAX98390_BROWNOUT_LVL1_THRESH 0 x2059
#define MAX98390_BROWNOUT_LVL2_THRESH 0 x205a
#define MAX98390_BROWNOUT_LVL3_THRESH 0 x205b
#define MAX98390_BROWNOUT_LVL4_THRESH 0 x205c
#define MAX98390_BROWNOUT_THRESH_HYSTERYSIS 0 x205d
#define MAX98390_BROWNOUT_AMP_LIMITER_ATK_REL 0 x205e
#define MAX98390_BROWNOUT_AMP_GAIN_ATK_REL 0 x205f
#define MAX98390_BROWNOUT_AMP1_CLIP_MODE 0 x2060
#define MAX98390_BROWNOUT_LVL1_CUR_LIMIT 0 x2061
#define MAX98390_BROWNOUT_LVL1_AMP1_CTRL1 0 x2062
#define MAX98390_BROWNOUT_LVL1_AMP1_CTRL2 0 x2063
#define MAX98390_BROWNOUT_LVL1_AMP1_CTRL3 0 x2064
#define MAX98390_BROWNOUT_LVL2_CUR_LIMIT 0 x2065
#define MAX98390_BROWNOUT_LVL2_AMP1_CTRL1 0 x2066
#define MAX98390_BROWNOUT_LVL2_AMP1_CTRL2 0 x2067
#define MAX98390_BROWNOUT_LVL2_AMP1_CTRL3 0 x2068
#define MAX98390_BROWNOUT_LVL3_CUR_LIMIT 0 x2069
#define MAX98390_BROWNOUT_LVL3_AMP1_CTRL1 0 x206a
#define MAX98390_BROWNOUT_LVL3_AMP1_CTRL2 0 x206b
#define MAX98390_BROWNOUT_LVL3_AMP1_CTRL3 0 x206c
#define MAX98390_BROWNOUT_LVL4_CUR_LIMIT 0 x206d
#define MAX98390_BROWNOUT_LVL4_AMP1_CTRL1 0 x206e
#define MAX98390_BROWNOUT_LVL4_AMP1_CTRL2 0 x206f
#define MAX98390_BROWNOUT_LVL4_AMP1_CTRL3 0 x2070
#define MAX98390_BROWNOUT_LOWEST_STATUS 0 x2071
#define MAX98390_BROWNOUT_ILIM_HLD 0 x2072
#define MAX98390_BROWNOUT_LIM_HLD 0 x2073
#define MAX98390_BROWNOUT_CLIP_HLD 0 x2074
#define MAX98390_BROWNOUT_GAIN_HLD 0 x2075
#define MAX98390_ENV_TRACK_VOUT_HEADROOM 0 x2076
#define MAX98390_ENV_TRACK_BOOST_VOUT_DELAY 0 x2077
#define MAX98390_ENV_TRACK_REL_RATE 0 x2078
#define MAX98390_ENV_TRACK_HOLD_RATE 0 x2079
#define MAX98390_ENV_TRACK_CTRL 0 x207a
#define MAX98390_ENV_TRACK_BOOST_VOUT_READ 0 x207b
#define MAX98390_BOOST_BYPASS1 0 x207c
#define MAX98390_BOOST_BYPASS2 0 x207d
#define MAX98390_BOOST_BYPASS3 0 x207e
#define MAX98390_FET_SCALING1 0 x207f
#define MAX98390_FET_SCALING2 0 x2080
#define MAX98390_FET_SCALING3 0 x2081
#define MAX98390_FET_SCALING4 0 x2082
#define MAX98390_SPK_SPEEDUP 0 x2084
#define DSM_STBASS_HPF_B0_BYTE0 0 x2101
#define DSM_STBASS_HPF_B0_BYTE1 0 x2102
#define DSM_STBASS_HPF_B0_BYTE2 0 x2103
#define DSM_STBASS_HPF_B1_BYTE0 0 x2105
#define DSM_STBASS_HPF_B1_BYTE1 0 x2106
#define DSM_STBASS_HPF_B1_BYTE2 0 x2107
#define DSM_STBASS_HPF_B2_BYTE0 0 x2109
#define DSM_STBASS_HPF_B2_BYTE1 0 x210a
#define DSM_STBASS_HPF_B2_BYTE2 0 x210b
#define DSM_STBASS_HPF_A1_BYTE0 0 x210d
#define DSM_STBASS_HPF_A1_BYTE1 0 x210e
#define DSM_STBASS_HPF_A1_BYTE2 0 x210f
#define DSM_STBASS_HPF_A2_BYTE0 0 x2111
#define DSM_STBASS_HPF_A2_BYTE1 0 x2112
#define DSM_STBASS_HPF_A2_BYTE2 0 x2113
#define DSM_STBASS_LPF_B0_BYTE0 0 x2115
#define DSM_STBASS_LPF_B0_BYTE1 0 x2116
#define DSM_STBASS_LPF_B0_BYTE2 0 x2117
#define DSM_STBASS_LPF_B1_BYTE0 0 x2119
#define DSM_STBASS_LPF_B1_BYTE1 0 x211a
#define DSM_STBASS_LPF_B1_BYTE2 0 x211b
#define DSM_STBASS_LPF_B2_BYTE0 0 x211d
#define DSM_STBASS_LPF_B2_BYTE1 0 x211e
#define DSM_STBASS_LPF_B2_BYTE2 0 x211f
#define DSM_STBASS_LPF_A1_BYTE0 0 x2121
#define DSM_STBASS_LPF_A1_BYTE1 0 x2122
#define DSM_STBASS_LPF_A1_BYTE2 0 x2123
#define DSM_STBASS_LPF_A2_BYTE0 0 x2125
#define DSM_STBASS_LPF_A2_BYTE1 0 x2126
#define DSM_STBASS_LPF_A2_BYTE2 0 x2127
#define DSM_EQ_BQ1_B0_BYTE0 0 x2129
#define DSM_EQ_BQ1_B0_BYTE1 0 x212a
#define DSM_EQ_BQ1_B0_BYTE2 0 x212b
#define DSM_EQ_BQ1_B1_BYTE0 0 x212d
#define DSM_EQ_BQ1_B1_BYTE1 0 x212e
#define DSM_EQ_BQ1_B1_BYTE2 0 x212f
#define DSM_EQ_BQ1_B2_BYTE0 0 x2131
#define DSM_EQ_BQ1_B2_BYTE1 0 x2132
#define DSM_EQ_BQ1_B2_BYTE2 0 x2133
#define DSM_EQ_BQ1_A1_BYTE0 0 x2135
#define DSM_EQ_BQ1_A1_BYTE1 0 x2136
#define DSM_EQ_BQ1_A1_BYTE2 0 x2137
#define DSM_EQ_BQ1_A2_BYTE0 0 x2139
#define DSM_EQ_BQ1_A2_BYTE1 0 x213a
#define DSM_EQ_BQ1_A2_BYTE2 0 x213b
#define DSM_EQ_BQ2_B0_BYTE0 0 x213d
#define DSM_EQ_BQ2_B0_BYTE1 0 x213e
#define DSM_EQ_BQ2_B0_BYTE2 0 x213f
#define DSM_EQ_BQ2_B1_BYTE0 0 x2141
#define DSM_EQ_BQ2_B1_BYTE1 0 x2142
#define DSM_EQ_BQ2_B1_BYTE2 0 x2143
#define DSM_EQ_BQ2_B2_BYTE0 0 x2145
#define DSM_EQ_BQ2_B2_BYTE1 0 x2146
#define DSM_EQ_BQ2_B2_BYTE2 0 x2147
#define DSM_EQ_BQ2_A1_BYTE0 0 x2149
#define DSM_EQ_BQ2_A1_BYTE1 0 x214a
#define DSM_EQ_BQ2_A1_BYTE2 0 x214b
#define DSM_EQ_BQ2_A2_BYTE0 0 x214d
#define DSM_EQ_BQ2_A2_BYTE1 0 x214e
#define DSM_EQ_BQ2_A2_BYTE2 0 x214f
#define DSM_EQ_BQ3_B0_BYTE0 0 x2151
#define DSM_EQ_BQ3_B0_BYTE1 0 x2152
#define DSM_EQ_BQ3_B0_BYTE2 0 x2153
#define DSM_EQ_BQ3_B1_BYTE0 0 x2155
#define DSM_EQ_BQ3_B1_BYTE1 0 x2156
#define DSM_EQ_BQ3_B1_BYTE2 0 x2157
#define DSM_EQ_BQ3_B2_BYTE0 0 x2159
#define DSM_EQ_BQ3_B2_BYTE1 0 x215a
#define DSM_EQ_BQ3_B2_BYTE2 0 x215b
#define DSM_EQ_BQ3_A1_BYTE0 0 x215d
#define DSM_EQ_BQ3_A1_BYTE1 0 x215e
#define DSM_EQ_BQ3_A1_BYTE2 0 x215f
#define DSM_EQ_BQ3_A2_BYTE0 0 x2161
#define DSM_EQ_BQ3_A2_BYTE1 0 x2162
#define DSM_EQ_BQ3_A2_BYTE2 0 x2163
#define DSM_EQ_BQ4_B0_BYTE0 0 x2165
#define DSM_EQ_BQ4_B0_BYTE1 0 x2166
#define DSM_EQ_BQ4_B0_BYTE2 0 x2167
#define DSM_EQ_BQ4_B1_BYTE0 0 x2169
#define DSM_EQ_BQ4_B1_BYTE1 0 x216a
#define DSM_EQ_BQ4_B1_BYTE2 0 x216b
#define DSM_EQ_BQ4_B2_BYTE0 0 x216d
#define DSM_EQ_BQ4_B2_BYTE1 0 x216e
#define DSM_EQ_BQ4_B2_BYTE2 0 x216f
#define DSM_EQ_BQ4_A1_BYTE0 0 x2171
#define DSM_EQ_BQ4_A1_BYTE1 0 x2172
#define DSM_EQ_BQ4_A1_BYTE2 0 x2173
#define DSM_EQ_BQ4_A2_BYTE0 0 x2175
#define DSM_EQ_BQ4_A2_BYTE1 0 x2176
#define DSM_EQ_BQ4_A2_BYTE2 0 x2177
#define DSM_EQ_BQ5_B0_BYTE0 0 x2179
#define DSM_EQ_BQ5_B0_BYTE1 0 x217a
#define DSM_EQ_BQ5_B0_BYTE2 0 x217b
#define DSM_EQ_BQ5_B1_BYTE0 0 x217d
#define DSM_EQ_BQ5_B1_BYTE1 0 x217e
#define DSM_EQ_BQ5_B1_BYTE2 0 x217f
#define DSM_EQ_BQ5_B2_BYTE0 0 x2181
#define DSM_EQ_BQ5_B2_BYTE1 0 x2182
#define DSM_EQ_BQ5_B2_BYTE2 0 x2183
#define DSM_EQ_BQ5_A1_BYTE0 0 x2185
#define DSM_EQ_BQ5_A1_BYTE1 0 x2186
#define DSM_EQ_BQ5_A1_BYTE2 0 x2187
#define DSM_EQ_BQ5_A2_BYTE0 0 x2189
#define DSM_EQ_BQ5_A2_BYTE1 0 x218a
#define DSM_EQ_BQ5_A2_BYTE2 0 x218b
#define DSM_EQ_BQ6_B0_BYTE0 0 x218d
#define DSM_EQ_BQ6_B0_BYTE1 0 x218e
#define DSM_EQ_BQ6_B0_BYTE2 0 x218f
#define DSM_EQ_BQ6_B1_BYTE0 0 x2191
#define DSM_EQ_BQ6_B1_BYTE1 0 x2192
#define DSM_EQ_BQ6_B1_BYTE2 0 x2193
#define DSM_EQ_BQ6_B2_BYTE0 0 x2195
#define DSM_EQ_BQ6_B2_BYTE1 0 x2196
#define DSM_EQ_BQ6_B2_BYTE2 0 x2197
#define DSM_EQ_BQ6_A1_BYTE0 0 x2199
#define DSM_EQ_BQ6_A1_BYTE1 0 x219a
#define DSM_EQ_BQ6_A1_BYTE2 0 x219b
#define DSM_EQ_BQ6_A2_BYTE0 0 x219d
#define DSM_EQ_BQ6_A2_BYTE1 0 x219e
#define DSM_EQ_BQ6_A2_BYTE2 0 x219f
#define DSM_EQ_BQ7_B0_BYTE0 0 x21a1
#define DSM_EQ_BQ7_B0_BYTE1 0 x21a2
#define DSM_EQ_BQ7_B0_BYTE2 0 x21a3
#define DSM_EQ_BQ7_B1_BYTE0 0 x21a5
#define DSM_EQ_BQ7_B1_BYTE1 0 x21a6
#define DSM_EQ_BQ7_B1_BYTE2 0 x21a7
#define DSM_EQ_BQ7_B2_BYTE0 0 x21a9
#define DSM_EQ_BQ7_B2_BYTE1 0 x21aa
#define DSM_EQ_BQ7_B2_BYTE2 0 x21ab
#define DSM_EQ_BQ7_A1_BYTE0 0 x21ad
#define DSM_EQ_BQ7_A1_BYTE1 0 x21ae
#define DSM_EQ_BQ7_A1_BYTE2 0 x21af
#define DSM_EQ_BQ7_A2_BYTE0 0 x21b1
#define DSM_EQ_BQ7_A2_BYTE1 0 x21b2
#define DSM_EQ_BQ7_A2_BYTE2 0 x21b3
#define DSM_EQ_BQ8_B0_BYTE0 0 x21b5
#define DSM_EQ_BQ8_B0_BYTE1 0 x21b6
#define DSM_EQ_BQ8_B0_BYTE2 0 x21b7
#define DSM_EQ_BQ8_B1_BYTE0 0 x21b9
#define DSM_EQ_BQ8_B1_BYTE1 0 x21ba
#define DSM_EQ_BQ8_B1_BYTE2 0 x21bb
#define DSM_EQ_BQ8_B2_BYTE0 0 x21bd
#define DSM_EQ_BQ8_B2_BYTE1 0 x21be
#define DSM_EQ_BQ8_B2_BYTE2 0 x21bf
#define DSM_EQ_BQ8_A1_BYTE0 0 x21c1
#define DSM_EQ_BQ8_A1_BYTE1 0 x21c2
#define DSM_EQ_BQ8_A1_BYTE2 0 x21c3
#define DSM_EQ_BQ8_A2_BYTE0 0 x21c5
#define DSM_EQ_BQ8_A2_BYTE1 0 x21c6
#define DSM_EQ_BQ8_A2_BYTE2 0 x21c7
#define DSM_LFX_BQ_B0_BYTE0 0 x21c9
#define DSM_LFX_BQ_B0_BYTE1 0 x21ca
#define DSM_LFX_BQ_B0_BYTE2 0 x21cb
#define DSM_LFX_BQ_B1_BYTE0 0 x21cd
#define DSM_LFX_BQ_B1_BYTE1 0 x21ce
#define DSM_LFX_BQ_B1_BYTE2 0 x21cf
#define DSM_LFX_BQ_B2_BYTE0 0 x21d1
#define DSM_LFX_BQ_B2_BYTE1 0 x21d2
#define DSM_LFX_BQ_B2_BYTE2 0 x21d3
#define DSM_LFX_BQ_A1_BYTE0 0 x21d5
#define DSM_LFX_BQ_A1_BYTE1 0 x21d6
#define DSM_LFX_BQ_A1_BYTE2 0 x21d7
#define DSM_LFX_BQ_A2_BYTE0 0 x21d9
#define DSM_LFX_BQ_A2_BYTE1 0 x21da
#define DSM_LFX_BQ_A2_BYTE2 0 x21db
#define DSM_PPR_HPF_B0_BYTE0 0 x21dd
#define DSM_PPR_HPF_B0_BYTE1 0 x21de
#define DSM_PPR_HPF_B0_BYTE2 0 x21df
#define DSM_PPR_HPF_B1_BYTE0 0 x21e1
#define DSM_PPR_HPF_B1_BYTE1 0 x21e2
#define DSM_PPR_HPF_B1_BYTE2 0 x21e3
#define DSM_PPR_HPF_B2_BYTE0 0 x21e5
#define DSM_PPR_HPF_B2_BYTE1 0 x21e6
#define DSM_PPR_HPF_B2_BYTE2 0 x21e7
#define DSM_PPR_HPF_A1_BYTE0 0 x21e9
#define DSM_PPR_HPF_A1_BYTE1 0 x21ea
#define DSM_PPR_HPF_A1_BYTE2 0 x21eb
#define DSM_PPR_HPF_A2_BYTE0 0 x21ed
#define DSM_PPR_HPF_A2_BYTE1 0 x21ee
#define DSM_PPR_HPF_A2_BYTE2 0 x21ef
#define DSM_PPR_LPF_B0_BYTE0 0 x21f1
#define DSM_PPR_LPF_B0_BYTE1 0 x21f2
#define DSM_PPR_LPF_B0_BYTE2 0 x21f3
#define DSM_PPR_LPF_B1_BYTE0 0 x21f5
#define DSM_PPR_LPF_B1_BYTE1 0 x21f6
#define DSM_PPR_LPF_B1_BYTE2 0 x21f7
#define DSM_PPR_LPF_B2_BYTE0 0 x21f9
#define DSM_PPR_LPF_B2_BYTE1 0 x21fa
#define DSM_PPR_LPF_B2_BYTE2 0 x21fb
#define DSM_PPR_LPF_A1_BYTE0 0 x21fd
#define DSM_PPR_LPF_A1_BYTE1 0 x21fe
#define DSM_PPR_LPF_A1_BYTE2 0 x21ff
#define DSM_PPR_LPF_A2_BYTE0 0 x2201
#define DSM_PPR_LPF_A2_BYTE1 0 x2202
#define DSM_PPR_LPF_A2_BYTE2 0 x2203
#define DSM_SPL_BQ_B0_BYTE0 0 x2205
#define DSM_SPL_BQ_B0_BYTE1 0 x2206
#define DSM_SPL_BQ_B0_BYTE2 0 x2207
#define DSM_SPL_BQ_B1_BYTE0 0 x2209
#define DSM_SPL_BQ_B1_BYTE1 0 x220a
#define DSM_SPL_BQ_B1_BYTE2 0 x220b
#define DSM_SPL_BQ_B2_BYTE0 0 x220d
#define DSM_SPL_BQ_B2_BYTE1 0 x220e
#define DSM_SPL_BQ_B2_BYTE2 0 x220f
#define DSM_SPL_BQ_A1_BYTE0 0 x2211
#define DSM_SPL_BQ_A1_BYTE1 0 x2212
#define DSM_SPL_BQ_A1_BYTE2 0 x2213
#define DSM_SPL_BQ_A2_BYTE0 0 x2215
#define DSM_SPL_BQ_A2_BYTE1 0 x2216
#define DSM_SPL_BQ_A2_BYTE2 0 x2217
#define DSM_EXCUR_BQ_B0_BYTE0 0 x2219
#define DSM_EXCUR_BQ_B0_BYTE1 0 x221a
#define DSM_EXCUR_BQ_B0_BYTE2 0 x221b
#define DSM_EXCUR_BQ_B1_BYTE0 0 x221d
#define DSM_EXCUR_BQ_B1_BYTE1 0 x221e
#define DSM_EXCUR_BQ_B1_BYTE2 0 x221f
#define DSM_EXCUR_BQ_B2_BYTE0 0 x2221
#define DSM_EXCUR_BQ_B2_BYTE1 0 x2222
#define DSM_EXCUR_BQ_B2_BYTE2 0 x2223
#define DSM_EXCUR_BQ_A1_BYTE0 0 x2225
#define DSM_EXCUR_BQ_A1_BYTE1 0 x2226
#define DSM_EXCUR_BQ_A1_BYTE2 0 x2227
#define DSM_EXCUR_BQ_A2_BYTE0 0 x2229
#define DSM_EXCUR_BQ_A2_BYTE1 0 x222a
#define DSM_EXCUR_BQ_A2_BYTE2 0 x222b
#define DSM_EXCPROT_HPF1_B0_BYTE0 0 x222d
#define DSM_EXCPROT_HPF1_B0_BYTE1 0 x222e
#define DSM_EXCPROT_HPF1_B0_BYTE2 0 x222f
#define DSM_EXCPROT_HPF1_B1_BYTE0 0 x2231
#define DSM_EXCPROT_HPF1_B1_BYTE1 0 x2232
#define DSM_EXCPROT_HPF1_B1_BYTE2 0 x2233
#define DSM_EXCPROT_HPF1_B2_BYTE0 0 x2235
#define DSM_EXCPROT_HPF1_B2_BYTE1 0 x2236
#define DSM_EXCPROT_HPF1_B2_BYTE2 0 x2237
#define DSM_EXCPROT_HPF1_A1_BYTE0 0 x2239
#define DSM_EXCPROT_HPF1_A1_BYTE1 0 x223a
#define DSM_EXCPROT_HPF1_A1_BYTE2 0 x223b
#define DSM_EXCPROT_HPF1_A2_BYTE0 0 x223d
#define DSM_EXCPROT_HPF1_A2_BYTE1 0 x223e
#define DSM_EXCPROT_HPF1_A2_BYTE2 0 x223f
#define DSM_EXCPROT_HPF2_B0_BYTE0 0 x2241
#define DSM_EXCPROT_HPF2_B0_BYTE1 0 x2242
#define DSM_EXCPROT_HPF2_B0_BYTE2 0 x2243
#define DSM_EXCPROT_HPF2_B1_BYTE0 0 x2245
#define DSM_EXCPROT_HPF2_B1_BYTE1 0 x2246
#define DSM_EXCPROT_HPF2_B1_BYTE2 0 x2247
#define DSM_EXCPROT_HPF2_B2_BYTE0 0 x2249
#define DSM_EXCPROT_HPF2_B2_BYTE1 0 x224a
#define DSM_EXCPROT_HPF2_B2_BYTE2 0 x224b
#define DSM_EXCPROT_HPF2_A1_BYTE0 0 x224d
#define DSM_EXCPROT_HPF2_A1_BYTE1 0 x224e
#define DSM_EXCPROT_HPF2_A1_BYTE2 0 x224f
#define DSM_EXCPROT_HPF2_A2_BYTE0 0 x2251
#define DSM_EXCPROT_HPF2_A2_BYTE1 0 x2252
#define DSM_EXCPROT_HPF2_A2_BYTE2 0 x2253
#define DSM_EXCPROT_HPF3_B0_BYTE0 0 x2255
#define DSM_EXCPROT_HPF3_B0_BYTE1 0 x2256
#define DSM_EXCPROT_HPF3_B0_BYTE2 0 x2257
#define DSM_EXCPROT_HPF3_B1_BYTE0 0 x2259
#define DSM_EXCPROT_HPF3_B1_BYTE1 0 x225a
#define DSM_EXCPROT_HPF3_B1_BYTE2 0 x225b
#define DSM_EXCPROT_HPF3_B2_BYTE0 0 x225d
#define DSM_EXCPROT_HPF3_B2_BYTE1 0 x225e
#define DSM_EXCPROT_HPF3_B2_BYTE2 0 x225f
#define DSM_EXCPROT_HPF3_A1_BYTE0 0 x2261
#define DSM_EXCPROT_HPF3_A1_BYTE1 0 x2262
#define DSM_EXCPROT_HPF3_A1_BYTE2 0 x2263
#define DSM_EXCPROT_HPF3_A2_BYTE0 0 x2265
#define DSM_EXCPROT_HPF3_A2_BYTE1 0 x2266
#define DSM_EXCPROT_HPF3_A2_BYTE2 0 x2267
#define DSM_EXCPROT_HPF4_B0_BYTE0 0 x2269
#define DSM_EXCPROT_HPF4_B0_BYTE1 0 x226a
#define DSM_EXCPROT_HPF4_B0_BYTE2 0 x226b
#define DSM_EXCPROT_HPF4_B1_BYTE0 0 x226d
#define DSM_EXCPROT_HPF4_B1_BYTE1 0 x226e
#define DSM_EXCPROT_HPF4_B1_BYTE2 0 x226f
#define DSM_EXCPROT_HPF4_B2_BYTE0 0 x2271
#define DSM_EXCPROT_HPF4_B2_BYTE1 0 x2272
#define DSM_EXCPROT_HPF4_B2_BYTE2 0 x2273
#define DSM_EXCPROT_HPF4_A1_BYTE0 0 x2275
#define DSM_EXCPROT_HPF4_A1_BYTE1 0 x2276
#define DSM_EXCPROT_HPF4_A1_BYTE2 0 x2277
#define DSM_EXCPROT_HPF4_A2_BYTE0 0 x2279
#define DSM_EXCPROT_HPF4_A2_BYTE1 0 x227a
#define DSM_EXCPROT_HPF4_A2_BYTE2 0 x227b
#define DSM_EXCPROT_HPF5_B0_BYTE0 0 x227d
#define DSM_EXCPROT_HPF5_B0_BYTE1 0 x227e
#define DSM_EXCPROT_HPF5_B0_BYTE2 0 x227f
#define DSM_EXCPROT_HPF5_B1_BYTE0 0 x2281
#define DSM_EXCPROT_HPF5_B1_BYTE1 0 x2282
#define DSM_EXCPROT_HPF5_B1_BYTE2 0 x2283
#define DSM_EXCPROT_HPF5_B2_BYTE0 0 x2285
#define DSM_EXCPROT_HPF5_B2_BYTE1 0 x2286
#define DSM_EXCPROT_HPF5_B2_BYTE2 0 x2287
#define DSM_EXCPROT_HPF5_A1_BYTE0 0 x2289
#define DSM_EXCPROT_HPF5_A1_BYTE1 0 x228a
#define DSM_EXCPROT_HPF5_A1_BYTE2 0 x228b
#define DSM_EXCPROT_HPF5_A2_BYTE0 0 x228d
#define DSM_EXCPROT_HPF5_A2_BYTE1 0 x228e
#define DSM_EXCPROT_HPF5_A2_BYTE2 0 x228f
#define DSM_DEBUZZ_BPF_B0_BYTE0 0 x2291
#define DSM_DEBUZZ_BPF_B0_BYTE1 0 x2292
#define DSM_DEBUZZ_BPF_B0_BYTE2 0 x2293
#define DSM_DEBUZZ_BPF_B1_BYTE0 0 x2295
#define DSM_DEBUZZ_BPF_B1_BYTE1 0 x2296
#define DSM_DEBUZZ_BPF_B1_BYTE2 0 x2297
#define DSM_DEBUZZ_BPF_B2_BYTE0 0 x2299
#define DSM_DEBUZZ_BPF_B2_BYTE1 0 x229a
#define DSM_DEBUZZ_BPF_B2_BYTE2 0 x229b
#define DSM_DEBUZZ_BPF_A1_BYTE0 0 x229d
#define DSM_DEBUZZ_BPF_A1_BYTE1 0 x229e
#define DSM_DEBUZZ_BPF_A1_BYTE2 0 x229f
#define DSM_DEBUZZ_BPF_A2_BYTE0 0 x22a1
#define DSM_DEBUZZ_BPF_A2_BYTE1 0 x22a2
#define DSM_DEBUZZ_BPF_A2_BYTE2 0 x22a3
#define DSM_DEBUZZ_PORT_B0_BYTE0 0 x22a5
#define DSM_DEBUZZ_PORT_B0_BYTE1 0 x22a6
#define DSM_DEBUZZ_PORT_B0_BYTE2 0 x22a7
#define DSM_DEBUZZ_PORT_B1_BYTE0 0 x22a9
#define DSM_DEBUZZ_PORT_B1_BYTE1 0 x22aa
#define DSM_DEBUZZ_PORT_B1_BYTE2 0 x22ab
#define DSM_DEBUZZ_PORT_B2_BYTE0 0 x22ad
#define DSM_DEBUZZ_PORT_B2_BYTE1 0 x22ae
#define DSM_DEBUZZ_PORT_B2_BYTE2 0 x22af
#define DSM_DEBUZZ_PORT_A1_BYTE0 0 x22b1
#define DSM_DEBUZZ_PORT_A1_BYTE1 0 x22b2
#define DSM_DEBUZZ_PORT_A1_BYTE2 0 x22b3
#define DSM_DEBUZZ_PORT_A2_BYTE0 0 x22b5
#define DSM_DEBUZZ_PORT_A2_BYTE1 0 x22b6
#define DSM_DEBUZZ_PORT_A2_BYTE2 0 x22b7
#define DSM_DEBUZZ_NOTCH_B0_BYTE0 0 x22b9
#define DSM_DEBUZZ_NOTCH_B0_BYTE1 0 x22ba
#define DSM_DEBUZZ_NOTCH_B0_BYTE2 0 x22bb
#define DSM_DEBUZZ_NOTCH_B1_BYTE0 0 x22bd
#define DSM_DEBUZZ_NOTCH_B1_BYTE1 0 x22be
#define DSM_DEBUZZ_NOTCH_B1_BYTE2 0 x22bf
#define DSM_DEBUZZ_NOTCH_B2_BYTE0 0 x22c1
#define DSM_DEBUZZ_NOTCH_B2_BYTE1 0 x22c2
#define DSM_DEBUZZ_NOTCH_B2_BYTE2 0 x22c3
#define DSM_DEBUZZ_NOTCH_A1_BYTE0 0 x22c5
#define DSM_DEBUZZ_NOTCH_A1_BYTE1 0 x22c6
#define DSM_DEBUZZ_NOTCH_A1_BYTE2 0 x22c7
#define DSM_DEBUZZ_NOTCH_A2_BYTE0 0 x22c9
#define DSM_DEBUZZ_NOTCH_A2_BYTE1 0 x22ca
#define DSM_DEBUZZ_NOTCH_A2_BYTE2 0 x22cb
#define DSM_THERMAL_BQ_B0_BYTE0 0 x22cd
#define DSM_THERMAL_BQ_B0_BYTE1 0 x22ce
#define DSM_THERMAL_BQ_B0_BYTE2 0 x22cf
#define DSM_THERMAL_BQ_B1_BYTE0 0 x22d1
#define DSM_THERMAL_BQ_B1_BYTE1 0 x22d2
#define DSM_THERMAL_BQ_B1_BYTE2 0 x22d3
#define DSM_THERMAL_BQ_B2_BYTE0 0 x22d5
#define DSM_THERMAL_BQ_B2_BYTE1 0 x22d6
#define DSM_THERMAL_BQ_B2_BYTE2 0 x22d7
#define DSM_THERMAL_BQ_A1_BYTE0 0 x22d9
#define DSM_THERMAL_BQ_A1_BYTE1 0 x22da
#define DSM_THERMAL_BQ_A1_BYTE2 0 x22db
#define DSM_THERMAL_BQ_A2_BYTE0 0 x22dd
#define DSM_THERMAL_BQ_A2_BYTE1 0 x22de
#define DSM_THERMAL_BQ_A2_BYTE2 0 x22df
#define DSM_WBDRC_FILT1_B0_BYTE0 0 x22e1
#define DSM_WBDRC_FILT1_B0_BYTE1 0 x22e2
#define DSM_WBDRC_FILT1_B0_BYTE2 0 x22e3
#define DSM_WBDRC_FILT1_B1_BYTE0 0 x22e5
#define DSM_WBDRC_FILT1_B1_BYTE1 0 x22e6
#define DSM_WBDRC_FILT1_B1_BYTE2 0 x22e7
#define DSM_WBDRC_FILT1_B2_BYTE0 0 x22e9
#define DSM_WBDRC_FILT1_B2_BYTE1 0 x22ea
#define DSM_WBDRC_FILT1_B2_BYTE2 0 x22eb
#define DSM_WBDRC_FILT1_A1_BYTE0 0 x22ed
#define DSM_WBDRC_FILT1_A1_BYTE1 0 x22ee
#define DSM_WBDRC_FILT1_A1_BYTE2 0 x22ef
#define DSM_WBDRC_FILT1_A2_BYTE0 0 x22f1
#define DSM_WBDRC_FILT1_A2_BYTE1 0 x22f2
#define DSM_WBDRC_FILT1_A2_BYTE2 0 x22f3
#define DSM_WBDRC_FILT2_B0_BYTE0 0 x22f5
#define DSM_WBDRC_FILT2_B0_BYTE1 0 x22f6
#define DSM_WBDRC_FILT2_B0_BYTE2 0 x22f7
#define DSM_WBDRC_FILT2_B1_BYTE0 0 x22f9
#define DSM_WBDRC_FILT2_B1_BYTE1 0 x22fa
#define DSM_WBDRC_FILT2_B1_BYTE2 0 x22fb
#define DSM_WBDRC_FILT2_B2_BYTE0 0 x22fd
#define DSM_WBDRC_FILT2_B2_BYTE1 0 x22fe
#define DSM_WBDRC_FILT2_B2_BYTE2 0 x22ff
#define DSM_WBDRC_FILT2_A1_BYTE0 0 x2301
#define DSM_WBDRC_FILT2_A1_BYTE1 0 x2302
#define DSM_WBDRC_FILT2_A1_BYTE2 0 x2303
#define DSM_WBDRC_FILT2_A2_BYTE0 0 x2305
#define DSM_WBDRC_FILT2_A2_BYTE1 0 x2306
#define DSM_WBDRC_FILT2_A2_BYTE2 0 x2307
#define DSM_PPR_RELEASE_TIME_BYTE0 0 x2309
#define DSM_PPR_RELEASE_TIME_BYTE1 0 x230a
#define DSM_PPR_RELEASE_TIME_BYTE2 0 x230b
#define DSM_PPR_ATTACK_TIME_BYTE0 0 x230d
#define DSM_PPR_ATTACK_TIME_BYTE1 0 x230e
#define DSM_PPR_ATTACK_TIME_BYTE2 0 x230f
#define DSM_DEBUZZER_RELEASE_TIME_BYTE0 0 x2311
#define DSM_DEBUZZER_RELEASE_TIME_BYTE1 0 x2312
#define DSM_DEBUZZER_RELEASE_TIME_BYTE2 0 x2313
#define DSM_DEBUZZER_ATTACK_TIME_BYTE0 0 x2315
#define DSM_DEBUZZER_ATTACK_TIME_BYTE1 0 x2316
#define DSM_DEBUZZER_ATTACK_TIME_BYTE2 0 x2317
#define DSMIG_WB_DRC_RELEASE_TIME_1 0 x2380
#define DSMIG_WB_DRC_RELEASE_TIME_2 0 x2381
#define DSMIG_WB_DRC_ATTACK_TIME_1 0 x2382
#define DSMIG_WB_DRC_ATTACK_TIME_2 0 x2383
#define DSMIG_WB_DRC_COMPRESSION_RATIO 0 x2384
#define DSMIG_WB_DRC_COMPRESSION_THRESHOLD 0 x2385
#define DSMIG_WB_DRC_MAKEUPGAIN 0 x2386
#define DSMIG_WB_DRC_NOISE_GATE_THRESHOLD 0 x2387
#define DSMIG_WBDRC_HPF_ENABLE 0 x2388
#define DSMIG_WB_DRC_TEST_SMOOTHER_OUT_EN 0 x2389
#define DSMIG_PPR_THRESHOLD 0 x238b
#define DSM_STEREO_BASS_CHANNEL_SELECT 0 x238d
#define DSM_TPROT_THRESHOLD_BYTE0 0 x238e
#define DSM_TPROT_THRESHOLD_BYTE1 0 x238f
#define DSM_TPROT_ROOM_TEMPERATURE_BYTE0 0 x2390
#define DSM_TPROT_ROOM_TEMPERATURE_BYTE1 0 x2391
#define DSM_TPROT_RECIP_RDC_ROOM_BYTE0 0 x2392
#define DSM_TPROT_RECIP_RDC_ROOM_BYTE1 0 x2393
#define DSM_TPROT_RECIP_RDC_ROOM_BYTE2 0 x2394
#define DSM_TPROT_RECIP_TCONST_BYTE0 0 x2395
#define DSM_TPROT_RECIP_TCONST_BYTE1 0 x2396
#define DSM_TPROT_RECIP_TCONST_BYTE2 0 x2397
#define DSM_THERMAL_ATTENUATION_SETTINGS 0 x2398
#define DSM_THERMAL_PILOT_TONE_ATTENUATION 0 x2399
#define DSM_TPROT_PG_TEMP_THRESH_BYTE0 0 x239a
#define DSM_TPROT_PG_TEMP_THRESH_BYTE1 0 x239b
#define THERMAL_RDC_RD_BACK_BYTE1 0 x239c
#define THERMAL_RDC_RD_BACK_BYTE0 0 x239d
#define THERMAL_COILTEMP_RD_BACK_BYTE1 0 x239e
#define THERMAL_COILTEMP_RD_BACK_BYTE0 0 x239f
#define DSMIG_DEBUZZER_THRESHOLD 0 x23b5
#define DSMIG_DEBUZZER_ALPHA_COEF_TEST_ONLY 0 x23b6
#define DSM_VOL_ENA 0 x23b9
#define DSM_VOL_CTRL 0 x23ba
#define DSMIG_EN 0 x23e0
#define MAX98390_R23E1_DSP_GLOBAL_EN 0 x23e1
#define DSM_THERMAL_GAIN 0 x23f0
#define DSM_PPR_GAIN 0 x23f1
#define DSM_DBZ_GAIN 0 x23f2
#define DSM_WBDRC_GAIN 0 x23f3
#define MAX98390_R23FF_GLOBAL_EN 0 x23FF
#define MAX98390_R24FF_REV_ID 0 x24FF
/* MAX98390_R2021_PCM_RX_SRC_1 */
#define MAX98390_PCM_RX_CH_SRC_SHIFT (0 )
#define MAX98390_PCM_RX_CH_SRC_BASS_SHIFT (4 )
/* MAX98390_R2022_PCM_TX_SRC_1 */
#define MAX98390_PCM_TX_CH_SRC_A_V_SHIFT (0 )
#define MAX98390_PCM_TX_CH_SRC_A_I_SHIFT (4 )
/* MAX98390_R2024_PCM_DATA_FMT_CFG */
#define MAX98390_PCM_MODE_CFG_FORMAT_MASK (0 x7 << 3 )
#define MAX98390_PCM_MODE_CFG_FORMAT_SHIFT (3 )
#define MAX98390_PCM_TX_CH_INTERLEAVE_MASK (0 x1 << 2 )
#define MAX98390_PCM_FORMAT_I2S (0 x0 << 0 )
#define MAX98390_PCM_FORMAT_LJ (0 x1 << 0 )
#define MAX98390_PCM_FORMAT_TDM_MODE0 (0 x3 << 0 )
#define MAX98390_PCM_FORMAT_TDM_MODE1 (0 x4 << 0 )
#define MAX98390_PCM_FORMAT_TDM_MODE2 (0 x5 << 0 )
#define MAX98390_PCM_MODE_CFG_CHANSZ_MASK (0 x3 << 6 )
#define MAX98390_PCM_MODE_CFG_CHANSZ_16 (0 x1 << 6 )
#define MAX98390_PCM_MODE_CFG_CHANSZ_24 (0 x2 << 6 )
#define MAX98390_PCM_MODE_CFG_CHANSZ_32 (0 x3 << 6 )
/* MAX98390_R2039_AMP_DSP_CFG */
#define MAX98390_AMP_DSP_CFG_RMP_UP_SHIFT (4 )
#define MAX98390_AMP_DSP_CFG_RMP_DN_SHIFT (5 )
/* MAX98390_R203A_AMP_EN */
#define MAX98390_R203A_AMP_EN_SHIFT (0 )
/* MAX98390_PCM_MASTER_MODE */
#define MAX98390_PCM_MASTER_MODE_MASK (0 x3 << 0 )
#define MAX98390_PCM_MASTER_MODE_SLAVE (0 x0 << 0 )
#define MAX98390_PCM_MASTER_MODE_MASTER (0 x3 << 0 )
#define MAX98390_PCM_MASTER_MODE_MCLK_MASK (0 xF << 2 )
#define MAX98390_PCM_MASTER_MODE_MCLK_RATE_SHIFT (2 )
/* PCM_CLK_SETUP */
#define MAX98390_PCM_MODE_CFG_PCM_BCLKEDGE (0 x1 << 2 )
#define MAX98390_PCM_CLK_SETUP_BSEL_MASK (0 xF << 0 )
/* PCM_SR_SETUP */
#define MAX98390_PCM_SR_SET1_SR_MASK (0 xF << 0 )
#define MAX98390_PCM_SR_SET1_SR_8000 (0 x0 << 0 )
#define MAX98390_PCM_SR_SET1_SR_11025 (0 x1 << 0 )
#define MAX98390_PCM_SR_SET1_SR_12000 (0 x2 << 0 )
#define MAX98390_PCM_SR_SET1_SR_16000 (0 x3 << 0 )
#define MAX98390_PCM_SR_SET1_SR_22050 (0 x4 << 0 )
#define MAX98390_PCM_SR_SET1_SR_24000 (0 x5 << 0 )
#define MAX98390_PCM_SR_SET1_SR_32000 (0 x6 << 0 )
#define MAX98390_PCM_SR_SET1_SR_44100 (0 x7 << 0 )
#define MAX98390_PCM_SR_SET1_SR_48000 (0 x8 << 0 )
/* PCM_TO_SPK_MONO_MIX_1 */
#define MAX98390_PCM_TO_SPK_MONOMIX_CFG_MASK (0 x3 << 6 )
#define MAX98390_PCM_TO_SPK_MONOMIX_CFG_SHIFT (6 )
#define MAX98390_PCM_TO_SPK_CH0_SRC_MASK (0 xF << 0 )
#define MAX98390_PCM_TO_SPK_CH1_SRC_MASK (0 xF << 4 )
/* MAX98390_BOOST_CTRL3 */
#define MAX98390_BOOST_CLK_PHASE_CFG_SHIFT (2 )
/* SOFT_RESET */
#define MAX98390_SOFT_RESET_MASK (0 x1 << 0 )
#define MAX98390_GLOBAL_EN_MASK (0 x1 << 0 )
#define MAX98390_AMP_EN_MASK (0 x1 << 0 )
/* DSM register offset */
#define MAX98390_DSM_PAYLOAD_OFFSET 16
#define MAX98390_DSM_PARAM_MAX_SIZE 1024
#define MAX98390_DSM_PARAM_MIN_SIZE 670
struct max98390_priv {
struct regmap *regmap;
unsigned int sysclk;
unsigned int provider;
unsigned int tdm_mode;
unsigned int v_l_slot;
unsigned int i_l_slot;
unsigned int ref_rdc_value;
unsigned int ambient_temp_value;
const char *dsm_param_name;
};
#endif
Messung V0.5 in Prozent C=93 H=95 G=93
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-06-08)
¤
*© Formatika GbR, Deutschland