Olivier Deprez | 157378f | 2022-04-04 15:47:50 +0200 | [diff] [blame^] | 1 | // SPDX-License-Identifier: GPL-2.0 |
| 2 | // |
| 3 | // rt1015.h -- RT1015 ALSA SoC audio amplifier driver |
| 4 | // |
| 5 | // Copyright 2019 Realtek Semiconductor Corp. |
| 6 | // Author: Jack Yu <jack.yu@realtek.com> |
| 7 | // |
| 8 | // This program is free software; you can redistribute it and/or modify |
| 9 | // it under the terms of the GNU General Public License version 2 as |
| 10 | // published by the Free Software Foundation. |
| 11 | // |
| 12 | |
| 13 | #ifndef __RT1015_H__ |
| 14 | #define __RT1015_H__ |
| 15 | #include <sound/rt1015.h> |
| 16 | |
| 17 | #define RT1015_DEVICE_ID_VAL 0x1011 |
| 18 | #define RT1015_DEVICE_ID_VAL2 0x1015 |
| 19 | |
| 20 | #define RT1015_RESET 0x0000 |
| 21 | #define RT1015_CLK2 0x0004 |
| 22 | #define RT1015_CLK3 0x0006 |
| 23 | #define RT1015_PLL1 0x000a |
| 24 | #define RT1015_PLL2 0x000c |
| 25 | #define RT1015_DUM_RW1 0x000e |
| 26 | #define RT1015_DUM_RW2 0x0010 |
| 27 | #define RT1015_DUM_RW3 0x0012 |
| 28 | #define RT1015_DUM_RW4 0x0014 |
| 29 | #define RT1015_DUM_RW5 0x0016 |
| 30 | #define RT1015_DUM_RW6 0x0018 |
| 31 | #define RT1015_CLK_DET 0x0020 |
| 32 | #define RT1015_SIL_DET 0x0022 |
| 33 | #define RT1015_CUSTOMER_ID 0x0076 |
| 34 | #define RT1015_PCODE_FWVER 0x0078 |
| 35 | #define RT1015_VER_ID 0x007a |
| 36 | #define RT1015_VENDOR_ID 0x007c |
| 37 | #define RT1015_DEVICE_ID 0x007d |
| 38 | #define RT1015_PAD_DRV1 0x00f0 |
| 39 | #define RT1015_PAD_DRV2 0x00f2 |
| 40 | #define RT1015_GAT_BOOST 0x00f3 |
| 41 | #define RT1015_PRO_ALT 0x00f4 |
| 42 | #define RT1015_OSCK_STA 0x00f6 |
| 43 | #define RT1015_MAN_I2C 0x0100 |
| 44 | #define RT1015_DAC1 0x0102 |
| 45 | #define RT1015_DAC2 0x0104 |
| 46 | #define RT1015_DAC3 0x0106 |
| 47 | #define RT1015_ADC1 0x010c |
| 48 | #define RT1015_ADC2 0x010e |
| 49 | #define RT1015_TDM_MASTER 0x0111 |
| 50 | #define RT1015_TDM_TCON 0x0112 |
| 51 | #define RT1015_TDM1_1 0x0114 |
| 52 | #define RT1015_TDM1_2 0x0116 |
| 53 | #define RT1015_TDM1_3 0x0118 |
| 54 | #define RT1015_TDM1_4 0x011a |
| 55 | #define RT1015_TDM1_5 0x011c |
| 56 | #define RT1015_MIXER1 0x0300 |
| 57 | #define RT1015_MIXER2 0x0302 |
| 58 | #define RT1015_ANA_PROTECT1 0x0311 |
| 59 | #define RT1015_ANA_CTRL_SEQ1 0x0313 |
| 60 | #define RT1015_ANA_CTRL_SEQ2 0x0314 |
| 61 | #define RT1015_VBAT_DET_DEB 0x031a |
| 62 | #define RT1015_VBAT_VOLT_DET1 0x031c |
| 63 | #define RT1015_VBAT_VOLT_DET2 0x031d |
| 64 | #define RT1015_VBAT_TEST_OUT1 0x031e |
| 65 | #define RT1015_VBAT_TEST_OUT2 0x031f |
| 66 | #define RT1015_VBAT_PROT_ATT 0x0320 |
| 67 | #define RT1015_VBAT_DET_CODE 0x0321 |
| 68 | #define RT1015_PWR1 0x0322 |
| 69 | #define RT1015_PWR4 0x0328 |
| 70 | #define RT1015_PWR5 0x0329 |
| 71 | #define RT1015_PWR6 0x032a |
| 72 | #define RT1015_PWR7 0x032b |
| 73 | #define RT1015_PWR8 0x032c |
| 74 | #define RT1015_PWR9 0x032d |
| 75 | #define RT1015_CLASSD_SEQ 0x032e |
| 76 | #define RT1015_SMART_BST_CTRL1 0x0330 |
| 77 | #define RT1015_SMART_BST_CTRL2 0x0332 |
| 78 | #define RT1015_ANA_CTRL1 0x0334 |
| 79 | #define RT1015_ANA_CTRL2 0x0336 |
| 80 | #define RT1015_PWR_STATE_CTRL 0x0338 |
| 81 | #define RT1015_MONO_DYNA_CTRL 0x04fa |
| 82 | #define RT1015_MONO_DYNA_CTRL1 0x04fc |
| 83 | #define RT1015_MONO_DYNA_CTRL2 0x04fe |
| 84 | #define RT1015_MONO_DYNA_CTRL3 0x0500 |
| 85 | #define RT1015_MONO_DYNA_CTRL4 0x0502 |
| 86 | #define RT1015_MONO_DYNA_CTRL5 0x0504 |
| 87 | #define RT1015_SPK_VOL 0x0506 |
| 88 | #define RT1015_SHORT_DETTOP1 0x0508 |
| 89 | #define RT1015_SHORT_DETTOP2 0x050a |
| 90 | #define RT1015_SPK_DC_DETECT1 0x0519 |
| 91 | #define RT1015_SPK_DC_DETECT2 0x051a |
| 92 | #define RT1015_SPK_DC_DETECT3 0x051b |
| 93 | #define RT1015_SPK_DC_DETECT4 0x051d |
| 94 | #define RT1015_SPK_DC_DETECT5 0x051f |
| 95 | #define RT1015_BAT_RPO_STEP1 0x0536 |
| 96 | #define RT1015_BAT_RPO_STEP2 0x0538 |
| 97 | #define RT1015_BAT_RPO_STEP3 0x053a |
| 98 | #define RT1015_BAT_RPO_STEP4 0x053c |
| 99 | #define RT1015_BAT_RPO_STEP5 0x053d |
| 100 | #define RT1015_BAT_RPO_STEP6 0x053e |
| 101 | #define RT1015_BAT_RPO_STEP7 0x053f |
| 102 | #define RT1015_BAT_RPO_STEP8 0x0540 |
| 103 | #define RT1015_BAT_RPO_STEP9 0x0541 |
| 104 | #define RT1015_BAT_RPO_STEP10 0x0542 |
| 105 | #define RT1015_BAT_RPO_STEP11 0x0543 |
| 106 | #define RT1015_BAT_RPO_STEP12 0x0544 |
| 107 | #define RT1015_SPREAD_SPEC1 0x0568 |
| 108 | #define RT1015_SPREAD_SPEC2 0x056a |
| 109 | #define RT1015_PAD_STATUS 0x1000 |
| 110 | #define RT1015_PADS_PULLING_CTRL1 0x1002 |
| 111 | #define RT1015_PADS_DRIVING 0x1006 |
| 112 | #define RT1015_SYS_RST1 0x1007 |
| 113 | #define RT1015_SYS_RST2 0x1009 |
| 114 | #define RT1015_SYS_GATING1 0x100a |
| 115 | #define RT1015_TEST_MODE1 0x100c |
| 116 | #define RT1015_TEST_MODE2 0x100d |
| 117 | #define RT1015_TIMING_CTRL1 0x100e |
| 118 | #define RT1015_PLL_INT 0x1010 |
| 119 | #define RT1015_TEST_OUT1 0x1020 |
| 120 | #define RT1015_DC_CALIB_CLSD1 0x1200 |
| 121 | #define RT1015_DC_CALIB_CLSD2 0x1202 |
| 122 | #define RT1015_DC_CALIB_CLSD3 0x1204 |
| 123 | #define RT1015_DC_CALIB_CLSD4 0x1206 |
| 124 | #define RT1015_DC_CALIB_CLSD5 0x1208 |
| 125 | #define RT1015_DC_CALIB_CLSD6 0x120a |
| 126 | #define RT1015_DC_CALIB_CLSD7 0x120c |
| 127 | #define RT1015_DC_CALIB_CLSD8 0x120e |
| 128 | #define RT1015_DC_CALIB_CLSD9 0x1210 |
| 129 | #define RT1015_DC_CALIB_CLSD10 0x1212 |
| 130 | #define RT1015_CLSD_INTERNAL1 0x1300 |
| 131 | #define RT1015_CLSD_INTERNAL2 0x1302 |
| 132 | #define RT1015_CLSD_INTERNAL3 0x1304 |
| 133 | #define RT1015_CLSD_INTERNAL4 0x1305 |
| 134 | #define RT1015_CLSD_INTERNAL5 0x1306 |
| 135 | #define RT1015_CLSD_INTERNAL6 0x1308 |
| 136 | #define RT1015_CLSD_INTERNAL7 0x130a |
| 137 | #define RT1015_CLSD_INTERNAL8 0x130c |
| 138 | #define RT1015_CLSD_INTERNAL9 0x130e |
| 139 | #define RT1015_CLSD_OCP_CTRL 0x130f |
| 140 | #define RT1015_VREF_LV 0x1310 |
| 141 | #define RT1015_MBIAS1 0x1312 |
| 142 | #define RT1015_MBIAS2 0x1314 |
| 143 | #define RT1015_MBIAS3 0x1316 |
| 144 | #define RT1015_MBIAS4 0x1318 |
| 145 | #define RT1015_VREF_LV1 0x131a |
| 146 | #define RT1015_S_BST_TIMING_INTER1 0x1322 |
| 147 | #define RT1015_S_BST_TIMING_INTER2 0x1323 |
| 148 | #define RT1015_S_BST_TIMING_INTER3 0x1324 |
| 149 | #define RT1015_S_BST_TIMING_INTER4 0x1325 |
| 150 | #define RT1015_S_BST_TIMING_INTER5 0x1326 |
| 151 | #define RT1015_S_BST_TIMING_INTER6 0x1327 |
| 152 | #define RT1015_S_BST_TIMING_INTER7 0x1328 |
| 153 | #define RT1015_S_BST_TIMING_INTER8 0x1329 |
| 154 | #define RT1015_S_BST_TIMING_INTER9 0x132a |
| 155 | #define RT1015_S_BST_TIMING_INTER10 0x132b |
| 156 | #define RT1015_S_BST_TIMING_INTER11 0x1330 |
| 157 | #define RT1015_S_BST_TIMING_INTER12 0x1331 |
| 158 | #define RT1015_S_BST_TIMING_INTER13 0x1332 |
| 159 | #define RT1015_S_BST_TIMING_INTER14 0x1333 |
| 160 | #define RT1015_S_BST_TIMING_INTER15 0x1334 |
| 161 | #define RT1015_S_BST_TIMING_INTER16 0x1335 |
| 162 | #define RT1015_S_BST_TIMING_INTER17 0x1336 |
| 163 | #define RT1015_S_BST_TIMING_INTER18 0x1337 |
| 164 | #define RT1015_S_BST_TIMING_INTER19 0x1338 |
| 165 | #define RT1015_S_BST_TIMING_INTER20 0x1339 |
| 166 | #define RT1015_S_BST_TIMING_INTER21 0x133a |
| 167 | #define RT1015_S_BST_TIMING_INTER22 0x133b |
| 168 | #define RT1015_S_BST_TIMING_INTER23 0x133c |
| 169 | #define RT1015_S_BST_TIMING_INTER24 0x133d |
| 170 | #define RT1015_S_BST_TIMING_INTER25 0x133e |
| 171 | #define RT1015_S_BST_TIMING_INTER26 0x133f |
| 172 | #define RT1015_S_BST_TIMING_INTER27 0x1340 |
| 173 | #define RT1015_S_BST_TIMING_INTER28 0x1341 |
| 174 | #define RT1015_S_BST_TIMING_INTER29 0x1342 |
| 175 | #define RT1015_S_BST_TIMING_INTER30 0x1343 |
| 176 | #define RT1015_S_BST_TIMING_INTER31 0x1344 |
| 177 | #define RT1015_S_BST_TIMING_INTER32 0x1345 |
| 178 | #define RT1015_S_BST_TIMING_INTER33 0x1346 |
| 179 | #define RT1015_S_BST_TIMING_INTER34 0x1347 |
| 180 | #define RT1015_S_BST_TIMING_INTER35 0x1348 |
| 181 | #define RT1015_S_BST_TIMING_INTER36 0x1349 |
| 182 | |
| 183 | /* 0x0004 */ |
| 184 | #define RT1015_CLK_SYS_PRE_SEL_MASK (0x3 << 14) |
| 185 | #define RT1015_CLK_SYS_PRE_SEL_SFT 14 |
| 186 | #define RT1015_CLK_SYS_PRE_SEL_MCLK (0x0 << 14) |
| 187 | #define RT1015_CLK_SYS_PRE_SEL_PLL (0x2 << 14) |
| 188 | #define RT1015_PLL_SEL_MASK (0x1 << 13) |
| 189 | #define RT1015_PLL_SEL_SFT 13 |
| 190 | #define RT1015_PLL_SEL_PLL_SRC2 (0x0 << 13) |
| 191 | #define RT1015_PLL_SEL_BCLK (0x1 << 13) |
| 192 | #define RT1015_FS_PD_MASK (0x7 << 4) |
| 193 | #define RT1015_FS_PD_SFT 4 |
| 194 | |
| 195 | /* 0x000a */ |
| 196 | #define RT1015_PLL_M_MAX 0xf |
| 197 | #define RT1015_PLL_M_MASK (RT1015_PLL_M_MAX << 12) |
| 198 | #define RT1015_PLL_M_SFT 12 |
| 199 | #define RT1015_PLL_M_BP (0x1 << 11) |
| 200 | #define RT1015_PLL_M_BP_SFT 11 |
| 201 | #define RT1015_PLL_N_MAX 0x1ff |
| 202 | #define RT1015_PLL_N_MASK (RT1015_PLL_N_MAX << 0) |
| 203 | #define RT1015_PLL_N_SFT 0 |
| 204 | |
| 205 | /* 0x000c */ |
| 206 | #define RT1015_PLL_BPK_MASK (0x1 << 5) |
| 207 | #define RT1015_PLL_BPK (0x0 << 5) |
| 208 | #define RT1015_PLL_K_MAX 0x1f |
| 209 | #define RT1015_PLL_K_MASK (RT1015_PLL_K_MAX) |
| 210 | #define RT1015_PLL_K_SFT 0 |
| 211 | |
| 212 | /* 0x007a */ |
| 213 | #define RT1015_ID_MASK 0xff |
| 214 | #define RT1015_ID_VERA 0x0 |
| 215 | #define RT1015_ID_VERB 0x1 |
| 216 | |
| 217 | /* 0x0102 */ |
| 218 | #define RT1015_DAC_VOL_MASK (0x7f << 9) |
| 219 | #define RT1015_DAC_VOL_SFT 9 |
| 220 | |
| 221 | /* 0x0104 */ |
| 222 | #define RT1015_DAC_CLK (0x1 << 13) |
| 223 | #define RT1015_DAC_CLK_BIT 13 |
| 224 | |
| 225 | /* 0x0106 */ |
| 226 | #define RT1015_DAC_MUTE_MASK (0x1 << 15) |
| 227 | #define RT1015_DA_MUTE_SFT 15 |
| 228 | #define RT1015_DVOL_MUTE_FLAG_SFT 12 |
| 229 | |
| 230 | /* 0x0111 */ |
| 231 | #define RT1015_TCON_TDM_MS_MASK (0x1 << 14) |
| 232 | #define RT1015_TCON_TDM_MS_SFT 14 |
| 233 | #define RT1015_TCON_TDM_MS_S (0x0 << 14) |
| 234 | #define RT1015_TCON_TDM_MS_M (0x1 << 14) |
| 235 | #define RT1015_I2S_DL_MASK (0x7 << 8) |
| 236 | #define RT1015_I2S_DL_SFT 8 |
| 237 | #define RT1015_I2S_DL_16 (0x0 << 8) |
| 238 | #define RT1015_I2S_DL_20 (0x1 << 8) |
| 239 | #define RT1015_I2S_DL_24 (0x2 << 8) |
| 240 | #define RT1015_I2S_DL_8 (0x3 << 8) |
| 241 | #define RT1015_I2S_M_DF_MASK (0x7 << 0) |
| 242 | #define RT1015_I2S_M_DF_SFT 0 |
| 243 | #define RT1015_I2S_M_DF_I2S (0x0) |
| 244 | #define RT1015_I2S_M_DF_LEFT (0x1) |
| 245 | #define RT1015_I2S_M_DF_PCM_A (0x2) |
| 246 | #define RT1015_I2S_M_DF_PCM_B (0x3) |
| 247 | #define RT1015_I2S_M_DF_PCM_A_N (0x6) |
| 248 | #define RT1015_I2S_M_DF_PCM_B_N (0x7) |
| 249 | |
| 250 | /* TDM_tcon Setting (0x0112) */ |
| 251 | #define RT1015_I2S_TCON_DF_MASK (0x7 << 13) |
| 252 | #define RT1015_I2S_TCON_DF_SFT 13 |
| 253 | #define RT1015_I2S_TCON_DF_I2S (0x0 << 13) |
| 254 | #define RT1015_I2S_TCON_DF_LEFT (0x1 << 13) |
| 255 | #define RT1015_I2S_TCON_DF_PCM_A (0x2 << 13) |
| 256 | #define RT1015_I2S_TCON_DF_PCM_B (0x3 << 13) |
| 257 | #define RT1015_I2S_TCON_DF_PCM_A_N (0x6 << 13) |
| 258 | #define RT1015_I2S_TCON_DF_PCM_B_N (0x7 << 13) |
| 259 | #define RT1015_TCON_BCLK_SEL_MASK (0x3 << 10) |
| 260 | #define RT1015_TCON_BCLK_SEL_SFT 10 |
| 261 | #define RT1015_TCON_BCLK_SEL_32FS (0x0 << 10) |
| 262 | #define RT1015_TCON_BCLK_SEL_64FS (0x1 << 10) |
| 263 | #define RT1015_TCON_BCLK_SEL_128FS (0x2 << 10) |
| 264 | #define RT1015_TCON_BCLK_SEL_256FS (0x3 << 10) |
| 265 | #define RT1015_TCON_CH_LEN_MASK (0x3 << 5) |
| 266 | #define RT1015_TCON_CH_LEN_SFT 5 |
| 267 | #define RT1015_TCON_CH_LEN_16B (0x0 << 5) |
| 268 | #define RT1015_TCON_CH_LEN_20B (0x1 << 5) |
| 269 | #define RT1015_TCON_CH_LEN_24B (0x2 << 5) |
| 270 | #define RT1015_TCON_CH_LEN_32B (0x3 << 5) |
| 271 | #define RT1015_TCON_BCLK_MST_MASK (0x1 << 4) |
| 272 | #define RT1015_TCON_BCLK_MST_SFT 4 |
| 273 | #define RT1015_TCON_BCLK_MST_INV (0x1 << 4) |
| 274 | |
| 275 | /* TDM1 Setting-1 (0x0114) */ |
| 276 | #define RT1015_TDM_INV_BCLK_MASK (0x1 << 15) |
| 277 | #define RT1015_TDM_INV_BCLK_SFT 15 |
| 278 | #define RT1015_TDM_INV_BCLK (0x1 << 15) |
| 279 | |
| 280 | /* 0x0330 */ |
| 281 | #define RT1015_ABST_AUTO_EN_MASK (0x1 << 13) |
| 282 | #define RT1015_ABST_AUTO_MODE (0x1 << 13) |
| 283 | #define RT1015_ABST_REG_MODE (0x0 << 13) |
| 284 | #define RT1015_ABST_FIX_TGT_MASK (0x1 << 12) |
| 285 | #define RT1015_ABST_FIX_TGT_EN (0x1 << 12) |
| 286 | #define RT1015_ABST_FIX_TGT_DIS (0x0 << 12) |
| 287 | #define RT1015_BYPASS_SWR_REG_MASK (0x1 << 7) |
| 288 | #define RT1015_BYPASS_SWRREG_BYPASS (0x1 << 7) |
| 289 | #define RT1015_BYPASS_SWRREG_PASS (0x0 << 7) |
| 290 | |
| 291 | /* 0x0322 */ |
| 292 | #define RT1015_PWR_LDO2 (0x1 << 15) |
| 293 | #define RT1015_PWR_LDO2_BIT 15 |
| 294 | #define RT1015_PWR_DAC (0x1 << 14) |
| 295 | #define RT1015_PWR_DAC_BIT 14 |
| 296 | #define RT1015_PWR_INTCLK (0x1 << 13) |
| 297 | #define RT1015_PWR_INTCLK_BIT 13 |
| 298 | #define RT1015_PWR_ISENSE (0x1 << 12) |
| 299 | #define RT1015_PWR_ISENSE_BIT 12 |
| 300 | #define RT1015_PWR_VSENSE (0x1 << 10) |
| 301 | #define RT1015_PWR_VSENSE_BIT 10 |
| 302 | #define RT1015_PWR_PLL (0x1 << 9) |
| 303 | #define RT1015_PWR_PLL_BIT 9 |
| 304 | #define RT1015_PWR_BG_1_2 (0x1 << 8) |
| 305 | #define RT1015_PWR_BG_1_2_BIT 8 |
| 306 | #define RT1015_PWR_MBIAS_BG (0x1 << 7) |
| 307 | #define RT1015_PWR_MBIAS_BG_BIT 7 |
| 308 | #define RT1015_PWR_VBAT (0x1 << 6) |
| 309 | #define RT1015_PWR_VBAT_BIT 6 |
| 310 | #define RT1015_PWR_MBIAS (0x1 << 4) |
| 311 | #define RT1015_PWR_MBIAS_BIT 4 |
| 312 | #define RT1015_PWR_ADCV (0x1 << 3) |
| 313 | #define RT1015_PWR_ADCV_BIT 3 |
| 314 | #define RT1015_PWR_MIXERV (0x1 << 2) |
| 315 | #define RT1015_PWR_MIXERV_BIT 2 |
| 316 | #define RT1015_PWR_SUMV (0x1 << 1) |
| 317 | #define RT1015_PWR_SUMV_BIT 1 |
| 318 | #define RT1015_PWR_VREFLV (0x1 << 0) |
| 319 | #define RT1015_PWR_VREFLV_BIT 0 |
| 320 | |
| 321 | /* 0x0324 */ |
| 322 | #define RT1015_PWR_BASIC (0x1 << 15) |
| 323 | #define RT1015_PWR_BASIC_BIT 15 |
| 324 | #define RT1015_PWR_SD (0x1 << 14) |
| 325 | #define RT1015_PWR_SD_BIT 14 |
| 326 | #define RT1015_PWR_IBIAS (0x1 << 13) |
| 327 | #define RT1015_PWR_IBIAS_BIT 13 |
| 328 | #define RT1015_PWR_VCM (0x1 << 11) |
| 329 | #define RT1015_PWR_VCM_BIT 11 |
| 330 | |
| 331 | /* 0x0328 */ |
| 332 | #define RT1015_PWR_SWR (0x1 << 12) |
| 333 | #define RT1015_PWR_SWR_BIT 12 |
| 334 | |
| 335 | /* 0x1300 */ |
| 336 | #define RT1015_PWR_CLSD (0x1 << 12) |
| 337 | #define RT1015_PWR_CLSD_BIT 12 |
| 338 | |
| 339 | /* 0x007a */ |
| 340 | #define RT1015_ID_MASK 0xff |
| 341 | #define RT1015_ID_VERA 0x0 |
| 342 | #define RT1015_ID_VERB 0x1 |
| 343 | |
| 344 | /* System Clock Source */ |
| 345 | enum { |
| 346 | RT1015_SCLK_S_MCLK, |
| 347 | RT1015_SCLK_S_PLL, |
| 348 | }; |
| 349 | |
| 350 | /* PLL1 Source */ |
| 351 | enum { |
| 352 | RT1015_PLL_S_MCLK, |
| 353 | RT1015_PLL_S_BCLK, |
| 354 | }; |
| 355 | |
| 356 | enum { |
| 357 | RT1015_AIF1, |
| 358 | RT1015_AIFS, |
| 359 | }; |
| 360 | |
| 361 | enum { |
| 362 | RT1015_VERA, |
| 363 | RT1015_VERB, |
| 364 | }; |
| 365 | |
| 366 | enum { |
| 367 | BYPASS, |
| 368 | ADAPTIVE, |
| 369 | FIXED_ADAPTIVE, |
| 370 | }; |
| 371 | |
| 372 | enum { |
| 373 | RT1015_Enable_Boost = 0, |
| 374 | RT1015_Bypass_Boost, |
| 375 | }; |
| 376 | |
| 377 | enum { |
| 378 | RT1015_HW_28 = 0, |
| 379 | RT1015_HW_29, |
| 380 | }; |
| 381 | |
| 382 | struct rt1015_priv { |
| 383 | struct snd_soc_component *component; |
| 384 | struct rt1015_platform_data pdata; |
| 385 | struct regmap *regmap; |
| 386 | int sysclk; |
| 387 | int sysclk_src; |
| 388 | int lrck; |
| 389 | int bclk; |
| 390 | int bclk_ratio; |
| 391 | int id; |
| 392 | int pll_src; |
| 393 | int pll_in; |
| 394 | int pll_out; |
| 395 | int boost_mode; |
| 396 | int bypass_boost; |
| 397 | int amp_ver; |
| 398 | int dac_is_used; |
| 399 | int cali_done; |
| 400 | int hw_config; |
| 401 | struct delayed_work flush_work; |
| 402 | }; |
| 403 | |
| 404 | #endif /* __RT1015_H__ */ |