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