linux/sound/soc/codecs/cs35l34.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * cs35l34.h -- CS35L34 ALSA SoC audio driver
 *
 * Copyright 2016 Cirrus Logic, Inc.
 *
 * Author: Paul Handrigan <[email protected]>
 */

#ifndef __CS35L34_H__
#define __CS35L34_H__

#define CS35L34_CHIP_ID
#define CS35L34_DEVID_AB
#define CS35L34_DEVID_CD
#define CS35L34_DEVID_E
#define CS35L34_FAB_ID
#define CS35L34_REV_ID
#define CS35L34_PWRCTL1
#define CS35L34_PWRCTL2
#define CS35L34_PWRCTL3
#define CS35L34_ADSP_CLK_CTL
#define CS35L34_MCLK_CTL
#define CS35L34_AMP_INP_DRV_CTL
#define CS35L34_AMP_DIG_VOL_CTL
#define CS35L34_AMP_DIG_VOL
#define CS35L34_AMP_ANLG_GAIN_CTL
#define CS35L34_PROTECT_CTL
#define CS35L34_AMP_KEEP_ALIVE_CTL
#define CS35L34_BST_CVTR_V_CTL
#define CS35L34_BST_PEAK_I
#define CS35L34_BST_RAMP_CTL
#define CS35L34_BST_CONV_COEF_1
#define CS35L34_BST_CONV_COEF_2
#define CS35L34_BST_CONV_SLOPE_COMP
#define CS35L34_BST_CONV_SW_FREQ
#define CS35L34_CLASS_H_CTL
#define CS35L34_CLASS_H_HEADRM_CTL
#define CS35L34_CLASS_H_RELEASE_RATE
#define CS35L34_CLASS_H_FET_DRIVE_CTL
#define CS35L34_CLASS_H_STATUS
#define CS35L34_VPBR_CTL
#define CS35L34_VPBR_VOL_CTL
#define CS35L34_VPBR_TIMING_CTL
#define CS35L34_PRED_MAX_ATTEN_SPK_LOAD
#define CS35L34_PRED_BROWNOUT_THRESH
#define CS35L34_PRED_BROWNOUT_VOL_CTL
#define CS35L34_PRED_BROWNOUT_RATE_CTL
#define CS35L34_PRED_WAIT_CTL
#define CS35L34_PRED_ZVP_INIT_IMP_CTL
#define CS35L34_PRED_MAN_SAFE_VPI_CTL
#define CS35L34_VPBR_ATTEN_STATUS
#define CS35L34_PRED_BRWNOUT_ATT_STATUS
#define CS35L34_SPKR_MON_CTL
#define CS35L34_ADSP_I2S_CTL
#define CS35L34_ADSP_TDM_CTL
#define CS35L34_TDM_TX_CTL_1_VMON
#define CS35L34_TDM_TX_CTL_2_IMON
#define CS35L34_TDM_TX_CTL_3_VPMON
#define CS35L34_TDM_TX_CTL_4_VBSTMON
#define CS35L34_TDM_TX_CTL_5_FLAG1
#define CS35L34_TDM_TX_CTL_6_FLAG2
#define CS35L34_TDM_TX_SLOT_EN_1
#define CS35L34_TDM_TX_SLOT_EN_2
#define CS35L34_TDM_TX_SLOT_EN_3
#define CS35L34_TDM_TX_SLOT_EN_4
#define CS35L34_TDM_RX_CTL_1_AUDIN
#define CS35L34_TDM_RX_CTL_3_ALIVE
#define CS35L34_MULT_DEV_SYNCH1
#define CS35L34_MULT_DEV_SYNCH2
#define CS35L34_PROT_RELEASE_CTL
#define CS35L34_DIAG_MODE_REG_LOCK
#define CS35L34_DIAG_MODE_CTL_1
#define CS35L34_DIAG_MODE_CTL_2
#define CS35L34_INT_MASK_1
#define CS35L34_INT_MASK_2
#define CS35L34_INT_MASK_3
#define CS35L34_INT_MASK_4
#define CS35L34_INT_STATUS_1
#define CS35L34_INT_STATUS_2
#define CS35L34_INT_STATUS_3
#define CS35L34_INT_STATUS_4
#define CS35L34_OTP_TRIM_STATUS

#define CS35L34_MAX_REGISTER
#define CS35L34_REGISTER_COUNT

#define CS35L34_MCLK_5644
#define CS35L34_MCLK_6144
#define CS35L34_MCLK_6
#define CS35L34_MCLK_11289
#define CS35L34_MCLK_12
#define CS35L34_MCLK_12288

/* CS35L34_PWRCTL1 */
#define CS35L34_SFT_RST
#define CS35L34_DISCHG_FLT
#define CS35L34_PDN_ALL

/* CS35L34_PWRCTL2 */
#define CS35L34_PDN_VMON
#define CS35L34_PDN_IMON
#define CS35L34_PDN_CLASSH
#define CS35L34_PDN_VPBR
#define CS35L34_PDN_PRED
#define CS35L34_PDN_BST
#define CS35L34_PDN_AMP

/* CS35L34_PWRCTL3 */
#define CS35L34_MCLK_DIS
#define CS35L34_PDN_VBSTMON_OUT
#define CS35L34_PDN_VMON_OUT
/* Tristate the ADSP SDOUT when in I2C mode */
#define CS35L34_PDN_SDOUT
#define CS35L34_PDN_SDIN
#define CS35L34_PDN_TDM

/* CS35L34_ADSP_CLK_CTL */
#define CS35L34_ADSP_RATE
#define CS35L34_ADSP_DRIVE
#define CS35L34_ADSP_M_S

