cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

max98390.h (24936B)


      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
    656struct 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