1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 2a2e2876aSanish kumar /* 3a2e2876aSanish kumar * max98926.h -- MAX98926 ALSA SoC Audio driver 4a2e2876aSanish kumar * Copyright 2013-2015 Maxim Integrated Products 5a2e2876aSanish kumar */ 6a2e2876aSanish kumar 7a2e2876aSanish kumar #ifndef _MAX98926_H 8a2e2876aSanish kumar #define _MAX98926_H 9a2e2876aSanish kumar 10a2e2876aSanish kumar #define MAX98926_CHIP_VERSION 0x40 11a2e2876aSanish kumar #define MAX98926_CHIP_VERSION1 0x50 12a2e2876aSanish kumar 13a2e2876aSanish kumar #define MAX98926_VBAT_DATA 0x00 14a2e2876aSanish kumar #define MAX98926_VBST_DATA 0x01 15a2e2876aSanish kumar #define MAX98926_LIVE_STATUS0 0x02 16a2e2876aSanish kumar #define MAX98926_LIVE_STATUS1 0x03 17a2e2876aSanish kumar #define MAX98926_LIVE_STATUS2 0x04 18a2e2876aSanish kumar #define MAX98926_STATE0 0x05 19a2e2876aSanish kumar #define MAX98926_STATE1 0x06 20a2e2876aSanish kumar #define MAX98926_STATE2 0x07 21a2e2876aSanish kumar #define MAX98926_FLAG0 0x08 22a2e2876aSanish kumar #define MAX98926_FLAG1 0x09 23a2e2876aSanish kumar #define MAX98926_FLAG2 0x0A 24a2e2876aSanish kumar #define MAX98926_IRQ_ENABLE0 0x0B 25a2e2876aSanish kumar #define MAX98926_IRQ_ENABLE1 0x0C 26a2e2876aSanish kumar #define MAX98926_IRQ_ENABLE2 0x0D 27a2e2876aSanish kumar #define MAX98926_IRQ_CLEAR0 0x0E 28a2e2876aSanish kumar #define MAX98926_IRQ_CLEAR1 0x0F 29a2e2876aSanish kumar #define MAX98926_IRQ_CLEAR2 0x10 30a2e2876aSanish kumar #define MAX98926_MAP0 0x11 31a2e2876aSanish kumar #define MAX98926_MAP1 0x12 32a2e2876aSanish kumar #define MAX98926_MAP2 0x13 33a2e2876aSanish kumar #define MAX98926_MAP3 0x14 34a2e2876aSanish kumar #define MAX98926_MAP4 0x15 35a2e2876aSanish kumar #define MAX98926_MAP5 0x16 36a2e2876aSanish kumar #define MAX98926_MAP6 0x17 37a2e2876aSanish kumar #define MAX98926_MAP7 0x18 38a2e2876aSanish kumar #define MAX98926_MAP8 0x19 39a2e2876aSanish kumar #define MAX98926_DAI_CLK_MODE1 0x1A 40a2e2876aSanish kumar #define MAX98926_DAI_CLK_MODE2 0x1B 41a2e2876aSanish kumar #define MAX98926_DAI_CLK_DIV_M_MSBS 0x1C 42a2e2876aSanish kumar #define MAX98926_DAI_CLK_DIV_M_LSBS 0x1D 43a2e2876aSanish kumar #define MAX98926_DAI_CLK_DIV_N_MSBS 0x1E 44a2e2876aSanish kumar #define MAX98926_DAI_CLK_DIV_N_LSBS 0x1F 45a2e2876aSanish kumar #define MAX98926_FORMAT 0x20 46a2e2876aSanish kumar #define MAX98926_TDM_SLOT_SELECT 0x21 47a2e2876aSanish kumar #define MAX98926_DOUT_CFG_VMON 0x22 48a2e2876aSanish kumar #define MAX98926_DOUT_CFG_IMON 0x23 49a2e2876aSanish kumar #define MAX98926_DOUT_CFG_VBAT 0x24 50a2e2876aSanish kumar #define MAX98926_DOUT_CFG_VBST 0x25 51a2e2876aSanish kumar #define MAX98926_DOUT_CFG_FLAG 0x26 52a2e2876aSanish kumar #define MAX98926_DOUT_HIZ_CFG1 0x27 53a2e2876aSanish kumar #define MAX98926_DOUT_HIZ_CFG2 0x28 54a2e2876aSanish kumar #define MAX98926_DOUT_HIZ_CFG3 0x29 55a2e2876aSanish kumar #define MAX98926_DOUT_HIZ_CFG4 0x2A 56a2e2876aSanish kumar #define MAX98926_DOUT_DRV_STRENGTH 0x2B 57a2e2876aSanish kumar #define MAX98926_FILTERS 0x2C 58a2e2876aSanish kumar #define MAX98926_GAIN 0x2D 59a2e2876aSanish kumar #define MAX98926_GAIN_RAMPING 0x2E 60a2e2876aSanish kumar #define MAX98926_SPK_AMP 0x2F 61a2e2876aSanish kumar #define MAX98926_THRESHOLD 0x30 62a2e2876aSanish kumar #define MAX98926_ALC_ATTACK 0x31 63a2e2876aSanish kumar #define MAX98926_ALC_ATTEN_RLS 0x32 64a2e2876aSanish kumar #define MAX98926_ALC_HOLD_RLS 0x33 65a2e2876aSanish kumar #define MAX98926_ALC_CONFIGURATION 0x34 66a2e2876aSanish kumar #define MAX98926_BOOST_CONVERTER 0x35 67a2e2876aSanish kumar #define MAX98926_BLOCK_ENABLE 0x36 68a2e2876aSanish kumar #define MAX98926_CONFIGURATION 0x37 69a2e2876aSanish kumar #define MAX98926_GLOBAL_ENABLE 0x38 70a2e2876aSanish kumar #define MAX98926_BOOST_LIMITER 0x3A 71a2e2876aSanish kumar #define MAX98926_VERSION 0xFF 72a2e2876aSanish kumar 73a2e2876aSanish kumar #define MAX98926_REG_CNT (MAX98926_R03A_BOOST_LIMITER+1) 74a2e2876aSanish kumar 75a2e2876aSanish kumar #define MAX98926_PDM_CURRENT_MASK (1<<7) 76a2e2876aSanish kumar #define MAX98926_PDM_CURRENT_SHIFT 7 77a2e2876aSanish kumar #define MAX98926_PDM_VOLTAGE_MASK (1<<3) 78a2e2876aSanish kumar #define MAX98926_PDM_VOLTAGE_SHIFT 3 79a2e2876aSanish kumar #define MAX98926_PDM_CHANNEL_0_MASK (1<<2) 80a2e2876aSanish kumar #define MAX98926_PDM_CHANNEL_0_SHIFT 2 81a2e2876aSanish kumar #define MAX98926_PDM_CHANNEL_1_MASK (1<<6) 82a2e2876aSanish kumar #define MAX98926_PDM_CHANNEL_1_SHIFT 6 83a2e2876aSanish kumar #define MAX98926_PDM_CHANNEL_1_HIZ 5 84a2e2876aSanish kumar #define MAX98926_PDM_CHANNEL_0_HIZ 1 85a2e2876aSanish kumar #define MAX98926_PDM_SOURCE_0_SHIFT 0 86a2e2876aSanish kumar #define MAX98926_PDM_SOURCE_0_MASK (1<<0) 87a2e2876aSanish kumar #define MAX98926_PDM_SOURCE_1_MASK (1<<4) 88a2e2876aSanish kumar #define MAX98926_PDM_SOURCE_1_SHIFT 4 89a2e2876aSanish kumar 90a2e2876aSanish kumar /* MAX98926 Register Bit Fields */ 91a2e2876aSanish kumar 92a2e2876aSanish kumar /* MAX98926_R002_LIVE_STATUS0 */ 93a2e2876aSanish kumar #define MAX98926_THERMWARN_STATUS_MASK (1<<3) 94a2e2876aSanish kumar #define MAX98926_THERMWARN_STATUS_SHIFT 3 95a2e2876aSanish kumar #define MAX98926_THERMWARN_STATUS_WIDTH 1 96a2e2876aSanish kumar #define MAX98926_THERMSHDN_STATUS_MASK (1<<1) 97a2e2876aSanish kumar #define MAX98926_THERMSHDN_STATUS_SHIFT 1 98a2e2876aSanish kumar #define MAX98926_THERMSHDN_STATUS_WIDTH 1 99a2e2876aSanish kumar 100a2e2876aSanish kumar /* MAX98926_R003_LIVE_STATUS1 */ 101a2e2876aSanish kumar #define MAX98926_SPKCURNT_STATUS_MASK (1<<5) 102a2e2876aSanish kumar #define MAX98926_SPKCURNT_STATUS_SHIFT 5 103a2e2876aSanish kumar #define MAX98926_SPKCURNT_STATUS_WIDTH 1 104a2e2876aSanish kumar #define MAX98926_WATCHFAIL_STATUS_MASK (1<<4) 105a2e2876aSanish kumar #define MAX98926_WATCHFAIL_STATUS_SHIFT 4 106a2e2876aSanish kumar #define MAX98926_WATCHFAIL_STATUS_WIDTH 1 107a2e2876aSanish kumar #define MAX98926_ALCINFH_STATUS_MASK (1<<3) 108a2e2876aSanish kumar #define MAX98926_ALCINFH_STATUS_SHIFT 3 109a2e2876aSanish kumar #define MAX98926_ALCINFH_STATUS_WIDTH 1 110a2e2876aSanish kumar #define MAX98926_ALCACT_STATUS_MASK (1<<2) 111a2e2876aSanish kumar #define MAX98926_ALCACT_STATUS_SHIFT 2 112a2e2876aSanish kumar #define MAX98926_ALCACT_STATUS_WIDTH 1 113a2e2876aSanish kumar #define MAX98926_ALCMUT_STATUS_MASK (1<<1) 114a2e2876aSanish kumar #define MAX98926_ALCMUT_STATUS_SHIFT 1 115a2e2876aSanish kumar #define MAX98926_ALCMUT_STATUS_WIDTH 1 116a2e2876aSanish kumar #define MAX98926_ACLP_STATUS_MASK (1<<0) 117a2e2876aSanish kumar #define MAX98926_ACLP_STATUS_SHIFT 0 118a2e2876aSanish kumar #define MAX98926_ACLP_STATUS_WIDTH 1 119a2e2876aSanish kumar 120a2e2876aSanish kumar /* MAX98926_R004_LIVE_STATUS2 */ 121a2e2876aSanish kumar #define MAX98926_SLOTOVRN_STATUS_MASK (1<<6) 122a2e2876aSanish kumar #define MAX98926_SLOTOVRN_STATUS_SHIFT 6 123a2e2876aSanish kumar #define MAX98926_SLOTOVRN_STATUS_WIDTH 1 124a2e2876aSanish kumar #define MAX98926_INVALSLOT_STATUS_MASK (1<<5) 125a2e2876aSanish kumar #define MAX98926_INVALSLOT_STATUS_SHIFT 5 126a2e2876aSanish kumar #define MAX98926_INVALSLOT_STATUS_WIDTH 1 127a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_STATUS_MASK (1<<4) 128a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_STATUS_SHIFT 4 129a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_STATUS_WIDTH 1 130a2e2876aSanish kumar #define MAX98926_VBSTOVFL_STATUS_MASK (1<<3) 131a2e2876aSanish kumar #define MAX98926_VBSTOVFL_STATUS_SHIFT 3 132a2e2876aSanish kumar #define MAX98926_VBSTOVFL_STATUS_WIDTH 1 133a2e2876aSanish kumar #define MAX98926_VBATOVFL_STATUS_MASK (1<<2) 134a2e2876aSanish kumar #define MAX98926_VBATOVFL_STATUS_SHIFT 2 135a2e2876aSanish kumar #define MAX98926_VBATOVFL_STATUS_WIDTH 1 136a2e2876aSanish kumar #define MAX98926_IMONOVFL_STATUS_MASK (1<<1) 137a2e2876aSanish kumar #define MAX98926_IMONOVFL_STATUS_SHIFT 1 138a2e2876aSanish kumar #define MAX98926_IMONOVFL_STATUS_WIDTH 1 139a2e2876aSanish kumar #define MAX98926_VMONOVFL_STATUS_MASK (1<<0) 140a2e2876aSanish kumar #define MAX98926_VMONOVFL_STATUS_SHIFT 0 141a2e2876aSanish kumar #define MAX98926_VMONOVFL_STATUS_WIDTH 1 142a2e2876aSanish kumar 143a2e2876aSanish kumar /* MAX98926_R005_STATE0 */ 144a2e2876aSanish kumar #define MAX98926_THERMWARN_END_STATE_MASK (1<<3) 145a2e2876aSanish kumar #define MAX98926_THERMWARN_END_STATE_SHIFT 3 146a2e2876aSanish kumar #define MAX98926_THERMWARN_END_STATE_WIDTH 1 147a2e2876aSanish kumar #define MAX98926_THERMWARN_BGN_STATE_MASK (1<<2) 148a2e2876aSanish kumar #define MAX98926_THERMWARN_BGN_STATE_SHIFT 1 149a2e2876aSanish kumar #define MAX98926_THERMWARN_BGN_STATE_WIDTH 1 150a2e2876aSanish kumar #define MAX98926_THERMSHDN_END_STATE_MASK (1<<1) 151a2e2876aSanish kumar #define MAX98926_THERMSHDN_END_STATE_SHIFT 1 152a2e2876aSanish kumar #define MAX98926_THERMSHDN_END_STATE_WIDTH 1 153a2e2876aSanish kumar #define MAX98926_THERMSHDN_BGN_STATE_MASK (1<<0) 154a2e2876aSanish kumar #define MAX98926_THERMSHDN_BGN_STATE_SHIFT 0 155a2e2876aSanish kumar #define MAX98926_THERMSHDN_BGN_STATE_WIDTH 1 156a2e2876aSanish kumar 157a2e2876aSanish kumar /* MAX98926_R006_STATE1 */ 158a2e2876aSanish kumar #define MAX98926_SPRCURNT_STATE_MASK (1<<5) 159a2e2876aSanish kumar #define MAX98926_SPRCURNT_STATE_SHIFT 5 160a2e2876aSanish kumar #define MAX98926_SPRCURNT_STATE_WIDTH 1 161a2e2876aSanish kumar #define MAX98926_WATCHFAIL_STATE_MASK (1<<4) 162a2e2876aSanish kumar #define MAX98926_WATCHFAIL_STATE_SHIFT 4 163a2e2876aSanish kumar #define MAX98926_WATCHFAIL_STATE_WIDTH 1 164a2e2876aSanish kumar #define MAX98926_ALCINFH_STATE_MASK (1<<3) 165a2e2876aSanish kumar #define MAX98926_ALCINFH_STATE_SHIFT 3 166a2e2876aSanish kumar #define MAX98926_ALCINFH_STATE_WIDTH 1 167a2e2876aSanish kumar #define MAX98926_ALCACT_STATE_MASK (1<<2) 168a2e2876aSanish kumar #define MAX98926_ALCACT_STATE_SHIFT 2 169a2e2876aSanish kumar #define MAX98926_ALCACT_STATE_WIDTH 1 170a2e2876aSanish kumar #define MAX98926_ALCMUT_STATE_MASK (1<<1) 171a2e2876aSanish kumar #define MAX98926_ALCMUT_STATE_SHIFT 1 172a2e2876aSanish kumar #define MAX98926_ALCMUT_STATE_WIDTH 1 173a2e2876aSanish kumar #define MAX98926_ALCP_STATE_MASK (1<<0) 174a2e2876aSanish kumar #define MAX98926_ALCP_STATE_SHIFT 0 175a2e2876aSanish kumar #define MAX98926_ALCP_STATE_WIDTH 1 176a2e2876aSanish kumar 177a2e2876aSanish kumar /* MAX98926_R007_STATE2 */ 178a2e2876aSanish kumar #define MAX98926_SLOTOVRN_STATE_MASK (1<<6) 179a2e2876aSanish kumar #define MAX98926_SLOTOVRN_STATE_SHIFT 6 180a2e2876aSanish kumar #define MAX98926_SLOTOVRN_STATE_WIDTH 1 181a2e2876aSanish kumar #define MAX98926_INVALSLOT_STATE_MASK (1<<5) 182a2e2876aSanish kumar #define MAX98926_INVALSLOT_STATE_SHIFT 5 183a2e2876aSanish kumar #define MAX98926_INVALSLOT_STATE_WIDTH 1 184a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_STATE_MASK (1<<4) 185a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_STATE_SHIFT 4 186a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_STATE_WIDTH 1 187a2e2876aSanish kumar #define MAX98926_VBSTOVFL_STATE_MASK (1<<3) 188a2e2876aSanish kumar #define MAX98926_VBSTOVFL_STATE_SHIFT 3 189a2e2876aSanish kumar #define MAX98926_VBSTOVFL_STATE_WIDTH 1 190a2e2876aSanish kumar #define MAX98926_VBATOVFL_STATE_MASK (1<<2) 191a2e2876aSanish kumar #define MAX98926_VBATOVFL_STATE_SHIFT 2 192a2e2876aSanish kumar #define MAX98926_VBATOVFL_STATE_WIDTH 1 193a2e2876aSanish kumar #define MAX98926_IMONOVFL_STATE_MASK (1<<1) 194a2e2876aSanish kumar #define MAX98926_IMONOVFL_STATE_SHIFT 1 195a2e2876aSanish kumar #define MAX98926_IMONOVFL_STATE_WIDTH 1 196a2e2876aSanish kumar #define MAX98926_VMONOVFL_STATE_MASK (1<<0) 197a2e2876aSanish kumar #define MAX98926_VMONOVFL_STATE_SHIFT 0 198a2e2876aSanish kumar #define MAX98926_VMONOVFL_STATE_WIDTH 1 199a2e2876aSanish kumar 200a2e2876aSanish kumar /* MAX98926_R008_FLAG0 */ 201a2e2876aSanish kumar #define MAX98926_THERMWARN_END_FLAG_MASK (1<<3) 202a2e2876aSanish kumar #define MAX98926_THERMWARN_END_FLAG_SHIFT 3 203a2e2876aSanish kumar #define MAX98926_THERMWARN_END_FLAG_WIDTH 1 204a2e2876aSanish kumar #define MAX98926_THERMWARN_BGN_FLAG_MASK (1<<2) 205a2e2876aSanish kumar #define MAX98926_THERMWARN_BGN_FLAG_SHIFT 2 206a2e2876aSanish kumar #define MAX98926_THERMWARN_BGN_FLAG_WIDTH 1 207a2e2876aSanish kumar #define MAX98926_THERMSHDN_END_FLAG_MASK (1<<1) 208a2e2876aSanish kumar #define MAX98926_THERMSHDN_END_FLAG_SHIFT 1 209a2e2876aSanish kumar #define MAX98926_THERMSHDN_END_FLAG_WIDTH 1 210a2e2876aSanish kumar #define MAX98926_THERMSHDN_BGN_FLAG_MASK (1<<0) 211a2e2876aSanish kumar #define MAX98926_THERMSHDN_BGN_FLAG_SHIFT 0 212a2e2876aSanish kumar #define MAX98926_THERMSHDN_BGN_FLAG_WIDTH 1 213a2e2876aSanish kumar 214a2e2876aSanish kumar /* MAX98926_R009_FLAG1 */ 215a2e2876aSanish kumar #define MAX98926_SPKCURNT_FLAG_MASK (1<<5) 216a2e2876aSanish kumar #define MAX98926_SPKCURNT_FLAG_SHIFT 5 217a2e2876aSanish kumar #define MAX98926_SPKCURNT_FLAG_WIDTH 1 218a2e2876aSanish kumar #define MAX98926_WATCHFAIL_FLAG_MASK (1<<4) 219a2e2876aSanish kumar #define MAX98926_WATCHFAIL_FLAG_SHIFT 4 220a2e2876aSanish kumar #define MAX98926_WATCHFAIL_FLAG_WIDTH 1 221a2e2876aSanish kumar #define MAX98926_ALCINFH_FLAG_MASK (1<<3) 222a2e2876aSanish kumar #define MAX98926_ALCINFH_FLAG_SHIFT 3 223a2e2876aSanish kumar #define MAX98926_ALCINFH_FLAG_WIDTH 1 224a2e2876aSanish kumar #define MAX98926_ALCACT_FLAG_MASK (1<<2) 225a2e2876aSanish kumar #define MAX98926_ALCACT_FLAG_SHIFT 2 226a2e2876aSanish kumar #define MAX98926_ALCACT_FLAG_WIDTH 1 227a2e2876aSanish kumar #define MAX98926_ALCMUT_FLAG_MASK (1<<1) 228a2e2876aSanish kumar #define MAX98926_ALCMUT_FLAG_SHIFT 1 229a2e2876aSanish kumar #define MAX98926_ALCMUT_FLAG_WIDTH 1 230a2e2876aSanish kumar #define MAX98926_ALCP_FLAG_MASK (1<<0) 231a2e2876aSanish kumar #define MAX98926_ALCP_FLAG_SHIFT 0 232a2e2876aSanish kumar #define MAX98926_ALCP_FLAG_WIDTH 1 233a2e2876aSanish kumar 234a2e2876aSanish kumar /* MAX98926_R00A_FLAG2 */ 235a2e2876aSanish kumar #define MAX98926_SLOTOVRN_FLAG_MASK (1<<6) 236a2e2876aSanish kumar #define MAX98926_SLOTOVRN_FLAG_SHIFT 6 237a2e2876aSanish kumar #define MAX98926_SLOTOVRN_FLAG_WIDTH 1 238a2e2876aSanish kumar #define MAX98926_INVALSLOT_FLAG_MASK (1<<5) 239a2e2876aSanish kumar #define MAX98926_INVALSLOT_FLAG_SHIFT 5 240a2e2876aSanish kumar #define MAX98926_INVALSLOT_FLAG_WIDTH 1 241a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_FLAG_MASK (1<<4) 242a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_FLAG_SHIFT 4 243a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_FLAG_WIDTH 1 244a2e2876aSanish kumar #define MAX98926_VBSTOVFL_FLAG_MASK (1<<3) 245a2e2876aSanish kumar #define MAX98926_VBSTOVFL_FLAG_SHIFT 3 246a2e2876aSanish kumar #define MAX98926_VBSTOVFL_FLAG_WIDTH 1 247a2e2876aSanish kumar #define MAX98926_VBATOVFL_FLAG_MASK (1<<2) 248a2e2876aSanish kumar #define MAX98926_VBATOVFL_FLAG_SHIFT 2 249a2e2876aSanish kumar #define MAX98926_VBATOVFL_FLAG_WIDTH 1 250a2e2876aSanish kumar #define MAX98926_IMONOVFL_FLAG_MASK (1<<1) 251a2e2876aSanish kumar #define MAX98926_IMONOVFL_FLAG_SHIFT 1 252a2e2876aSanish kumar #define MAX98926_IMONOVFL_FLAG_WIDTH 1 253a2e2876aSanish kumar #define MAX98926_VMONOVFL_FLAG_MASK (1<<0) 254a2e2876aSanish kumar #define MAX98926_VMONOVFL_FLAG_SHIFT 0 255a2e2876aSanish kumar #define MAX98926_VMONOVFL_FLAG_WIDTH 1 256a2e2876aSanish kumar 257a2e2876aSanish kumar /* MAX98926_R00B_IRQ_ENABLE0 */ 258a2e2876aSanish kumar #define MAX98926_THERMWARN_END_EN_MASK (1<<3) 259a2e2876aSanish kumar #define MAX98926_THERMWARN_END_EN_SHIFT 3 260a2e2876aSanish kumar #define MAX98926_THERMWARN_END_EN_WIDTH 1 261a2e2876aSanish kumar #define MAX98926_THERMWARN_BGN_EN_MASK (1<<2) 262a2e2876aSanish kumar #define MAX98926_THERMWARN_BGN_EN_SHIFT 2 263a2e2876aSanish kumar #define MAX98926_THERMWARN_BGN_EN_WIDTH 1 264a2e2876aSanish kumar #define MAX98926_THERMSHDN_END_EN_MASK (1<<1) 265a2e2876aSanish kumar #define MAX98926_THERMSHDN_END_EN_SHIFT 1 266a2e2876aSanish kumar #define MAX98926_THERMSHDN_END_EN_WIDTH 1 267a2e2876aSanish kumar #define MAX98926_THERMSHDN_BGN_EN_MASK (1<<0) 268a2e2876aSanish kumar #define MAX98926_THERMSHDN_BGN_EN_SHIFT 0 269a2e2876aSanish kumar #define MAX98926_THERMSHDN_BGN_EN_WIDTH 1 270a2e2876aSanish kumar 271a2e2876aSanish kumar /* MAX98926_R00C_IRQ_ENABLE1 */ 272a2e2876aSanish kumar #define MAX98926_SPKCURNT_EN_MASK (1<<5) 273a2e2876aSanish kumar #define MAX98926_SPKCURNT_EN_SHIFT 5 274a2e2876aSanish kumar #define MAX98926_SPKCURNT_EN_WIDTH 1 275a2e2876aSanish kumar #define MAX98926_WATCHFAIL_EN_MASK (1<<4) 276a2e2876aSanish kumar #define MAX98926_WATCHFAIL_EN_SHIFT 4 277a2e2876aSanish kumar #define MAX98926_WATCHFAIL_EN_WIDTH 1 278a2e2876aSanish kumar #define MAX98926_ALCINFH_EN_MASK (1<<3) 279a2e2876aSanish kumar #define MAX98926_ALCINFH_EN_SHIFT 3 280a2e2876aSanish kumar #define MAX98926_ALCINFH_EN_WIDTH 1 281a2e2876aSanish kumar #define MAX98926_ALCACT_EN_MASK (1<<2) 282a2e2876aSanish kumar #define MAX98926_ALCACT_EN_SHIFT 2 283a2e2876aSanish kumar #define MAX98926_ALCACT_EN_WIDTH 1 284a2e2876aSanish kumar #define MAX98926_ALCMUT_EN_MASK (1<<1) 285a2e2876aSanish kumar #define MAX98926_ALCMUT_EN_SHIFT 1 286a2e2876aSanish kumar #define MAX98926_ALCMUT_EN_WIDTH 1 287a2e2876aSanish kumar #define MAX98926_ALCP_EN_MASK (1<<0) 288a2e2876aSanish kumar #define MAX98926_ALCP_EN_SHIFT 0 289a2e2876aSanish kumar #define MAX98926_ALCP_EN_WIDTH 1 290a2e2876aSanish kumar 291a2e2876aSanish kumar /* MAX98926_R00D_IRQ_ENABLE2 */ 292a2e2876aSanish kumar #define MAX98926_SLOTOVRN_EN_MASK (1<<6) 293a2e2876aSanish kumar #define MAX98926_SLOTOVRN_EN_SHIFT 6 294a2e2876aSanish kumar #define MAX98926_SLOTOVRN_EN_WIDTH 1 295a2e2876aSanish kumar #define MAX98926_INVALSLOT_EN_MASK (1<<5) 296a2e2876aSanish kumar #define MAX98926_INVALSLOT_EN_SHIFT 5 297a2e2876aSanish kumar #define MAX98926_INVALSLOT_EN_WIDTH 1 298a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_EN_MASK (1<<4) 299a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_EN_SHIFT 4 300a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_EN_WIDTH 1 301a2e2876aSanish kumar #define MAX98926_VBSTOVFL_EN_MASK (1<<3) 302a2e2876aSanish kumar #define MAX98926_VBSTOVFL_EN_SHIFT 3 303a2e2876aSanish kumar #define MAX98926_VBSTOVFL_EN_WIDTH 1 304a2e2876aSanish kumar #define MAX98926_VBATOVFL_EN_MASK (1<<2) 305a2e2876aSanish kumar #define MAX98926_VBATOVFL_EN_SHIFT 2 306a2e2876aSanish kumar #define MAX98926_VBATOVFL_EN_WIDTH 1 307a2e2876aSanish kumar #define MAX98926_IMONOVFL_EN_MASK (1<<1) 308a2e2876aSanish kumar #define MAX98926_IMONOVFL_EN_SHIFT 1 309a2e2876aSanish kumar #define MAX98926_IMONOVFL_EN_WIDTH 1 310a2e2876aSanish kumar #define MAX98926_VMONOVFL_EN_MASK (1<<0) 311a2e2876aSanish kumar #define MAX98926_VMONOVFL_EN_SHIFT 0 312a2e2876aSanish kumar #define MAX98926_VMONOVFL_EN_WIDTH 1 313a2e2876aSanish kumar 314a2e2876aSanish kumar /* MAX98926_R00E_IRQ_CLEAR0 */ 315a2e2876aSanish kumar #define MAX98926_THERMWARN_END_CLR_MASK (1<<3) 316a2e2876aSanish kumar #define MAX98926_THERMWARN_END_CLR_SHIFT 3 317a2e2876aSanish kumar #define MAX98926_THERMWARN_END_CLR_WIDTH 1 318a2e2876aSanish kumar #define MAX98926_THERMWARN_BGN_CLR_MASK (1<<2) 319a2e2876aSanish kumar #define MAX98926_THERMWARN_BGN_CLR_SHIFT 2 320a2e2876aSanish kumar #define MAX98926_THERMWARN_BGN_CLR_WIDTH 1 321a2e2876aSanish kumar #define MAX98926_THERMSHDN_END_CLR_MASK (1<<1) 322a2e2876aSanish kumar #define MAX98926_THERMSHDN_END_CLR_SHIFT 1 323a2e2876aSanish kumar #define MAX98926_THERMSHDN_END_CLR_WIDTH 1 324a2e2876aSanish kumar #define MAX98926_THERMSHDN_BGN_CLR_MASK (1<<0) 325a2e2876aSanish kumar #define MAX98926_THERMSHDN_BGN_CLR_SHIFT 0 326a2e2876aSanish kumar #define MAX98926_THERMSHDN_BGN_CLR_WIDTH 1 327a2e2876aSanish kumar 328a2e2876aSanish kumar /* MAX98926_R00F_IRQ_CLEAR1 */ 329a2e2876aSanish kumar #define MAX98926_SPKCURNT_CLR_MASK (1<<5) 330a2e2876aSanish kumar #define MAX98926_SPKCURNT_CLR_SHIFT 5 331a2e2876aSanish kumar #define MAX98926_SPKCURNT_CLR_WIDTH 1 332a2e2876aSanish kumar #define MAX98926_WATCHFAIL_CLR_MASK (1<<4) 333a2e2876aSanish kumar #define MAX98926_WATCHFAIL_CLR_SHIFT 4 334a2e2876aSanish kumar #define MAX98926_WATCHFAIL_CLR_WIDTH 1 335a2e2876aSanish kumar #define MAX98926_ALCINFH_CLR_MASK (1<<3) 336a2e2876aSanish kumar #define MAX98926_ALCINFH_CLR_SHIFT 3 337a2e2876aSanish kumar #define MAX98926_ALCINFH_CLR_WIDTH 1 338a2e2876aSanish kumar #define MAX98926_ALCACT_CLR_MASK (1<<2) 339a2e2876aSanish kumar #define MAX98926_ALCACT_CLR_SHIFT 2 340a2e2876aSanish kumar #define MAX98926_ALCACT_CLR_WIDTH 1 341a2e2876aSanish kumar #define MAX98926_ALCMUT_CLR_MASK (1<<1) 342a2e2876aSanish kumar #define MAX98926_ALCMUT_CLR_SHIFT 1 343a2e2876aSanish kumar #define MAX98926_ALCMUT_CLR_WIDTH 1 344a2e2876aSanish kumar #define MAX98926_ALCP_CLR_MASK (1<<0) 345a2e2876aSanish kumar #define MAX98926_ALCP_CLR_SHIFT 0 346a2e2876aSanish kumar #define MAX98926_ALCP_CLR_WIDTH 1 347a2e2876aSanish kumar 348a2e2876aSanish kumar /* MAX98926_R010_IRQ_CLEAR2 */ 349a2e2876aSanish kumar #define MAX98926_SLOTOVRN_CLR_MASK (1<<6) 350a2e2876aSanish kumar #define MAX98926_SLOTOVRN_CLR_SHIFT 6 351a2e2876aSanish kumar #define MAX98926_SLOTOVRN_CLR_WIDTH 1 352a2e2876aSanish kumar #define MAX98926_INVALSLOT_CLR_MASK (1<<5) 353a2e2876aSanish kumar #define MAX98926_INVALSLOT_CLR_SHIFT 5 354a2e2876aSanish kumar #define MAX98926_INVALSLOT_CLR_WIDTH 1 355a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_CLR_MASK (1<<4) 356a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_CLR_SHIFT 4 357a2e2876aSanish kumar #define MAX98926_SLOTCNFLT_CLR_WIDTH 1 358a2e2876aSanish kumar #define MAX98926_VBSTOVFL_CLR_MASK (1<<3) 359a2e2876aSanish kumar #define MAX98926_VBSTOVFL_CLR_SHIFT 3 360a2e2876aSanish kumar #define MAX98926_VBSTOVFL_CLR_WIDTH 1 361a2e2876aSanish kumar #define MAX98926_VBATOVFL_CLR_MASK (1<<2) 362a2e2876aSanish kumar #define MAX98926_VBATOVFL_CLR_SHIFT 2 363a2e2876aSanish kumar #define MAX98926_VBATOVFL_CLR_WIDTH 1 364a2e2876aSanish kumar #define MAX98926_IMONOVFL_CLR_MASK (1<<1) 365a2e2876aSanish kumar #define MAX98926_IMONOVFL_CLR_SHIFT 1 366a2e2876aSanish kumar #define MAX98926_IMONOVFL_CLR_WIDTH 1 367a2e2876aSanish kumar #define MAX98926_VMONOVFL_CLR_MASK (1<<0) 368a2e2876aSanish kumar #define MAX98926_VMONOVFL_CLR_SHIFT 0 369a2e2876aSanish kumar #define MAX98926_VMONOVFL_CLR_WIDTH 1 370a2e2876aSanish kumar 371a2e2876aSanish kumar /* MAX98926_R011_MAP0 */ 372a2e2876aSanish kumar #define MAX98926_ER_THERMWARN_EN_MASK (1<<7) 373a2e2876aSanish kumar #define MAX98926_ER_THERMWARN_EN_SHIFT 7 374a2e2876aSanish kumar #define MAX98926_ER_THERMWARN_EN_WIDTH 1 375a2e2876aSanish kumar #define MAX98926_ER_THERMWARN_MAP_MASK (0x07<<4) 376a2e2876aSanish kumar #define MAX98926_ER_THERMWARN_MAP_SHIFT 4 377a2e2876aSanish kumar #define MAX98926_ER_THERMWARN_MAP_WIDTH 3 378a2e2876aSanish kumar 379a2e2876aSanish kumar /* MAX98926_R012_MAP1 */ 380a2e2876aSanish kumar #define MAX98926_ER_ALCMUT_EN_MASK (1<<7) 381a2e2876aSanish kumar #define MAX98926_ER_ALCMUT_EN_SHIFT 7 382a2e2876aSanish kumar #define MAX98926_ER_ALCMUT_EN_WIDTH 1 383a2e2876aSanish kumar #define MAX98926_ER_ALCMUT_MAP_MASK (0x07<<4) 384a2e2876aSanish kumar #define MAX98926_ER_ALCMUT_MAP_SHIFT 4 385a2e2876aSanish kumar #define MAX98926_ER_ALCMUT_MAP_WIDTH 3 386a2e2876aSanish kumar #define MAX98926_ER_ALCP_EN_MASK (1<<3) 387a2e2876aSanish kumar #define MAX98926_ER_ALCP_EN_SHIFT 3 388a2e2876aSanish kumar #define MAX98926_ER_ALCP_EN_WIDTH 1 389a2e2876aSanish kumar #define MAX98926_ER_ALCP_MAP_MASK (0x07<<0) 390a2e2876aSanish kumar #define MAX98926_ER_ALCP_MAP_SHIFT 0 391a2e2876aSanish kumar #define MAX98926_ER_ALCP_MAP_WIDTH 3 392a2e2876aSanish kumar 393a2e2876aSanish kumar /* MAX98926_R013_MAP2 */ 394a2e2876aSanish kumar #define MAX98926_ER_ALCINFH_EN_MASK (1<<7) 395a2e2876aSanish kumar #define MAX98926_ER_ALCINFH_EN_SHIFT 7 396a2e2876aSanish kumar #define MAX98926_ER_ALCINFH_EN_WIDTH 1 397a2e2876aSanish kumar #define MAX98926_ER_ALCINFH_MAP_MASK (0x07<<4) 398a2e2876aSanish kumar #define MAX98926_ER_ALCINFH_MAP_SHIFT 4 399a2e2876aSanish kumar #define MAX98926_ER_ALCINFH_MAP_WIDTH 3 400a2e2876aSanish kumar #define MAX98926_ER_ALCACT_EN_MASK (1<<3) 401a2e2876aSanish kumar #define MAX98926_ER_ALCACT_EN_SHIFT 3 402a2e2876aSanish kumar #define MAX98926_ER_ALCACT_EN_WIDTH 1 403a2e2876aSanish kumar #define MAX98926_ER_ALCACT_MAP_MASK (0x07<<0) 404a2e2876aSanish kumar #define MAX98926_ER_ALCACT_MAP_SHIFT 0 405a2e2876aSanish kumar #define MAX98926_ER_ALCACT_MAP_WIDTH 3 406a2e2876aSanish kumar 407a2e2876aSanish kumar /* MAX98926_R014_MAP3 */ 408a2e2876aSanish kumar #define MAX98926_ER_SPKCURNT_EN_MASK (1<<7) 409a2e2876aSanish kumar #define MAX98926_ER_SPKCURNT_EN_SHIFT 7 410a2e2876aSanish kumar #define MAX98926_ER_SPKCURNT_EN_WIDTH 1 411a2e2876aSanish kumar #define MAX98926_ER_SPKCURNT_MAP_MASK (0x07<<4) 412a2e2876aSanish kumar #define MAX98926_ER_SPKCURNT_MAP_SHIFT 4 413a2e2876aSanish kumar #define MAX98926_ER_SPKCURNT_MAP_WIDTH 3 414a2e2876aSanish kumar 415a2e2876aSanish kumar /* MAX98926_R015_MAP4 */ 416a2e2876aSanish kumar /* RESERVED */ 417a2e2876aSanish kumar 418a2e2876aSanish kumar /* MAX98926_R016_MAP5 */ 419a2e2876aSanish kumar #define MAX98926_ER_IMONOVFL_EN_MASK (1<<7) 420a2e2876aSanish kumar #define MAX98926_ER_IMONOVFL_EN_SHIFT 7 421a2e2876aSanish kumar #define MAX98926_ER_IMONOVFL_EN_WIDTH 1 422a2e2876aSanish kumar #define MAX98926_ER_IMONOVFL_MAP_MASK (0x07<<4) 423a2e2876aSanish kumar #define MAX98926_ER_IMONOVFL_MAP_SHIFT 4 424a2e2876aSanish kumar #define MAX98926_ER_IMONOVFL_MAP_WIDTH 3 425a2e2876aSanish kumar #define MAX98926_ER_VMONOVFL_EN_MASK (1<<3) 426a2e2876aSanish kumar #define MAX98926_ER_VMONOVFL_EN_SHIFT 3 427a2e2876aSanish kumar #define MAX98926_ER_VMONOVFL_EN_WIDTH 1 428a2e2876aSanish kumar #define MAX98926_ER_VMONOVFL_MAP_MASK (0x07<<0) 429a2e2876aSanish kumar #define MAX98926_ER_VMONOVFL_MAP_SHIFT 0 430a2e2876aSanish kumar #define MAX98926_ER_VMONOVFL_MAP_WIDTH 3 431a2e2876aSanish kumar 432a2e2876aSanish kumar /* MAX98926_R017_MAP6 */ 433a2e2876aSanish kumar #define MAX98926_ER_VBSTOVFL_EN_MASK (1<<7) 434a2e2876aSanish kumar #define MAX98926_ER_VBSTOVFL_EN_SHIFT 7 435a2e2876aSanish kumar #define MAX98926_ER_VBSTOVFL_EN_WIDTH 1 436a2e2876aSanish kumar #define MAX98926_ER_VBSTOVFL_MAP_MASK (0x07<<4) 437a2e2876aSanish kumar #define MAX98926_ER_VBSTOVFL_MAP_SHIFT 4 438a2e2876aSanish kumar #define MAX98926_ER_VBSTOVFL_MAP_WIDTH 3 439a2e2876aSanish kumar #define MAX98926_ER_VBATOVFL_EN_MASK (1<<3) 440a2e2876aSanish kumar #define MAX98926_ER_VBATOVFL_EN_SHIFT 3 441a2e2876aSanish kumar #define MAX98926_ER_VBATOVFL_EN_WIDTH 1 442a2e2876aSanish kumar #define MAX98926_ER_VBATOVFL_MAP_MASK (0x07<<0) 443a2e2876aSanish kumar #define MAX98926_ER_VBATOVFL_MAP_SHIFT 0 444a2e2876aSanish kumar #define MAX98926_ER_VBATOVFL_MAP_WIDTH 3 445a2e2876aSanish kumar 446a2e2876aSanish kumar /* MAX98926_R018_MAP7 */ 447a2e2876aSanish kumar #define MAX98926_ER_INVALSLOT_EN_MASK (1<<7) 448a2e2876aSanish kumar #define MAX98926_ER_INVALSLOT_EN_SHIFT 7 449a2e2876aSanish kumar #define MAX98926_ER_INVALSLOT_EN_WIDTH 1 450a2e2876aSanish kumar #define MAX98926_ER_INVALSLOT_MAP_MASK (0x07<<4) 451a2e2876aSanish kumar #define MAX98926_ER_INVALSLOT_MAP_SHIFT 4 452a2e2876aSanish kumar #define MAX98926_ER_INVALSLOT_MAP_WIDTH 3 453a2e2876aSanish kumar #define MAX98926_ER_SLOTCNFLT_EN_MASK (1<<3) 454a2e2876aSanish kumar #define MAX98926_ER_SLOTCNFLT_EN_SHIFT 3 455a2e2876aSanish kumar #define MAX98926_ER_SLOTCNFLT_EN_WIDTH 1 456a2e2876aSanish kumar #define MAX98926_ER_SLOTCNFLT_MAP_MASK (0x07<<0) 457a2e2876aSanish kumar #define MAX98926_ER_SLOTCNFLT_MAP_SHIFT 0 458a2e2876aSanish kumar #define MAX98926_ER_SLOTCNFLT_MAP_WIDTH 3 459a2e2876aSanish kumar 460a2e2876aSanish kumar /* MAX98926_R019_MAP8 */ 461a2e2876aSanish kumar #define MAX98926_ER_SLOTOVRN_EN_MASK (1<<3) 462a2e2876aSanish kumar #define MAX98926_ER_SLOTOVRN_EN_SHIFT 3 463a2e2876aSanish kumar #define MAX98926_ER_SLOTOVRN_EN_WIDTH 1 464a2e2876aSanish kumar #define MAX98926_ER_SLOTOVRN_MAP_MASK (0x07<<0) 465a2e2876aSanish kumar #define MAX98926_ER_SLOTOVRN_MAP_SHIFT 0 466a2e2876aSanish kumar #define MAX98926_ER_SLOTOVRN_MAP_WIDTH 3 467a2e2876aSanish kumar 468a2e2876aSanish kumar /* MAX98926_R01A_DAI_CLK_MODE1 */ 469a2e2876aSanish kumar #define MAX98926_DAI_CLK_SOURCE_MASK (1<<6) 470a2e2876aSanish kumar #define MAX98926_DAI_CLK_SOURCE_SHIFT 6 471a2e2876aSanish kumar #define MAX98926_DAI_CLK_SOURCE_WIDTH 1 472a2e2876aSanish kumar #define MAX98926_MDLL_MULT_MASK (0x0F<<0) 473a2e2876aSanish kumar #define MAX98926_MDLL_MULT_SHIFT 0 474a2e2876aSanish kumar #define MAX98926_MDLL_MULT_WIDTH 4 475a2e2876aSanish kumar 476a2e2876aSanish kumar #define MAX98926_MDLL_MULT_MCLKx8 6 477a2e2876aSanish kumar #define MAX98926_MDLL_MULT_MCLKx16 8 478a2e2876aSanish kumar 479a2e2876aSanish kumar /* MAX98926_R01B_DAI_CLK_MODE2 */ 480a2e2876aSanish kumar #define MAX98926_DAI_SR_MASK (0x0F<<4) 481a2e2876aSanish kumar #define MAX98926_DAI_SR_SHIFT 4 482a2e2876aSanish kumar #define MAX98926_DAI_SR_WIDTH 4 483a2e2876aSanish kumar #define MAX98926_DAI_MAS_MASK (1<<3) 484a2e2876aSanish kumar #define MAX98926_DAI_MAS_SHIFT 3 485a2e2876aSanish kumar #define MAX98926_DAI_MAS_WIDTH 1 486a2e2876aSanish kumar #define MAX98926_DAI_BSEL_MASK (0x07<<0) 487a2e2876aSanish kumar #define MAX98926_DAI_BSEL_SHIFT 0 488a2e2876aSanish kumar #define MAX98926_DAI_BSEL_WIDTH 3 489a2e2876aSanish kumar 490a2e2876aSanish kumar #define MAX98926_DAI_BSEL_32 (0 << MAX98926_DAI_BSEL_SHIFT) 491a2e2876aSanish kumar #define MAX98926_DAI_BSEL_48 (1 << MAX98926_DAI_BSEL_SHIFT) 492a2e2876aSanish kumar #define MAX98926_DAI_BSEL_64 (2 << MAX98926_DAI_BSEL_SHIFT) 493a2e2876aSanish kumar #define MAX98926_DAI_BSEL_256 (6 << MAX98926_DAI_BSEL_SHIFT) 494a2e2876aSanish kumar 495a2e2876aSanish kumar /* MAX98926_R01C_DAI_CLK_DIV_M_MSBS */ 496a2e2876aSanish kumar #define MAX98926_DAI_M_MSBS_MASK (0xFF<<0) 497a2e2876aSanish kumar #define MAX98926_DAI_M_MSBS_SHIFT 0 498a2e2876aSanish kumar #define MAX98926_DAI_M_MSBS_WIDTH 8 499a2e2876aSanish kumar 500a2e2876aSanish kumar /* MAX98926_R01D_DAI_CLK_DIV_M_LSBS */ 501a2e2876aSanish kumar #define MAX98926_DAI_M_LSBS_MASK (0xFF<<0) 502a2e2876aSanish kumar #define MAX98926_DAI_M_LSBS_SHIFT 0 503a2e2876aSanish kumar #define MAX98926_DAI_M_LSBS_WIDTH 8 504a2e2876aSanish kumar 505a2e2876aSanish kumar /* MAX98926_R01E_DAI_CLK_DIV_N_MSBS */ 506a2e2876aSanish kumar #define MAX98926_DAI_N_MSBS_MASK (0x7F<<0) 507a2e2876aSanish kumar #define MAX98926_DAI_N_MSBS_SHIFT 0 508a2e2876aSanish kumar #define MAX98926_DAI_N_MSBS_WIDTH 7 509a2e2876aSanish kumar 510a2e2876aSanish kumar /* MAX98926_R01F_DAI_CLK_DIV_N_LSBS */ 511a2e2876aSanish kumar #define MAX98926_DAI_N_LSBS_MASK (0xFF<<0) 512a2e2876aSanish kumar #define MAX98926_DAI_N_LSBS_SHIFT 0 513a2e2876aSanish kumar #define MAX98926_DAI_N_LSBS_WIDTH 8 514a2e2876aSanish kumar 515a2e2876aSanish kumar /* MAX98926_R020_FORMAT */ 516a2e2876aSanish kumar #define MAX98926_DAI_CHANSZ_MASK (0x03<<6) 517a2e2876aSanish kumar #define MAX98926_DAI_CHANSZ_SHIFT 6 518a2e2876aSanish kumar #define MAX98926_DAI_CHANSZ_WIDTH 2 519a2e2876aSanish kumar #define MAX98926_DAI_INTERLEAVE_MASK (1<<5) 520a2e2876aSanish kumar #define MAX98926_DAI_INTERLEAVE_SHIFT 5 521a2e2876aSanish kumar #define MAX98926_DAI_INTERLEAVE_WIDTH 1 522a2e2876aSanish kumar #define MAX98926_DAI_EXTBCLK_HIZ_MASK (1<<4) 523a2e2876aSanish kumar #define MAX98926_DAI_EXTBCLK_HIZ_SHIFT 4 524a2e2876aSanish kumar #define MAX98926_DAI_EXTBCLK_HIZ_WIDTH 1 525a2e2876aSanish kumar #define MAX98926_DAI_WCI_MASK (1<<3) 526a2e2876aSanish kumar #define MAX98926_DAI_WCI_SHIFT 3 527a2e2876aSanish kumar #define MAX98926_DAI_WCI_WIDTH 1 528a2e2876aSanish kumar #define MAX98926_DAI_BCI_MASK (1<<2) 529a2e2876aSanish kumar #define MAX98926_DAI_BCI_SHIFT 2 530a2e2876aSanish kumar #define MAX98926_DAI_BCI_WIDTH 1 531a2e2876aSanish kumar #define MAX98926_DAI_DLY_MASK (1<<1) 532a2e2876aSanish kumar #define MAX98926_DAI_DLY_SHIFT 1 533a2e2876aSanish kumar #define MAX98926_DAI_DLY_WIDTH 1 534a2e2876aSanish kumar #define MAX98926_DAI_TDM_MASK (1<<0) 535a2e2876aSanish kumar #define MAX98926_DAI_TDM_SHIFT 0 536a2e2876aSanish kumar #define MAX98926_DAI_TDM_WIDTH 1 537a2e2876aSanish kumar 538a2e2876aSanish kumar #define MAX98926_DAI_CHANSZ_16 (1 << MAX98926_DAI_CHANSZ_SHIFT) 539a2e2876aSanish kumar #define MAX98926_DAI_CHANSZ_24 (2 << MAX98926_DAI_CHANSZ_SHIFT) 540a2e2876aSanish kumar #define MAX98926_DAI_CHANSZ_32 (3 << MAX98926_DAI_CHANSZ_SHIFT) 541a2e2876aSanish kumar 542a2e2876aSanish kumar /* MAX98926_R021_TDM_SLOT_SELECT */ 543a2e2876aSanish kumar #define MAX98926_DAI_DO_EN_MASK (1<<7) 544a2e2876aSanish kumar #define MAX98926_DAI_DO_EN_SHIFT 7 545a2e2876aSanish kumar #define MAX98926_DAI_DO_EN_WIDTH 1 546a2e2876aSanish kumar #define MAX98926_DAI_DIN_EN_MASK (1<<6) 547a2e2876aSanish kumar #define MAX98926_DAI_DIN_EN_SHIFT 6 548a2e2876aSanish kumar #define MAX98926_DAI_DIN_EN_WIDTH 1 549a2e2876aSanish kumar #define MAX98926_DAI_INR_SOURCE_MASK (0x07<<3) 550a2e2876aSanish kumar #define MAX98926_DAI_INR_SOURCE_SHIFT 3 551a2e2876aSanish kumar #define MAX98926_DAI_INR_SOURCE_WIDTH 3 552a2e2876aSanish kumar #define MAX98926_DAI_INL_SOURCE_MASK (0x07<<0) 553a2e2876aSanish kumar #define MAX98926_DAI_INL_SOURCE_SHIFT 0 554a2e2876aSanish kumar #define MAX98926_DAI_INL_SOURCE_WIDTH 3 555a2e2876aSanish kumar 556a2e2876aSanish kumar /* MAX98926_R022_DOUT_CFG_VMON */ 557a2e2876aSanish kumar #define MAX98926_DAI_VMON_EN_MASK (1<<5) 558a2e2876aSanish kumar #define MAX98926_DAI_VMON_EN_SHIFT 5 559a2e2876aSanish kumar #define MAX98926_DAI_VMON_EN_WIDTH 1 560a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_MASK (0x1F<<0) 561a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_SHIFT 0 562a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_WIDTH 5 563a2e2876aSanish kumar 564a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_00_01 (0 << MAX98926_DAI_VMON_SLOT_SHIFT) 565a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_01_02 (1 << MAX98926_DAI_VMON_SLOT_SHIFT) 566a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_02_03 (2 << MAX98926_DAI_VMON_SLOT_SHIFT) 567a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_03_04 (3 << MAX98926_DAI_VMON_SLOT_SHIFT) 568a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_04_05 (4 << MAX98926_DAI_VMON_SLOT_SHIFT) 569a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_05_06 (5 << MAX98926_DAI_VMON_SLOT_SHIFT) 570a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_06_07 (6 << MAX98926_DAI_VMON_SLOT_SHIFT) 571a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_07_08 (7 << MAX98926_DAI_VMON_SLOT_SHIFT) 572a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_08_09 (8 << MAX98926_DAI_VMON_SLOT_SHIFT) 573a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_09_0A (9 << MAX98926_DAI_VMON_SLOT_SHIFT) 574a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_0A_0B (10 << MAX98926_DAI_VMON_SLOT_SHIFT) 575a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_0B_0C (11 << MAX98926_DAI_VMON_SLOT_SHIFT) 576a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_0C_0D (12 << MAX98926_DAI_VMON_SLOT_SHIFT) 577a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_0D_0E (13 << MAX98926_DAI_VMON_SLOT_SHIFT) 578a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_0E_0F (14 << MAX98926_DAI_VMON_SLOT_SHIFT) 579a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_0F_10 (15 << MAX98926_DAI_VMON_SLOT_SHIFT) 580a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_10_11 (16 << MAX98926_DAI_VMON_SLOT_SHIFT) 581a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_11_12 (17 << MAX98926_DAI_VMON_SLOT_SHIFT) 582a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_12_13 (18 << MAX98926_DAI_VMON_SLOT_SHIFT) 583a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_13_14 (19 << MAX98926_DAI_VMON_SLOT_SHIFT) 584a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_14_15 (20 << MAX98926_DAI_VMON_SLOT_SHIFT) 585a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_15_16 (21 << MAX98926_DAI_VMON_SLOT_SHIFT) 586a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_16_17 (22 << MAX98926_DAI_VMON_SLOT_SHIFT) 587a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_17_18 (23 << MAX98926_DAI_VMON_SLOT_SHIFT) 588a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_18_19 (24 << MAX98926_DAI_VMON_SLOT_SHIFT) 589a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_19_1A (25 << MAX98926_DAI_VMON_SLOT_SHIFT) 590a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_1A_1B (26 << MAX98926_DAI_VMON_SLOT_SHIFT) 591a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_1B_1C (27 << MAX98926_DAI_VMON_SLOT_SHIFT) 592a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_1C_1D (28 << MAX98926_DAI_VMON_SLOT_SHIFT) 593a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_1D_1E (29 << MAX98926_DAI_VMON_SLOT_SHIFT) 594a2e2876aSanish kumar #define MAX98926_DAI_VMON_SLOT_1E_1F (30 << MAX98926_DAI_VMON_SLOT_SHIFT) 595a2e2876aSanish kumar 596a2e2876aSanish kumar /* MAX98926_R023_DOUT_CFG_IMON */ 597a2e2876aSanish kumar #define MAX98926_DAI_IMON_EN_MASK (1<<5) 598a2e2876aSanish kumar #define MAX98926_DAI_IMON_EN_SHIFT 5 599a2e2876aSanish kumar #define MAX98926_DAI_IMON_EN_WIDTH 1 600a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_MASK (0x1F<<0) 601a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_SHIFT 0 602a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_WIDTH 5 603a2e2876aSanish kumar 604a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_00_01 (0 << MAX98926_DAI_IMON_SLOT_SHIFT) 605a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_01_02 (1 << MAX98926_DAI_IMON_SLOT_SHIFT) 606a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_02_03 (2 << MAX98926_DAI_IMON_SLOT_SHIFT) 607a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_03_04 (3 << MAX98926_DAI_IMON_SLOT_SHIFT) 608a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_04_05 (4 << MAX98926_DAI_IMON_SLOT_SHIFT) 609a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_05_06 (5 << MAX98926_DAI_IMON_SLOT_SHIFT) 610a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_06_07 (6 << MAX98926_DAI_IMON_SLOT_SHIFT) 611a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_07_08 (7 << MAX98926_DAI_IMON_SLOT_SHIFT) 612a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_08_09 (8 << MAX98926_DAI_IMON_SLOT_SHIFT) 613a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_09_0A (9 << MAX98926_DAI_IMON_SLOT_SHIFT) 614a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_0A_0B (10 << MAX98926_DAI_IMON_SLOT_SHIFT) 615a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_0B_0C (11 << MAX98926_DAI_IMON_SLOT_SHIFT) 616a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_0C_0D (12 << MAX98926_DAI_IMON_SLOT_SHIFT) 617a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_0D_0E (13 << MAX98926_DAI_IMON_SLOT_SHIFT) 618a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_0E_0F (14 << MAX98926_DAI_IMON_SLOT_SHIFT) 619a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_0F_10 (15 << MAX98926_DAI_IMON_SLOT_SHIFT) 620a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_10_11 (16 << MAX98926_DAI_IMON_SLOT_SHIFT) 621a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_11_12 (17 << MAX98926_DAI_IMON_SLOT_SHIFT) 622a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_12_13 (18 << MAX98926_DAI_IMON_SLOT_SHIFT) 623a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_13_14 (19 << MAX98926_DAI_IMON_SLOT_SHIFT) 624a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_14_15 (20 << MAX98926_DAI_IMON_SLOT_SHIFT) 625a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_15_16 (21 << MAX98926_DAI_IMON_SLOT_SHIFT) 626a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_16_17 (22 << MAX98926_DAI_IMON_SLOT_SHIFT) 627a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_17_18 (23 << MAX98926_DAI_IMON_SLOT_SHIFT) 628a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_18_19 (24 << MAX98926_DAI_IMON_SLOT_SHIFT) 629a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_19_1A (25 << MAX98926_DAI_IMON_SLOT_SHIFT) 630a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_1A_1B (26 << MAX98926_DAI_IMON_SLOT_SHIFT) 631a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_1B_1C (27 << MAX98926_DAI_IMON_SLOT_SHIFT) 632a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_1C_1D (28 << MAX98926_DAI_IMON_SLOT_SHIFT) 633a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_1D_1E (29 << MAX98926_DAI_IMON_SLOT_SHIFT) 634a2e2876aSanish kumar #define MAX98926_DAI_IMON_SLOT_1E_1F (30 << MAX98926_DAI_IMON_SLOT_SHIFT) 635a2e2876aSanish kumar 636a2e2876aSanish kumar /* MAX98926_R024_DOUT_CFG_VBAT */ 637a2e2876aSanish kumar #define MAX98926_DAI_INTERLEAVE_SLOT_MASK (0x1F<<0) 638a2e2876aSanish kumar #define MAX98926_DAI_INTERLEAVE_SLOT_SHIFT 0 639a2e2876aSanish kumar #define MAX98926_DAI_INTERLEAVE_SLOT_WIDTH 5 640a2e2876aSanish kumar 641a2e2876aSanish kumar /* MAX98926_R025_DOUT_CFG_VBST */ 642a2e2876aSanish kumar #define MAX98926_DAI_VBST_EN_MASK (1<<5) 643a2e2876aSanish kumar #define MAX98926_DAI_VBST_EN_SHIFT 5 644a2e2876aSanish kumar #define MAX98926_DAI_VBST_EN_WIDTH 1 645a2e2876aSanish kumar #define MAX98926_DAI_VBST_SLOT_MASK (0x1F<<0) 646a2e2876aSanish kumar #define MAX98926_DAI_VBST_SLOT_SHIFT 0 647a2e2876aSanish kumar #define MAX98926_DAI_VBST_SLOT_WIDTH 5 648a2e2876aSanish kumar 649a2e2876aSanish kumar /* MAX98926_R026_DOUT_CFG_FLAG */ 650a2e2876aSanish kumar #define MAX98926_DAI_FLAG_EN_MASK (1<<5) 651a2e2876aSanish kumar #define MAX98926_DAI_FLAG_EN_SHIFT 5 652a2e2876aSanish kumar #define MAX98926_DAI_FLAG_EN_WIDTH 1 653a2e2876aSanish kumar #define MAX98926_DAI_FLAG_SLOT_MASK (0x1F<<0) 654a2e2876aSanish kumar #define MAX98926_DAI_FLAG_SLOT_SHIFT 0 655a2e2876aSanish kumar #define MAX98926_DAI_FLAG_SLOT_WIDTH 5 656a2e2876aSanish kumar 657a2e2876aSanish kumar /* MAX98926_R027_DOUT_HIZ_CFG1 */ 658a2e2876aSanish kumar #define MAX98926_DAI_SLOT_HIZ_CFG1_MASK (0xFF<<0) 659a2e2876aSanish kumar #define MAX98926_DAI_SLOT_HIZ_CFG1_SHIFT 0 660a2e2876aSanish kumar #define MAX98926_DAI_SLOT_HIZ_CFG1_WIDTH 8 661a2e2876aSanish kumar 662a2e2876aSanish kumar /* MAX98926_R028_DOUT_HIZ_CFG2 */ 663a2e2876aSanish kumar #define MAX98926_DAI_SLOT_HIZ_CFG2_MASK (0xFF<<0) 664a2e2876aSanish kumar #define MAX98926_DAI_SLOT_HIZ_CFG2_SHIFT 0 665a2e2876aSanish kumar #define MAX98926_DAI_SLOT_HIZ_CFG2_WIDTH 8 666a2e2876aSanish kumar 667a2e2876aSanish kumar /* MAX98926_R029_DOUT_HIZ_CFG3 */ 668a2e2876aSanish kumar #define MAX98926_DAI_SLOT_HIZ_CFG3_MASK (0xFF<<0) 669a2e2876aSanish kumar #define MAX98926_DAI_SLOT_HIZ_CFG3_SHIFT 0 670a2e2876aSanish kumar #define MAX98926_DAI_SLOT_HIZ_CFG3_WIDTH 8 671a2e2876aSanish kumar 672a2e2876aSanish kumar /* MAX98926_R02A_DOUT_HIZ_CFG4 */ 673a2e2876aSanish kumar #define MAX98926_DAI_SLOT_HIZ_CFG4_MASK (0xFF<<0) 674a2e2876aSanish kumar #define MAX98926_DAI_SLOT_HIZ_CFG4_SHIFT 0 675a2e2876aSanish kumar #define MAX98926_DAI_SLOT_HIZ_CFG4_WIDTH 8 676a2e2876aSanish kumar 677a2e2876aSanish kumar /* MAX98926_R02B_DOUT_DRV_STRENGTH */ 678a2e2876aSanish kumar #define MAX98926_DAI_OUT_DRIVE_MASK (0x03<<0) 679a2e2876aSanish kumar #define MAX98926_DAI_OUT_DRIVE_SHIFT 0 680a2e2876aSanish kumar #define MAX98926_DAI_OUT_DRIVE_WIDTH 2 681a2e2876aSanish kumar 682a2e2876aSanish kumar /* MAX98926_R02C_FILTERS */ 683a2e2876aSanish kumar #define MAX98926_ADC_DITHER_EN_MASK (1<<7) 684a2e2876aSanish kumar #define MAX98926_ADC_DITHER_EN_SHIFT 7 685a2e2876aSanish kumar #define MAX98926_ADC_DITHER_EN_WIDTH 1 686a2e2876aSanish kumar #define MAX98926_IV_DCB_EN_MASK (1<<6) 687a2e2876aSanish kumar #define MAX98926_IV_DCB_EN_SHIFT 6 688a2e2876aSanish kumar #define MAX98926_IV_DCB_EN_WIDTH 1 689a2e2876aSanish kumar #define MAX98926_DAC_DITHER_EN_MASK (1<<4) 690a2e2876aSanish kumar #define MAX98926_DAC_DITHER_EN_SHIFT 4 691a2e2876aSanish kumar #define MAX98926_DAC_DITHER_EN_WIDTH 1 692a2e2876aSanish kumar #define MAX98926_DAC_FILTER_MODE_MASK (1<<3) 693a2e2876aSanish kumar #define MAX98926_DAC_FILTER_MODE_SHIFT 3 694a2e2876aSanish kumar #define MAX98926_DAC_FILTER_MODE_WIDTH 1 695a2e2876aSanish kumar #define MAX98926_DAC_HPF_MASK (0x07<<0) 696a2e2876aSanish kumar #define MAX98926_DAC_HPF_SHIFT 0 697a2e2876aSanish kumar #define MAX98926_DAC_HPF_WIDTH 3 698a2e2876aSanish kumar #define MAX98926_DAC_HPF_DISABLE (0 << MAX98926_DAC_HPF_SHIFT) 699a2e2876aSanish kumar #define MAX98926_DAC_HPF_DC_BLOCK (1 << MAX98926_DAC_HPF_SHIFT) 700a2e2876aSanish kumar #define MAX98926_DAC_HPF_EN_100 (2 << MAX98926_DAC_HPF_SHIFT) 701a2e2876aSanish kumar #define MAX98926_DAC_HPF_EN_200 (3 << MAX98926_DAC_HPF_SHIFT) 702a2e2876aSanish kumar #define MAX98926_DAC_HPF_EN_400 (4 << MAX98926_DAC_HPF_SHIFT) 703a2e2876aSanish kumar #define MAX98926_DAC_HPF_EN_800 (5 << MAX98926_DAC_HPF_SHIFT) 704a2e2876aSanish kumar 705a2e2876aSanish kumar /* MAX98926_R02D_GAIN */ 706a2e2876aSanish kumar #define MAX98926_DAC_IN_SEL_MASK (0x03<<5) 707a2e2876aSanish kumar #define MAX98926_DAC_IN_SEL_SHIFT 5 708a2e2876aSanish kumar #define MAX98926_DAC_IN_SEL_WIDTH 2 709a2e2876aSanish kumar #define MAX98926_SPK_GAIN_MASK (0x1F<<0) 710a2e2876aSanish kumar #define MAX98926_SPK_GAIN_SHIFT 0 711a2e2876aSanish kumar #define MAX98926_SPK_GAIN_WIDTH 5 712a2e2876aSanish kumar 713a2e2876aSanish kumar #define MAX98926_DAC_IN_SEL_LEFT_DAI (0 << MAX98926_DAC_IN_SEL_SHIFT) 714a2e2876aSanish kumar #define MAX98926_DAC_IN_SEL_RIGHT_DAI (1 << MAX98926_DAC_IN_SEL_SHIFT) 715a2e2876aSanish kumar #define MAX98926_DAC_IN_SEL_SUMMED_DAI (2 << MAX98926_DAC_IN_SEL_SHIFT) 716a2e2876aSanish kumar #define MAX98926_DAC_IN_SEL_DIV2_SUMMED_DAI (3 << MAX98926_DAC_IN_SEL_SHIFT) 717a2e2876aSanish kumar 718a2e2876aSanish kumar /* MAX98926_R02E_GAIN_RAMPING */ 719a2e2876aSanish kumar #define MAX98926_SPK_RMP_EN_MASK (1<<1) 720a2e2876aSanish kumar #define MAX98926_SPK_RMP_EN_SHIFT 1 721a2e2876aSanish kumar #define MAX98926_SPK_RMP_EN_WIDTH 1 722a2e2876aSanish kumar #define MAX98926_SPK_ZCD_EN_MASK (1<<0) 723a2e2876aSanish kumar #define MAX98926_SPK_ZCD_EN_SHIFT 0 724a2e2876aSanish kumar #define MAX98926_SPK_ZCD_EN_WIDTH 1 725a2e2876aSanish kumar 726a2e2876aSanish kumar /* MAX98926_R02F_SPK_AMP */ 727a2e2876aSanish kumar #define MAX98926_SPK_MODE_MASK (1<<0) 728a2e2876aSanish kumar #define MAX98926_SPK_MODE_SHIFT 0 729a2e2876aSanish kumar #define MAX98926_SPK_MODE_WIDTH 1 730a2e2876aSanish kumar #define MAX98926_INSELECT_MODE_MASK (1<<1) 731a2e2876aSanish kumar #define MAX98926_INSELECT_MODE_SHIFT 1 732a2e2876aSanish kumar #define MAX98926_INSELECT_MODE_WIDTH 1 733a2e2876aSanish kumar 734a2e2876aSanish kumar /* MAX98926_R030_THRESHOLD */ 735a2e2876aSanish kumar #define MAX98926_ALC_EN_MASK (1<<5) 736a2e2876aSanish kumar #define MAX98926_ALC_EN_SHIFT 5 737a2e2876aSanish kumar #define MAX98926_ALC_EN_WIDTH 1 738a2e2876aSanish kumar #define MAX98926_ALC_TH_MASK (0x1F<<0) 739a2e2876aSanish kumar #define MAX98926_ALC_TH_SHIFT 0 740a2e2876aSanish kumar #define MAX98926_ALC_TH_WIDTH 5 741a2e2876aSanish kumar 742a2e2876aSanish kumar /* MAX98926_R031_ALC_ATTACK */ 743a2e2876aSanish kumar #define MAX98926_ALC_ATK_STEP_MASK (0x0F<<4) 744a2e2876aSanish kumar #define MAX98926_ALC_ATK_STEP_SHIFT 4 745a2e2876aSanish kumar #define MAX98926_ALC_ATK_STEP_WIDTH 4 746a2e2876aSanish kumar #define MAX98926_ALC_ATK_RATE_MASK (0x7<<0) 747a2e2876aSanish kumar #define MAX98926_ALC_ATK_RATE_SHIFT 0 748a2e2876aSanish kumar #define MAX98926_ALC_ATK_RATE_WIDTH 3 749a2e2876aSanish kumar 750a2e2876aSanish kumar /* MAX98926_R032_ALC_ATTEN_RLS */ 751a2e2876aSanish kumar #define MAX98926_ALC_MAX_ATTEN_MASK (0x0F<<4) 752a2e2876aSanish kumar #define MAX98926_ALC_MAX_ATTEN_SHIFT 4 753a2e2876aSanish kumar #define MAX98926_ALC_MAX_ATTEN_WIDTH 4 754a2e2876aSanish kumar #define MAX98926_ALC_RLS_RATE_MASK (0x7<<0) 755a2e2876aSanish kumar #define MAX98926_ALC_RLS_RATE_SHIFT 0 756a2e2876aSanish kumar #define MAX98926_ALC_RLS_RATE_WIDTH 3 757a2e2876aSanish kumar 758a2e2876aSanish kumar /* MAX98926_R033_ALC_HOLD_RLS */ 759a2e2876aSanish kumar #define MAX98926_ALC_RLS_TGR_MASK (1<<0) 760a2e2876aSanish kumar #define MAX98926_ALC_RLS_TGR_SHIFT 0 761a2e2876aSanish kumar #define MAX98926_ALC_RLS_TGR_WIDTH 1 762a2e2876aSanish kumar 763a2e2876aSanish kumar /* MAX98926_R034_ALC_CONFIGURATION */ 764a2e2876aSanish kumar #define MAX98926_ALC_MUTE_EN_MASK (1<<7) 765a2e2876aSanish kumar #define MAX98926_ALC_MUTE_EN_SHIFT 7 766a2e2876aSanish kumar #define MAX98926_ALC_MUTE_EN_WIDTH 1 767a2e2876aSanish kumar #define MAX98926_ALC_MUTE_DLY_MASK (0x07<<4) 768a2e2876aSanish kumar #define MAX98926_ALC_MUTE_DLY_SHIFT 4 769a2e2876aSanish kumar #define MAX98926_ALC_MUTE_DLY_WIDTH 3 770a2e2876aSanish kumar #define MAX98926_ALC_RLS_DBT_MASK (0x07<<0) 771a2e2876aSanish kumar #define MAX98926_ALC_RLS_DBT_SHIFT 0 772a2e2876aSanish kumar #define MAX98926_ALC_RLS_DBT_WIDTH 3 773a2e2876aSanish kumar 774a2e2876aSanish kumar /* MAX98926_R035_BOOST_CONVERTER */ 775a2e2876aSanish kumar #define MAX98926_BST_SYNC_MASK (1<<7) 776a2e2876aSanish kumar #define MAX98926_BST_SYNC_SHIFT 7 777a2e2876aSanish kumar #define MAX98926_BST_SYNC_WIDTH 1 778a2e2876aSanish kumar #define MAX98926_BST_PHASE_MASK (0x03<<4) 779a2e2876aSanish kumar #define MAX98926_BST_PHASE_SHIFT 4 780a2e2876aSanish kumar #define MAX98926_BST_PHASE_WIDTH 2 781a2e2876aSanish kumar #define MAX98926_BST_SKIP_MODE_MASK (0x03<<0) 782a2e2876aSanish kumar #define MAX98926_BST_SKIP_MODE_SHIFT 0 783a2e2876aSanish kumar #define MAX98926_BST_SKIP_MODE_WIDTH 2 784a2e2876aSanish kumar 785a2e2876aSanish kumar /* MAX98926_R036_BLOCK_ENABLE */ 786a2e2876aSanish kumar #define MAX98926_BST_EN_MASK (1<<7) 787a2e2876aSanish kumar #define MAX98926_BST_EN_SHIFT 7 788a2e2876aSanish kumar #define MAX98926_BST_EN_WIDTH 1 789a2e2876aSanish kumar #define MAX98926_WATCH_EN_MASK (1<<6) 790a2e2876aSanish kumar #define MAX98926_WATCH_EN_SHIFT 6 791a2e2876aSanish kumar #define MAX98926_WATCH_EN_WIDTH 1 792a2e2876aSanish kumar #define MAX98926_CLKMON_EN_MASK (1<<5) 793a2e2876aSanish kumar #define MAX98926_CLKMON_EN_SHIFT 5 794a2e2876aSanish kumar #define MAX98926_CLKMON_EN_WIDTH 1 795a2e2876aSanish kumar #define MAX98926_SPK_EN_MASK (1<<4) 796a2e2876aSanish kumar #define MAX98926_SPK_EN_SHIFT 4 797a2e2876aSanish kumar #define MAX98926_SPK_EN_WIDTH 1 798a2e2876aSanish kumar #define MAX98926_ADC_VBST_EN_MASK (1<<3) 799a2e2876aSanish kumar #define MAX98926_ADC_VBST_EN_SHIFT 3 800a2e2876aSanish kumar #define MAX98926_ADC_VBST_EN_WIDTH 1 801a2e2876aSanish kumar #define MAX98926_ADC_VBAT_EN_MASK (1<<2) 802a2e2876aSanish kumar #define MAX98926_ADC_VBAT_EN_SHIFT 2 803a2e2876aSanish kumar #define MAX98926_ADC_VBAT_EN_WIDTH 1 804a2e2876aSanish kumar #define MAX98926_ADC_IMON_EN_MASK (1<<1) 805a2e2876aSanish kumar #define MAX98926_ADC_IMON_EN_SHIFT 1 806a2e2876aSanish kumar #define MAX98926_ADC_IMON_EN_WIDTH 1 807a2e2876aSanish kumar #define MAX98926_ADC_VMON_EN_MASK (1<<0) 808a2e2876aSanish kumar #define MAX98926_ADC_VMON_EN_SHIFT 0 809a2e2876aSanish kumar #define MAX98926_ADC_VMON_EN_WIDTH 1 810a2e2876aSanish kumar 811a2e2876aSanish kumar /* MAX98926_R037_CONFIGURATION */ 812a2e2876aSanish kumar #define MAX98926_BST_VOUT_MASK (0x0F<<4) 813a2e2876aSanish kumar #define MAX98926_BST_VOUT_SHIFT 4 814a2e2876aSanish kumar #define MAX98926_BST_VOUT_WIDTH 4 815a2e2876aSanish kumar #define MAX98926_THERMWARN_LEVEL_MASK (0x03<<2) 816a2e2876aSanish kumar #define MAX98926_THERMWARN_LEVEL_SHIFT 2 817a2e2876aSanish kumar #define MAX98926_THERMWARN_LEVEL_WIDTH 2 818a2e2876aSanish kumar #define MAX98926_WATCH_TIME_MASK (0x03<<0) 819a2e2876aSanish kumar #define MAX98926_WATCH_TIME_SHIFT 0 820a2e2876aSanish kumar #define MAX98926_WATCH_TIME_WIDTH 2 821a2e2876aSanish kumar 822a2e2876aSanish kumar /* MAX98926_R038_GLOBAL_ENABLE */ 823a2e2876aSanish kumar #define MAX98926_EN_MASK (1<<7) 824a2e2876aSanish kumar #define MAX98926_EN_SHIFT 7 825a2e2876aSanish kumar #define MAX98926_EN_WIDTH 1 826a2e2876aSanish kumar 827a2e2876aSanish kumar /* MAX98926_R03A_BOOST_LIMITER */ 828a2e2876aSanish kumar #define MAX98926_BST_ILIM_MASK (0xF<<4) 829a2e2876aSanish kumar #define MAX98926_BST_ILIM_SHIFT 4 830a2e2876aSanish kumar #define MAX98926_BST_ILIM_WIDTH 4 831a2e2876aSanish kumar 832a2e2876aSanish kumar /* MAX98926_R0FF_VERSION */ 833a2e2876aSanish kumar #define MAX98926_REV_ID_MASK (0xFF<<0) 834a2e2876aSanish kumar #define MAX98926_REV_ID_SHIFT 0 835a2e2876aSanish kumar #define MAX98926_REV_ID_WIDTH 8 836a2e2876aSanish kumar 837a2e2876aSanish kumar struct max98926_priv { 838a2e2876aSanish kumar struct regmap *regmap; 8396f2b5d0dSKuninori Morimoto struct snd_soc_component *component; 840a2e2876aSanish kumar unsigned int sysclk; 841a2e2876aSanish kumar unsigned int v_slot; 842a2e2876aSanish kumar unsigned int i_slot; 843a2e2876aSanish kumar unsigned int ch_size; 844a2e2876aSanish kumar unsigned int interleave_mode; 845a2e2876aSanish kumar }; 846a2e2876aSanish kumar #endif 847