/* CS35L34_MCLK_CTL */
#define CS35L34_MCLK_DIV
#define CS35L34_MCLK_RATE_MASK
#define CS35L34_MCLK_RATE_6P1440
#define CS35L34_MCLK_RATE_6P0000
#define CS35L34_MCLK_RATE_5P6448
#define CS35L34_MCLKDIS
#define CS35L34_MCLKDIV2
#define CS35L34_SDOUT_3ST_TDM
#define CS35L34_INT_FS_RATE
#define CS35L34_ADSP_FS

/* CS35L34_AMP_INP_DRV_CTL */
#define CS35L34_DRV_STR_SRC
#define CS35L34_DRV_STR

/* CS35L34_AMP_DIG_VOL_CTL */
#define CS35L34_AMP_DSR_RATE_MASK
#define CS35L34_AMP_DSR_RATE_SHIFT
#define CS35L34_NOTCH_DIS
#define CS35L34_AMP_DIGSFT
#define CS35L34_INV

/* CS35L34_PROTECT_CTL */
#define CS35L34_OTW_ATTN_MASK
#define CS35L34_OTW_THRD_MASK
#define CS35L34_MUTE
#define CS35L34_GAIN_ZC
#define CS35L34_GAIN_ZC_MASK
#define CS35L34_GAIN_ZC_SHIFT

/* CS35L34_AMP_KEEP_ALIVE_CTL */
#define CS35L34_ALIVE_WD_DIS

/* CS35L34_BST_CVTR_V_CTL */
#define CS35L34_BST_CVTL_MASK

/* CS35L34_BST_PEAK_I */
#define CS35L34_BST_PEAK_MASK

/* CS35L34_ADSP_I2S_CTL */
#define CS35L34_I2S_LOC_MASK
#define CS35L34_I2S_LOC_SHIFT

/* CS35L34_MULT_DEV_SYNCH2 */
#define CS35L34_SYNC2_MASK

/* CS35L34_PROT_RELEASE_CTL */
#define CS35L34_CAL_ERR_RLS
#define CS35L34_SHORT_RLS
#define CS35L34_OTW_RLS
#define CS35L34_OTE_RLS

/* CS35L34_INT_MASK_1 */
#define CS35L34_M_CAL_ERR_SHIFT
#define CS35L34_M_CAL_ERR
#define CS35L34_M_ALIVE_ERR_SHIFT
#define CS35L34_M_ALIVE_ERR
#define CS35L34_M_ADSP_CLK_SHIFT
#define CS35L34_M_ADSP_CLK_ERR
#define CS35L34_M_MCLK_SHIFT
#define CS35L34_M_MCLK_ERR
#define CS35L34_M_AMP_SHORT_SHIFT
#define CS35L34_M_AMP_SHORT
#define CS35L34_M_OTW_SHIFT
#define CS35L34_M_OTW
#define CS35L34_M_OTE_SHIFT
#define CS35L34_M_OTE

/* CS35L34_INT_MASK_2 */
#define CS35L34_M_PDN_DONE_SHIFT
#define CS35L34_M_PDN_DONE
#define CS35L34_M_PRED_SHIFT
#define CS35L34_M_PRED_ERR
#define CS35L34_M_PRED_CLR_SHIFT
#define CS35L34_M_PRED_CLR
#define CS35L34_M_VPBR_SHIFT
#define CS35L34_M_VPBR_ERR
#define CS35L34_M_VPBR_CLR_SHIFT
#define CS35L34_M_VPBR_CLR

/* CS35L34_INT_MASK_3 */
#define CS35L34_M_BST_HIGH_SHIFT
#define CS35L34_M_BST_HIGH
#define CS35L34_M_BST_HIGH_FLAG_SHIFT
#define CS35L34_M_BST_HIGH_FLAG
#define CS35L34_M_BST_IPK_FLAG_SHIFT
#define CS35L34_M_BST_IPK_FLAG
#define CS35L34_M_LBST_SHORT_SHIFT
#define CS35L34_M_LBST_SHORT

/* CS35L34_INT_MASK_4 */
#define CS35L34_M_VMON_OVFL_SHIFT
#define CS35L34_M_VMON_OVFL
#define CS35L34_M_IMON_OVFL_SHIFT
#define CS35L34_M_IMON_OVFL
#define CS35L34_M_VPMON_OVFL_SHIFT
#define CS35L34_M_VPMON_OVFL
#define CS35L34_M_VBSTMON_OVFL_SHIFT
#define CS35L34_M_VBSTMON_OVFL

/* CS35L34_INT_1 */
#define CS35L34_CAL_ERR
#define CS35L34_ALIVE_ERR
#define CS35L34_M_ADSP_CLK_ERR
#define CS35L34_MCLK_ERR
#define CS35L34_AMP_SHORT
#define CS35L34_OTW
#define CS35L34_OTE

/* CS35L34_INT_2 */
#define CS35L34_PDN_DONE
#define CS35L34_PRED_ERR
#define CS35L34_PRED_CLR
#define CS35L34_VPBR_ERR
#define CS35L34_VPBR_CLR

/* CS35L34_INT_3 */
#define CS35L34_BST_HIGH
#define CS35L34_BST_HIGH_FLAG
#define CS35L34_BST_IPK_FLAG
#define CS35L34_LBST_SHORT

/* CS35L34_INT_4 */
#define CS35L34_VMON_OVFL
#define CS35L34_IMON_OVFL
#define CS35L34_VPMON_OVFL
#define CS35L34_VBSTMON_OVFL

/* CS35L34_{RX,TX}_X */
#define CS35L34_X_STATE_SHIFT
#define CS35L34_X_STATE
#define CS35L34_X_LOC_SHIFT
#define CS35L34_X_LOC

#define CS35L34_RATES
#define CS35L34_FORMATS

#endif